@media print, screen and (min-width: 40em){.reveal,.reveal.tiny,.reveal.small,.reveal.large{right:auto;left:auto;margin:0 auto}}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}body.is-reveal-open{overflow:hidden}html.is-reveal-open,html.is-reveal-open body{min-height:100%;overflow:hidden;position:fixed;-webkit-user-select:none;-ms-user-select:none;user-select:none}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1005;display:none;background-color:rgba(10,10,10,0.45);overflow-y:scroll}.reveal{z-index:1006;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;padding:1rem;border:1px solid #cacaca;border-radius: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,.reveal body.single-mc-landing-page .columns,body.single-mc-landing-page .reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){.reveal{width:600px;max-width:84.375rem}}.reveal.collapse{padding:0}@media print, screen and (min-width: 40em){.reveal.tiny{width:30%;max-width:84.375rem}}@media print, screen and (min-width: 40em){.reveal.small{width:50%;max-width:84.375rem}}@media print, screen and (min-width: 40em){.reveal.large{width:90%;max-width:84.375rem}}.reveal.full{top:0;left:0;width:100%;max-width:none;height:100%;height:100vh;min-height:100vh;margin-left:0;border:0;border-radius:0}@media screen and (max-width: 39.9375em){.reveal{top:0;left:0;width:100%;max-width:none;height:100%;height:100vh;min-height:100vh;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);position:absolute !important;height:1px;width:1px;overflow:hidden}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,0.6);clip:auto !important;color:#21759b;display:block;font-size:14px;font-size:0.875rem;font-weight:bold;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.learndash-wrapper .wpProQuiz_content .wpProQuiz_mextrixTr td{width:50% !important}.learndash-wrapper .wpProQuiz_content .wpProQuiz_mextrixTr .wpProQuiz_maxtrixSortText .mejs-container.wp-audio-shortcode{width:100% !important}.reveal [type='text'],.reveal [type='password'],.reveal [type='date'],.reveal [type='datetime'],.reveal [type='datetime-local'],.reveal [type='month'],.reveal [type='week'],.reveal [type='email'],.reveal [type='number'],.reveal [type='search'],.reveal [type='tel'],.reveal [type='time'],.reveal [type='url'],.reveal [type='color'],.reveal 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;-webkit-appearance:none;appearance:none}.reveal [type='text']:focus,.reveal [type='password']:focus,.reveal [type='date']:focus,.reveal [type='datetime']:focus,.reveal [type='datetime-local']:focus,.reveal [type='month']:focus,.reveal [type='week']:focus,.reveal [type='email']:focus,.reveal [type='number']:focus,.reveal [type='search']:focus,.reveal [type='tel']:focus,.reveal [type='time']:focus,.reveal [type='url']:focus,.reveal [type='color']:focus,.reveal 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}.reveal textarea{max-width:100%}.reveal textarea[rows]{height:auto}.reveal input::-webkit-input-placeholder,.reveal textarea::-webkit-input-placeholder{color:#cacaca}.reveal input:-ms-input-placeholder,.reveal textarea:-ms-input-placeholder{color:#cacaca}.reveal input::placeholder,.reveal textarea::placeholder{color:#cacaca}.reveal input:disabled,.reveal input[readonly],.reveal textarea:disabled,.reveal textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}.reveal [type='submit'],.reveal [type='button']{-webkit-appearance:none;appearance:none;border-radius:0}.reveal input[type='search']{box-sizing:border-box}.reveal [type='file'],.reveal [type='checkbox'],.reveal [type='radio']{margin:0 0 1rem}.reveal [type='checkbox']+label,.reveal [type='radio']+label{display:inline-block;vertical-align:baseline;margin-left:.5rem;margin-right:1rem;margin-bottom:0}.reveal [type='checkbox']+label[for],.reveal [type='radio']+label[for]{cursor:pointer}.reveal label>[type='checkbox'],.reveal label>[type='radio']{margin-right:.5rem}.reveal [type='file']{width:100%}.reveal label{display:block;margin:0;font-size:.875rem;font-weight:normal;line-height:1.8;color:#0a0a0a}.reveal label.middle{margin:0 0 1rem;padding:.5625rem 0}.reveal .help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.reveal .input-group{display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:1rem;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.reveal .input-group>:first-child{border-radius:0 0 0 0}.reveal .input-group>:last-child>*{border-radius:0 0 0 0}.reveal .input-group-label,.reveal .input-group-field,.reveal .input-group-button,.reveal .input-group-button a,.reveal .input-group-button input,.reveal .input-group-button button,.reveal .input-group-button label,.subscribe-footer .input-group-button .reveal a,.subscribe-footer .input-group-button .reveal input,.subscribe-footer .input-group-button .reveal button,.subscribe-footer .input-group-button .reveal label{margin:0;white-space:nowrap}.reveal .input-group-label{padding:0 1rem;border:1px solid #cacaca;background:#e6e6e6;color:#0a0a0a;text-align:center;white-space:nowrap;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.reveal .input-group-label:first-child{border-right:0}.reveal .input-group-label:last-child{border-left:0}.reveal .input-group-field{border-radius:0;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto;min-width:0}.reveal .input-group-button{padding-top:0;padding-bottom:0;text-align:center;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.reveal .input-group-button a,.reveal .input-group-button input,.reveal .input-group-button button,.reveal .input-group-button label{height:2.5rem;padding-top:0;padding-bottom:0;font-size:1rem}.reveal fieldset{margin:0;padding:0;border:0}.reveal legend{max-width:100%;margin-bottom:.5rem}.reveal .fieldset{margin:1.125rem 0;padding:1.25rem;border:1px solid #cacaca}.reveal .fieldset legend{margin:0;margin-left:-.1875rem;padding:0 .1875rem}.reveal select{height:2.4375rem;margin:0 0 1rem;padding:.5rem;-webkit-appearance:none;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){.reveal select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}.reveal 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}.reveal select:disabled{background-color:#e6e6e6;cursor:not-allowed}.reveal select::-ms-expand{display:none}.reveal select[multiple]{height:auto;background-image:none}.reveal .is-invalid-input:not(:focus){border-color:#cc4b37;background-color:#f9ecea}.reveal .is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#cc4b37}.reveal .is-invalid-input:not(:focus):-ms-input-placeholder{color:#cc4b37}.reveal .is-invalid-input:not(:focus)::placeholder{color:#cc4b37}.reveal .is-invalid-label{color:#cc4b37}.reveal .form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:bold;color:#cc4b37}.reveal .form-error.is-visible{display:block}.reveal .close-button{position:absolute;color:#8a8a8a;cursor:pointer}[data-whatinput='mouse'] .reveal .close-button{outline:0}.reveal .close-button:hover,.reveal .close-button:focus{color:#0a0a0a}.reveal .close-button.small{right:0.66rem;top:0.33em;font-size:1.5em;line-height:1}.reveal .close-button,.reveal .close-button.medium{right:1rem;top:0.5rem;font-size:2em;line-height:1}.reveal input[type="submit"]{display:inline-block;vertical-align:middle;margin:0 0 1rem 0;font-family:inherit;padding:0.85em 1em;-webkit-appearance:none;border:1px solid transparent;border-radius:0;transition:background-color 0.25s ease-out,color 0.25s ease-out;font-size:0.9rem;line-height:1;text-align:center;cursor:pointer;background-color:#1779ba;color:#fefefe;float:right}[data-whatinput='mouse'] .reveal input[type="submit"]{outline:0}.reveal input[type="submit"]:hover,.reveal input[type="submit"]:focus{background-color:#14679e;color:#fefefe}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin-bottom:1em}.reveal .close-button{border:none}.qbutton{height:auto !important;white-space:normal !important}.wpb_video_widget .wpb_video_wrapper{padding-top:0 !important}.wpb_video_widget .wpb_video_wrapper iframe{position:relative !important}.subscribe-footer{margin-top:3rem;max-width:84.375rem;margin-right:auto;margin-left:auto}.subscribe-footer::before,.subscribe-footer::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-order:1;-ms-flex-order:1;order:1}.subscribe-footer::after{clear:both}.subscribe-footer .column,.subscribe-footer body.single-mc-landing-page .columns,body.single-mc-landing-page .subscribe-footer .columns{width:100%;float:left;padding-right:.625rem;padding-left:.625rem;width:100%}@media print, screen and (min-width: 40em){.subscribe-footer .column,.subscribe-footer body.single-mc-landing-page .columns,body.single-mc-landing-page .subscribe-footer .columns{padding-right:.9375rem;padding-left:.9375rem}}.subscribe-footer .column:last-child:not(:first-child),.subscribe-footer body.single-mc-landing-page .columns:last-child:not(:first-child),body.single-mc-landing-page .subscribe-footer .columns:last-child:not(:first-child){float:right}@media print, screen and (min-width: 40em){.subscribe-footer .left{width:25%}}@media print, screen and (min-width: 40em){.subscribe-footer .right{width:66.66667%}}.subscribe-footer [type='text'],.subscribe-footer [type='password'],.subscribe-footer [type='date'],.subscribe-footer [type='datetime'],.subscribe-footer [type='datetime-local'],.subscribe-footer [type='month'],.subscribe-footer [type='week'],.subscribe-footer [type='email'],.subscribe-footer [type='number'],.subscribe-footer [type='search'],.subscribe-footer [type='tel'],.subscribe-footer [type='time'],.subscribe-footer [type='url'],.subscribe-footer [type='color'],.subscribe-footer 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;-webkit-appearance:none;appearance:none}.subscribe-footer [type='text']:focus,.subscribe-footer [type='password']:focus,.subscribe-footer [type='date']:focus,.subscribe-footer [type='datetime']:focus,.subscribe-footer [type='datetime-local']:focus,.subscribe-footer [type='month']:focus,.subscribe-footer [type='week']:focus,.subscribe-footer [type='email']:focus,.subscribe-footer [type='number']:focus,.subscribe-footer [type='search']:focus,.subscribe-footer [type='tel']:focus,.subscribe-footer [type='time']:focus,.subscribe-footer [type='url']:focus,.subscribe-footer [type='color']:focus,.subscribe-footer 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}.subscribe-footer textarea{max-width:100%}.subscribe-footer textarea[rows]{height:auto}.subscribe-footer input::-webkit-input-placeholder,.subscribe-footer textarea::-webkit-input-placeholder{color:#cacaca}.subscribe-footer input:-ms-input-placeholder,.subscribe-footer textarea:-ms-input-placeholder{color:#cacaca}.subscribe-footer input::placeholder,.subscribe-footer textarea::placeholder{color:#cacaca}.subscribe-footer input:disabled,.subscribe-footer input[readonly],.subscribe-footer textarea:disabled,.subscribe-footer textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}.subscribe-footer [type='submit'],.subscribe-footer [type='button']{-webkit-appearance:none;appearance:none;border-radius:0}.subscribe-footer input[type='search']{box-sizing:border-box}.subscribe-footer [type='file'],.subscribe-footer [type='checkbox'],.subscribe-footer [type='radio']{margin:0 0 1rem}.subscribe-footer [type='checkbox']+label,.subscribe-footer [type='radio']+label{display:inline-block;vertical-align:baseline;margin-left:.5rem;margin-right:1rem;margin-bottom:0}.subscribe-footer [type='checkbox']+label[for],.subscribe-footer [type='radio']+label[for]{cursor:pointer}.subscribe-footer label>[type='checkbox'],.subscribe-footer label>[type='radio']{margin-right:.5rem}.subscribe-footer [type='file']{width:100%}.subscribe-footer label{display:block;margin:0;font-size:.875rem;font-weight:normal;line-height:1.8;color:#0a0a0a}.subscribe-footer label.middle{margin:0 0 1rem;padding:.5625rem 0}.subscribe-footer .help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.subscribe-footer .input-group{display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:1rem;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.subscribe-footer .input-group>:first-child{border-radius:0 0 0 0}.subscribe-footer .input-group>:last-child>*{border-radius:0 0 0 0}.reveal .input-group-button .subscribe-footer a,.reveal .input-group-button .subscribe-footer input,.reveal .input-group-button .subscribe-footer button,.reveal .input-group-button .subscribe-footer label,.subscribe-footer .input-group-label,.subscribe-footer .input-group-field,.subscribe-footer .input-group-button,.subscribe-footer .input-group-button a,.subscribe-footer .input-group-button input,.subscribe-footer .input-group-button button,.subscribe-footer .input-group-button label{margin:0;white-space:nowrap}.subscribe-footer .input-group-label{padding:0 1rem;border:1px solid #cacaca;background:#e6e6e6;color:#0a0a0a;text-align:center;white-space:nowrap;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.subscribe-footer .input-group-label:first-child{border-right:0}.subscribe-footer .input-group-label:last-child{border-left:0}.subscribe-footer .input-group-field{border-radius:0;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto;min-width:0}.subscribe-footer .input-group-button{padding-top:0;padding-bottom:0;text-align:center;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.subscribe-footer .input-group-button a,.subscribe-footer .input-group-button input,.subscribe-footer .input-group-button button,.subscribe-footer .input-group-button label{height:2.5rem;padding-top:0;padding-bottom:0;font-size:1rem}.subscribe-footer fieldset{margin:0;padding:0;border:0}.subscribe-footer legend{max-width:100%;margin-bottom:.5rem}.subscribe-footer .fieldset{margin:1.125rem 0;padding:1.25rem;border:1px solid #cacaca}.subscribe-footer .fieldset legend{margin:0;margin-left:-.1875rem;padding:0 .1875rem}.subscribe-footer select{height:2.4375rem;margin:0 0 1rem;padding:.5rem;-webkit-appearance:none;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){.subscribe-footer select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}.subscribe-footer 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}.subscribe-footer select:disabled{background-color:#e6e6e6;cursor:not-allowed}.subscribe-footer select::-ms-expand{display:none}.subscribe-footer select[multiple]{height:auto;background-image:none}.subscribe-footer .is-invalid-input:not(:focus){border-color:#cc4b37;background-color:#f9ecea}.subscribe-footer .is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#cc4b37}.subscribe-footer .is-invalid-input:not(:focus):-ms-input-placeholder{color:#cc4b37}.subscribe-footer .is-invalid-input:not(:focus)::placeholder{color:#cc4b37}.subscribe-footer .is-invalid-label{color:#cc4b37}.subscribe-footer .form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:bold;color:#cc4b37}.subscribe-footer .form-error.is-visible{display:block}.subscribe-footer h1,.subscribe-footer h2,.subscribe-footer h3,.subscribe-footer h4,.subscribe-footer h5,.subscribe-footer h6,.subscribe-footer label{color:#fff}.subscribe-footer .mc4wp-form .mc4wp-form-fields{max-width:84.375rem;margin-right:auto;margin-left:auto;margin-right:-.625rem;margin-left:-.625rem}.subscribe-footer .mc4wp-form .mc4wp-form-fields::before,.subscribe-footer .mc4wp-form .mc4wp-form-fields::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-order:1;-ms-flex-order:1;order:1}.subscribe-footer .mc4wp-form .mc4wp-form-fields::after{clear:both}@media print, screen and (min-width: 40em){.subscribe-footer .mc4wp-form .mc4wp-form-fields{margin-right:-.9375rem;margin-left:-.9375rem}}@media print, screen and (min-width: 64em){.subscribe-footer .mc4wp-form .mc4wp-form-fields{margin-right:-.9375rem;margin-left:-.9375rem}}.subscribe-footer .mc4wp-form .mc4wp-form-fields>*{width:100%;float:left;padding-right:.625rem;padding-left:.625rem;width:100%}@media print, screen and (min-width: 40em){.subscribe-footer .mc4wp-form .mc4wp-form-fields>*{padding-right:.9375rem;padding-left:.9375rem}}.subscribe-footer .mc4wp-form .mc4wp-form-fields>*:last-child:not(:first-child){float:right}@media print, screen and (min-width: 40em){.subscribe-footer .mc4wp-form .mc4wp-form-fields>*{width:25%}}@media print, screen and (min-width: 40em){.subscribe-footer .mc4wp-form .mc4wp-form-fields>*:last-child{width:11%;margin-top:-2.5rem}}@media print, screen and (min-width: 40em){.subscribe-footer .mc4wp-form p,.subscribe-footer .mc4wp-form input{margin-bottom:0}}.subscribe-footer .mc4wp-form input[type="submit"]{display:inline-block;vertical-align:middle;margin:0 0 1rem 0;font-family:inherit;padding:0.85em 1em;-webkit-appearance:none;border:1px solid transparent;border-radius:0;transition:background-color 0.25s ease-out,color 0.25s ease-out;font-size:0.9rem;line-height:1;text-align:center;cursor:pointer;background-color:#767676;color:#fefefe;display:block;width:100%;margin-right:0;margin-left:0}[data-whatinput='mouse'] .subscribe-footer .mc4wp-form input[type="submit"]{outline:0}.subscribe-footer .mc4wp-form input[type="submit"]:hover,.subscribe-footer .mc4wp-form input[type="submit"]:focus{background-color:#14679e;color:#fefefe}@media screen and (max-width: 39.9375em){.menu_bottom .logo_wrapper{position:relative;display:inline-block;left:37%;height:0 !important}.mobile_menu_button{height:auto !important;margin-top:1rem !important}.header_inner_left{line-height:normal !important}.header_fixed_right_area{position:relative !important;top:0 !important;display:inline-block !important}.header_menu_bottom{margin-bottom:1rem;display:inline-block !important}.mobile_menu{margin-top:2rem !important}.logo_wrapper img{height:auto !important}}body:not(.home) header:not(.centered_logo) .header_fixed_right_area input[type="text"]{width:auto}body:not(.home) header:not(.centered_logo) .header_fixed_right_area input#searchsubmit{background-color:initial;color:initial;border-color:#d8d8d8;padding:0 20px !important;height:42px;line-height:42px;font-size:12px;border-width:1px}body.single-mc-landing-page .row{max-width:84.375rem;margin-right:auto;margin-left:auto}body.single-mc-landing-page .row::before,body.single-mc-landing-page .row::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-order:1;-ms-flex-order:1;order:1}body.single-mc-landing-page .row::after{clear:both}body.single-mc-landing-page .row.collapse>.column,body.single-mc-landing-page .row.collapse>.columns{padding-right:0;padding-left:0}body.single-mc-landing-page .row .row{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){body.single-mc-landing-page .row .row{margin-right:-.9375rem;margin-left:-.9375rem}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .row .row{margin-right:-.9375rem;margin-left:-.9375rem}}body.single-mc-landing-page .row .row.collapse{margin-right:0;margin-left:0}body.single-mc-landing-page .row.expanded{max-width:none}body.single-mc-landing-page .row.expanded .row{margin-right:auto;margin-left:auto}body.single-mc-landing-page .row:not(.expanded) .row{max-width:none}body.single-mc-landing-page .row.gutter-small>.column,body.single-mc-landing-page .row.gutter-small>.columns{padding-right:.625rem;padding-left:.625rem}body.single-mc-landing-page .row.gutter-medium>.column,body.single-mc-landing-page .row.gutter-medium>.columns{padding-right:.9375rem;padding-left:.9375rem}body.single-mc-landing-page .column,body.single-mc-landing-page .columns{width:100%;float:left;padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 40em){body.single-mc-landing-page .column,body.single-mc-landing-page .columns{padding-right:.9375rem;padding-left:.9375rem}}body.single-mc-landing-page .column:last-child:not(:first-child),body.single-mc-landing-page .columns:last-child:not(:first-child){float:right}body.single-mc-landing-page .column.end:last-child:last-child,body.single-mc-landing-page .end.columns:last-child:last-child{float:left}body.single-mc-landing-page .column.row.row,body.single-mc-landing-page .row.row.columns{float:none}body.single-mc-landing-page .row .column.row.row,body.single-mc-landing-page .row .row.row.columns{margin-right:0;margin-left:0;padding-right:0;padding-left:0}body.single-mc-landing-page .small-1{width:8.33333%}body.single-mc-landing-page .small-push-1{position:relative;left:8.33333%}body.single-mc-landing-page .small-pull-1{position:relative;left:-8.33333%}body.single-mc-landing-page .small-offset-0{margin-left:0%}body.single-mc-landing-page .small-2{width:16.66667%}body.single-mc-landing-page .small-push-2{position:relative;left:16.66667%}body.single-mc-landing-page .small-pull-2{position:relative;left:-16.66667%}body.single-mc-landing-page .small-offset-1{margin-left:8.33333%}body.single-mc-landing-page .small-3{width:25%}body.single-mc-landing-page .small-push-3{position:relative;left:25%}body.single-mc-landing-page .small-pull-3{position:relative;left:-25%}body.single-mc-landing-page .small-offset-2{margin-left:16.66667%}body.single-mc-landing-page .small-4{width:33.33333%}body.single-mc-landing-page .small-push-4{position:relative;left:33.33333%}body.single-mc-landing-page .small-pull-4{position:relative;left:-33.33333%}body.single-mc-landing-page .small-offset-3{margin-left:25%}body.single-mc-landing-page .small-5{width:41.66667%}body.single-mc-landing-page .small-push-5{position:relative;left:41.66667%}body.single-mc-landing-page .small-pull-5{position:relative;left:-41.66667%}body.single-mc-landing-page .small-offset-4{margin-left:33.33333%}body.single-mc-landing-page .small-6{width:50%}body.single-mc-landing-page .small-push-6{position:relative;left:50%}body.single-mc-landing-page .small-pull-6{position:relative;left:-50%}body.single-mc-landing-page .small-offset-5{margin-left:41.66667%}body.single-mc-landing-page .small-7{width:58.33333%}body.single-mc-landing-page .small-push-7{position:relative;left:58.33333%}body.single-mc-landing-page .small-pull-7{position:relative;left:-58.33333%}body.single-mc-landing-page .small-offset-6{margin-left:50%}body.single-mc-landing-page .small-8{width:66.66667%}body.single-mc-landing-page .small-push-8{position:relative;left:66.66667%}body.single-mc-landing-page .small-pull-8{position:relative;left:-66.66667%}body.single-mc-landing-page .small-offset-7{margin-left:58.33333%}body.single-mc-landing-page .small-9{width:75%}body.single-mc-landing-page .small-push-9{position:relative;left:75%}body.single-mc-landing-page .small-pull-9{position:relative;left:-75%}body.single-mc-landing-page .small-offset-8{margin-left:66.66667%}body.single-mc-landing-page .small-10{width:83.33333%}body.single-mc-landing-page .small-push-10{position:relative;left:83.33333%}body.single-mc-landing-page .small-pull-10{position:relative;left:-83.33333%}body.single-mc-landing-page .small-offset-9{margin-left:75%}body.single-mc-landing-page .small-11{width:91.66667%}body.single-mc-landing-page .small-push-11{position:relative;left:91.66667%}body.single-mc-landing-page .small-pull-11{position:relative;left:-91.66667%}body.single-mc-landing-page .small-offset-10{margin-left:83.33333%}body.single-mc-landing-page .small-12{width:100%}body.single-mc-landing-page .small-offset-11{margin-left:91.66667%}body.single-mc-landing-page .small-up-1>.column,body.single-mc-landing-page .small-up-1>.columns{float:left;width:100%}body.single-mc-landing-page .small-up-1>.column:nth-of-type(1n),body.single-mc-landing-page .small-up-1>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .small-up-1>.column:nth-of-type(1n+1),body.single-mc-landing-page .small-up-1>.columns:nth-of-type(1n+1){clear:both}body.single-mc-landing-page .small-up-1>.column:last-child,body.single-mc-landing-page .small-up-1>.columns:last-child{float:left}body.single-mc-landing-page .small-up-2>.column,body.single-mc-landing-page .small-up-2>.columns{float:left;width:50%}body.single-mc-landing-page .small-up-2>.column:nth-of-type(1n),body.single-mc-landing-page .small-up-2>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .small-up-2>.column:nth-of-type(2n+1),body.single-mc-landing-page .small-up-2>.columns:nth-of-type(2n+1){clear:both}body.single-mc-landing-page .small-up-2>.column:last-child,body.single-mc-landing-page .small-up-2>.columns:last-child{float:left}body.single-mc-landing-page .small-up-3>.column,body.single-mc-landing-page .small-up-3>.columns{float:left;width:33.33333%}body.single-mc-landing-page .small-up-3>.column:nth-of-type(1n),body.single-mc-landing-page .small-up-3>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .small-up-3>.column:nth-of-type(3n+1),body.single-mc-landing-page .small-up-3>.columns:nth-of-type(3n+1){clear:both}body.single-mc-landing-page .small-up-3>.column:last-child,body.single-mc-landing-page .small-up-3>.columns:last-child{float:left}body.single-mc-landing-page .small-up-4>.column,body.single-mc-landing-page .small-up-4>.columns{float:left;width:25%}body.single-mc-landing-page .small-up-4>.column:nth-of-type(1n),body.single-mc-landing-page .small-up-4>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .small-up-4>.column:nth-of-type(4n+1),body.single-mc-landing-page .small-up-4>.columns:nth-of-type(4n+1){clear:both}body.single-mc-landing-page .small-up-4>.column:last-child,body.single-mc-landing-page .small-up-4>.columns:last-child{float:left}body.single-mc-landing-page .small-up-5>.column,body.single-mc-landing-page .small-up-5>.columns{float:left;width:20%}body.single-mc-landing-page .small-up-5>.column:nth-of-type(1n),body.single-mc-landing-page .small-up-5>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .small-up-5>.column:nth-of-type(5n+1),body.single-mc-landing-page .small-up-5>.columns:nth-of-type(5n+1){clear:both}body.single-mc-landing-page .small-up-5>.column:last-child,body.single-mc-landing-page .small-up-5>.columns:last-child{float:left}body.single-mc-landing-page .small-up-6>.column,body.single-mc-landing-page .small-up-6>.columns{float:left;width:16.66667%}body.single-mc-landing-page .small-up-6>.column:nth-of-type(1n),body.single-mc-landing-page .small-up-6>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .small-up-6>.column:nth-of-type(6n+1),body.single-mc-landing-page .small-up-6>.columns:nth-of-type(6n+1){clear:both}body.single-mc-landing-page .small-up-6>.column:last-child,body.single-mc-landing-page .small-up-6>.columns:last-child{float:left}body.single-mc-landing-page .small-up-7>.column,body.single-mc-landing-page .small-up-7>.columns{float:left;width:14.28571%}body.single-mc-landing-page .small-up-7>.column:nth-of-type(1n),body.single-mc-landing-page .small-up-7>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .small-up-7>.column:nth-of-type(7n+1),body.single-mc-landing-page .small-up-7>.columns:nth-of-type(7n+1){clear:both}body.single-mc-landing-page .small-up-7>.column:last-child,body.single-mc-landing-page .small-up-7>.columns:last-child{float:left}body.single-mc-landing-page .small-up-8>.column,body.single-mc-landing-page .small-up-8>.columns{float:left;width:12.5%}body.single-mc-landing-page .small-up-8>.column:nth-of-type(1n),body.single-mc-landing-page .small-up-8>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .small-up-8>.column:nth-of-type(8n+1),body.single-mc-landing-page .small-up-8>.columns:nth-of-type(8n+1){clear:both}body.single-mc-landing-page .small-up-8>.column:last-child,body.single-mc-landing-page .small-up-8>.columns:last-child{float:left}body.single-mc-landing-page .small-collapse>.column,body.single-mc-landing-page .small-collapse>.columns{padding-right:0;padding-left:0}body.single-mc-landing-page .small-collapse .row{margin-right:0;margin-left:0}body.single-mc-landing-page .expanded.row .small-collapse.row{margin-right:0;margin-left:0}body.single-mc-landing-page .small-uncollapse>.column,body.single-mc-landing-page .small-uncollapse>.columns{padding-right:.625rem;padding-left:.625rem}body.single-mc-landing-page .small-centered{margin-right:auto;margin-left:auto}body.single-mc-landing-page .small-centered,body.single-mc-landing-page .small-centered:last-child:not(:first-child){float:none;clear:both}body.single-mc-landing-page .small-uncentered,body.single-mc-landing-page .small-push-0,body.single-mc-landing-page .small-pull-0{position:static;float:left;margin-right:0;margin-left:0}@media print, screen and (min-width: 40em){body.single-mc-landing-page .medium-1{width:8.33333%}body.single-mc-landing-page .medium-push-1{position:relative;left:8.33333%}body.single-mc-landing-page .medium-pull-1{position:relative;left:-8.33333%}body.single-mc-landing-page .medium-offset-0{margin-left:0%}body.single-mc-landing-page .medium-2{width:16.66667%}body.single-mc-landing-page .medium-push-2{position:relative;left:16.66667%}body.single-mc-landing-page .medium-pull-2{position:relative;left:-16.66667%}body.single-mc-landing-page .medium-offset-1{margin-left:8.33333%}body.single-mc-landing-page .medium-3{width:25%}body.single-mc-landing-page .medium-push-3{position:relative;left:25%}body.single-mc-landing-page .medium-pull-3{position:relative;left:-25%}body.single-mc-landing-page .medium-offset-2{margin-left:16.66667%}body.single-mc-landing-page .medium-4{width:33.33333%}body.single-mc-landing-page .medium-push-4{position:relative;left:33.33333%}body.single-mc-landing-page .medium-pull-4{position:relative;left:-33.33333%}body.single-mc-landing-page .medium-offset-3{margin-left:25%}body.single-mc-landing-page .medium-5{width:41.66667%}body.single-mc-landing-page .medium-push-5{position:relative;left:41.66667%}body.single-mc-landing-page .medium-pull-5{position:relative;left:-41.66667%}body.single-mc-landing-page .medium-offset-4{margin-left:33.33333%}body.single-mc-landing-page .medium-6{width:50%}body.single-mc-landing-page .medium-push-6{position:relative;left:50%}body.single-mc-landing-page .medium-pull-6{position:relative;left:-50%}body.single-mc-landing-page .medium-offset-5{margin-left:41.66667%}body.single-mc-landing-page .medium-7{width:58.33333%}body.single-mc-landing-page .medium-push-7{position:relative;left:58.33333%}body.single-mc-landing-page .medium-pull-7{position:relative;left:-58.33333%}body.single-mc-landing-page .medium-offset-6{margin-left:50%}body.single-mc-landing-page .medium-8{width:66.66667%}body.single-mc-landing-page .medium-push-8{position:relative;left:66.66667%}body.single-mc-landing-page .medium-pull-8{position:relative;left:-66.66667%}body.single-mc-landing-page .medium-offset-7{margin-left:58.33333%}body.single-mc-landing-page .medium-9{width:75%}body.single-mc-landing-page .medium-push-9{position:relative;left:75%}body.single-mc-landing-page .medium-pull-9{position:relative;left:-75%}body.single-mc-landing-page .medium-offset-8{margin-left:66.66667%}body.single-mc-landing-page .medium-10{width:83.33333%}body.single-mc-landing-page .medium-push-10{position:relative;left:83.33333%}body.single-mc-landing-page .medium-pull-10{position:relative;left:-83.33333%}body.single-mc-landing-page .medium-offset-9{margin-left:75%}body.single-mc-landing-page .medium-11{width:91.66667%}body.single-mc-landing-page .medium-push-11{position:relative;left:91.66667%}body.single-mc-landing-page .medium-pull-11{position:relative;left:-91.66667%}body.single-mc-landing-page .medium-offset-10{margin-left:83.33333%}body.single-mc-landing-page .medium-12{width:100%}body.single-mc-landing-page .medium-offset-11{margin-left:91.66667%}body.single-mc-landing-page .medium-up-1>.column,body.single-mc-landing-page .medium-up-1>.columns{float:left;width:100%}body.single-mc-landing-page .medium-up-1>.column:nth-of-type(1n),body.single-mc-landing-page .medium-up-1>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .medium-up-1>.column:nth-of-type(1n+1),body.single-mc-landing-page .medium-up-1>.columns:nth-of-type(1n+1){clear:both}body.single-mc-landing-page .medium-up-1>.column:last-child,body.single-mc-landing-page .medium-up-1>.columns:last-child{float:left}body.single-mc-landing-page .medium-up-2>.column,body.single-mc-landing-page .medium-up-2>.columns{float:left;width:50%}body.single-mc-landing-page .medium-up-2>.column:nth-of-type(1n),body.single-mc-landing-page .medium-up-2>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .medium-up-2>.column:nth-of-type(2n+1),body.single-mc-landing-page .medium-up-2>.columns:nth-of-type(2n+1){clear:both}body.single-mc-landing-page .medium-up-2>.column:last-child,body.single-mc-landing-page .medium-up-2>.columns:last-child{float:left}body.single-mc-landing-page .medium-up-3>.column,body.single-mc-landing-page .medium-up-3>.columns{float:left;width:33.33333%}body.single-mc-landing-page .medium-up-3>.column:nth-of-type(1n),body.single-mc-landing-page .medium-up-3>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .medium-up-3>.column:nth-of-type(3n+1),body.single-mc-landing-page .medium-up-3>.columns:nth-of-type(3n+1){clear:both}body.single-mc-landing-page .medium-up-3>.column:last-child,body.single-mc-landing-page .medium-up-3>.columns:last-child{float:left}body.single-mc-landing-page .medium-up-4>.column,body.single-mc-landing-page .medium-up-4>.columns{float:left;width:25%}body.single-mc-landing-page .medium-up-4>.column:nth-of-type(1n),body.single-mc-landing-page .medium-up-4>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .medium-up-4>.column:nth-of-type(4n+1),body.single-mc-landing-page .medium-up-4>.columns:nth-of-type(4n+1){clear:both}body.single-mc-landing-page .medium-up-4>.column:last-child,body.single-mc-landing-page .medium-up-4>.columns:last-child{float:left}body.single-mc-landing-page .medium-up-5>.column,body.single-mc-landing-page .medium-up-5>.columns{float:left;width:20%}body.single-mc-landing-page .medium-up-5>.column:nth-of-type(1n),body.single-mc-landing-page .medium-up-5>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .medium-up-5>.column:nth-of-type(5n+1),body.single-mc-landing-page .medium-up-5>.columns:nth-of-type(5n+1){clear:both}body.single-mc-landing-page .medium-up-5>.column:last-child,body.single-mc-landing-page .medium-up-5>.columns:last-child{float:left}body.single-mc-landing-page .medium-up-6>.column,body.single-mc-landing-page .medium-up-6>.columns{float:left;width:16.66667%}body.single-mc-landing-page .medium-up-6>.column:nth-of-type(1n),body.single-mc-landing-page .medium-up-6>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .medium-up-6>.column:nth-of-type(6n+1),body.single-mc-landing-page .medium-up-6>.columns:nth-of-type(6n+1){clear:both}body.single-mc-landing-page .medium-up-6>.column:last-child,body.single-mc-landing-page .medium-up-6>.columns:last-child{float:left}body.single-mc-landing-page .medium-up-7>.column,body.single-mc-landing-page .medium-up-7>.columns{float:left;width:14.28571%}body.single-mc-landing-page .medium-up-7>.column:nth-of-type(1n),body.single-mc-landing-page .medium-up-7>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .medium-up-7>.column:nth-of-type(7n+1),body.single-mc-landing-page .medium-up-7>.columns:nth-of-type(7n+1){clear:both}body.single-mc-landing-page .medium-up-7>.column:last-child,body.single-mc-landing-page .medium-up-7>.columns:last-child{float:left}body.single-mc-landing-page .medium-up-8>.column,body.single-mc-landing-page .medium-up-8>.columns{float:left;width:12.5%}body.single-mc-landing-page .medium-up-8>.column:nth-of-type(1n),body.single-mc-landing-page .medium-up-8>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .medium-up-8>.column:nth-of-type(8n+1),body.single-mc-landing-page .medium-up-8>.columns:nth-of-type(8n+1){clear:both}body.single-mc-landing-page .medium-up-8>.column:last-child,body.single-mc-landing-page .medium-up-8>.columns:last-child{float:left}body.single-mc-landing-page .medium-collapse>.column,body.single-mc-landing-page .medium-collapse>.columns{padding-right:0;padding-left:0}body.single-mc-landing-page .medium-collapse .row{margin-right:0;margin-left:0}body.single-mc-landing-page .expanded.row .medium-collapse.row{margin-right:0;margin-left:0}body.single-mc-landing-page .medium-uncollapse>.column,body.single-mc-landing-page .medium-uncollapse>.columns{padding-right:.9375rem;padding-left:.9375rem}body.single-mc-landing-page .medium-centered{margin-right:auto;margin-left:auto}body.single-mc-landing-page .medium-centered,body.single-mc-landing-page .medium-centered:last-child:not(:first-child){float:none;clear:both}body.single-mc-landing-page .medium-uncentered,body.single-mc-landing-page .medium-push-0,body.single-mc-landing-page .medium-pull-0{position:static;float:left;margin-right:0;margin-left:0}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .large-1{width:8.33333%}body.single-mc-landing-page .large-push-1{position:relative;left:8.33333%}body.single-mc-landing-page .large-pull-1{position:relative;left:-8.33333%}body.single-mc-landing-page .large-offset-0{margin-left:0%}body.single-mc-landing-page .large-2{width:16.66667%}body.single-mc-landing-page .large-push-2{position:relative;left:16.66667%}body.single-mc-landing-page .large-pull-2{position:relative;left:-16.66667%}body.single-mc-landing-page .large-offset-1{margin-left:8.33333%}body.single-mc-landing-page .large-3{width:25%}body.single-mc-landing-page .large-push-3{position:relative;left:25%}body.single-mc-landing-page .large-pull-3{position:relative;left:-25%}body.single-mc-landing-page .large-offset-2{margin-left:16.66667%}body.single-mc-landing-page .large-4{width:33.33333%}body.single-mc-landing-page .large-push-4{position:relative;left:33.33333%}body.single-mc-landing-page .large-pull-4{position:relative;left:-33.33333%}body.single-mc-landing-page .large-offset-3{margin-left:25%}body.single-mc-landing-page .large-5{width:41.66667%}body.single-mc-landing-page .large-push-5{position:relative;left:41.66667%}body.single-mc-landing-page .large-pull-5{position:relative;left:-41.66667%}body.single-mc-landing-page .large-offset-4{margin-left:33.33333%}body.single-mc-landing-page .large-6{width:50%}body.single-mc-landing-page .large-push-6{position:relative;left:50%}body.single-mc-landing-page .large-pull-6{position:relative;left:-50%}body.single-mc-landing-page .large-offset-5{margin-left:41.66667%}body.single-mc-landing-page .large-7{width:58.33333%}body.single-mc-landing-page .large-push-7{position:relative;left:58.33333%}body.single-mc-landing-page .large-pull-7{position:relative;left:-58.33333%}body.single-mc-landing-page .large-offset-6{margin-left:50%}body.single-mc-landing-page .large-8{width:66.66667%}body.single-mc-landing-page .large-push-8{position:relative;left:66.66667%}body.single-mc-landing-page .large-pull-8{position:relative;left:-66.66667%}body.single-mc-landing-page .large-offset-7{margin-left:58.33333%}body.single-mc-landing-page .large-9{width:75%}body.single-mc-landing-page .large-push-9{position:relative;left:75%}body.single-mc-landing-page .large-pull-9{position:relative;left:-75%}body.single-mc-landing-page .large-offset-8{margin-left:66.66667%}body.single-mc-landing-page .large-10{width:83.33333%}body.single-mc-landing-page .large-push-10{position:relative;left:83.33333%}body.single-mc-landing-page .large-pull-10{position:relative;left:-83.33333%}body.single-mc-landing-page .large-offset-9{margin-left:75%}body.single-mc-landing-page .large-11{width:91.66667%}body.single-mc-landing-page .large-push-11{position:relative;left:91.66667%}body.single-mc-landing-page .large-pull-11{position:relative;left:-91.66667%}body.single-mc-landing-page .large-offset-10{margin-left:83.33333%}body.single-mc-landing-page .large-12{width:100%}body.single-mc-landing-page .large-offset-11{margin-left:91.66667%}body.single-mc-landing-page .large-up-1>.column,body.single-mc-landing-page .large-up-1>.columns{float:left;width:100%}body.single-mc-landing-page .large-up-1>.column:nth-of-type(1n),body.single-mc-landing-page .large-up-1>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .large-up-1>.column:nth-of-type(1n+1),body.single-mc-landing-page .large-up-1>.columns:nth-of-type(1n+1){clear:both}body.single-mc-landing-page .large-up-1>.column:last-child,body.single-mc-landing-page .large-up-1>.columns:last-child{float:left}body.single-mc-landing-page .large-up-2>.column,body.single-mc-landing-page .large-up-2>.columns{float:left;width:50%}body.single-mc-landing-page .large-up-2>.column:nth-of-type(1n),body.single-mc-landing-page .large-up-2>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .large-up-2>.column:nth-of-type(2n+1),body.single-mc-landing-page .large-up-2>.columns:nth-of-type(2n+1){clear:both}body.single-mc-landing-page .large-up-2>.column:last-child,body.single-mc-landing-page .large-up-2>.columns:last-child{float:left}body.single-mc-landing-page .large-up-3>.column,body.single-mc-landing-page .large-up-3>.columns{float:left;width:33.33333%}body.single-mc-landing-page .large-up-3>.column:nth-of-type(1n),body.single-mc-landing-page .large-up-3>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .large-up-3>.column:nth-of-type(3n+1),body.single-mc-landing-page .large-up-3>.columns:nth-of-type(3n+1){clear:both}body.single-mc-landing-page .large-up-3>.column:last-child,body.single-mc-landing-page .large-up-3>.columns:last-child{float:left}body.single-mc-landing-page .large-up-4>.column,body.single-mc-landing-page .large-up-4>.columns{float:left;width:25%}body.single-mc-landing-page .large-up-4>.column:nth-of-type(1n),body.single-mc-landing-page .large-up-4>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .large-up-4>.column:nth-of-type(4n+1),body.single-mc-landing-page .large-up-4>.columns:nth-of-type(4n+1){clear:both}body.single-mc-landing-page .large-up-4>.column:last-child,body.single-mc-landing-page .large-up-4>.columns:last-child{float:left}body.single-mc-landing-page .large-up-5>.column,body.single-mc-landing-page .large-up-5>.columns{float:left;width:20%}body.single-mc-landing-page .large-up-5>.column:nth-of-type(1n),body.single-mc-landing-page .large-up-5>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .large-up-5>.column:nth-of-type(5n+1),body.single-mc-landing-page .large-up-5>.columns:nth-of-type(5n+1){clear:both}body.single-mc-landing-page .large-up-5>.column:last-child,body.single-mc-landing-page .large-up-5>.columns:last-child{float:left}body.single-mc-landing-page .large-up-6>.column,body.single-mc-landing-page .large-up-6>.columns{float:left;width:16.66667%}body.single-mc-landing-page .large-up-6>.column:nth-of-type(1n),body.single-mc-landing-page .large-up-6>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .large-up-6>.column:nth-of-type(6n+1),body.single-mc-landing-page .large-up-6>.columns:nth-of-type(6n+1){clear:both}body.single-mc-landing-page .large-up-6>.column:last-child,body.single-mc-landing-page .large-up-6>.columns:last-child{float:left}body.single-mc-landing-page .large-up-7>.column,body.single-mc-landing-page .large-up-7>.columns{float:left;width:14.28571%}body.single-mc-landing-page .large-up-7>.column:nth-of-type(1n),body.single-mc-landing-page .large-up-7>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .large-up-7>.column:nth-of-type(7n+1),body.single-mc-landing-page .large-up-7>.columns:nth-of-type(7n+1){clear:both}body.single-mc-landing-page .large-up-7>.column:last-child,body.single-mc-landing-page .large-up-7>.columns:last-child{float:left}body.single-mc-landing-page .large-up-8>.column,body.single-mc-landing-page .large-up-8>.columns{float:left;width:12.5%}body.single-mc-landing-page .large-up-8>.column:nth-of-type(1n),body.single-mc-landing-page .large-up-8>.columns:nth-of-type(1n){clear:none}body.single-mc-landing-page .large-up-8>.column:nth-of-type(8n+1),body.single-mc-landing-page .large-up-8>.columns:nth-of-type(8n+1){clear:both}body.single-mc-landing-page .large-up-8>.column:last-child,body.single-mc-landing-page .large-up-8>.columns:last-child{float:left}body.single-mc-landing-page .large-collapse>.column,body.single-mc-landing-page .large-collapse>.columns{padding-right:0;padding-left:0}body.single-mc-landing-page .large-collapse .row{margin-right:0;margin-left:0}body.single-mc-landing-page .expanded.row .large-collapse.row{margin-right:0;margin-left:0}body.single-mc-landing-page .large-uncollapse>.column,body.single-mc-landing-page .large-uncollapse>.columns{padding-right:.9375rem;padding-left:.9375rem}body.single-mc-landing-page .large-centered{margin-right:auto;margin-left:auto}body.single-mc-landing-page .large-centered,body.single-mc-landing-page .large-centered:last-child:not(:first-child){float:none;clear:both}body.single-mc-landing-page .large-uncentered,body.single-mc-landing-page .large-push-0,body.single-mc-landing-page .large-pull-0{position:static;float:left;margin-right:0;margin-left:0}}body.single-mc-landing-page .column-block{margin-bottom:1.25rem}body.single-mc-landing-page .column-block>:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){body.single-mc-landing-page .column-block{margin-bottom:1.875rem}body.single-mc-landing-page .column-block>:last-child{margin-bottom:0}}body.single-mc-landing-page .grid-container{max-width:84.375rem;margin:0 auto}body.single-mc-landing-page .grid-container-padded{padding-left:.625rem;padding-right:.625rem}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-container-padded{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width: 84.375em){body.single-mc-landing-page .grid-container-padded{padding-left:0;padding-right:0}}body.single-mc-landing-page .grid-x{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}body.single-mc-landing-page .cell{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;min-height:0px;min-width:0px;width:100%}body.single-mc-landing-page .cell.auto{-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}body.single-mc-landing-page .cell.shrink{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}body.single-mc-landing-page .grid-x>.auto{width:auto}body.single-mc-landing-page .grid-x>.shrink{width:auto}body.single-mc-landing-page .grid-x>small-shrink,body.single-mc-landing-page .grid-x>small-full,body.single-mc-landing-page .grid-x>small-1,body.single-mc-landing-page .grid-x>small-2,body.single-mc-landing-page .grid-x>small-3,body.single-mc-landing-page .grid-x>small-4,body.single-mc-landing-page .grid-x>small-5,body.single-mc-landing-page .grid-x>small-6,body.single-mc-landing-page .grid-x>small-7,body.single-mc-landing-page .grid-x>small-8,body.single-mc-landing-page .grid-x>small-9,body.single-mc-landing-page .grid-x>small-10,body.single-mc-landing-page .grid-x>small-11,body.single-mc-landing-page .grid-x>small-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-x>medium-shrink,body.single-mc-landing-page .grid-x>medium-full,body.single-mc-landing-page .grid-x>medium-1,body.single-mc-landing-page .grid-x>medium-2,body.single-mc-landing-page .grid-x>medium-3,body.single-mc-landing-page .grid-x>medium-4,body.single-mc-landing-page .grid-x>medium-5,body.single-mc-landing-page .grid-x>medium-6,body.single-mc-landing-page .grid-x>medium-7,body.single-mc-landing-page .grid-x>medium-8,body.single-mc-landing-page .grid-x>medium-9,body.single-mc-landing-page .grid-x>medium-10,body.single-mc-landing-page .grid-x>medium-11,body.single-mc-landing-page .grid-x>medium-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .grid-x>large-shrink,body.single-mc-landing-page .grid-x>large-full,body.single-mc-landing-page .grid-x>large-1,body.single-mc-landing-page .grid-x>large-2,body.single-mc-landing-page .grid-x>large-3,body.single-mc-landing-page .grid-x>large-4,body.single-mc-landing-page .grid-x>large-5,body.single-mc-landing-page .grid-x>large-6,body.single-mc-landing-page .grid-x>large-7,body.single-mc-landing-page .grid-x>large-8,body.single-mc-landing-page .grid-x>large-9,body.single-mc-landing-page .grid-x>large-10,body.single-mc-landing-page .grid-x>large-11,body.single-mc-landing-page .grid-x>large-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}body.single-mc-landing-page .grid-x>.small-1{width:8.33333%}body.single-mc-landing-page .grid-x>.small-2{width:16.66667%}body.single-mc-landing-page .grid-x>.small-3{width:25%}body.single-mc-landing-page .grid-x>.small-4{width:33.33333%}body.single-mc-landing-page .grid-x>.small-5{width:41.66667%}body.single-mc-landing-page .grid-x>.small-6{width:50%}body.single-mc-landing-page .grid-x>.small-7{width:58.33333%}body.single-mc-landing-page .grid-x>.small-8{width:66.66667%}body.single-mc-landing-page .grid-x>.small-9{width:75%}body.single-mc-landing-page .grid-x>.small-10{width:83.33333%}body.single-mc-landing-page .grid-x>.small-11{width:91.66667%}body.single-mc-landing-page .grid-x>.small-12{width:100%}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-x>.medium-auto{-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}body.single-mc-landing-page .grid-x>.medium-shrink{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}body.single-mc-landing-page .grid-x>.medium-1{width:8.33333%}body.single-mc-landing-page .grid-x>.medium-2{width:16.66667%}body.single-mc-landing-page .grid-x>.medium-3{width:25%}body.single-mc-landing-page .grid-x>.medium-4{width:33.33333%}body.single-mc-landing-page .grid-x>.medium-5{width:41.66667%}body.single-mc-landing-page .grid-x>.medium-6{width:50%}body.single-mc-landing-page .grid-x>.medium-7{width:58.33333%}body.single-mc-landing-page .grid-x>.medium-8{width:66.66667%}body.single-mc-landing-page .grid-x>.medium-9{width:75%}body.single-mc-landing-page .grid-x>.medium-10{width:83.33333%}body.single-mc-landing-page .grid-x>.medium-11{width:91.66667%}body.single-mc-landing-page .grid-x>.medium-12{width:100%}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .grid-x>.large-auto{-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}body.single-mc-landing-page .grid-x>.large-shrink{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}body.single-mc-landing-page .grid-x>.large-1{width:8.33333%}body.single-mc-landing-page .grid-x>.large-2{width:16.66667%}body.single-mc-landing-page .grid-x>.large-3{width:25%}body.single-mc-landing-page .grid-x>.large-4{width:33.33333%}body.single-mc-landing-page .grid-x>.large-5{width:41.66667%}body.single-mc-landing-page .grid-x>.large-6{width:50%}body.single-mc-landing-page .grid-x>.large-7{width:58.33333%}body.single-mc-landing-page .grid-x>.large-8{width:66.66667%}body.single-mc-landing-page .grid-x>.large-9{width:75%}body.single-mc-landing-page .grid-x>.large-10{width:83.33333%}body.single-mc-landing-page .grid-x>.large-11{width:91.66667%}body.single-mc-landing-page .grid-x>.large-12{width:100%}}body.single-mc-landing-page .grid-margin-x:not(.grid-x)>.cell{width:auto}body.single-mc-landing-page .grid-margin-y:not(.grid-y)>.cell{height:auto}body.single-mc-landing-page .grid-margin-x{margin-left:-.625rem;margin-right:-.625rem}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-margin-x{margin-left:-.9375rem;margin-right:-.9375rem}}body.single-mc-landing-page .grid-margin-x>.cell{width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-margin-x>.cell{width:calc(100% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}body.single-mc-landing-page .grid-margin-x>.auto{width:auto}body.single-mc-landing-page .grid-margin-x>.shrink{width:auto}body.single-mc-landing-page .grid-margin-x>.small-1{width:calc(8.33333% - 1.25rem)}body.single-mc-landing-page .grid-margin-x>.small-2{width:calc(16.66667% - 1.25rem)}body.single-mc-landing-page .grid-margin-x>.small-3{width:calc(25% - 1.25rem)}body.single-mc-landing-page .grid-margin-x>.small-4{width:calc(33.33333% - 1.25rem)}body.single-mc-landing-page .grid-margin-x>.small-5{width:calc(41.66667% - 1.25rem)}body.single-mc-landing-page .grid-margin-x>.small-6{width:calc(50% - 1.25rem)}body.single-mc-landing-page .grid-margin-x>.small-7{width:calc(58.33333% - 1.25rem)}body.single-mc-landing-page .grid-margin-x>.small-8{width:calc(66.66667% - 1.25rem)}body.single-mc-landing-page .grid-margin-x>.small-9{width:calc(75% - 1.25rem)}body.single-mc-landing-page .grid-margin-x>.small-10{width:calc(83.33333% - 1.25rem)}body.single-mc-landing-page .grid-margin-x>.small-11{width:calc(91.66667% - 1.25rem)}body.single-mc-landing-page .grid-margin-x>.small-12{width:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-margin-x>.auto{width:auto}body.single-mc-landing-page .grid-margin-x>.shrink{width:auto}body.single-mc-landing-page .grid-margin-x>.small-1{width:calc(8.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.small-2{width:calc(16.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.small-3{width:calc(25% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.small-4{width:calc(33.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.small-5{width:calc(41.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.small-6{width:calc(50% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.small-7{width:calc(58.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.small-8{width:calc(66.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.small-9{width:calc(75% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.small-10{width:calc(83.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.small-11{width:calc(91.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.small-12{width:calc(100% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.medium-auto{width:auto}body.single-mc-landing-page .grid-margin-x>.medium-shrink{width:auto}body.single-mc-landing-page .grid-margin-x>.medium-1{width:calc(8.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.medium-2{width:calc(16.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.medium-3{width:calc(25% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.medium-4{width:calc(33.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.medium-5{width:calc(41.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.medium-6{width:calc(50% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.medium-7{width:calc(58.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.medium-8{width:calc(66.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.medium-9{width:calc(75% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.medium-10{width:calc(83.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.medium-11{width:calc(91.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.medium-12{width:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .grid-margin-x>.large-auto{width:auto}body.single-mc-landing-page .grid-margin-x>.large-shrink{width:auto}body.single-mc-landing-page .grid-margin-x>.large-1{width:calc(8.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.large-2{width:calc(16.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.large-3{width:calc(25% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.large-4{width:calc(33.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.large-5{width:calc(41.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.large-6{width:calc(50% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.large-7{width:calc(58.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.large-8{width:calc(66.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.large-9{width:calc(75% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.large-10{width:calc(83.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.large-11{width:calc(91.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x>.large-12{width:calc(100% - 1.875rem)}}body.single-mc-landing-page .grid-padding-x .grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-padding-x .grid-padding-x{margin-right:-.9375rem;margin-left:-.9375rem}}body.single-mc-landing-page .grid-padding-x>.cell{padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-padding-x>.cell{padding-right:.9375rem;padding-left:.9375rem}}body.single-mc-landing-page .small-up-1>.cell{width:100%}body.single-mc-landing-page .small-up-2>.cell{width:50%}body.single-mc-landing-page .small-up-3>.cell{width:33.33333%}body.single-mc-landing-page .small-up-4>.cell{width:25%}body.single-mc-landing-page .small-up-5>.cell{width:20%}body.single-mc-landing-page .small-up-6>.cell{width:16.66667%}body.single-mc-landing-page .small-up-7>.cell{width:14.28571%}body.single-mc-landing-page .small-up-8>.cell{width:12.5%}@media print, screen and (min-width: 40em){body.single-mc-landing-page .medium-up-1>.cell{width:100%}body.single-mc-landing-page .medium-up-2>.cell{width:50%}body.single-mc-landing-page .medium-up-3>.cell{width:33.33333%}body.single-mc-landing-page .medium-up-4>.cell{width:25%}body.single-mc-landing-page .medium-up-5>.cell{width:20%}body.single-mc-landing-page .medium-up-6>.cell{width:16.66667%}body.single-mc-landing-page .medium-up-7>.cell{width:14.28571%}body.single-mc-landing-page .medium-up-8>.cell{width:12.5%}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .large-up-1>.cell{width:100%}body.single-mc-landing-page .large-up-2>.cell{width:50%}body.single-mc-landing-page .large-up-3>.cell{width:33.33333%}body.single-mc-landing-page .large-up-4>.cell{width:25%}body.single-mc-landing-page .large-up-5>.cell{width:20%}body.single-mc-landing-page .large-up-6>.cell{width:16.66667%}body.single-mc-landing-page .large-up-7>.cell{width:14.28571%}body.single-mc-landing-page .large-up-8>.cell{width:12.5%}}body.single-mc-landing-page .grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}body.single-mc-landing-page .grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}body.single-mc-landing-page .grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.25rem)}body.single-mc-landing-page .grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}body.single-mc-landing-page .grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}body.single-mc-landing-page .grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.25rem)}body.single-mc-landing-page .grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.25rem)}body.single-mc-landing-page .grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-margin-x.small-up-1>.cell{width:calc(100% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.small-up-2>.cell{width:calc(50% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.small-up-4>.cell{width:calc(25% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.small-up-5>.cell{width:calc(20% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.medium-up-3>.cell{width:calc(33.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.medium-up-6>.cell{width:calc(16.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.medium-up-7>.cell{width:calc(14.28571% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.875rem)}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .grid-margin-x.large-up-1>.cell{width:calc(100% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.large-up-2>.cell{width:calc(50% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.large-up-3>.cell{width:calc(33.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.large-up-4>.cell{width:calc(25% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.large-up-5>.cell{width:calc(20% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.large-up-6>.cell{width:calc(16.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.large-up-7>.cell{width:calc(14.28571% - 1.875rem)}body.single-mc-landing-page .grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.875rem)}}body.single-mc-landing-page .small-margin-collapse{margin-right:0;margin-left:0}body.single-mc-landing-page .small-margin-collapse>.cell{margin-right:0;margin-left:0}body.single-mc-landing-page .small-margin-collapse>.small-1{width:8.33333%}body.single-mc-landing-page .small-margin-collapse>.small-2{width:16.66667%}body.single-mc-landing-page .small-margin-collapse>.small-3{width:25%}body.single-mc-landing-page .small-margin-collapse>.small-4{width:33.33333%}body.single-mc-landing-page .small-margin-collapse>.small-5{width:41.66667%}body.single-mc-landing-page .small-margin-collapse>.small-6{width:50%}body.single-mc-landing-page .small-margin-collapse>.small-7{width:58.33333%}body.single-mc-landing-page .small-margin-collapse>.small-8{width:66.66667%}body.single-mc-landing-page .small-margin-collapse>.small-9{width:75%}body.single-mc-landing-page .small-margin-collapse>.small-10{width:83.33333%}body.single-mc-landing-page .small-margin-collapse>.small-11{width:91.66667%}body.single-mc-landing-page .small-margin-collapse>.small-12{width:100%}body.single-mc-landing-page .small-margin-collapse>.medium-1{width:8.33333%}body.single-mc-landing-page .small-margin-collapse>.medium-2{width:16.66667%}body.single-mc-landing-page .small-margin-collapse>.medium-3{width:25%}body.single-mc-landing-page .small-margin-collapse>.medium-4{width:33.33333%}body.single-mc-landing-page .small-margin-collapse>.medium-5{width:41.66667%}body.single-mc-landing-page .small-margin-collapse>.medium-6{width:50%}body.single-mc-landing-page .small-margin-collapse>.medium-7{width:58.33333%}body.single-mc-landing-page .small-margin-collapse>.medium-8{width:66.66667%}body.single-mc-landing-page .small-margin-collapse>.medium-9{width:75%}body.single-mc-landing-page .small-margin-collapse>.medium-10{width:83.33333%}body.single-mc-landing-page .small-margin-collapse>.medium-11{width:91.66667%}body.single-mc-landing-page .small-margin-collapse>.medium-12{width:100%}body.single-mc-landing-page .small-margin-collapse>.large-1{width:8.33333%}body.single-mc-landing-page .small-margin-collapse>.large-2{width:16.66667%}body.single-mc-landing-page .small-margin-collapse>.large-3{width:25%}body.single-mc-landing-page .small-margin-collapse>.large-4{width:33.33333%}body.single-mc-landing-page .small-margin-collapse>.large-5{width:41.66667%}body.single-mc-landing-page .small-margin-collapse>.large-6{width:50%}body.single-mc-landing-page .small-margin-collapse>.large-7{width:58.33333%}body.single-mc-landing-page .small-margin-collapse>.large-8{width:66.66667%}body.single-mc-landing-page .small-margin-collapse>.large-9{width:75%}body.single-mc-landing-page .small-margin-collapse>.large-10{width:83.33333%}body.single-mc-landing-page .small-margin-collapse>.large-11{width:91.66667%}body.single-mc-landing-page .small-margin-collapse>.large-12{width:100%}body.single-mc-landing-page .small-padding-collapse{margin-right:0;margin-left:0}body.single-mc-landing-page .small-padding-collapse>.cell{padding-right:0;padding-left:0}@media print, screen and (min-width: 40em){body.single-mc-landing-page .medium-margin-collapse{margin-right:0;margin-left:0}body.single-mc-landing-page .medium-margin-collapse>.cell{margin-right:0;margin-left:0}body.single-mc-landing-page .medium-margin-collapse>.small-1{width:8.33333%}body.single-mc-landing-page .medium-margin-collapse>.small-2{width:16.66667%}body.single-mc-landing-page .medium-margin-collapse>.small-3{width:25%}body.single-mc-landing-page .medium-margin-collapse>.small-4{width:33.33333%}body.single-mc-landing-page .medium-margin-collapse>.small-5{width:41.66667%}body.single-mc-landing-page .medium-margin-collapse>.small-6{width:50%}body.single-mc-landing-page .medium-margin-collapse>.small-7{width:58.33333%}body.single-mc-landing-page .medium-margin-collapse>.small-8{width:66.66667%}body.single-mc-landing-page .medium-margin-collapse>.small-9{width:75%}body.single-mc-landing-page .medium-margin-collapse>.small-10{width:83.33333%}body.single-mc-landing-page .medium-margin-collapse>.small-11{width:91.66667%}body.single-mc-landing-page .medium-margin-collapse>.small-12{width:100%}body.single-mc-landing-page .medium-margin-collapse>.medium-1{width:8.33333%}body.single-mc-landing-page .medium-margin-collapse>.medium-2{width:16.66667%}body.single-mc-landing-page .medium-margin-collapse>.medium-3{width:25%}body.single-mc-landing-page .medium-margin-collapse>.medium-4{width:33.33333%}body.single-mc-landing-page .medium-margin-collapse>.medium-5{width:41.66667%}body.single-mc-landing-page .medium-margin-collapse>.medium-6{width:50%}body.single-mc-landing-page .medium-margin-collapse>.medium-7{width:58.33333%}body.single-mc-landing-page .medium-margin-collapse>.medium-8{width:66.66667%}body.single-mc-landing-page .medium-margin-collapse>.medium-9{width:75%}body.single-mc-landing-page .medium-margin-collapse>.medium-10{width:83.33333%}body.single-mc-landing-page .medium-margin-collapse>.medium-11{width:91.66667%}body.single-mc-landing-page .medium-margin-collapse>.medium-12{width:100%}body.single-mc-landing-page .medium-margin-collapse>.large-1{width:8.33333%}body.single-mc-landing-page .medium-margin-collapse>.large-2{width:16.66667%}body.single-mc-landing-page .medium-margin-collapse>.large-3{width:25%}body.single-mc-landing-page .medium-margin-collapse>.large-4{width:33.33333%}body.single-mc-landing-page .medium-margin-collapse>.large-5{width:41.66667%}body.single-mc-landing-page .medium-margin-collapse>.large-6{width:50%}body.single-mc-landing-page .medium-margin-collapse>.large-7{width:58.33333%}body.single-mc-landing-page .medium-margin-collapse>.large-8{width:66.66667%}body.single-mc-landing-page .medium-margin-collapse>.large-9{width:75%}body.single-mc-landing-page .medium-margin-collapse>.large-10{width:83.33333%}body.single-mc-landing-page .medium-margin-collapse>.large-11{width:91.66667%}body.single-mc-landing-page .medium-margin-collapse>.large-12{width:100%}body.single-mc-landing-page .medium-padding-collapse{margin-right:0;margin-left:0}body.single-mc-landing-page .medium-padding-collapse>.cell{padding-right:0;padding-left:0}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .large-margin-collapse{margin-right:0;margin-left:0}body.single-mc-landing-page .large-margin-collapse>.cell{margin-right:0;margin-left:0}body.single-mc-landing-page .large-margin-collapse>.small-1{width:8.33333%}body.single-mc-landing-page .large-margin-collapse>.small-2{width:16.66667%}body.single-mc-landing-page .large-margin-collapse>.small-3{width:25%}body.single-mc-landing-page .large-margin-collapse>.small-4{width:33.33333%}body.single-mc-landing-page .large-margin-collapse>.small-5{width:41.66667%}body.single-mc-landing-page .large-margin-collapse>.small-6{width:50%}body.single-mc-landing-page .large-margin-collapse>.small-7{width:58.33333%}body.single-mc-landing-page .large-margin-collapse>.small-8{width:66.66667%}body.single-mc-landing-page .large-margin-collapse>.small-9{width:75%}body.single-mc-landing-page .large-margin-collapse>.small-10{width:83.33333%}body.single-mc-landing-page .large-margin-collapse>.small-11{width:91.66667%}body.single-mc-landing-page .large-margin-collapse>.small-12{width:100%}body.single-mc-landing-page .large-margin-collapse>.medium-1{width:8.33333%}body.single-mc-landing-page .large-margin-collapse>.medium-2{width:16.66667%}body.single-mc-landing-page .large-margin-collapse>.medium-3{width:25%}body.single-mc-landing-page .large-margin-collapse>.medium-4{width:33.33333%}body.single-mc-landing-page .large-margin-collapse>.medium-5{width:41.66667%}body.single-mc-landing-page .large-margin-collapse>.medium-6{width:50%}body.single-mc-landing-page .large-margin-collapse>.medium-7{width:58.33333%}body.single-mc-landing-page .large-margin-collapse>.medium-8{width:66.66667%}body.single-mc-landing-page .large-margin-collapse>.medium-9{width:75%}body.single-mc-landing-page .large-margin-collapse>.medium-10{width:83.33333%}body.single-mc-landing-page .large-margin-collapse>.medium-11{width:91.66667%}body.single-mc-landing-page .large-margin-collapse>.medium-12{width:100%}body.single-mc-landing-page .large-margin-collapse>.large-1{width:8.33333%}body.single-mc-landing-page .large-margin-collapse>.large-2{width:16.66667%}body.single-mc-landing-page .large-margin-collapse>.large-3{width:25%}body.single-mc-landing-page .large-margin-collapse>.large-4{width:33.33333%}body.single-mc-landing-page .large-margin-collapse>.large-5{width:41.66667%}body.single-mc-landing-page .large-margin-collapse>.large-6{width:50%}body.single-mc-landing-page .large-margin-collapse>.large-7{width:58.33333%}body.single-mc-landing-page .large-margin-collapse>.large-8{width:66.66667%}body.single-mc-landing-page .large-margin-collapse>.large-9{width:75%}body.single-mc-landing-page .large-margin-collapse>.large-10{width:83.33333%}body.single-mc-landing-page .large-margin-collapse>.large-11{width:91.66667%}body.single-mc-landing-page .large-margin-collapse>.large-12{width:100%}body.single-mc-landing-page .large-padding-collapse{margin-right:0;margin-left:0}body.single-mc-landing-page .large-padding-collapse>.cell{padding-right:0;padding-left:0}}body.single-mc-landing-page .small-offset-0{margin-left:0%}body.single-mc-landing-page .grid-margin-x>.small-offset-0{margin-left:calc(0% + .625rem)}body.single-mc-landing-page .small-offset-1{margin-left:8.33333%}body.single-mc-landing-page .grid-margin-x>.small-offset-1{margin-left:calc(8.33333% + .625rem)}body.single-mc-landing-page .small-offset-2{margin-left:16.66667%}body.single-mc-landing-page .grid-margin-x>.small-offset-2{margin-left:calc(16.66667% + .625rem)}body.single-mc-landing-page .small-offset-3{margin-left:25%}body.single-mc-landing-page .grid-margin-x>.small-offset-3{margin-left:calc(25% + .625rem)}body.single-mc-landing-page .small-offset-4{margin-left:33.33333%}body.single-mc-landing-page .grid-margin-x>.small-offset-4{margin-left:calc(33.33333% + .625rem)}body.single-mc-landing-page .small-offset-5{margin-left:41.66667%}body.single-mc-landing-page .grid-margin-x>.small-offset-5{margin-left:calc(41.66667% + .625rem)}body.single-mc-landing-page .small-offset-6{margin-left:50%}body.single-mc-landing-page .grid-margin-x>.small-offset-6{margin-left:calc(50% + .625rem)}body.single-mc-landing-page .small-offset-7{margin-left:58.33333%}body.single-mc-landing-page .grid-margin-x>.small-offset-7{margin-left:calc(58.33333% + .625rem)}body.single-mc-landing-page .small-offset-8{margin-left:66.66667%}body.single-mc-landing-page .grid-margin-x>.small-offset-8{margin-left:calc(66.66667% + .625rem)}body.single-mc-landing-page .small-offset-9{margin-left:75%}body.single-mc-landing-page .grid-margin-x>.small-offset-9{margin-left:calc(75% + .625rem)}body.single-mc-landing-page .small-offset-10{margin-left:83.33333%}body.single-mc-landing-page .grid-margin-x>.small-offset-10{margin-left:calc(83.33333% + .625rem)}body.single-mc-landing-page .small-offset-11{margin-left:91.66667%}body.single-mc-landing-page .grid-margin-x>.small-offset-11{margin-left:calc(91.66667% + .625rem)}@media print, screen and (min-width: 40em){body.single-mc-landing-page .medium-offset-0{margin-left:0%}body.single-mc-landing-page .grid-margin-x>.medium-offset-0{margin-left:calc(0% + .9375rem)}body.single-mc-landing-page .medium-offset-1{margin-left:8.33333%}body.single-mc-landing-page .grid-margin-x>.medium-offset-1{margin-left:calc(8.33333% + .9375rem)}body.single-mc-landing-page .medium-offset-2{margin-left:16.66667%}body.single-mc-landing-page .grid-margin-x>.medium-offset-2{margin-left:calc(16.66667% + .9375rem)}body.single-mc-landing-page .medium-offset-3{margin-left:25%}body.single-mc-landing-page .grid-margin-x>.medium-offset-3{margin-left:calc(25% + .9375rem)}body.single-mc-landing-page .medium-offset-4{margin-left:33.33333%}body.single-mc-landing-page .grid-margin-x>.medium-offset-4{margin-left:calc(33.33333% + .9375rem)}body.single-mc-landing-page .medium-offset-5{margin-left:41.66667%}body.single-mc-landing-page .grid-margin-x>.medium-offset-5{margin-left:calc(41.66667% + .9375rem)}body.single-mc-landing-page .medium-offset-6{margin-left:50%}body.single-mc-landing-page .grid-margin-x>.medium-offset-6{margin-left:calc(50% + .9375rem)}body.single-mc-landing-page .medium-offset-7{margin-left:58.33333%}body.single-mc-landing-page .grid-margin-x>.medium-offset-7{margin-left:calc(58.33333% + .9375rem)}body.single-mc-landing-page .medium-offset-8{margin-left:66.66667%}body.single-mc-landing-page .grid-margin-x>.medium-offset-8{margin-left:calc(66.66667% + .9375rem)}body.single-mc-landing-page .medium-offset-9{margin-left:75%}body.single-mc-landing-page .grid-margin-x>.medium-offset-9{margin-left:calc(75% + .9375rem)}body.single-mc-landing-page .medium-offset-10{margin-left:83.33333%}body.single-mc-landing-page .grid-margin-x>.medium-offset-10{margin-left:calc(83.33333% + .9375rem)}body.single-mc-landing-page .medium-offset-11{margin-left:91.66667%}body.single-mc-landing-page .grid-margin-x>.medium-offset-11{margin-left:calc(91.66667% + .9375rem)}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .large-offset-0{margin-left:0%}body.single-mc-landing-page .grid-margin-x>.large-offset-0{margin-left:calc(0% + .9375rem)}body.single-mc-landing-page .large-offset-1{margin-left:8.33333%}body.single-mc-landing-page .grid-margin-x>.large-offset-1{margin-left:calc(8.33333% + .9375rem)}body.single-mc-landing-page .large-offset-2{margin-left:16.66667%}body.single-mc-landing-page .grid-margin-x>.large-offset-2{margin-left:calc(16.66667% + .9375rem)}body.single-mc-landing-page .large-offset-3{margin-left:25%}body.single-mc-landing-page .grid-margin-x>.large-offset-3{margin-left:calc(25% + .9375rem)}body.single-mc-landing-page .large-offset-4{margin-left:33.33333%}body.single-mc-landing-page .grid-margin-x>.large-offset-4{margin-left:calc(33.33333% + .9375rem)}body.single-mc-landing-page .large-offset-5{margin-left:41.66667%}body.single-mc-landing-page .grid-margin-x>.large-offset-5{margin-left:calc(41.66667% + .9375rem)}body.single-mc-landing-page .large-offset-6{margin-left:50%}body.single-mc-landing-page .grid-margin-x>.large-offset-6{margin-left:calc(50% + .9375rem)}body.single-mc-landing-page .large-offset-7{margin-left:58.33333%}body.single-mc-landing-page .grid-margin-x>.large-offset-7{margin-left:calc(58.33333% + .9375rem)}body.single-mc-landing-page .large-offset-8{margin-left:66.66667%}body.single-mc-landing-page .grid-margin-x>.large-offset-8{margin-left:calc(66.66667% + .9375rem)}body.single-mc-landing-page .large-offset-9{margin-left:75%}body.single-mc-landing-page .grid-margin-x>.large-offset-9{margin-left:calc(75% + .9375rem)}body.single-mc-landing-page .large-offset-10{margin-left:83.33333%}body.single-mc-landing-page .grid-margin-x>.large-offset-10{margin-left:calc(83.33333% + .9375rem)}body.single-mc-landing-page .large-offset-11{margin-left:91.66667%}body.single-mc-landing-page .grid-margin-x>.large-offset-11{margin-left:calc(91.66667% + .9375rem)}}body.single-mc-landing-page .grid-y{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}body.single-mc-landing-page .grid-y>.cell{width:auto}body.single-mc-landing-page .grid-y>.auto{height:auto}body.single-mc-landing-page .grid-y>.shrink{height:auto}body.single-mc-landing-page .grid-y>small-shrink,body.single-mc-landing-page .grid-y>small-full,body.single-mc-landing-page .grid-y>small-1,body.single-mc-landing-page .grid-y>small-2,body.single-mc-landing-page .grid-y>small-3,body.single-mc-landing-page .grid-y>small-4,body.single-mc-landing-page .grid-y>small-5,body.single-mc-landing-page .grid-y>small-6,body.single-mc-landing-page .grid-y>small-7,body.single-mc-landing-page .grid-y>small-8,body.single-mc-landing-page .grid-y>small-9,body.single-mc-landing-page .grid-y>small-10,body.single-mc-landing-page .grid-y>small-11,body.single-mc-landing-page .grid-y>small-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-y>medium-shrink,body.single-mc-landing-page .grid-y>medium-full,body.single-mc-landing-page .grid-y>medium-1,body.single-mc-landing-page .grid-y>medium-2,body.single-mc-landing-page .grid-y>medium-3,body.single-mc-landing-page .grid-y>medium-4,body.single-mc-landing-page .grid-y>medium-5,body.single-mc-landing-page .grid-y>medium-6,body.single-mc-landing-page .grid-y>medium-7,body.single-mc-landing-page .grid-y>medium-8,body.single-mc-landing-page .grid-y>medium-9,body.single-mc-landing-page .grid-y>medium-10,body.single-mc-landing-page .grid-y>medium-11,body.single-mc-landing-page .grid-y>medium-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .grid-y>large-shrink,body.single-mc-landing-page .grid-y>large-full,body.single-mc-landing-page .grid-y>large-1,body.single-mc-landing-page .grid-y>large-2,body.single-mc-landing-page .grid-y>large-3,body.single-mc-landing-page .grid-y>large-4,body.single-mc-landing-page .grid-y>large-5,body.single-mc-landing-page .grid-y>large-6,body.single-mc-landing-page .grid-y>large-7,body.single-mc-landing-page .grid-y>large-8,body.single-mc-landing-page .grid-y>large-9,body.single-mc-landing-page .grid-y>large-10,body.single-mc-landing-page .grid-y>large-11,body.single-mc-landing-page .grid-y>large-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}body.single-mc-landing-page .grid-y>.small-1{height:8.33333%}body.single-mc-landing-page .grid-y>.small-2{height:16.66667%}body.single-mc-landing-page .grid-y>.small-3{height:25%}body.single-mc-landing-page .grid-y>.small-4{height:33.33333%}body.single-mc-landing-page .grid-y>.small-5{height:41.66667%}body.single-mc-landing-page .grid-y>.small-6{height:50%}body.single-mc-landing-page .grid-y>.small-7{height:58.33333%}body.single-mc-landing-page .grid-y>.small-8{height:66.66667%}body.single-mc-landing-page .grid-y>.small-9{height:75%}body.single-mc-landing-page .grid-y>.small-10{height:83.33333%}body.single-mc-landing-page .grid-y>.small-11{height:91.66667%}body.single-mc-landing-page .grid-y>.small-12{height:100%}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-y>.medium-auto{-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}body.single-mc-landing-page .grid-y>.medium-shrink{height:auto}body.single-mc-landing-page .grid-y>.medium-1{height:8.33333%}body.single-mc-landing-page .grid-y>.medium-2{height:16.66667%}body.single-mc-landing-page .grid-y>.medium-3{height:25%}body.single-mc-landing-page .grid-y>.medium-4{height:33.33333%}body.single-mc-landing-page .grid-y>.medium-5{height:41.66667%}body.single-mc-landing-page .grid-y>.medium-6{height:50%}body.single-mc-landing-page .grid-y>.medium-7{height:58.33333%}body.single-mc-landing-page .grid-y>.medium-8{height:66.66667%}body.single-mc-landing-page .grid-y>.medium-9{height:75%}body.single-mc-landing-page .grid-y>.medium-10{height:83.33333%}body.single-mc-landing-page .grid-y>.medium-11{height:91.66667%}body.single-mc-landing-page .grid-y>.medium-12{height:100%}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .grid-y>.large-auto{-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}body.single-mc-landing-page .grid-y>.large-shrink{height:auto}body.single-mc-landing-page .grid-y>.large-1{height:8.33333%}body.single-mc-landing-page .grid-y>.large-2{height:16.66667%}body.single-mc-landing-page .grid-y>.large-3{height:25%}body.single-mc-landing-page .grid-y>.large-4{height:33.33333%}body.single-mc-landing-page .grid-y>.large-5{height:41.66667%}body.single-mc-landing-page .grid-y>.large-6{height:50%}body.single-mc-landing-page .grid-y>.large-7{height:58.33333%}body.single-mc-landing-page .grid-y>.large-8{height:66.66667%}body.single-mc-landing-page .grid-y>.large-9{height:75%}body.single-mc-landing-page .grid-y>.large-10{height:83.33333%}body.single-mc-landing-page .grid-y>.large-11{height:91.66667%}body.single-mc-landing-page .grid-y>.large-12{height:100%}}body.single-mc-landing-page .grid-padding-y .grid-padding-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-padding-y .grid-padding-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}body.single-mc-landing-page .grid-padding-y>.cell{padding-top:.625rem;padding-bottom:.625rem}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-padding-y>.cell{padding-top:.9375rem;padding-bottom:.9375rem}}body.single-mc-landing-page .grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}body.single-mc-landing-page .grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.9375rem}}body.single-mc-landing-page .grid-margin-y>.auto{height:auto}body.single-mc-landing-page .grid-margin-y>.shrink{height:auto}body.single-mc-landing-page .grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}body.single-mc-landing-page .grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}body.single-mc-landing-page .grid-margin-y>.small-3{height:calc(25% - 1.25rem)}body.single-mc-landing-page .grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}body.single-mc-landing-page .grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}body.single-mc-landing-page .grid-margin-y>.small-6{height:calc(50% - 1.25rem)}body.single-mc-landing-page .grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}body.single-mc-landing-page .grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}body.single-mc-landing-page .grid-margin-y>.small-9{height:calc(75% - 1.25rem)}body.single-mc-landing-page .grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}body.single-mc-landing-page .grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}body.single-mc-landing-page .grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-margin-y>.auto{height:auto}body.single-mc-landing-page .grid-margin-y>.shrink{height:auto}body.single-mc-landing-page .grid-margin-y>.small-1{height:calc(8.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.small-2{height:calc(16.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.small-3{height:calc(25% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.small-4{height:calc(33.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.small-5{height:calc(41.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.small-6{height:calc(50% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.small-7{height:calc(58.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.small-8{height:calc(66.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.small-9{height:calc(75% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.small-10{height:calc(83.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.small-11{height:calc(91.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.small-12{height:calc(100% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.medium-auto{height:auto}body.single-mc-landing-page .grid-margin-y>.medium-shrink{height:auto}body.single-mc-landing-page .grid-margin-y>.medium-1{height:calc(8.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.medium-2{height:calc(16.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.medium-4{height:calc(33.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.medium-5{height:calc(41.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.medium-7{height:calc(58.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.medium-8{height:calc(66.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.medium-10{height:calc(83.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.medium-11{height:calc(91.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .grid-margin-y>.large-auto{height:auto}body.single-mc-landing-page .grid-margin-y>.large-shrink{height:auto}body.single-mc-landing-page .grid-margin-y>.large-1{height:calc(8.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.large-2{height:calc(16.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.large-3{height:calc(25% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.large-4{height:calc(33.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.large-5{height:calc(41.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.large-6{height:calc(50% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.large-7{height:calc(58.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.large-8{height:calc(66.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.large-9{height:calc(75% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.large-10{height:calc(83.33333% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.large-11{height:calc(91.66667% - 1.875rem)}body.single-mc-landing-page .grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}body.single-mc-landing-page .grid-frame{width:100vw;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}body.single-mc-landing-page .cell .grid-frame{width:100%}body.single-mc-landing-page .cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}body.single-mc-landing-page .cell-block-y{overflow-y:auto;max-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}body.single-mc-landing-page .cell-block-container{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}body.single-mc-landing-page .cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}@media print, screen and (min-width: 40em){body.single-mc-landing-page .medium-grid-frame{width:100vw;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}body.single-mc-landing-page .cell .medium-grid-frame{width:100%}body.single-mc-landing-page .medium-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}body.single-mc-landing-page .medium-cell-block-container{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}body.single-mc-landing-page .medium-cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}body.single-mc-landing-page .medium-cell-block-y{overflow-y:auto;max-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .large-grid-frame{width:100vw;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}body.single-mc-landing-page .cell .large-grid-frame{width:100%}body.single-mc-landing-page .large-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}body.single-mc-landing-page .large-cell-block-container{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}body.single-mc-landing-page .large-cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}body.single-mc-landing-page .large-cell-block-y{overflow-y:auto;max-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}}body.single-mc-landing-page .grid-y.grid-frame{width:auto;height:100vh;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}@media print, screen and (min-width: 40em){body.single-mc-landing-page .grid-y.medium-grid-frame{width:auto;height:100vh;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .grid-y.large-grid-frame{width:auto;height:100vh;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}}body.single-mc-landing-page .cell .grid-y.grid-frame{height:100%}@media print, screen and (min-width: 40em){body.single-mc-landing-page .cell .grid-y.medium-grid-frame{height:100%}}@media print, screen and (min-width: 64em){body.single-mc-landing-page .cell .grid-y.large-grid-frame{height:100%}}body.single-mc-landing-page .video-image-container{text-align:center;margin-bottom:3rem}body.single-mc-landing-page .gform_wrapper{margin-top:3rem}html .rbm-ld-group-registration-dashboard table thead{background:#f8f8f8;color:#0a0a0a}html .rbm-ld-group-registration-dashboard table thead th button,html .rbm-ld-group-registration-dashboard table thead th button.sort{font-weight:700 !important;line-height:inherit;color:#1779ba;text-decoration:none;cursor:pointer}html .rbm-ld-group-registration-dashboard table thead th button:hover,html .rbm-ld-group-registration-dashboard table thead th button:focus,html .rbm-ld-group-registration-dashboard table thead th button.sort:hover,html .rbm-ld-group-registration-dashboard table thead th button.sort:focus{color:#1468a0}html .rbm-ld-group-registration-dashboard table thead th button img,html .rbm-ld-group-registration-dashboard table thead th button.sort img{border:0}html body .gform_wrapper input[type=email],html body .gform_wrapper input[type=number],html body .gform_wrapper input[type=password],html body .gform_wrapper input[type=tel],html body .gform_wrapper input[type=text],html body .gform_wrapper input[type=url],html body .gform_wrapper select,html body .gform_wrapper textarea{border:2px solid #ddd;border-radius:5px}html body .gform_wrapper .ginput_container_address .address_state select{padding:5px !important;margin-top:5px !important}.woocommerce .quantity input.qty{-moz-appearance:textfield}.woocommerce .quantity input.qty::-webkit-outer-spin-button,.woocommerce .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsImFwcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiZ2xvYmFsL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJsZWFybmRhc2gvX3F1aXouc2NzcyIsImxlYXJuZGFzaC9tYWluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2lmcmFtZS5zY3NzIiwic3RhdGljL19zdWJzY3JpYmUtZm9vdGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwic3RhdGljL19uYXZpZ2F0aW9uLnNjc3MiLCJwYWdlcy9fcHJvZmlsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwidGVtcGxhdGVzL19zaW5nbGUtbWMtbGFuZGluZy1wYWdlLnNjc3MiLCJncm91cC1yZWdpc3RyYXRpb24vX3RhYmxlLnNjc3MiLCJncmF2aXR5LWZvcm1zL19maWVsZHMuc2NzcyIsIndvb2NvbW1lcmNlL2dsb2JhbC9fcXVhbnRpdHktaW5wdXQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErSk0sMkNDbkhKLGlEQUNFLFdBQ0EsVUFDQSxhQUFjLENBQ2YsQ0NoQ0gsZUFDQyx1RUFBZ0QsQ0FDaEQsb0JEK0dHLGVBQWdCLENBQ2pCLDZDQUtDLGdCQUNBLGdCQUNBLGVBQ0EseUJBQUEsQUFBaUIscUJBQWpCLEFBQWlCLGdCQUFBLENBQ2xCLGdCQXBGRCxlQUNBLE1BQ0EsUUFDQSxTQUNBLE9BQ0EsYUFFQSxhQUNBLHFDQUNBLGlCQUFrQixDQWdGakIsUUExRUQsYUFFQSxtQ0FBQSxBQUVBLDJCQUFBLGFBQ0EsYUFFQSx5QkFDQSxnQkFDQSx5QkF1RUUsa0JBQ0EsVUFDQSxrQkFDQSxpQkFDQSxlQUFnQixDQXdCakIsaUNFMkJDLFNBQVUsQ0g5Q1IsMkNDWkosUUFqRUUsWUFBYSxDQWdHZCxDQTVGRCwwR0FDRSxXQUFZLENBQ2Isb0JBSUMsZUFBZ0IsQ0RtRWQsMkNDWkosUUExQ0UsWUFDQSxtQkdsQnFELENIMEZ0RCxDQS9CRCxpQkFXSSxTQUFVLENEQ1YsMkNDWkosYUExQ0UsVUFDQSxtQkdsQnFELENIMEVQLENESDVDLDJDQ1pKLGNBMUNFLFVBQ0EsbUJHbEJxRCxDSDJFUCxDREo1QywyQ0NaSixjQTFDRSxVQUNBLG1CR2xCcUQsQ0g0RVAsQ0FqQmhELGFBbkNBLE1BQ0EsT0FFQSxXQUNBLGVBQ0EsWUFDQSxhQUNBLGlCQUNBLGNBRUEsU0FDQSxlQUFnQixDRHlDWix5Q0NqQkosUUFuQ0EsTUFDQSxPQUVBLFdBQ0EsZUFDQSxZQUNBLGFBQ0EsaUJBQ0EsY0FFQSxTQUNBLGVBQWdCLENBdURmLENBL0JELHdCQTZCSSxjQUFlLENBQ2hCLG9CSTlLRCw4QkFDQSw2QkFDQSxXQUNBLFVBQ0EsZUFBZ0IsQ0FDakIsMEJBR0MseUJBQ0Esa0JBQ0EsdUNBQ0EscUJBQ0EsY0FDQSxjQUNBLGVBQ0EsbUJBQ0EsaUJBQ0EsWUFDQSxTQUNBLG1CQUNBLHVCQUNBLHFCQUNBLFFBQ0EsV0FDQSxjQUFlLENBQ2hCLDhEQ3ZCUyxvQkFBcUIsQ0NMakMseUhEV2dCLHFCQUFzQixDRWlIcEMsNFZBckNBLGNBQ0Esc0JBQ0EsV0FDQSxpQkFDQSxnQkFDQSxjQUVBLHlCQUNBLGdCQUNBLHlCQUNBLDhDQUVBLG9CQUNBLGVBQ0EsbUJBQ0EsZ0JBQ0EsY0FHRSwwREFxQkEsd0JBQUEsQUFBZ0IsZUFBQSxDQWpCbEIsc2JBQ0UsYUFDQSx5QkFDQSx5QkFDQSwyQkFHRSx5REN3VTRELENEdFUvRCxpQkFhQyxjQUFlLENBRWYsdUJBQ0UsV0FBWSxDQUNiLHFGQU9DLGFDL0RlLENEd0RoQixBQVFBLDJFQURDLGFDL0RlLENEd0RoQixBQVFBLHlEQURDLGFDL0RlLENEZ0VoQixvR0FLQyx5QkFDQSxrQkNzUzZCLENEclM5QixnREFNRCx3QkFBQSxBQUNBLGdCQUFBLGVDakVhLENEa0VkLDZCQUlDLHFCQUFzQixDQUN2Qix1RUV4SkMsZU40RXFELENNM0V0RCw2REFLQyxxQkFDQSx3QkFFQSxrQkFDQSxrQkFDQSxlQUFnQixDQUVoQix1RUFDRSxjQUFlLENBQ2hCLDZEQU1ELGtCQUFtRCxDQUNwRCxzQkFJQyxVQUFXLENBQ1osY0NkRCxjQUNBLFNBRUEsa0JBQ0EsbUJBQ0EsZ0JBQ0EsYUZtRGEsQ0VyQ1gscUJBUkYsZ0JBQ0Esa0JBQThELENBUzNELG1CQ3ZCRCxrQkFDQSxtQkFDQSxrQkFDQSxhSHVEVyxDR3REWixxQkNEQyxxQkFBQSxBQUNBLG9CQURBLEFBQ0EsYUFBQSxXQUNBLG1CQUdFLDRCQUFBLEFBQW9CLHVCQUFwQixBQUFvQixtQkFBQSxDQUd0QixrQ0FDRSxxQkp5RFcsQ0l4RFosbUNBSUcscUJBQWlILENBQ2xILG9hQUtILFNBQ0Esa0JBQW1CLENBTXBCLDJCQUlDLGVBQ0EseUJBQ0EsbUJBRUEsY0FDQSxrQkFDQSxtQkFHRSxxQkFBQSxBQUNBLG9CQURBLEFBQ0EsYUFBQSxzQkFBQSxBQUNBLGtCQURBLEFBQ0EsY0FBQSwyQkFBQSxBQUFtQixzQkFBbkIsQUFBbUIsa0JBQUEsQ0FRbkIsdUNBQ0UsY0FBaUMsQ0FDbEMsc0NBR0MsYUFBZ0MsQ0FDakMsMkJBTUgsZ0JBR0UscUJBQUEsQUFDQSxpQkFEQSxBQUNBLGFBQUEsWUFDQSxXQUFZLENBS2YsNEJBSUMsY0FDQSxpQkFDQSxrQkFHRSxzQkFBQSxBQUFjLGtCQUFkLEFBQWMsYUFBQSxDQU9oQixxSUFLRSxjQUNBLGNBQ0EsaUJBRUEsY1RwQ21ELENTcUNwRCxpQkN0RkQsU0FDQSxVQUNBLFFBQVMsQ0FDVixlQUdDLGVBQ0EsbUJBQWtDLENBQ25DLGtCQXRCRCxrQkFDQSxnQkFDQSx3QkxxRG1CLENLbkRuQix5QkFFRSxTQUNBLHNCQUNBLGtCVnVEcUQsQ1V0RHRELGVDWEQsaUJBQ0EsZ0JBQ0EsY0FFQSx3QkFBQSxBQUNBLGdCQUFBLHlCQUNBLGdCQUNBLHlCQUVBLG9CQUNBLGVBQ0EsbUJBQ0EsZ0JBQ0EsY1pxSEEsd09ZakhFLDhCQUNBLHVDQUNBLDRCQUNBLHdCQUVBLHFCQUlBLHlETjRZOEQsQ05sU2hFLG1DWXpFQSxlWjRFSSxzV0FBdVcsQ1kxRTFXLENBL0JELHFCQUNFLGFBQ0EseUJBQ0EseUJBQ0EsMkJBR0UseUROaVk0RCxDTS9YL0Qsd0JBSUMseUJBQ0Esa0JOeVgrQixDTXhYaEMsMkJBSUMsWUFBYSxDQUNkLHlCQUdDLFlBQ0EscUJBQXNCLENBQ3ZCLHNDQ2pDQyxxQkFDQSx3QkFBK0QsQ0FDL0QsaUVBQ0UsYVA2QlUsQ085QlosQUFFQyw0REFEQyxhUDZCVSxDTzlCWixBQUVDLG1EQURDLGFQNkJVLENPNUJYLDBCQTBCQyxhUEVVLENPRFgsb0JBckJILGFBQ0Esa0JBQ0EsbUJBRUEsaUJBQ0EsaUJBQ0EsYVBnQmMsQ09NWiwrQkFDRSxhQUFjLENBQ2Ysc0JDREgsa0JBQ0EsY0FDQSxjQUFlLENBY2QsK0NkeUdDLFNBQVUsQ0FDWCx3RGNwSEMsYVJSVyxDUVNaLDRCQW5CRCxjQUNBLFdBQ0EsZ0JBQ0EsYVJzUndCLENRL1B3QixtREExQmhELFdBQ0EsV0FDQSxjQUNBLGFSc1J3QixDUTlQNkIsNkJDZHJELHFCQUNBLHNCQUNBLGtCQUNBLG9CQVVFLG1CQUdGLHdCQUNBLDZCQUNBLGdCQUNBLGdFQUVBLGlCQUNBLGNBQ0Esa0JBQ0EsZUFxQ0EseUJBQ0EsY0MzSU0sV0FBWSxDQUNmLHNEaEJvTUQsU0FBVSxDQUNYLHNFZXhEQyx5QkFDQSxhVHBFVyxDU3FFWixrRUMzSUssaUJBQWtCLENGa0Z4QixzQkU3RU0sV0FBWSxDQUNmLFNDbEJELHVCQUNILDZCQUE4QixDQUM5QixxQ0NDTyx3QkFBeUIsQ0FKakMsNENBUVksNEJBQTZCLENBRWhDLGtCQ1JMLGdCQytGRixvQkFuQ0Usa0JBQ0EsZ0JBQWlCLENwQjZHbkIsbURBRUUsY0FDQSxZQUdFLHFCQUFBLEFBQ0EsMEJBREEsQUFDQSxhQUFBLGdCQUFBLEFBQVEsaUJBQVIsQUFBUSxPQUFBLENBRVgseUJBR0MsVUFBVyxDQUNaLHdJcUIzS0QsV0M4Q0EsV0N0Q0Usc0JBQ0EscUJGVEYsVUNlcUQsQ3pCa0lqRCwyQ3NCL0pOLHdJSXNCSSx1QkFDQSxxQkFIcUMsQ0pYcEMsQ0cwREQsK05BQ0UsV0VpRHNELEMzQjBDdEQsMkNzQi9KTix3QkVjRSxTQ2VxRCxDSFpsRCxDdEI4SUMsMkNzQi9KTix5QkVjRSxlQ2VxRCxDSEhsRCxDZGtHSCxrZkFyQ0EsY0FDQSxzQkFDQSxXQUNBLGlCQUNBLGdCQUNBLGNBRUEseUJBQ0EsZ0JBQ0EseUJBQ0EsOENBRUEsb0JBQ0EsZUFDQSxtQkFDQSxnQkFDQSxjQUdFLDBEQXFCQSx3QkFBQSxBQUFnQixlQUFBLENBakJsQiw0a0JBQ0UsYUFDQSx5QkFDQSx5QkFDQSwyQkFHRSx5REN3VTRELENEdFUvRCwyQkFhQyxjQUFlLENBRWYsaUNBQ0UsV0FBWSxDQUNiLHlHQU9DLGFDL0RlLENEd0RoQixBQVFBLCtGQURDLGFDL0RlLENEd0RoQixBQVFBLDZFQURDLGFDL0RlLENEZ0VoQiw0SUFLQyx5QkFDQSxrQkNzUzZCLENEclM5QixvRUFNRCx3QkFBQSxBQUNBLGdCQUFBLGVDakVhLENEa0VkLHVDQUlDLHFCQUFzQixDQUN2QixxR0V4SkMsZU40RXFELENNM0V0RCxpRkFLQyxxQkFDQSx3QkFFQSxrQkFDQSxrQkFDQSxlQUFnQixDQUVoQiwyRkFDRSxjQUFlLENBQ2hCLGlGQU1ELGtCQUFtRCxDQUNwRCxnQ0FJQyxVQUFXLENBQ1osd0JDZEQsY0FDQSxTQUVBLGtCQUNBLG1CQUNBLGdCQUNBLGFGbURhLENFckNYLCtCQVJGLGdCQUNBLGtCQUE4RCxDQVMzRCw2QkN2QkQsa0JBQ0EsbUJBQ0Esa0JBQ0EsYUh1RFcsQ0d0RFosK0JDREMscUJBQUEsQUFDQSxvQkFEQSxBQUNBLGFBQUEsV0FDQSxtQkFHRSw0QkFBQSxBQUFvQix1QkFBcEIsQUFBb0IsbUJBQUEsQ0FHdEIsNENBQ0UscUJKeURXLENJeERaLDZDQUlHLHFCQUFpSCxDQUNsSCwwZUFLSCxTQUNBLGtCQUFtQixDQU1wQixxQ0FJQyxlQUNBLHlCQUNBLG1CQUVBLGNBQ0Esa0JBQ0EsbUJBR0UscUJBQUEsQUFDQSxvQkFEQSxBQUNBLGFBQUEsc0JBQUEsQUFDQSxrQkFEQSxBQUNBLGNBQUEsMkJBQUEsQUFBbUIsc0JBQW5CLEFBQW1CLGtCQUFBLENBUW5CLGlEQUNFLGNBQWlDLENBQ2xDLGdEQUdDLGFBQWdDLENBQ2pDLHFDQU1ILGdCQUdFLHFCQUFBLEFBQ0EsaUJBREEsQUFDQSxhQUFBLFlBQ0EsV0FBWSxDQUtmLHNDQUlDLGNBQ0EsaUJBQ0Esa0JBR0Usc0JBQUEsQUFBYyxrQkFBZCxBQUFjLGFBQUEsQ0FPaEIsNktBS0UsY0FDQSxjQUNBLGlCQUVBLGNUcENtRCxDU3FDcEQsMkJDdEZELFNBQ0EsVUFDQSxRQUFTLENBQ1YseUJBR0MsZUFDQSxtQkFBa0MsQ0FDbkMsNEJBdEJELGtCQUNBLGdCQUNBLHdCTHFEbUIsQ0tuRG5CLG1DQUVFLFNBQ0Esc0JBQ0Esa0JWdURxRCxDVXREdEQseUJDWEQsaUJBQ0EsZ0JBQ0EsY0FFQSx3QkFBQSxBQUNBLGdCQUFBLHlCQUNBLGdCQUNBLHlCQUVBLG9CQUNBLGVBQ0EsbUJBQ0EsZ0JBQ0EsY1pxSEEsd09ZakhFLDhCQUNBLHVDQUNBLDRCQUNBLHdCQUVBLHFCQUlBLHlETjRZOEQsQ05sU2hFLG1DWXpFQSx5Qlo0RUksc1dBQXVXLENZMUUxVyxDQS9CRCwrQkFDRSxhQUNBLHlCQUNBLHlCQUNBLDJCQUdFLHlETmlZNEQsQ00vWC9ELGtDQUlDLHlCQUNBLGtCTnlYK0IsQ014WGhDLHFDQUlDLFlBQWEsQ0FDZCxtQ0FHQyxZQUNBLHFCQUFzQixDQUN2QixnRENqQ0MscUJBQ0Esd0JBQStELENBQy9ELDJFQUNFLGFQNkJVLENPOUJaLEFBRUMsc0VBREMsYVA2QlUsQ085QlosQUFFQyw2REFEQyxhUDZCVSxDTzVCWCxvQ0EwQkMsYVBFVSxDT0RYLDhCQXJCSCxhQUNBLGtCQUNBLG1CQUVBLGlCQUNBLGlCQUNBLGFQZ0JjLENPTVoseUNBQ0UsYUFBYyxDQUNmLHNKTXRERyxVQUFXLENBL0JuQixpRENpR0Usb0JBbkNFLGtCQUNBLGlCQXFCQSxzQkFDQSxvQkFIK0QsQ3BCMEZqRSxpSEFFRSxjQUNBLFlBR0UscUJBQUEsQUFDQSwwQkFEQSxBQUNBLGFBQUEsZ0JBQUEsQUFBUSxpQkFBUixBQUFRLE9BQUEsQ0FFWCx3REFHQyxVQUFXLENIekJULDJDc0IvSk4saURDb0ZJLHVCQUNBLHFCQUgrRCxDRGpCMUQsQ3RCOEZILDJDc0IvSk4saURDb0ZJLHVCQUNBLHFCQUgrRCxDRGpCMUQsQ0FqRVQsbURFY0UsV0M4Q0EsV0N0Q0Usc0JBQ0EscUJGVEYsVUNlcUQsQ3pCa0lqRCwyQ3NCL0pOLG1ESXNCSSx1QkFDQSxxQkFIcUMsQ0oyQzVCLENHSVQsZ0ZBQ0UsV0VpRHNELEMzQjBDdEQsMkNzQi9KTixtREVjRSxTQ2VxRCxDSGtDMUMsQ3RCZ0dQLDJDc0IvSk4sOERBd0R3QixVQUNBLGtCQUFtQixDQUkxQixDdEJrR1gsMkNzQi9KTixvRUFxRWdCLGVBQWdCLENBRXZCLENBdkVULG1ESnFGRSxxQkFDQSxzQkFDQSxrQkFDQSxvQkFVRSxtQkFHRix3QkFDQSw2QkFDQSxnQkFDQSxnRUFFQSxpQkFDQSxjQUNBLGtCQUNBLGVBcUNBLHlCQUNBLGNBL0JFLGNBQ0EsV0FDQSxlQUNBLGFBQWMsQ0k1Q1QsNEVuQmtJTCxTQUFVLENBQ1gsa0hleERDLHlCQUNBLGFUcEVXLENUaUZULHlDNEJsS0YsMkJBSVEsa0JBQ0EscUJBQ0EsU0FDQSxtQkFBb0IsQ0FFdkIsb0JBS0QsdUJBQ0EsMEJBQTJCLENBQzlCLG1CQUdHLDZCQUE4QixDQUNqQyx5QkFJRyw2QkFDQSxpQkFDQSwrQkFBZ0MsQ0FFbkMsb0JBSUcsbUJBQ0EsK0JBQWdDLENBRW5DLGFBR0csMEJBQTJCLENBQzlCLGtCQU1PLHNCQUF1QixDQUUxQixDQ2pEVCx1RkFLWSxVQUFXLENBTHZCLHVGQVVZLHlCQUNBLGNBQ0EscUJBQ0EsMEJBQ0EsWUFDQSxpQkFDQSxlQUNBLGdCQUFpQixDQ1UzQixpQ1BzRUEsb0JBbkNFLGtCQUNBLGdCQUFpQixDcEI2R25CLGlGQUVFLGNBQ0EsWUFHRSxxQkFBQSxBQUNBLDBCQURBLEFBQ0EsYUFBQSxnQkFBQSxBQUFRLGlCQUFSLEFBQVEsT0FBQSxDQUVYLHdDQUdDLFVBQVcsQ0FDWixxR3VCbktDLGdCQUNBLGN0QnNFUyxDMEIzRE4sc0NQa0RILHNCQUNBLG9CQUgrRCxDdkI2RTdELDJDOEJ6SEYsc0NQOENBLHVCQUNBLHFCQUgrRCxDT3JDOUQsQzlCa0hDLDJDOEJ6SEYsc0NQOENBLHVCQUNBLHFCQUgrRCxDT3JDOUQsQ0FKQywrQ0FDRSxlQUNBLGFBQWMsQ0FDZiwwQ1BxREwsY0FIYSxDTzNDVCwrQ0FDRSxrQkFDQSxnQkFBaUIsQ0FDbEIscURQMkNMLGNBSGEsQ09uQ1YsNkdKckNELHNCQUNBLG9CQUhxQyxDSThDL0IsK0dKNUNOLHVCQUNBLHFCQUhxQyxDSWdEOUIseUVOdERULFdDOENBLFdDdENFLHNCQUNBLG9CQUhxQyxDMUIySW5DLDJDOEJwRkoseUVKckRFLHVCQUNBLHFCQUhxQyxDSStEdEMsQ0xoQkMsbUlBQ0UsV0VpRHNELENGaER2RCw2SE1wQkQsVUptRXVELENJbEV4RCx5RkRzQ0MsVUFBVyxDQUNaLG1HQUlDLGVBQ0EsY0FDQSxnQkFDQSxjQUFlLENBQ2hCLHFDTm5GRCxjQ2VxRCxDSzJFaEQsMENDekZILGtCQUNBLGFBSG1ELENEaUc5QywwQ0MvRkwsa0JBQ0EsY0FIbUQsQ0RxRzlDLDRDQ3hFUCxjTmhCZ0MsQ0s0RTVCLHFDTnhGSixlQ2VxRCxDSzJFaEQsMENDekZILGtCQUNBLGNBSG1ELENEaUc5QywwQ0MvRkwsa0JBQ0EsZUFIbUQsQ0RxRzlDLDRDQ3hFUCxvQk5icUQsQ0t5RWpELHFDTnhGSixTQ2VxRCxDSzJFaEQsMENDekZILGtCQUNBLFFBSG1ELENEaUc5QywwQ0MvRkwsa0JBQ0EsU0FIbUQsQ0RxRzlDLDRDQ3hFUCxxQk5icUQsQ0t5RWpELHFDTnhGSixlQ2VxRCxDSzJFaEQsMENDekZILGtCQUNBLGNBSG1ELENEaUc5QywwQ0MvRkwsa0JBQ0EsZUFIbUQsQ0RxRzlDLDRDQ3hFUCxlTmJxRCxDS3lFakQscUNOeEZKLGVDZXFELENLMkVoRCwwQ0N6Rkgsa0JBQ0EsY0FIbUQsQ0RpRzlDLDBDQy9GTCxrQkFDQSxlQUhtRCxDRHFHOUMsNENDeEVQLHFCTmJxRCxDS3lFakQscUNOeEZKLFNDZXFELENLMkVoRCwwQ0N6Rkgsa0JBQ0EsUUFIbUQsQ0RpRzlDLDBDQy9GTCxrQkFDQSxTQUhtRCxDRHFHOUMsNENDeEVQLHFCTmJxRCxDS3lFakQscUNOeEZKLGVDZXFELENLMkVoRCwwQ0N6Rkgsa0JBQ0EsY0FIbUQsQ0RpRzlDLDBDQy9GTCxrQkFDQSxlQUhtRCxDRHFHOUMsNENDeEVQLGVOYnFELENLeUVqRCxxQ054RkosZUNlcUQsQ0syRWhELDBDQ3pGSCxrQkFDQSxjQUhtRCxDRGlHOUMsMENDL0ZMLGtCQUNBLGVBSG1ELENEcUc5Qyw0Q0N4RVAscUJOYnFELENLeUVqRCxxQ054RkosU0NlcUQsQ0syRWhELDBDQ3pGSCxrQkFDQSxRQUhtRCxDRGlHOUMsMENDL0ZMLGtCQUNBLFNBSG1ELENEcUc5Qyw0Q0N4RVAscUJOYnFELENLeUVqRCxzQ054RkosZUNlcUQsQ0syRWhELDJDQ3pGSCxrQkFDQSxjQUhtRCxDRGlHOUMsMkNDL0ZMLGtCQUNBLGVBSG1ELENEcUc5Qyw0Q0N4RVAsZU5icUQsQ0t5RWpELHNDTnhGSixlQ2VxRCxDSzJFaEQsMkNDekZILGtCQUNBLGNBSG1ELENEaUc5QywyQ0MvRkwsa0JBQ0EsZUFIbUQsQ0RxRzlDLDZDQ3hFUCxxQk5icUQsQ0t5RWpELHNDTnhGSixVQ2VxRCxDSzJFaEQsNkNDOURMLHFCTmJxRCxDSzZGaEQsaUdFcEdILFdBQ0EsVUFBdUIsQ0FzQnZCLGlJQUNFLFVBQVcsQ0FDWixxSUFHQyxVQUFXLENBQ1osdUhBR0MsVUw4RHFELENLL0Z6RCxpR0FDRSxXQUNBLFNBQXVCLENBc0J2QixpSUFDRSxVQUFXLENBQ1oscUlBR0MsVUFBVyxDQUNaLHVIQUdDLFVMOERxRCxDSy9GekQsaUdBQ0UsV0FDQSxlQUF1QixDQXNCdkIsaUlBQ0UsVUFBVyxDQUNaLHFJQUdDLFVBQVcsQ0FDWix1SEFHQyxVTDhEcUQsQ0svRnpELGlHQUNFLFdBQ0EsU0FBdUIsQ0FzQnZCLGlJQUNFLFVBQVcsQ0FDWixxSUFHQyxVQUFXLENBQ1osdUhBR0MsVUw4RHFELENLL0Z6RCxpR0FDRSxXQUNBLFNBQXVCLENBc0J2QixpSUFDRSxVQUFXLENBQ1oscUlBR0MsVUFBVyxDQUNaLHVIQUdDLFVMOERxRCxDSy9GekQsaUdBQ0UsV0FDQSxlQUF1QixDQXNCdkIsaUlBQ0UsVUFBVyxDQUNaLHFJQUdDLFVBQVcsQ0FDWix1SEFHQyxVTDhEcUQsQ0svRnpELGlHQUNFLFdBQ0EsZUFBdUIsQ0FzQnZCLGlJQUNFLFVBQVcsQ0FDWixxSUFHQyxVQUFXLENBQ1osdUhBR0MsVUw4RHFELENLL0Z6RCxpR0FDRSxXQUNBLFdBQXVCLENBc0J2QixpSUFDRSxVQUFXLENBQ1oscUlBR0MsVUFBVyxDQUNaLHVIQUdDLFVMOERxRCxDR2tCckQseUdKaEhGLGdCQUNBLGN0QnNFUyxDMEJ5Q3VDLGlEQUc1QyxlQUNBLGFBQWMsQ0FDZiw4REFJRCxlQUNBLGFBQWMsQ0FDZiw2R0ozSEQsc0JBQ0Esb0JBSHFDLENJZ0lvQiw0Q0M3SHpELGtCQUNBLGdCQUFpQixDQUxqQixxSEFDRSxXQUNBLFVBQVcsQ0FDWixrSUFXSCxnQkFDQSxXQUNBLGVBQ0EsYUFBYyxDL0IySFYsMkM4QnpEQSxzQ054RkosY0NlcUQsQ0syRWhELDJDQ3pGSCxrQkFDQSxhQUhtRCxDRGlHOUMsMkNDL0ZMLGtCQUNBLGNBSG1ELENEcUc5Qyw2Q0N4RVAsY05oQmdDLENLNEU1QixzQ054RkosZUNlcUQsQ0syRWhELDJDQ3pGSCxrQkFDQSxjQUhtRCxDRGlHOUMsMkNDL0ZMLGtCQUNBLGVBSG1ELENEcUc5Qyw2Q0N4RVAsb0JOYnFELENLeUVqRCxzQ054RkosU0NlcUQsQ0syRWhELDJDQ3pGSCxrQkFDQSxRQUhtRCxDRGlHOUMsMkNDL0ZMLGtCQUNBLFNBSG1ELENEcUc5Qyw2Q0N4RVAscUJOYnFELENLeUVqRCxzQ054RkosZUNlcUQsQ0syRWhELDJDQ3pGSCxrQkFDQSxjQUhtRCxDRGlHOUMsMkNDL0ZMLGtCQUNBLGVBSG1ELENEcUc5Qyw2Q0N4RVAsZU5icUQsQ0t5RWpELHNDTnhGSixlQ2VxRCxDSzJFaEQsMkNDekZILGtCQUNBLGNBSG1ELENEaUc5QywyQ0MvRkwsa0JBQ0EsZUFIbUQsQ0RxRzlDLDZDQ3hFUCxxQk5icUQsQ0t5RWpELHNDTnhGSixTQ2VxRCxDSzJFaEQsMkNDekZILGtCQUNBLFFBSG1ELENEaUc5QywyQ0MvRkwsa0JBQ0EsU0FIbUQsQ0RxRzlDLDZDQ3hFUCxxQk5icUQsQ0t5RWpELHNDTnhGSixlQ2VxRCxDSzJFaEQsMkNDekZILGtCQUNBLGNBSG1ELENEaUc5QywyQ0MvRkwsa0JBQ0EsZUFIbUQsQ0RxRzlDLDZDQ3hFUCxlTmJxRCxDS3lFakQsc0NOeEZKLGVDZXFELENLMkVoRCwyQ0N6Rkgsa0JBQ0EsY0FIbUQsQ0RpRzlDLDJDQy9GTCxrQkFDQSxlQUhtRCxDRHFHOUMsNkNDeEVQLHFCTmJxRCxDS3lFakQsc0NOeEZKLFNDZXFELENLMkVoRCwyQ0N6Rkgsa0JBQ0EsUUFIbUQsQ0RpRzlDLDJDQy9GTCxrQkFDQSxTQUhtRCxDRHFHOUMsNkNDeEVQLHFCTmJxRCxDS3lFakQsdUNOeEZKLGVDZXFELENLMkVoRCw0Q0N6Rkgsa0JBQ0EsY0FIbUQsQ0RpRzlDLDRDQy9GTCxrQkFDQSxlQUhtRCxDRHFHOUMsNkNDeEVQLGVOYnFELENLeUVqRCx1Q054RkosZUNlcUQsQ0syRWhELDRDQ3pGSCxrQkFDQSxjQUhtRCxDRGlHOUMsNENDL0ZMLGtCQUNBLGVBSG1ELENEcUc5Qyw4Q0N4RVAscUJOYnFELENLeUVqRCx1Q054RkosVUNlcUQsQ0syRWhELDhDQzlETCxxQk5icUQsQ0s2RmhELG1HRXBHSCxXQUNBLFVBQXVCLENBc0J2QixtSUFDRSxVQUFXLENBQ1osdUlBR0MsVUFBVyxDQUNaLHlIQUdDLFVMOERxRCxDSy9GekQsbUdBQ0UsV0FDQSxTQUF1QixDQXNCdkIsbUlBQ0UsVUFBVyxDQUNaLHVJQUdDLFVBQVcsQ0FDWix5SEFHQyxVTDhEcUQsQ0svRnpELG1HQUNFLFdBQ0EsZUFBdUIsQ0FzQnZCLG1JQUNFLFVBQVcsQ0FDWix1SUFHQyxVQUFXLENBQ1oseUhBR0MsVUw4RHFELENLL0Z6RCxtR0FDRSxXQUNBLFNBQXVCLENBc0J2QixtSUFDRSxVQUFXLENBQ1osdUlBR0MsVUFBVyxDQUNaLHlIQUdDLFVMOERxRCxDSy9GekQsbUdBQ0UsV0FDQSxTQUF1QixDQXNCdkIsbUlBQ0UsVUFBVyxDQUNaLHVJQUdDLFVBQVcsQ0FDWix5SEFHQyxVTDhEcUQsQ0svRnpELG1HQUNFLFdBQ0EsZUFBdUIsQ0FzQnZCLG1JQUNFLFVBQVcsQ0FDWix1SUFHQyxVQUFXLENBQ1oseUhBR0MsVUw4RHFELENLL0Z6RCxtR0FDRSxXQUNBLGVBQXVCLENBc0J2QixtSUFDRSxVQUFXLENBQ1osdUlBR0MsVUFBVyxDQUNaLHlIQUdDLFVMOERxRCxDSy9GekQsbUdBQ0UsV0FDQSxXQUF1QixDQXNCdkIsbUlBQ0UsVUFBVyxDQUNaLHVJQUdDLFVBQVcsQ0FDWix5SEFHQyxVTDhEcUQsQ0drQnJELDJHSmhIRixnQkFDQSxjdEJzRVMsQzBCeUN1QyxrREFHNUMsZUFDQSxhQUFjLENBQ2YsK0RBSUQsZUFDQSxhQUFjLENBQ2YsK0dKM0hELHVCQUNBLHFCQUhxQyxDSWdJb0IsNkNDN0h6RCxrQkFDQSxnQkFBaUIsQ0FMakIsdUhBQ0UsV0FDQSxVQUFXLENBQ1oscUlBV0gsZ0JBQ0EsV0FDQSxlQUNBLGFBQWMsQ0Q2SFgsQzlCRkMsMkM4QnpEQSxxQ054RkosY0NlcUQsQ0syRWhELDBDQ3pGSCxrQkFDQSxhQUhtRCxDRGlHOUMsMENDL0ZMLGtCQUNBLGNBSG1ELENEcUc5Qyw0Q0N4RVAsY05oQmdDLENLNEU1QixxQ054RkosZUNlcUQsQ0syRWhELDBDQ3pGSCxrQkFDQSxjQUhtRCxDRGlHOUMsMENDL0ZMLGtCQUNBLGVBSG1ELENEcUc5Qyw0Q0N4RVAsb0JOYnFELENLeUVqRCxxQ054RkosU0NlcUQsQ0syRWhELDBDQ3pGSCxrQkFDQSxRQUhtRCxDRGlHOUMsMENDL0ZMLGtCQUNBLFNBSG1ELENEcUc5Qyw0Q0N4RVAscUJOYnFELENLeUVqRCxxQ054RkosZUNlcUQsQ0syRWhELDBDQ3pGSCxrQkFDQSxjQUhtRCxDRGlHOUMsMENDL0ZMLGtCQUNBLGVBSG1ELENEcUc5Qyw0Q0N4RVAsZU5icUQsQ0t5RWpELHFDTnhGSixlQ2VxRCxDSzJFaEQsMENDekZILGtCQUNBLGNBSG1ELENEaUc5QywwQ0MvRkwsa0JBQ0EsZUFIbUQsQ0RxRzlDLDRDQ3hFUCxxQk5icUQsQ0t5RWpELHFDTnhGSixTQ2VxRCxDSzJFaEQsMENDekZILGtCQUNBLFFBSG1ELENEaUc5QywwQ0MvRkwsa0JBQ0EsU0FIbUQsQ0RxRzlDLDRDQ3hFUCxxQk5icUQsQ0t5RWpELHFDTnhGSixlQ2VxRCxDSzJFaEQsMENDekZILGtCQUNBLGNBSG1ELENEaUc5QywwQ0MvRkwsa0JBQ0EsZUFIbUQsQ0RxRzlDLDRDQ3hFUCxlTmJxRCxDS3lFakQscUNOeEZKLGVDZXFELENLMkVoRCwwQ0N6Rkgsa0JBQ0EsY0FIbUQsQ0RpRzlDLDBDQy9GTCxrQkFDQSxlQUhtRCxDRHFHOUMsNENDeEVQLHFCTmJxRCxDS3lFakQscUNOeEZKLFNDZXFELENLMkVoRCwwQ0N6Rkgsa0JBQ0EsUUFIbUQsQ0RpRzlDLDBDQy9GTCxrQkFDQSxTQUhtRCxDRHFHOUMsNENDeEVQLHFCTmJxRCxDS3lFakQsc0NOeEZKLGVDZXFELENLMkVoRCwyQ0N6Rkgsa0JBQ0EsY0FIbUQsQ0RpRzlDLDJDQy9GTCxrQkFDQSxlQUhtRCxDRHFHOUMsNENDeEVQLGVOYnFELENLeUVqRCxzQ054RkosZUNlcUQsQ0syRWhELDJDQ3pGSCxrQkFDQSxjQUhtRCxDRGlHOUMsMkNDL0ZMLGtCQUNBLGVBSG1ELENEcUc5Qyw2Q0N4RVAscUJOYnFELENLeUVqRCxzQ054RkosVUNlcUQsQ0syRWhELDZDQzlETCxxQk5icUQsQ0s2RmhELGlHRXBHSCxXQUNBLFVBQXVCLENBc0J2QixpSUFDRSxVQUFXLENBQ1oscUlBR0MsVUFBVyxDQUNaLHVIQUdDLFVMOERxRCxDSy9GekQsaUdBQ0UsV0FDQSxTQUF1QixDQXNCdkIsaUlBQ0UsVUFBVyxDQUNaLHFJQUdDLFVBQVcsQ0FDWix1SEFHQyxVTDhEcUQsQ0svRnpELGlHQUNFLFdBQ0EsZUFBdUIsQ0FzQnZCLGlJQUNFLFVBQVcsQ0FDWixxSUFHQyxVQUFXLENBQ1osdUhBR0MsVUw4RHFELENLL0Z6RCxpR0FDRSxXQUNBLFNBQXVCLENBc0J2QixpSUFDRSxVQUFXLENBQ1oscUlBR0MsVUFBVyxDQUNaLHVIQUdDLFVMOERxRCxDSy9GekQsaUdBQ0UsV0FDQSxTQUF1QixDQXNCdkIsaUlBQ0UsVUFBVyxDQUNaLHFJQUdDLFVBQVcsQ0FDWix1SEFHQyxVTDhEcUQsQ0svRnpELGlHQUNFLFdBQ0EsZUFBdUIsQ0FzQnZCLGlJQUNFLFVBQVcsQ0FDWixxSUFHQyxVQUFXLENBQ1osdUhBR0MsVUw4RHFELENLL0Z6RCxpR0FDRSxXQUNBLGVBQXVCLENBc0J2QixpSUFDRSxVQUFXLENBQ1oscUlBR0MsVUFBVyxDQUNaLHVIQUdDLFVMOERxRCxDSy9GekQsaUdBQ0UsV0FDQSxXQUF1QixDQXNCdkIsaUlBQ0UsVUFBVyxDQUNaLHFJQUdDLFVBQVcsQ0FDWix1SEFHQyxVTDhEcUQsQ0drQnJELHlHSmhIRixnQkFDQSxjdEJzRVMsQzBCeUN1QyxpREFHNUMsZUFDQSxhQUFjLENBQ2YsOERBSUQsZUFDQSxhQUFjLENBQ2YsNkdKM0hELHVCQUNBLHFCQUhxQyxDSWdJb0IsNENDN0h6RCxrQkFDQSxnQkFBaUIsQ0FMakIscUhBQ0UsV0FDQSxVQUFXLENBQ1osa0lBV0gsZ0JBQ0EsV0FDQSxlQUNBLGFBQWMsQ0Q2SFgsQ0FJSCwwQ0oxRkUscUJ0QmFxRCxDc0JYckQsc0RBQ0UsZUFBZ0IsQzFCaUZoQiwyQzhCTUosMENKMUZFLHNCdEJhcUQsQ3NCWHJELHNEQUNFLGVBQWdCLENBQ2pCLENPbkVILDRDQ0VBLG9CQUNBLGFBQWMsQ0REYixtRENjRyxxQkFDQSxxQjlCMkRtRCxDSnVFbkQsMkNpQy9JSixtRENZSSxzQkFDQSxzQjlCMkRtRCxDNkJ0RXRELENqQ2tKRyx3Q2lDcEpKLG1EQ3FCRSxlQUNBLGVBQWdCLENEcEJqQixDQUdELG9DQ2dDQSxxQkFBQSxBQUNBLG9CQURBLEFBQ0EsYUFBQSwyQkFBQSxBQUhxQix1QkFHckIsQUFIcUIsa0JBQUEsQ0Q1QnBCLGtDRTJCQyxzQkFBQSxBQUNBLGtCQURBLEFBQ0EsY0FBQSxlQUNBLGNBa0NBLFVBRG9ELENGeERwRCx1Q0UwQkEscUJBQUEsQUFBYSxpQkFBYixBQUFhLFlBQUEsQ0Z4QloseUNFMkJELHNCQUFBLEFBQWMsa0JBQWQsQUFBYyxhQUFBLENGdkJiLDBDRTJDRCxVQUFtQixDRnJDbEIsNENFeUNELFVBQW1CLENGckNsQixtbkJBZUcsd0JBQUEsQUFBZ0IsNkJBQWhCLEFBQWdCLGVBQUEsQ2pDbUdsQiwyQ2lDcEdBLGlvQkFDRSx3QkFBQSxBQUFnQiw2QkFBaEIsQUFBZ0IsZUFBQSxDQUNqQixDakNrR0QsMkNpQ3BHQSxtbkJBQ0Usd0JBQUEsQUFBZ0IsNkJBQWhCLEFBQWdCLGVBQUEsQ0FDakIsQ0FtQkQsNkNFTUYsY0FEb0QsQ0ZMbEQsNkNFTUYsZUFEb0QsQ0ZMbEQsNkNFTUYsU0FEb0QsQ0ZMbEQsNkNFTUYsZUFEb0QsQ0ZMbEQsNkNFTUYsZUFEb0QsQ0ZMbEQsNkNFTUYsU0FEb0QsQ0ZMbEQsNkNFTUYsZUFEb0QsQ0ZMbEQsNkNFTUYsZUFEb0QsQ0ZMbEQsNkNFTUYsU0FEb0QsQ0ZMbEQsOENFTUYsZUFEb0QsQ0ZMbEQsOENFTUYsZUFEb0QsQ0ZMbEQsOENFTUYsVUFEb0QsQ25DMEVsRCwyQ2lDNUZBLGlERVpGLHFCQUFBLEFBdUJBLGlCQXZCQSxBQXVCQSxhQUFBLFVBQW1CLENGUmhCLG1ERVpILHNCQUFBLEFBd0JBLGtCQXhCQSxBQXdCQSxjQUFBLFVBQW1CLENGUGhCLDhDRVdILGNBRG9ELENGTGxELDhDRU1GLGVBRG9ELENGTGxELDhDRU1GLFNBRG9ELENGTGxELDhDRU1GLGVBRG9ELENGTGxELDhDRU1GLGVBRG9ELENGTGxELDhDRU1GLFNBRG9ELENGTGxELDhDRU1GLGVBRG9ELENGTGxELDhDRU1GLGVBRG9ELENGTGxELDhDRU1GLFNBRG9ELENGTGxELCtDRU1GLGVBRG9ELENGTGxELCtDRU1GLGVBRG9ELENGTGxELCtDRU1GLFVBRG9ELENGSGpELENqQzZFRCwyQ2lDNUZBLGdERVpGLHFCQUFBLEFBdUJBLGlCQXZCQSxBQXVCQSxhQUFBLFVBQW1CLENGUmhCLGtERVpILHNCQUFBLEFBd0JBLGtCQXhCQSxBQXdCQSxjQUFBLFVBQW1CLENGUGhCLDZDRVdILGNBRG9ELENGTGxELDZDRU1GLGVBRG9ELENGTGxELDZDRU1GLFNBRG9ELENGTGxELDZDRU1GLGVBRG9ELENGTGxELDZDRU1GLGVBRG9ELENGTGxELDZDRU1GLFNBRG9ELENGTGxELDZDRU1GLGVBRG9ELENGTGxELDZDRU1GLGVBRG9ELENGTGxELDZDRU1GLFNBRG9ELENGTGxELDhDRU1GLGVBRG9ELENGTGxELDhDRU1GLGVBRG9ELENGTGxELDhDRU1GLFVBRG9ELENGSGpELENBS0wsOERBQ0UsVUFBVyxDQUNaLDhEQUlDLFdBQVksQ0FDYiwyQ0c5REsscUJBQUEscUJBQTRCLENwQytIOUIsMkNpQ3BDSiwyQ0czRk0sc0JBQUEsc0JBQTRCLENIMEhqQyxDQTNCQyxpREVwREEsMkJDbENFLG9CQUFBLG9CQUE0QixDcENzSDVCLDJDaUNoQ0YsaURFcERBLDRCQ2xDRSxxQkFBQSxxQkFBNEIsQ0grRnpCLENBckNQLGlERXJCRSxVQUFtQixDRnVCcEIsbURFbkJDLFVBQW1CLENGdUJwQixvREVuQkMsOEJBRGdILENGMEJoSCxvREV6QkEsK0JBRGdILENGMEJoSCxvREV6QkEseUJBRGdILENGMEJoSCxvREV6QkEsK0JBRGdILENGMEJoSCxvREV6QkEsK0JBRGdILENGMEJoSCxvREV6QkEseUJBRGdILENGMEJoSCxvREV6QkEsK0JBRGdILENGMEJoSCxvREV6QkEsK0JBRGdILENGMEJoSCxvREV6QkEseUJBRGdILENGMEJoSCxxREV6QkEsK0JBRGdILENGMEJoSCxxREV6QkEsK0JBRGdILENGMEJoSCxxREV6QkEsMEJBRGdILENuQzBFOUcsMkNpQzVESixpREVyQkUsVUFBbUIsQ0Z1QnBCLG1ERW5CQyxVQUFtQixDRnVCcEIsb0RFbkJDLCtCQURnSCxDRjBCaEgsb0RFekJBLGdDQURnSCxDRjBCaEgsb0RFekJBLDBCQURnSCxDRjBCaEgsb0RFekJBLGdDQURnSCxDRjBCaEgsb0RFekJBLGdDQURnSCxDRjBCaEgsb0RFekJBLDBCQURnSCxDRjBCaEgsb0RFekJBLGdDQURnSCxDRjBCaEgsb0RFekJBLGdDQURnSCxDRjBCaEgsb0RFekJBLDBCQURnSCxDRjBCaEgscURFekJBLGdDQURnSCxDRjBCaEgscURFekJBLGdDQURnSCxDRjBCaEgscURFekJBLDJCQURnSCxDRmNsSCx3REVyQkUsVUFBbUIsQ0Z1QnBCLDBERW5CQyxVQUFtQixDRnVCcEIscURFbkJDLCtCQURnSCxDRjBCaEgscURFekJBLGdDQURnSCxDRjBCaEgscURFekJBLDBCQURnSCxDRjBCaEgscURFekJBLGdDQURnSCxDRjBCaEgscURFekJBLGdDQURnSCxDRjBCaEgscURFekJBLDBCQURnSCxDRjBCaEgscURFekJBLGdDQURnSCxDRjBCaEgscURFekJBLGdDQURnSCxDRjBCaEgscURFekJBLDBCQURnSCxDRjBCaEgsc0RFekJBLGdDQURnSCxDRjBCaEgsc0RFekJBLGdDQURnSCxDRjBCaEgsc0RFekJBLDJCQURnSCxDRjRCL0csQ2pDOENDLDJDaUM1REosdURFckJFLFVBQW1CLENGdUJwQix5REVuQkMsVUFBbUIsQ0Z1QnBCLG9ERW5CQywrQkFEZ0gsQ0YwQmhILG9ERXpCQSxnQ0FEZ0gsQ0YwQmhILG9ERXpCQSwwQkFEZ0gsQ0YwQmhILG9ERXpCQSxnQ0FEZ0gsQ0YwQmhILG9ERXpCQSxnQ0FEZ0gsQ0YwQmhILG9ERXpCQSwwQkFEZ0gsQ0YwQmhILG9ERXpCQSxnQ0FEZ0gsQ0YwQmhILG9ERXpCQSxnQ0FEZ0gsQ0YwQmhILG9ERXpCQSwwQkFEZ0gsQ0YwQmhILHFERXpCQSxnQ0FEZ0gsQ0YwQmhILHFERXpCQSxnQ0FEZ0gsQ0YwQmhILHFERXpCQSwyQkFEZ0gsQ0Y0Qi9HLENBaURELDRER2xJSSxzQkFBQSxvQkFBNEIsQ3BDK0g5QiwyQ2lDR0YsNERHbElJLHVCQUFBLHFCQUE0QixDSG9JL0IsQ0FHRCxrREd2SUksc0JBQUEsb0JBQTRCLENwQytIOUIsMkNpQ1FGLGtER3ZJSSx1QkFBQSxxQkFBNEIsQ0h5SS9CLENJNUlILDhDRnlERSxVQURvRCxDRXhEdEQsOENGeURFLFNBRG9ELENFeER0RCw4Q0Z5REUsZUFEb0QsQ0V4RHRELDhDRnlERSxTQURvRCxDRXhEdEQsOENGeURFLFNBRG9ELENFeER0RCw4Q0Z5REUsZUFEb0QsQ0V4RHRELDhDRnlERSxlQURvRCxDRXhEdEQsOENGeURFLFdBRG9ELENuQzBFbEQsMkNxQ2xJSiwrQ0Z5REUsVUFEb0QsQ0V4RHRELCtDRnlERSxTQURvRCxDRXhEdEQsK0NGeURFLGVBRG9ELENFeER0RCwrQ0Z5REUsU0FEb0QsQ0V4RHRELCtDRnlERSxTQURvRCxDRXhEdEQsK0NGeURFLGVBRG9ELENFeER0RCwrQ0Z5REUsZUFEb0QsQ0V4RHRELCtDRnlERSxXQURvRCxDRXREckQsQ3JDZ0lHLDJDcUNsSUosOENGeURFLFVBRG9ELENFeER0RCw4Q0Z5REUsU0FEb0QsQ0V4RHRELDhDRnlERSxlQURvRCxDRXhEdEQsOENGeURFLFNBRG9ELENFeER0RCw4Q0Z5REUsU0FEb0QsQ0V4RHRELDhDRnlERSxlQURvRCxDRXhEdEQsOENGeURFLGVBRG9ELENFeER0RCw4Q0Z5REUsV0FEb0QsQ0V0RHJELENBRkQsNERGeURFLDBCQURnSCxDRXhEbEgsNERGeURFLHlCQURnSCxDRXhEbEgsNERGeURFLCtCQURnSCxDRXhEbEgsNERGeURFLHlCQURnSCxDRXhEbEgsNERGeURFLHlCQURnSCxDRXhEbEgsNERGeURFLCtCQURnSCxDRXhEbEgsNERGeURFLCtCQURnSCxDRXhEbEgsNERGeURFLDJCQURnSCxDbkMwRTlHLDJDcUNsSUosNERGeURFLDJCQURnSCxDRXhEbEgsNERGeURFLDBCQURnSCxDRXhEbEgsNERGeURFLGdDQURnSCxDRXhEbEgsNERGeURFLDBCQURnSCxDRXhEbEgsNERGeURFLDBCQURnSCxDRXhEbEgsNERGeURFLGdDQURnSCxDRXhEbEgsNERGeURFLGdDQURnSCxDRXhEbEgsNERGeURFLDRCQURnSCxDRXhEbEgsNkRGeURFLDJCQURnSCxDRXhEbEgsNkRGeURFLDBCQURnSCxDRXhEbEgsNkRGeURFLGdDQURnSCxDRXhEbEgsNkRGeURFLDBCQURnSCxDRXhEbEgsNkRGeURFLDBCQURnSCxDRXhEbEgsNkRGeURFLGdDQURnSCxDRXhEbEgsNkRGeURFLGdDQURnSCxDRXhEbEgsNkRGeURFLDRCQURnSCxDRXREakgsQ3JDZ0lHLDJDcUNsSUosNERGeURFLDJCQURnSCxDRXhEbEgsNERGeURFLDBCQURnSCxDRXhEbEgsNERGeURFLGdDQURnSCxDRXhEbEgsNERGeURFLDBCQURnSCxDRXhEbEgsNERGeURFLDBCQURnSCxDRXhEbEgsNERGeURFLGdDQURnSCxDRXhEbEgsNERGeURFLGdDQURnSCxDRXhEbEgsNERGeURFLDRCQURnSCxDRXREakgsQ0pzTEcsbURLL0xBLGVBQUEsYUFBMEIsQ0FHMUIseURBRUksZUFBQSxhQUEwQixDQUU3Qiw0REh5REgsY0FEb0QsQ0dsRGhELDRESG1ESixlQURvRCxDR2xEaEQsNERIbURKLFNBRG9ELENHbERoRCw0REhtREosZUFEb0QsQ0dsRGhELDRESG1ESixlQURvRCxDR2xEaEQsNERIbURKLFNBRG9ELENHbERoRCw0REhtREosZUFEb0QsQ0dsRGhELDRESG1ESixlQURvRCxDR2xEaEQsNERIbURKLFNBRG9ELENHbERoRCw2REhtREosZUFEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLFVBRG9ELENHbERoRCw2REhtREosY0FEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLFNBRG9ELENHbERoRCw2REhtREosZUFEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLFNBRG9ELENHbERoRCw2REhtREosZUFEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLFNBRG9ELENHbERoRCw4REhtREosZUFEb0QsQ0dsRGhELDhESG1ESixlQURvRCxDR2xEaEQsOERIbURKLFVBRG9ELENHbERoRCw0REhtREosY0FEb0QsQ0dsRGhELDRESG1ESixlQURvRCxDR2xEaEQsNERIbURKLFNBRG9ELENHbERoRCw0REhtREosZUFEb0QsQ0dsRGhELDRESG1ESixlQURvRCxDR2xEaEQsNERIbURKLFNBRG9ELENHbERoRCw0REhtREosZUFEb0QsQ0dsRGhELDRESG1ESixlQURvRCxDR2xEaEQsNERIbURKLFNBRG9ELENHbERoRCw2REhtREosZUFEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLFVBRG9ELENHaEQvQyxvREFPSCxlQUFBLGFBQTBCLENBRzVCLDBEQUVJLGdCQUFBLGNBQTRCLEN0QzhHOUIsMkNpQ3NEQSxvREsvTEEsZUFBQSxhQUEwQixDQUcxQiwwREFFSSxlQUFBLGFBQTBCLENBRTdCLDZESHlESCxjQURvRCxDR2xEaEQsNkRIbURKLGVBRG9ELENHbERoRCw2REhtREosU0FEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLGVBRG9ELENHbERoRCw2REhtREosU0FEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLGVBRG9ELENHbERoRCw2REhtREosU0FEb0QsQ0dsRGhELDhESG1ESixlQURvRCxDR2xEaEQsOERIbURKLGVBRG9ELENHbERoRCw4REhtREosVUFEb0QsQ0dsRGhELDhESG1ESixjQURvRCxDR2xEaEQsOERIbURKLGVBRG9ELENHbERoRCw4REhtREosU0FEb0QsQ0dsRGhELDhESG1ESixlQURvRCxDR2xEaEQsOERIbURKLGVBRG9ELENHbERoRCw4REhtREosU0FEb0QsQ0dsRGhELDhESG1ESixlQURvRCxDR2xEaEQsOERIbURKLGVBRG9ELENHbERoRCw4REhtREosU0FEb0QsQ0dsRGhELCtESG1ESixlQURvRCxDR2xEaEQsK0RIbURKLGVBRG9ELENHbERoRCwrREhtREosVUFEb0QsQ0dsRGhELDZESG1ESixjQURvRCxDR2xEaEQsNkRIbURKLGVBRG9ELENHbERoRCw2REhtREosU0FEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLGVBRG9ELENHbERoRCw2REhtREosU0FEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLGVBRG9ELENHbERoRCw2REhtREosU0FEb0QsQ0dsRGhELDhESG1ESixlQURvRCxDR2xEaEQsOERIbURKLGVBRG9ELENHbERoRCw4REhtREosVUFEb0QsQ0doRC9DLHFEQU9ILGVBQUEsYUFBMEIsQ0FHNUIsMkRBRUksZ0JBQUEsY0FBNEIsQ0FFL0IsQ3RDNEdDLDJDaUNzREEsbURLL0xBLGVBQUEsYUFBMEIsQ0FHMUIseURBRUksZUFBQSxhQUEwQixDQUU3Qiw0REh5REgsY0FEb0QsQ0dsRGhELDRESG1ESixlQURvRCxDR2xEaEQsNERIbURKLFNBRG9ELENHbERoRCw0REhtREosZUFEb0QsQ0dsRGhELDRESG1ESixlQURvRCxDR2xEaEQsNERIbURKLFNBRG9ELENHbERoRCw0REhtREosZUFEb0QsQ0dsRGhELDRESG1ESixlQURvRCxDR2xEaEQsNERIbURKLFNBRG9ELENHbERoRCw2REhtREosZUFEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLFVBRG9ELENHbERoRCw2REhtREosY0FEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLFNBRG9ELENHbERoRCw2REhtREosZUFEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLFNBRG9ELENHbERoRCw2REhtREosZUFEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLFNBRG9ELENHbERoRCw4REhtREosZUFEb0QsQ0dsRGhELDhESG1ESixlQURvRCxDR2xEaEQsOERIbURKLFVBRG9ELENHbERoRCw0REhtREosY0FEb0QsQ0dsRGhELDRESG1ESixlQURvRCxDR2xEaEQsNERIbURKLFNBRG9ELENHbERoRCw0REhtREosZUFEb0QsQ0dsRGhELDRESG1ESixlQURvRCxDR2xEaEQsNERIbURKLFNBRG9ELENHbERoRCw0REhtREosZUFEb0QsQ0dsRGhELDRESG1ESixlQURvRCxDR2xEaEQsNERIbURKLFNBRG9ELENHbERoRCw2REhtREosZUFEb0QsQ0dsRGhELDZESG1ESixlQURvRCxDR2xEaEQsNkRIbURKLFVBRG9ELENHaEQvQyxvREFPSCxlQUFBLGFBQTBCLENBRzVCLDBEQUVJLGdCQUFBLGNBQTRCLENBRS9CLENScUVDLDRDUy9GRixjQUE2QixDTmtOMUIsMkRNbE5ILDhCQUE2QixDVCtGM0IsNENTL0ZGLG9CQUE2QixDTmtOMUIsMkRNbE5ILG9DQUE2QixDVCtGM0IsNENTL0ZGLHFCQUE2QixDTmtOMUIsMkRNbE5ILHFDQUE2QixDVCtGM0IsNENTL0ZGLGVBQTZCLENOa04xQiwyRE1sTkgsK0JBQTZCLENUK0YzQiw0Q1MvRkYscUJBQTZCLENOa04xQiwyRE1sTkgscUNBQTZCLENUK0YzQiw0Q1MvRkYscUJBQTZCLENOa04xQiwyRE1sTkgscUNBQTZCLENUK0YzQiw0Q1MvRkYsZUFBNkIsQ05rTjFCLDJETWxOSCwrQkFBNkIsQ1QrRjNCLDRDUy9GRixxQkFBNkIsQ05rTjFCLDJETWxOSCxxQ0FBNkIsQ1QrRjNCLDRDUy9GRixxQkFBNkIsQ05rTjFCLDJETWxOSCxxQ0FBNkIsQ1QrRjNCLDRDUy9GRixlQUE2QixDTmtOMUIsMkRNbE5ILCtCQUE2QixDVCtGM0IsNkNTL0ZGLHFCQUE2QixDTmtOMUIsNERNbE5ILHFDQUE2QixDVCtGM0IsNkNTL0ZGLHFCQUE2QixDTmtOMUIsNERNbE5ILHFDQUE2QixDdkNzSTNCLDJDOEJ2Q0EsNkNTL0ZGLGNBQTZCLENOa04xQiw0RE1sTkgsK0JBQTZCLENUK0YzQiw2Q1MvRkYsb0JBQTZCLENOa04xQiw0RE1sTkgscUNBQTZCLENUK0YzQiw2Q1MvRkYscUJBQTZCLENOa04xQiw0RE1sTkgsc0NBQTZCLENUK0YzQiw2Q1MvRkYsZUFBNkIsQ05rTjFCLDRETWxOSCxnQ0FBNkIsQ1QrRjNCLDZDUy9GRixxQkFBNkIsQ05rTjFCLDRETWxOSCxzQ0FBNkIsQ1QrRjNCLDZDUy9GRixxQkFBNkIsQ05rTjFCLDRETWxOSCxzQ0FBNkIsQ1QrRjNCLDZDUy9GRixlQUE2QixDTmtOMUIsNERNbE5ILGdDQUE2QixDVCtGM0IsNkNTL0ZGLHFCQUE2QixDTmtOMUIsNERNbE5ILHNDQUE2QixDVCtGM0IsNkNTL0ZGLHFCQUE2QixDTmtOMUIsNERNbE5ILHNDQUE2QixDVCtGM0IsNkNTL0ZGLGVBQTZCLENOa04xQiw0RE1sTkgsZ0NBQTZCLENUK0YzQiw4Q1MvRkYscUJBQTZCLENOa04xQiw2RE1sTkgsc0NBQTZCLENUK0YzQiw4Q1MvRkYscUJBQTZCLENOa04xQiw2RE1sTkgsc0NBQTZCLENOc04xQixDakNoRkQsMkM4QnZDQSw0Q1MvRkYsY0FBNkIsQ05rTjFCLDJETWxOSCwrQkFBNkIsQ1QrRjNCLDRDUy9GRixvQkFBNkIsQ05rTjFCLDJETWxOSCxxQ0FBNkIsQ1QrRjNCLDRDUy9GRixxQkFBNkIsQ05rTjFCLDJETWxOSCxzQ0FBNkIsQ1QrRjNCLDRDUy9GRixlQUE2QixDTmtOMUIsMkRNbE5ILGdDQUE2QixDVCtGM0IsNENTL0ZGLHFCQUE2QixDTmtOMUIsMkRNbE5ILHNDQUE2QixDVCtGM0IsNENTL0ZGLHFCQUE2QixDTmtOMUIsMkRNbE5ILHNDQUE2QixDVCtGM0IsNENTL0ZGLGVBQTZCLENOa04xQiwyRE1sTkgsZ0NBQTZCLENUK0YzQiw0Q1MvRkYscUJBQTZCLENOa04xQiwyRE1sTkgsc0NBQTZCLENUK0YzQiw0Q1MvRkYscUJBQTZCLENOa04xQiwyRE1sTkgsc0NBQTZCLENUK0YzQiw0Q1MvRkYsZUFBNkIsQ05rTjFCLDJETWxOSCxnQ0FBNkIsQ1QrRjNCLDZDUy9GRixxQkFBNkIsQ05rTjFCLDRETWxOSCxzQ0FBNkIsQ1QrRjNCLDZDUy9GRixxQkFBNkIsQ05rTjFCLDRETWxOSCxzQ0FBNkIsQ05zTjFCLENBZ0JMLG9DQzFNQSxxQkFBQSxBQUNBLG9CQURBLEFBQ0EsYUFBQSxnQ0FBQSxBQUg2Qiw0QkFHN0IsQUFINkIsdUJBQUEsQ0RnTjNCLDBDRWhNRixVQUFtQixDRmtNaEIsMENFdkxELFdBQW1CLENGMkxsQiw0Q0V2TEQsV0FBbUIsQ0YyTGxCLG1uQkFhRyx3QkFBQSxBQUFnQiw2QkFBaEIsQUFBZ0IsZUFBQSxDakMzSGxCLDJDaUMwSEEsaW9CQUNFLHdCQUFBLEFBQWdCLDZCQUFoQixBQUFnQixlQUFBLENBQ2pCLENqQzVIRCwyQ2lDMEhBLG1uQkFDRSx3QkFBQSxBQUFnQiw2QkFBaEIsQUFBZ0IsZUFBQSxDQUNqQixDQWtCQyw2Q0V2TkosZUFEb0QsQ0Z3TmhELDZDRXZOSixnQkFEb0QsQ0Z3TmhELDZDRXZOSixVQURvRCxDRndOaEQsNkNFdk5KLGdCQURvRCxDRndOaEQsNkNFdk5KLGdCQURvRCxDRndOaEQsNkNFdk5KLFVBRG9ELENGd05oRCw2Q0V2TkosZ0JBRG9ELENGd05oRCw2Q0V2TkosZ0JBRG9ELENGd05oRCw2Q0V2TkosVUFEb0QsQ0Z3TmhELDhDRXZOSixnQkFEb0QsQ0Z3TmhELDhDRXZOSixnQkFEb0QsQ0Z3TmhELDhDRXZOSixXQURvRCxDbkMwRWxELDJDaUNpSUUsaURFek9KLHFCQUFBLEFBdUJBLGlCQXZCQSxBQXVCQSxhQUFBLFdBQW1CLENGcU5kLG1ERWpOTCxXQUFtQixDRnFOZCw4Q0VqTkwsZUFEb0QsQ0Z3TmhELDhDRXZOSixnQkFEb0QsQ0Z3TmhELDhDRXZOSixVQURvRCxDRndOaEQsOENFdk5KLGdCQURvRCxDRndOaEQsOENFdk5KLGdCQURvRCxDRndOaEQsOENFdk5KLFVBRG9ELENGd05oRCw4Q0V2TkosZ0JBRG9ELENGd05oRCw4Q0V2TkosZ0JBRG9ELENGd05oRCw4Q0V2TkosVUFEb0QsQ0Z3TmhELCtDRXZOSixnQkFEb0QsQ0Z3TmhELCtDRXZOSixnQkFEb0QsQ0Z3TmhELCtDRXZOSixXQURvRCxDRjBOL0MsQ2pDaEpILDJDaUNpSUUsZ0RFek9KLHFCQUFBLEFBdUJBLGlCQXZCQSxBQXVCQSxhQUFBLFdBQW1CLENGcU5kLGtERWpOTCxXQUFtQixDRnFOZCw2Q0VqTkwsZUFEb0QsQ0Z3TmhELDZDRXZOSixnQkFEb0QsQ0Z3TmhELDZDRXZOSixVQURvRCxDRndOaEQsNkNFdk5KLGdCQURvRCxDRndOaEQsNkNFdk5KLGdCQURvRCxDRndOaEQsNkNFdk5KLFVBRG9ELENGd05oRCw2Q0V2TkosZ0JBRG9ELENGd05oRCw2Q0V2TkosZ0JBRG9ELENGd05oRCw2Q0V2TkosVUFEb0QsQ0Z3TmhELDhDRXZOSixnQkFEb0QsQ0Z3TmhELDhDRXZOSixnQkFEb0QsQ0Z3TmhELDhDRXZOSixXQURvRCxDRjBOL0MsQ0FTSCw0REd4UkUsb0JBQUEsc0JBQTRCLENwQytIOUIsMkNpQ3lKQSw0REd4UkUscUJBQUEsdUJBQTRCLENIMFI3QixDQUdELGtERzdSRSxvQkFBQSxzQkFBNEIsQ3BDK0g5QiwyQ2lDOEpBLGtERzdSRSxxQkFBQSx1QkFBNEIsQ0grUjdCLENBcE1MLDJDRzNGTSxvQkFBQSxzQkFBNEIsQ3BDK0g5QiwyQ2lDcENKLDJDRzNGTSxxQkFBQSx1QkFBNEIsQ0gwSGpDLENBM0JDLGlERXBEQSw0QkNsQ0UsbUJBQUEscUJBQTRCLENwQ3NINUIsMkNpQ2hDRixpREVwREEsNkJDbENFLG9CQUFBLHNCQUE0QixDSCtGekIsQ0FyQ1AsaURFckJFLFdBQW1CLENGdUJwQixtREVuQkMsV0FBbUIsQ0Z1QnBCLG9ERW5CQywrQkFEZ0gsQ0YwQmhILG9ERXpCQSxnQ0FEZ0gsQ0YwQmhILG9ERXpCQSwwQkFEZ0gsQ0YwQmhILG9ERXpCQSxnQ0FEZ0gsQ0YwQmhILG9ERXpCQSxnQ0FEZ0gsQ0YwQmhILG9ERXpCQSwwQkFEZ0gsQ0YwQmhILG9ERXpCQSxnQ0FEZ0gsQ0YwQmhILG9ERXpCQSxnQ0FEZ0gsQ0YwQmhILG9ERXpCQSwwQkFEZ0gsQ0YwQmhILHFERXpCQSxnQ0FEZ0gsQ0YwQmhILHFERXpCQSxnQ0FEZ0gsQ0YwQmhILHFERXpCQSwyQkFEZ0gsQ25DMEU5RywyQ2lDNURKLGlERXJCRSxXQUFtQixDRnVCcEIsbURFbkJDLFdBQW1CLENGdUJwQixvREVuQkMsZ0NBRGdILENGMEJoSCxvREV6QkEsaUNBRGdILENGMEJoSCxvREV6QkEsMkJBRGdILENGMEJoSCxvREV6QkEsaUNBRGdILENGMEJoSCxvREV6QkEsaUNBRGdILENGMEJoSCxvREV6QkEsMkJBRGdILENGMEJoSCxvREV6QkEsaUNBRGdILENGMEJoSCxvREV6QkEsaUNBRGdILENGMEJoSCxvREV6QkEsMkJBRGdILENGMEJoSCxxREV6QkEsaUNBRGdILENGMEJoSCxxREV6QkEsaUNBRGdILENGMEJoSCxxREV6QkEsNEJBRGdILENGY2xILHdERXJCRSxXQUFtQixDRnVCcEIsMERFbkJDLFdBQW1CLENGdUJwQixxREVuQkMsZ0NBRGdILENGMEJoSCxxREV6QkEsaUNBRGdILENGMEJoSCxxREV6QkEsMkJBRGdILENGMEJoSCxxREV6QkEsaUNBRGdILENGMEJoSCxxREV6QkEsaUNBRGdILENGMEJoSCxxREV6QkEsMkJBRGdILENGMEJoSCxxREV6QkEsaUNBRGdILENGMEJoSCxxREV6QkEsaUNBRGdILENGMEJoSCxxREV6QkEsMkJBRGdILENGMEJoSCxzREV6QkEsaUNBRGdILENGMEJoSCxzREV6QkEsaUNBRGdILENGMEJoSCxzREV6QkEsNEJBRGdILENGNEIvRyxDakM4Q0MsMkNpQzVESix1REVyQkUsV0FBbUIsQ0Z1QnBCLHlERW5CQyxXQUFtQixDRnVCcEIsb0RFbkJDLGdDQURnSCxDRjBCaEgsb0RFekJBLGlDQURnSCxDRjBCaEgsb0RFekJBLDJCQURnSCxDRjBCaEgsb0RFekJBLGlDQURnSCxDRjBCaEgsb0RFekJBLGlDQURnSCxDRjBCaEgsb0RFekJBLDJCQURnSCxDRjBCaEgsb0RFekJBLGlDQURnSCxDRjBCaEgsb0RFekJBLGlDQURnSCxDRjBCaEgsb0RFekJBLDJCQURnSCxDRjBCaEgscURFekJBLGlDQURnSCxDRjBCaEgscURFekJBLGlDQURnSCxDRjBCaEgscURFekJBLDRCQURnSCxDRjRCL0csQ0F5Tkgsd0NPOVRFLFlBR0YsZ0JBQ0Esa0JBQ0EseUJBQUEsQUFDQSxxQkFEQSxBQUNBLGlCQUFBLDRCQUFBLEFBQW9CLHVCQUFwQixBQUFvQixtQkFBQSxDUDBUbkIsOENBR0MsVUFBVyxDQUNaLHdDTy9TQyxnQkFDQSxlQUdGLGlDQUNBLDJDQUE0QyxDUDhTM0MsMENPdFRDLGdCQUNBLGdCQU1GLGlDQUNBLDJDQUE0QyxDUGtUM0Msa0RPM1NELHFCQUFBLEFBQ0Esb0JBREEsQUFDQSxhQUFBLDhCQUFBLEFBQ0EsMEJBREEsQUFDQSxzQkFBQSxlQUFnQixDQUVoQiwwREFDRSxnQkFDQSx5QkFBQSxBQUFpQixxQkFBakIsQUFBaUIsZ0JBQUEsQ3hDNEdmLDJDaUNtTUYsK0NPdFZBLFlBR0YsZ0JBQ0Esa0JBQ0EseUJBQUEsQUFDQSxxQkFEQSxBQUNBLGlCQUFBLDRCQUFBLEFBQW9CLHVCQUFwQixBQUFvQixtQkFBQSxDUGtWakIscURBR0MsVUFBVyxDQUNaLCtDT3ZVRCxnQkFDQSxlQUdGLGlDQUNBLDJDQUE0QyxDUHNVekMseURPL1RILHFCQUFBLEFBQ0Esb0JBREEsQUFDQSxhQUFBLDhCQUFBLEFBQ0EsMEJBREEsQUFDQSxzQkFBQSxlQUFnQixDQUVoQixpRUFDRSxnQkFDQSx5QkFBQSxBQUFpQixxQkFBakIsQUFBaUIsZ0JBQUEsQ0FDbEIsaURBdEJDLGdCQUNBLGdCQU1GLGlDQUNBLDJDQUE0QyxDUDhVekMsQ2pDck5DLDJDaUNtTUYsOENPdFZBLFlBR0YsZ0JBQ0Esa0JBQ0EseUJBQUEsQUFDQSxxQkFEQSxBQUNBLGlCQUFBLDRCQUFBLEFBQW9CLHVCQUFwQixBQUFvQixtQkFBQSxDUGtWakIsb0RBR0MsVUFBVyxDQUNaLDhDT3ZVRCxnQkFDQSxlQUdGLGlDQUNBLDJDQUE0QyxDUHNVekMsd0RPL1RILHFCQUFBLEFBQ0Esb0JBREEsQUFDQSxhQUFBLDhCQUFBLEFBQ0EsMEJBREEsQUFDQSxzQkFBQSxlQUFnQixDQUVoQixnRUFDRSxnQkFDQSx5QkFBQSxBQUFpQixxQkFBakIsQUFBaUIsZ0JBQUEsQ0FDbEIsZ0RBdEJDLGdCQUNBLGdCQU1GLGlDQUNBLDJDQUE0QyxDUDhVekMsQ0FNQywrQ0FDRSxXT2pYSixhQUtGLGdCQUNBLGtCQUNBLHlCQUFBLEFBQ0EscUJBREEsQUFDQSxpQkFBQSw0QkFBQSxBQUFvQix1QkFBcEIsQUFBb0IsbUJBQUEsQ3hDNkloQiwyQ2lDaU9FLHNEQUNFLFdPdlhOLGFBS0YsZ0JBQ0Esa0JBQ0EseUJBQUEsQUFDQSxxQkFEQSxBQUNBLGlCQUFBLDRCQUFBLEFBQW9CLHVCQUFwQixBQUFvQixtQkFBQSxDUGlYYixDakNwT0gsMkNpQ2lPRSxxREFDRSxXT3ZYTixhQUtGLGdCQUNBLGtCQUNBLHlCQUFBLEFBQ0EscUJBREEsQUFDQSxpQkFBQSw0QkFBQSxBQUFvQix1QkFBcEIsQUFBb0IsbUJBQUEsQ1BpWGIsQ0FLSCxxREFDRSxXQUFZLENqQzFPZCwyQ2lDNk9FLDREQUNFLFdBQVksQ0FDYixDakMvT0gsMkNpQzZPRSwyREFDRSxXQUFZLENBQ2IsQ1E5WVQsbURBT1Esa0JBQ0Esa0JBQW1CLENBUjNCLDJDQWFRLGVBQWdCLEN2Q3VCeEIsc0R3Q2pDUSxtQkFDQSxhakM4RU8sQ1A5Q2YscUl3Q3hCb0IsMkJBRUEsb0JBQ0EsY0FDQSxxQkFFQSxjQUFlLEN4Q2tCbkMsa1N3Q2R3QixhakNxSnlDLENQdklqRSw2SXdDUHdCLFFBQVMsQ0FDWixtVUN6QlQsc0JBQ0EsaUJBQWtCLENBTjlCLHlFQWVvQix1QkFDQSx5QkFBMEIsQ0FFN0IsaUNDSkwseUJBQTBCLENBZHRDLHdIQVNnQix3QkFDQSxRQUFTLENBQ1oiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAkb2xkLXpmLXNpemU6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcclxuXHJcbiRsaWdodC1jb2xvcjogI2ZmZjtcclxuJGRhcmstY29sb3I6ICMyMjI7XHJcblxyXG5AaW1wb3J0ICdzZXR0aW5ncyc7IC8vIENvcGllZCBmcm9tIEZvdW5kYXRpb25QcmVzcy4gQWRkZWQgIWRlZmF1bHQgdG8gYW55IHZhcmlhYmxlcyB3ZSdyZSBvdmVycmlkaW5nXHJcblxyXG5AaW1wb3J0IFwic2V0dGluZ3Mtb3ZlcnJpZGVzXCI7XHJcblxyXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKTtcclxuXHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xyXG5cclxuLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XHJcbi8vIFRoaXMgaXMgdGhlIG9ubHkgcGFydCBvZiB0aGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIG1peGluIHdlIG5lZWRcclxuLy8gSWYgd2UgaW5jbHVkZSBhbGwgb2YgdGhlIEdsb2JhbCBTdHlsZXMsIGl0IGFkanVzdHMgc2l6aW5nIGVsc2V3aGVyZSB0b28gYW5kIHdlIGRvbid0IHdhbnQgdGhhdFxyXG4uZm91bmRhdGlvbi1tcSB7XHJcblx0Zm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xyXG59XHJcblxyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbC9hY2Nlc3NpYmlsaXR5JztcclxuXHJcbkBpbXBvcnQgJ2xlYXJuZGFzaC9tYWluJztcclxuXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2lmcmFtZSc7XHJcblxyXG5AaW1wb3J0ICdzdGF0aWMvc3Vic2NyaWJlLWZvb3Rlcic7XHJcbkBpbXBvcnQgJ3N0YXRpYy9uYXZpZ2F0aW9uJztcclxuXHJcbkBpbXBvcnQgXCJwYWdlcy9wcm9maWxlXCI7XHJcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvc2luZ2xlLW1jLWxhbmRpbmctcGFnZVwiO1xyXG5cclxuaHRtbCAucmJtLWxkLWdyb3VwLXJlZ2lzdHJhdGlvbi1kYXNoYm9hcmQge1xyXG5cdEBpbXBvcnQgJ2dyb3VwLXJlZ2lzdHJhdGlvbi90YWJsZSc7XHJcbn1cclxuXHJcbkBpbXBvcnQgJ2dyYXZpdHktZm9ybXMvZmllbGRzJztcclxuXHJcbkBpbXBvcnQgJ3dvb2NvbW1lcmNlL2dsb2JhbC9xdWFudGl0eS1pbnB1dCc7IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxuICBAZWxzZWlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbiAgQGVsc2VpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG4gIEBlbHNlaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gQWRkcmVzc2VzIHBhcnQgb2YgdGhlbWUtY2hlY2sgaXNzdWUgIzg0MC5cclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi9tYXN0ZXIvc3R5bGUuY3NzXHJcbi5zY3JlZW4tcmVhZGVyLXRleHQge1xyXG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIHdpZHRoOiAxcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuICBcclxuICAuc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogIzIxNzU5YjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGVmdDogNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdG9wOiA1cHg7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cclxuICB9XHJcbiAgIiwiLndwUHJvUXVpel9jb250ZW50IHtcclxuXHJcbiAgICAud3BQcm9RdWl6X21leHRyaXhUciB7XHJcblxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLndwUHJvUXVpel9tYXh0cml4U29ydFRleHQge1xyXG5cclxuICAgICAgICAgICAgLm1lanMtY29udGFpbmVyLndwLWF1ZGlvLXNob3J0Y29kZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59IiwiLmxlYXJuZGFzaC13cmFwcGVyIHtcclxuXHJcbiAgICBAaW1wb3J0ICdxdWl6JztcclxuXHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb25QcmVzcyBzZXR0aW5ncy5cclxuLy8gIEJhc2VkIG9uIEZvdW5kYXRpb24gdjYuNC4xXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vL1xyXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XHJcbi8vXHJcbi8vICAgMS4gR2xvYmFsXHJcbi8vICAgMi4gQnJlYWtwb2ludHNcclxuLy8gICAzLiBUaGUgR3JpZFxyXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAgIDYuIEFiaWRlXHJcbi8vICAgNy4gQWNjb3JkaW9uXHJcbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gICA5LiBCYWRnZVxyXG4vLyAgMTAuIEJyZWFkY3J1bWJzXHJcbi8vICAxMS4gQnV0dG9uXHJcbi8vICAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vICAxMy4gQ2FsbG91dFxyXG4vLyAgMTQuIENhcmRcclxuLy8gIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gIDE2LiBEcmlsbGRvd25cclxuLy8gIDE3LiBEcm9wZG93blxyXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcclxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAgMjAuIEZvcm1zXHJcbi8vICAyMS4gTGFiZWxcclxuLy8gIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gIDIzLiBNZW51XHJcbi8vICAyNC4gTWV0ZXJcclxuLy8gIDI1LiBPZmYtY2FudmFzXHJcbi8vICAyNi4gT3JiaXRcclxuLy8gIDI3LiBQYWdpbmF0aW9uXHJcbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gIDQ3LiBSZXZlYWxcclxuLy8gIDQ4LiBTbGlkZXJcclxuLy8gIDQ5LiBTd2l0Y2hcclxuLy8gIDUwLiBUYWJsZVxyXG4vLyAgNTEuIFRhYnNcclxuLy8gIDUyLiBUaHVtYm5haWxcclxuLy8gIDUzLiBUaXRsZSBCYXJcclxuLy8gIDU0LiBUb29sdGlwXHJcbi8vICA1NS4gVG9wIEJhclxyXG4vLyAgNTYuIFh5IEdyaWRcclxuXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcbkBpbXBvcnQgJ2dsb2JhbC9jb2xvcnMnO1xyXG5cclxuLy8gMS4gR2xvYmFsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XHJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMxNzc5YmEsXHJcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI2NjNGIzNyxcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XHJcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcclxuJGRhcmstZ3JheTogIzhhOGE4YTtcclxuJGJsYWNrOiAjMGEwYTBhO1xyXG4kd2hpdGU6ICNmZWZlZmU7XHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xyXG4kYm9keS1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDA7XHJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xyXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XHJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweCxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiA4MCU7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XHJcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICR3aGl0ZTtcclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcclxuJGJ1dHRvbi1zaXplczogKFxyXG4gIHRpbnk6IDAuNnJlbSxcclxuICBzbWFsbDogMC43NXJlbSxcclxuICBkZWZhdWx0OiAwLjlyZW0sXHJcbiAgbGFyZ2U6IDEuMjVyZW0sXHJcbik7XHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XHJcblxyXG4vLyAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XHJcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcclxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xyXG5cclxuLy8gMTMuIENhbGxvdXRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XHJcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xyXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XHJcblxyXG4vLyAxNC4gQ2FyZFxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGNhcmQtc2hhZG93OiBub25lO1xyXG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxyXG4gIHNtYWxsOiAwLjY2cmVtLFxyXG4gIG1lZGl1bTogMXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxyXG4gIHNtYWxsOiAwLjMzZW0sXHJcbiAgbWVkaXVtOiAwLjVyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXHJcbiAgc21hbGw6IDEuNWVtLFxyXG4gIG1lZGl1bTogMmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE2LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gMTcuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGRyb3Bkb3duLXNpemVzOiAoXHJcbiAgdGlueTogMTAwcHgsXHJcbiAgc21hbGw6IDIwMHB4LFxyXG4gIGxhcmdlOiA0MDBweCxcclxuKTtcclxuXHJcbi8vIDE4LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGxpZ2h0ZW4oJGRhcmstbmF2LWNvbG9yLCA1JSk7XHJcblxyXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XHJcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XHJcblxyXG4vLyAyMC4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XHJcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xyXG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XHJcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMS4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xyXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XHJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuXHJcbi8vIDIzLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kbWVudS1tYXJnaW46IDA7XHJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xyXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuXHJcbi8vIDI0LiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplOiAyODBweDtcclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweDtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkZGFyay1uYXYtY29sb3I7XHJcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XHJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcclxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XHJcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XHJcblxyXG4vLyAyNi4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuXHJcbi8vIDI3LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG5cclxuLy8gMjguIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxyXG4gIGRvd24sXHJcbiAgdXAsXHJcbiAgcmlnaHQsXHJcbiAgbGVmdFxyXG4pO1xyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xyXG5cclxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xyXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1kaXNwbGF5OiAoXHJcbiAgaW5saW5lLFxyXG4gIGlubGluZS1ibG9jayxcclxuICBibG9jayxcclxuICB0YWJsZSxcclxuICB0YWJsZS1jZWxsXHJcbik7XHJcblxyXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXHJcbiAgZGlzYyxcclxuICBjaXJjbGUsXHJcbiAgc3F1YXJlXHJcbik7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXHJcbiAgZGVjaW1hbCxcclxuICBsb3dlci1hbHBoYSxcclxuICBsb3dlci1sYXRpbixcclxuICBsb3dlci1yb21hbixcclxuICB1cHBlci1hbHBoYSxcclxuICB1cHBlci1sYXRpbixcclxuICB1cHBlci1yb21hblxyXG4pO1xyXG5cclxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxyXG4gIHZpc2libGUsXHJcbiAgaGlkZGVuLFxyXG4gIHNjcm9sbFxyXG4pO1xyXG5cclxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxyXG4gIHN0YXRpYyxcclxuICByZWxhdGl2ZSxcclxuICBhYnNvbHV0ZSxcclxuICBmaXhlZFxyXG4pO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcclxuXHJcbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XHJcblxyXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2l6aW5nOiAoXHJcbiAgd2lkdGgsXHJcbiAgaGVpZ2h0XHJcbik7XHJcbiRwcm90b3R5cGUtc2l6ZXM6IChcclxuICAyNTogMjUlLFxyXG4gIDUwOiA1MCUsXHJcbiAgNzU6IDc1JSxcclxuICAxMDA6IDEwMCVcclxuKTtcclxuXHJcbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcclxuXHJcbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxyXG4gIG92ZXJsaW5lLFxyXG4gIHVuZGVybGluZSxcclxuICBsaW5lLXRocm91Z2gsXHJcbik7XHJcblxyXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXHJcbiAgbG93ZXJjYXNlLFxyXG4gIHVwcGVyY2FzZSxcclxuICBjYXBpdGFsaXplXHJcbik7XHJcblxyXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxyXG4gIGRlZmF1bHQ6IDQgYnkgMyxcclxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxyXG4pO1xyXG5cclxuLy8gNDcuIFJldmVhbFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHJldmVhbC13aWR0aDogNjAwcHg7XHJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHJldmVhbC16aW5kZXg6IDEwMDU7XHJcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XHJcblxyXG4vLyA0OC4gU2xpZGVyXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcclxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDQ5LiBTd2l0Y2hcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc3dpdGNoLWhlaWdodDogMnJlbTtcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcblxyXG4vLyA1MC4gVGFibGVcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xyXG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcclxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XHJcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4vLyA1MS4gVGFic1xyXG4vLyAtLS0tLS0tLVxyXG5cclxuJHRhYi1tYXJnaW46IDA7XHJcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XHJcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XHJcbiR0YWItZXhwYW5kLW1heDogNjtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XHJcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA1Mi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1My4gVGl0bGUgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkZGFyay1uYXYtY29sb3I7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDU0LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTUuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMHJlbTtcclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkZGFyay1uYXYtY29sb3I7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTYuIFh5IEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR4eS1ncmlkOiB0cnVlO1xyXG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweFxyXG4pO1xyXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xyXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xyXG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLnJldmVhbCB7XHJcblxyXG4gICAgLy8gT25seSBhcHBseSB0aGlzIHN0eWxpbmcgaW5zaWRlIG9mIHJldmVhbHNcclxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XHJcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcclxuXHJcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24oKTtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcblxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG5cclxufSIsIi5xYnV0dG9uIHtcclxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG5cdHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcclxufSIsIi53cGJfdmlkZW9fd2lkZ2V0IHtcclxuXHJcbiAgICAud3BiX3ZpZGVvX3dyYXBwZXIge1xyXG5cclxuICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICBpZnJhbWUge1xyXG5cclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59IiwiLnN1YnNjcmliZS1mb290ZXIge1xyXG5cclxuICAgIG1hcmdpbi10b3A6IDNyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XHJcblxyXG4gICAgLmNvbHVtbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2w7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSggMTIgKTtcclxuICAgIH1cclxuXHJcbiAgICAubGVmdCB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSApIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSggMyApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLnJpZ2h0IHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xyXG4gICAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IHNtYWxsZXIsIHNpbmNlIHNvbWV0aGluZyBpbiB0aGUgdGhlbWUgaXMgbWVzc2luZyB1cCBteSBmb3JtXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoIDggKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XHJcblxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG5cclxuICAgIC5tYzR3cC1mb3JtIHtcclxuXHJcbiAgICAgICAgLm1jNHdwLWZvcm0tZmllbGRzIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtcm93O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCAkZ3JpZC1jb2x1bW4tZ3V0dGVyICk7XHJcblxyXG4gICAgICAgICAgICAmID4gKiB7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2w7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSggMTIgKTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSggMyApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSApIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEludGVudGlvbmFsbHkgc21hbGxlciwgc2luY2Ugc29tZXRoaW5nIGluIHRoZSB0aGVtZSBpcyBtZXNzaW5nIHVwIG15IGZvcm1cclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDExJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIuNXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwLCBpbnB1dCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSApIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oIHRydWUsICRzZWNvbmRhcnktY29sb3IgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCJAaW5jbHVkZSBicmVha3BvaW50KCBzbWFsbCBvbmx5ICkge1xyXG5cclxuICAgIC5tZW51X2JvdHRvbSB7XHJcblxyXG4gICAgICAgIC5sb2dvX3dyYXBwZXIge1xyXG5cclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGxlZnQ6IDM3JTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLm1vYmlsZV9tZW51X2J1dHRvbiB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXJfaW5uZXJfbGVmdCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXJfZml4ZWRfcmlnaHRfYXJlYSB7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyX21lbnVfYm90dG9tIHtcclxuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLm1vYmlsZV9tZW51IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ29fd3JhcHBlciB7XHJcblxyXG4gICAgICAgIGltZyB7XHJcblxyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn0iLCJib2R5Om5vdCguaG9tZSkge1xyXG5cclxuICAgIGhlYWRlcjpub3QoLmNlbnRlcmVkX2xvZ28pIC5oZWFkZXJfZml4ZWRfcmlnaHRfYXJlYSB7XHJcblxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbnB1dCNzZWFyY2hzdWJtaXQge1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcclxuICAgICAgICAgICAgY29sb3I6IGluaXRpYWw7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiKDIxNiwgMjE2LCAyMTYpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBPdXRwdXRzIENTUyBjbGFzc2VzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXG4gICRyb3c6ICdyb3cnLFxuICAkY29sdW1uOiAnY29sdW1uJyxcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcbiAgJGd1dHRlcjogJ2d1dHRlcicsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnLFxuICAkYmxvY2s6ICdibG9jaydcbikge1xuICAvLyBSb3dcbiAgLiN7JHJvd30ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgLy8gQ29sbGFwc2luZ1xuICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xuICAgICYuI3skZXhwYW5kZWR9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC4jeyRleHBhbmRlZH0pIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkZ3JpZC1jb2x1bW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAvLyBTdGF0aWMgKHVucmVzcG9uc2l2ZSkgcm93IGd1dHRlcnNcbiAgICAgIC8vXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAmLiN7JGd1dHRlcn0tI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCR2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCAnLiN7JGNvbHVtbn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRleHBhbmRlZH0uI3skcm93fSAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfS4jeyRyb3d9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5ncmlkLWNvbnRhaW5lci1wYWRkZWQge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyLXBhZGRpbmc7XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGdyaWQtY29sdW1ucywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAjeyQtemYtc2l6ZX0tc2hyaW5rLCA+ICN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJGJwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JC16Zi1zaXplfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skLXpmLXNpemV9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gI3skLXpmLXNpemV9LXNocmluaywgPiAjeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+ICN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpXG4gIH1cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuXG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyXG4pIHtcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vLy8gQWRkIHBhZGRpbmcgdG8geW91ciBjb250YWluZXIsIHVwIHRvIGEgcGFydGljdWxhciBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyLXBhZGRpbmcoXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZyxcbiAgJG1heDogJGdyaWQtY29udGFpbmVyLW1heFxuKSB7XG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkcGFkZGluZykge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygkLXpmLWJwLXZhbHVlIC8gMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygkLXpmLWJwLXZhbHVlIC8gMik7XG4gICAgfVxuICB9XG4gIEBlbHNlaWYgKHR5cGUtb2YoJHBhZGRpbmcpID09ICdudW1iZXInKSB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygkcGFkZGluZykgLyAyO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKCRwYWRkaW5nKSAvIDI7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCBvciBgc2hyaW5rYC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgb3VyIGd1dHRlcnMgZnJvbSBtYXAgaWYgYXZhaWxhYmxlLCBpZiBub3QgbWFwIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgQGlmICRndXR0ZXItb3V0cHV0IHtcbiAgICAvLyBJZiBndXR0ZXJzID0gbWFwXG4gICAgQGlmKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgICAvLyBJZiAkZ3V0dGVycyBtYXAgaGFzIGEga2V5ID0gJGJyZWFrcG9pbnQsIG91dHB1dCB0aGUgdmFsdWVcbiAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGd1dHRlcnMsICRicmVha3BvaW50KSkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIElmIG5vdCBhIG1hcFxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICAvLyBJZiB3ZSB3YW50IHRvIG91dHB1dCB0aGUgZ3V0dGVyc1xuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcbiAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHdlIG5lZWQgdG8gcGFzcyBicmVha3BvaW50IGluIGhlcmUgdG9vLlxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVyLXR5cGU6ICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbiwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICB9XG5cbiAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2Vcbikge1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgfSBAZWxzZSB7XG4gICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICB9XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiYm9keS5zaW5nbGUtbWMtbGFuZGluZy1wYWdlIHtcclxuXHJcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcclxuXHJcbiAgICAudmlkZW8taW1hZ2UtY29udGFpbmVyIHtcclxuXHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5nZm9ybV93cmFwcGVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xyXG4gICAgfVxyXG5cclxufSIsInRhYmxlIHtcclxuICAgIHRoZWFkIHtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcclxuICAgICAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcclxuXHJcbiAgICAgICAgdGgge1xyXG5cclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuXHJcbiAgICAgICAgICAgICAgICAmLCAmLnNvcnQge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufSIsImh0bWwgYm9keSB7XHJcbiAgICBcclxuICAgIC5nZm9ybV93cmFwcGVyIHtcclxuICAgICAgICBcclxuICAgICAgICBpbnB1dFt0eXBlPWVtYWlsXSwgaW5wdXRbdHlwZT1udW1iZXJdLCBpbnB1dFt0eXBlPXBhc3N3b3JkXSwgaW5wdXRbdHlwZT10ZWxdLCBpbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPXVybF0sIHNlbGVjdCwgdGV4dGFyZWEge1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZGRkO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIHtcclxuXHJcbiAgICAgICAgICAgIC5hZGRyZXNzX3N0YXRlIHtcclxuXHJcbiAgICAgICAgICAgICAgICBzZWxlY3Qge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxufSIsIi53b29jb21tZXJjZSB7XHJcbiAgICBcclxuICAgIC5xdWFudGl0eSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaW5wdXQucXR5IHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC8qIENocm9tZSwgU2FmYXJpLCBFZGdlLCBPcGVyYSAqL1xyXG4gICAgICAgICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxyXG4gICAgICAgICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLyogRmlyZWZveCAqL1xyXG4gICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbn0iXX0= */
