@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap);
:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #71d43b;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #ea644b;--bs-secondary: #2f2f2d;--bs-beige: #f7d9a4;--bs-gold: #f6d9a2;--bs-sand: #ede5dc;--bs-sky: #53bad6;--bs-cpf: #0c4391;--bs-green: #71d43b;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-white: #fff;--bs-light: #f7f7f3;--bs-dark: #1a1a1a;--bs-red-light: #f1aeb5;--bs-primary-rgb: 234, 100, 75;--bs-secondary-rgb: 47, 47, 45;--bs-beige-rgb: 247, 217, 164;--bs-gold-rgb: 246, 217, 162;--bs-sand-rgb: 237, 229, 220;--bs-sky-rgb: 83, 186, 214;--bs-cpf-rgb: 12, 67, 145;--bs-green-rgb: 113, 212, 59;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-white-rgb: 255, 255, 255;--bs-light-rgb: 247, 247, 243;--bs-dark-rgb: 26, 26, 26;--bs-red-light-rgb: 241, 174, 181;--bs-primary-text-emphasis: #5e281e;--bs-secondary-text-emphasis: #131312;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #fbe0db;--bs-secondary-bg-subtle: #d5d5d5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #f7c1b7;--bs-secondary-border-subtle: #acacab;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family: Montserrat, sans-serif;--bs-body-font-size:0.875rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #2f2f2d;--bs-body-color-rgb: 47, 47, 45;--bs-body-bg: #f7f7f3;--bs-body-bg-rgb: 247, 247, 243;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(47, 47, 45, 0.75);--bs-secondary-color-rgb: 47, 47, 45;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(47, 47, 45, 0.5);--bs-tertiary-color-rgb: 47, 47, 45;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #ea644b;--bs-link-color-rgb: 234, 100, 75;--bs-link-decoration: underline;--bs-link-hover-color: #bb503c;--bs-link-hover-color-rgb: 187, 80, 60;--bs-code-color: #d63384;--bs-highlight-color: #2f2f2d;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, 0.175);--bs-border-radius: 0.625rem;--bs-border-radius-sm: 0.25rem;--bs-border-radius-lg: 1.25rem;--bs-border-radius-xl: 1.875rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width: 0.25rem;--bs-focus-ring-opacity: 0.25;--bs-focus-ring-color: rgba(47, 47, 45, 0.25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}body.has-menu #page-content{padding-top:4.875rem}body.menu-showing #main-menu-overlay,body:has(#main-menu .menu-nav-inner>li.menu-item-has-children.hover) #main-menu-overlay,body:has(#main-menu .menu-nav-inner>li.menu-item-has-children input:focus) #main-menu-overlay{visibility:visible;opacity:1;-webkit-transition:opacity .2s ease-in-out,visibility .2s ease-in-out;transition:opacity .2s ease-in-out,visibility .2s ease-in-out}.toast-container.top-0{margin-top:4.375rem}#main-menu-wrapper{position:fixed;top:0;left:.5rem;right:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin:0;z-index:100;padding-top:.5rem}#main-menu{position:relative;min-width:calc(50% - .25rem);max-width:calc(50% - .25rem);margin:0;-webkit-padding-start:0;padding-inline-start:0;z-index:1}#main-menu.shadow-sm:after{-webkit-box-shadow:var(--bs-box-shadow-sm) !important;box-shadow:var(--bs-box-shadow-sm) !important;content:"";position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1}#main-menu .menu-inner{height:4.375rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;background-color:#1a1a1a;color:#f7f7f3;border-radius:1.25rem;padding:.5rem .5rem .5rem 1rem}#main-menu .menu-trigger:checked~.menu-nav{visibility:visible;opacity:1;-webkit-transform:translate(0, 0);transform:translate(0, 0);-webkit-transition:opacity 100ms 150ms ease-out,visibility 300ms linear,-webkit-transform 450ms ease-out;transition:opacity 100ms 150ms ease-out,visibility 300ms linear,-webkit-transform 450ms ease-out;transition:opacity 100ms 150ms ease-out,transform 450ms ease-out,visibility 300ms linear;transition:opacity 100ms 150ms ease-out,transform 450ms ease-out,visibility 300ms linear,-webkit-transform 450ms ease-out}#main-menu .menu-brand{-webkit-box-flex:1;-ms-flex:1;flex:1;height:100%;margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#main-menu .menu-brand>div{margin-top:4px}#main-menu .menu-brand img{max-height:2.5rem}#main-menu .menu-nav{position:fixed;top:0;left:0;width:calc(50% - .25rem);padding:.5rem;padding-right:0;border-radius:1.25rem;z-index:-1;visibility:hidden;opacity:0;-webkit-transform:translate(0, -10%);transform:translate(0, -10%);-webkit-transition:opacity 200ms ease-in,visibility 200ms linear,-webkit-transform 200ms ease-in;transition:opacity 200ms ease-in,visibility 200ms linear,-webkit-transform 200ms ease-in;transition:opacity 200ms ease-in,transform 200ms ease-in,visibility 200ms linear;transition:opacity 200ms ease-in,transform 200ms ease-in,visibility 200ms linear,-webkit-transform 200ms ease-in}#main-menu .menu-nav .menu-nav-inner{position:relative;top:0rem;list-style:none;padding:5.125rem .75rem .75rem;margin:0}#main-menu .menu-nav .menu-nav-inner:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:1.25rem;background-color:#2f2f2d;z-index:-1}#main-menu .menu-nav .menu-nav-inner li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#main-menu .menu-nav .menu-nav-inner li.has-cpf .cpf-logo{display:inline-block;width:1.5rem;height:1.5rem;background-image:url(../images/picto-cpf-tiny.png?1809e7aebef9a95339508b1ad9b90278);background-repeat:no-repeat;background-size:contain;position:absolute;right:1rem;margin-top:.4rem;z-index:1;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform}#main-menu .menu-nav .menu-nav-inner li>.menu-item-content{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;display:inline-block;font-weight:500;font-size:.6875rem;line-height:.875rem;text-transform:uppercase;text-decoration:none;-webkit-transition:all 200ms ease;transition:all 200ms ease;overflow:hidden}#main-menu .menu-nav .menu-nav-inner li>.menu-item-content .text-hover-primary{-webkit-transition:all 200ms ease;transition:all 200ms ease}#main-menu .menu-nav .menu-nav-inner li>ul{position:absolute;width:100%;top:0;left:calc(100% + .5rem);margin:0;padding:1rem 0;min-height:6.25rem;z-index:-1;text-align:left;border-radius:1.25rem;background-color:#f7f7f3;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;visibility:hidden;opacity:0;-webkit-transform:translate(-30%, 0);transform:translate(-30%, 0);-webkit-transition:opacity 200ms ease-in,visibility 200ms linear,-webkit-transform 200ms ease-in;transition:opacity 200ms ease-in,visibility 200ms linear,-webkit-transform 200ms ease-in;transition:opacity 200ms ease-in,transform 200ms ease-in,visibility 200ms linear;transition:opacity 200ms ease-in,transform 200ms ease-in,visibility 200ms linear,-webkit-transform 200ms ease-in;max-height:calc(100vh - 2*0.5rem);overflow-y:auto;overscroll-behavior-y:contain}#main-menu .menu-nav .menu-nav-inner li>ul:before{content:"";position:absolute;top:0;left:0;width:100%;height:calc(100% - .5rem);border-radius:1.25rem;background-color:#f7f7f3;z-index:-1}#main-menu .menu-nav .menu-nav-inner li>ul:has(.sub-menu-header){padding-top:0}@media(hover: hover){@supports(scrollbar-color: auto) and (not selector(::-webkit-scrollbar)){#main-menu .menu-nav .menu-nav-inner li>ul:has(.sub-menu-header)>*{scrollbar-width:thin;scrollbar-color:#2f2f2d rgba(47,47,45,.3)}}@supports selector(::-webkit-scrollbar){#main-menu .menu-nav .menu-nav-inner li>ul:has(.sub-menu-header){scrollbar-gutter:stable}#main-menu .menu-nav .menu-nav-inner li>ul:has(.sub-menu-header)::-webkit-scrollbar{width:6px;height:6px;-webkit-appearance:none;background:rgba(47,47,45,.3);border-radius:5px}#main-menu .menu-nav .menu-nav-inner li>ul:has(.sub-menu-header)::-webkit-scrollbar-thumb{border-radius:5px;cursor:pointer;background:#2f2f2d;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#main-menu .menu-nav .menu-nav-inner li>ul:has(.sub-menu-header)::-webkit-scrollbar-track{background:rgba(47,47,45,.3);border-radius:5px;margin-bottom:0;margin-top:4.375rem}}}#main-menu .menu-nav .menu-nav-inner li>ul ul{display:none}#main-menu .menu-nav .menu-nav-inner li>ul>li{padding-top:.25rem;padding-bottom:.25rem}#main-menu .menu-nav .menu-nav-inner li>ul>li.sub-menu-header{margin-bottom:1rem;height:4.375rem;background-color:#2f2f2d;border-top-left-radius:1.25rem;border-top-right-radius:1.25rem;position:sticky;top:0;z-index:1;-ms-flex-negative:0;flex-shrink:0;-webkit-box-shadow:-1px -1px 1px 1px #2f2f2d;box-shadow:-1px -1px 1px 1px #2f2f2d}#main-menu .menu-nav .menu-nav-inner li>ul>li.sub-menu-header>.menu-item-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#main-menu .menu-nav .menu-nav-inner li>ul>li.sub-menu-header>.menu-item-content .item-text{font-size:.875rem;line-height:1.3;font-weight:700;text-align:center;color:#f7f7f3;text-transform:uppercase}#main-menu .menu-nav .menu-nav-inner li>ul>li.sub-menu-header>.menu-item-content .item-text small{font-size:.75rem;font-weight:500;text-transform:none}#main-menu .menu-nav .menu-nav-inner li>ul>li.prepend-separator{position:relative;margin-top:.75rem;padding-top:.75rem}#main-menu .menu-nav .menu-nav-inner li>ul>li.prepend-separator:before{content:"";position:absolute;top:0;left:1rem;right:1rem;height:.8px;background-color:#ede5dc}#main-menu .menu-nav .menu-nav-inner li>ul>li>.menu-item-content{position:relative;display:inline-block;padding:0 .4rem;width:100%;text-align:initial}#main-menu .menu-nav .menu-nav-inner li>ul>li>.menu-item-content.no-link{text-transform:none;color:#2f2f2d;padding:0 1rem 0 1.125rem}#main-menu .menu-nav .menu-nav-inner li>ul>li>.menu-item-content.no-link .text-head,#main-menu .menu-nav .menu-nav-inner li>ul>li>.menu-item-content.no-link .text-foot{padding-left:0}#main-menu .menu-nav .menu-nav-inner li>ul>li>.menu-item-content>.item-text.btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;text-align:initial;font-weight:500;--bs-btn-color: #2f2f2d;--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: #f7f7f3;--bs-btn-hover-bg: #ea644b;--bs-btn-hover-border-color: #ea644b;--bs-btn-focus-shadow-rgb: 47, 47, 45;--bs-btn-active-color: #f7f7f3;--bs-btn-active-bg: #ea644b;--bs-btn-active-border-color: #ea644b;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #f7f7f3;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: transparent;--bs-btn-padding-y: 0.3025rem;--bs-btn-padding-x: 1.15rem;--bs-btn-font-size:0.6875rem;--bs-btn-border-radius: 5px;padding-left:.75rem;padding-right:.75rem}#main-menu .menu-nav .menu-nav-inner li>ul>li>.menu-item-content>.text-head,#main-menu .menu-nav .menu-nav-inner li>ul>li>.menu-item-content>.text-foot{padding-left:.75rem;color:#2f2f2d;font-size:.75rem;font-weight:500;margin-left:0;text-transform:none}#main-menu .menu-nav .menu-nav-inner li>ul>li>.menu-item-content>.text-head img[src*=picto-remorque-b],#main-menu .menu-nav .menu-nav-inner li>ul>li>.menu-item-content>.text-foot img[src*=picto-remorque-b]{-webkit-transition:margin-left 2s cubic-bezier(0.42, 0, 0.58, 1);transition:margin-left 2s cubic-bezier(0.42, 0, 0.58, 1)}#main-menu .menu-nav .menu-nav-inner li>ul>li.hover.js-result-remorque{opacity:1 !important}#main-menu .menu-nav .menu-nav-inner li>ul>li.hover>.menu-item-content>.text-head img[src*=picto-remorque-b],#main-menu .menu-nav .menu-nav-inner li>ul>li.hover>.menu-item-content>.text-foot img[src*=picto-remorque-b]{margin-left:56%;-webkit-transition:margin-left .8s cubic-bezier(0.68, -0.25, 0.265, 1);transition:margin-left .8s cubic-bezier(0.68, -0.25, 0.265, 1)}@media(max-width: 991.98px){#main-menu .menu-nav .menu-nav-inner li.hover>ul{visibility:visible;opacity:1;-webkit-transition:opacity 250ms 50ms ease,top 250ms ease,visibility 300ms linear;transition:opacity 250ms 50ms ease,top 250ms ease,visibility 300ms linear}}#main-menu .menu-nav .menu-nav-inner>li{padding:0}#main-menu .menu-nav .menu-nav-inner>li>.menu-item-content{position:relative;display:inline-block;padding:.4rem 0;width:100%;text-align:initial}#main-menu .menu-nav .menu-nav-inner>li>.menu-item-content>.item-text.btn{text-align:initial;font-weight:500;line-height:.875rem;--bs-btn-color: #f7f7f3;--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: #f7f7f3;--bs-btn-hover-bg: #ea644b;--bs-btn-hover-border-color: #ea644b;--bs-btn-focus-shadow-rgb: 247, 247, 243;--bs-btn-active-color: #f7f7f3;--bs-btn-active-bg: #ea644b;--bs-btn-active-border-color: #ea644b;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #f7f7f3;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: transparent;--bs-btn-padding-y: 0.3025rem;--bs-btn-padding-x: 1.15rem;--bs-btn-font-size:0.6875rem;--bs-btn-border-radius: 5px}#main-menu .menu-nav .menu-nav-inner>li.hover>.menu-item-content>.item-text.btn,#main-menu .menu-nav .menu-nav-inner>li:has(input:focus)>.menu-item-content>.item-text.btn{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}#main-menu .menu-nav .menu-nav-inner>li.hover>ul,#main-menu .menu-nav .menu-nav-inner>li:has(input:focus)>ul{visibility:visible;opacity:1;-webkit-transform:translate(0, 0);transform:translate(0, 0);-webkit-transition:100ms 150ms ease-out,visibility 300ms linear,-webkit-transform 450ms ease-out;transition:100ms 150ms ease-out,visibility 300ms linear,-webkit-transform 450ms ease-out;transition:100ms 150ms ease-out,transform 450ms ease-out,visibility 300ms linear;transition:100ms 150ms ease-out,transform 450ms ease-out,visibility 300ms linear,-webkit-transform 450ms ease-out}#main-menu .menu-nav .menu-nav-inner li.current-menu-item>.menu-item-content>.item-text.btn,#main-menu .menu-nav .menu-nav-inner li.current-menu-ancestor>.menu-item-content>.item-text.btn{--bs-btn-color: #f7f7f3;--bs-btn-bg: #ea644b;--bs-btn-border-color: #ea644b;--bs-btn-hover-color: #f7f7f3;--bs-btn-hover-bg: #ea644b;--bs-btn-hover-border-color: #ea644b;--bs-btn-focus-shadow-rgb: 236, 122, 100;--bs-btn-active-color: #f7f7f3;--bs-btn-active-bg: #ea644b;--bs-btn-active-border-color: #ea644b;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #f7f7f3;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: transparent}#main-menu .menu-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}#main-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(26,26,26,.5);z-index:99;visibility:hidden;-webkit-transition:opacity .2s ease-in-out,visibility .2s .2s ease-in-out;transition:opacity .2s ease-in-out,visibility .2s .2s ease-in-out}.cell-contact{max-width:calc(50% - .25rem)}.cell-contact .btn{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media(min-width: 992px){body.has-menu #page-content{padding-top:1rem}body.noscroll-fix #main-menu-wrapper{left:calc(50% + .3125rem - var(--cb-scrollbar-width)/2)}body.admin-bar #main-menu-wrapper{padding-top:var(--wp-admin--admin-bar--height)}body.admin-bar #main-menu .menu-nav .menu-nav-inner li>ul{max-height:calc(100vh - 2*0.5rem - var(--cb-admin-bar-height))}body.admin-bar .toast-container.top-0{margin-top:var(--wp-admin--admin-bar--height)}.toast-container.top-0{margin-top:0}#main-menu-wrapper{bottom:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:initial;-ms-flex-align:initial;align-items:initial;left:calc(50% + .3125rem);right:initial;width:11.875rem;padding-top:0;padding-bottom:1rem}#main-menu{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:1rem;margin-bottom:1rem;width:initial;min-width:initial;max-width:initial}#main-menu.shadow-sm{-webkit-box-shadow:none !important;box-shadow:none !important}#main-menu.shadow-sm:after{content:none}#main-menu.menu-loaded .menu-nav .menu-nav-inner>li>ul{display:-webkit-box;display:-ms-flexbox;display:flex}#main-menu .menu-inner{height:auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0 0;border-radius:1.25rem}#main-menu .burger-wrapper{display:none}#main-menu .menu-brand{height:initial;-webkit-box-flex:initial;-ms-flex:initial;flex:initial;padding:1.25rem .375rem .75rem}#main-menu .menu-brand,#main-menu .menu-brand>div{width:100%}#main-menu .menu-brand>div{margin-top:initial}#main-menu .menu-brand img{max-height:initial;height:3.094rem}#main-menu .menu-brand .baseline{font-size:.8125rem}#main-menu .menu-brand .baseline-year{font-size:1.0625rem}#main-menu .menu-nav{position:initial;top:initial;left:initial;height:initial;width:100%;padding:.75rem 0;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:1.25rem;border-bottom-right-radius:1.25rem;background-color:#2f2f2d;visibility:visible;opacity:1;-webkit-transform:initial;transform:initial;z-index:initial;max-height:initial;overflow:initial}#main-menu .menu-nav .menu-nav-inner{position:initial;display:initial;top:initial;padding:0}#main-menu .menu-nav .menu-nav-inner:after{border-radius:1.25rem}#main-menu .menu-nav .menu-nav-inner>li>.menu-item-content{padding:.4rem 0 .4rem .85rem}#main-menu .menu-nav .menu-nav-inner>li>ul{left:0;padding:1rem 0;min-width:15rem;-webkit-transform:translate(0, 0);transform:translate(0, 0);display:none;overflow-y:unset;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}#main-menu .menu-nav .menu-nav-inner>li>ul:before{left:unset;right:0;height:100%;width:calc(100% + 2.5rem);background-color:rgba(0,0,0,0)}#main-menu .menu-nav .menu-nav-inner>li>ul:has(.sub-menu-header){scrollbar-gutter:stable;min-width:calc(15rem - 5px)}}@media(min-width: 992px)and (hover: hover){@supports(scrollbar-color: auto) and (not selector(::-webkit-scrollbar)){#main-menu .menu-nav .menu-nav-inner>li>ul:has(.sub-menu-header)>*{scrollbar-width:thin;scrollbar-color:#ea644b rgba(47,47,45,.3)}}@supports selector(::-webkit-scrollbar){#main-menu .menu-nav .menu-nav-inner>li>ul:has(.sub-menu-header){scrollbar-gutter:stable}#main-menu .menu-nav .menu-nav-inner>li>ul:has(.sub-menu-header)::-webkit-scrollbar{width:6px;height:6px;-webkit-appearance:none;background:rgba(0,0,0,0);border-radius:5px}#main-menu .menu-nav .menu-nav-inner>li>ul:has(.sub-menu-header)::-webkit-scrollbar-thumb{border-radius:5px;cursor:pointer;background:#ea644b;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#main-menu .menu-nav .menu-nav-inner>li>ul:has(.sub-menu-header)::-webkit-scrollbar-track{background:rgba(47,47,45,.3);border-radius:5px;margin-bottom:0;margin-top:6.68775rem}}}@media(min-width: 992px){#main-menu .menu-nav .menu-nav-inner>li>ul>li{padding-top:.75rem;padding-bottom:.75rem}#main-menu .menu-nav .menu-nav-inner>li>ul>li.sub-menu-header{height:6.68775rem}#main-menu .menu-nav .menu-nav-inner>li>ul>li.sub-menu-header>.menu-item-content .item-text{font-size:1rem;line-height:1.65}#main-menu .menu-nav .menu-nav-inner>li>ul>li.sub-menu-header>.menu-item-content .item-text small{font-size:.875rem}#main-menu .menu-nav .menu-nav-inner>li>ul>li:not(.sub-menu-header).is-overflowing-right{background-color:#f7f7f3}#main-menu .menu-nav .menu-nav-inner>li>ul>li:not(.sub-menu-header).is-overflowing-right.is-overflowing-right-first{border-top-right-radius:1.25rem}#main-menu .menu-nav .menu-nav-inner>li>ul>li:not(.sub-menu-header).is-overflowing-right.is-overflowing-right-last{border-bottom-right-radius:1.25rem}#main-menu .menu-nav .menu-nav-inner>li>ul>li.prepend-separator{margin:0}#main-menu .menu-nav .menu-nav-inner>li>ul>li>.menu-item-content>.item-text.btn{padding-right:1.15rem}#main-menu .menu-nav .menu-nav-inner>li.has-submenu-wide>ul{min-width:16.5625rem}#main-menu .menu-nav .menu-nav-inner>li.hover>ul,#main-menu .menu-nav .menu-nav-inner>li:has(input:focus)>ul{-webkit-transform:translate(13.375rem, 0);transform:translate(13.375rem, 0)}#main-menu .menu-button{--bs-btn-color: #f7f7f3;--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: #f7f7f3;--bs-btn-hover-bg: #ea644b;--bs-btn-hover-border-color: #ea644b;--bs-btn-focus-shadow-rgb: 247, 247, 243;--bs-btn-active-color: #f7f7f3;--bs-btn-active-bg: #ea644b;--bs-btn-active-border-color: #ea644b;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #f7f7f3;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: transparent;width:100%;border-bottom-right-radius:1.25rem;border-bottom-left-radius:1.25rem;padding-top:1rem !important;padding-bottom:1rem !important}#main-menu .menu-button .cico{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#main-menu .menu-button:hover .cico{-webkit-transform:translateX(0.25rem);transform:translateX(0.25rem)}.cell-contact{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:15.625rem;min-height:0;width:initial;min-width:initial;max-width:11.875rem}.cell-contact img{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0;max-height:none;height:auto;width:50%;-o-object-fit:contain;object-fit:contain;-ms-flex-item-align:center;align-self:center}.cell-contact .btn{position:absolute;left:50%;bottom:.75rem;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:initial;-webkit-box-pack:initial;-ms-flex-pack:initial;justify-content:initial}}@media(min-width: 992px){#main-menu-wrapper{margin-left:-488px}body.has-menu #page-content>.container:not(.ignore-menu),body.has-menu #page-content .container.fluid-content-aligned{padding-left:calc(11.875rem + 0rem + .3125rem + 1.5rem) !important}body.has-menu #page-content>.container-fluid>.container.fluid-content-aligned{position:relative;left:50%;margin-left:-488px;max-width:976px}}@media(min-width: 1200px){#main-menu-wrapper{margin-left:-590px}body.has-menu #page-content>.container:not(.ignore-menu),body.has-menu #page-content .container.fluid-content-aligned{padding-left:calc(11.875rem + 0rem + .3125rem + 1.5rem) !important}body.has-menu #page-content>.container-fluid>.container.fluid-content-aligned{position:relative;left:50%;margin-left:-590px;max-width:1180px}}@media(min-width: 1366px){#main-menu-wrapper{margin-left:-674px}body.has-menu #page-content>.container:not(.ignore-menu),body.has-menu #page-content .container.fluid-content-aligned{padding-left:calc(11.875rem + 0rem + .3125rem + 1.5rem) !important}body.has-menu #page-content>.container-fluid>.container.fluid-content-aligned{position:relative;left:50%;margin-left:-674px;max-width:1348px}}.menu-trigger{display:none}.menu-trigger:checked~.burger-wrapper .burger{background-color:rgba(0,0,0,0);width:35px}.menu-trigger:checked~.burger-wrapper .burger:after,.menu-trigger:checked~.burger-wrapper .burger:before{top:0;width:35px;-webkit-transition:top 250ms 50ms ease,width 100ms ease,-webkit-transform 250ms 300ms ease;transition:top 250ms 50ms ease,width 100ms ease,-webkit-transform 250ms 300ms ease;transition:top 250ms 50ms ease,width 100ms ease,transform 250ms 300ms ease;transition:top 250ms 50ms ease,width 100ms ease,transform 250ms 300ms ease,-webkit-transform 250ms 300ms ease}.menu-trigger:checked~.burger-wrapper .burger:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.menu-trigger:checked~.burger-wrapper .burger:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.burger-wrapper{cursor:pointer;width:35px;height:26px}.burger-wrapper .burger{position:relative;width:25px;height:4px;border-radius:.625rem;background-color:#ede5dc;-webkit-transition:background-color 10ms 250ms ease,width 50ms ease;transition:background-color 10ms 250ms ease,width 50ms ease;-webkit-transform:translateY(11px);transform:translateY(11px)}.burger-wrapper .burger:before,.burger-wrapper .burger:after{content:"";position:absolute;height:4px;border-radius:.625rem;background-color:#ede5dc;-webkit-transition:top 250ms 300ms ease,width 100ms 150ms ease,-webkit-transform 250ms 50ms ease;transition:top 250ms 300ms ease,width 100ms 150ms ease,-webkit-transform 250ms 50ms ease;transition:top 250ms 300ms ease,width 100ms 150ms ease,transform 250ms 50ms ease;transition:top 250ms 300ms ease,width 100ms 150ms ease,transform 250ms 50ms ease,-webkit-transform 250ms 50ms ease}.burger-wrapper .burger:before{width:35px;top:-11px}.burger-wrapper .burger:after{width:15px;top:11px}.show-when-viewport-too-low{display:none}@media(min-width: 992px)and (height < 48rem){#main-menu-wrapper .hide-when-viewport-too-low{display:none !important}#main-menu-wrapper .show-when-viewport-too-low{display:initial}#main-menu-wrapper>.cell-contact{display:none !important}#main-menu-wrapper #main-menu .menu-brand{padding-top:1rem !important}#main-menu-wrapper #main-menu .menu-brand img{height:2.5rem}#main-menu-wrapper #main-menu .cell-contact{display:block}#main-menu-wrapper #main-menu .cell-contact .btn{position:static;-webkit-transform:translate(0);transform:translate(0)}}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL21haW4tbWVudS5jc3MiLCJtYXBwaW5ncyI6IjtBQUFBLDRCQVNJLG1SQUlBLCtNQUlBLG9VQUlBLHFkQUlBLHlSQUlBLHlQQUlBLHlSQUdGLDhCQUNBLHdCQU1BLHNOQUNBLDBHQUNBLDBGQU9BLDhDQzJPSSw0QkFMSSxDRHBPUiwyQkFDQSwyQkFLQSx5QkFDQSxnQ0FDQSxzQkFDQSxnQ0FFQSwwQkFDQSxpQ0FFQSw2Q0FDQSxxQ0FDQSwyQkFDQSxxQ0FFQSwyQ0FDQSxvQ0FDQSwwQkFDQSxvQ0FHQSw0QkFFQSx5QkFDQSxrQ0FDQSxnQ0FFQSwrQkFDQSx1Q0FNQSx5QkFDQSw4QkFDQSwyQkFHQSx1QkFDQSx5QkFDQSwyQkFDQSxvREFFQSw2QkFDQSwrQkFDQSwrQkFDQSxnQ0FDQSw2QkFDQSxvREFDQSwrQkFHQSxtREFDQSw0REFDQSxxREFDQSw0REFJQSwrQkFDQSw4QkFDQSw4Q0FJQSwrQkFDQSxzQ0FDQSxpQ0FDQSx3Q0VuSEUsNEJBQ0UscUJBUUYsMk5BQ0UsbUJBQ0EsVUFDQSxvSUFPTix1QkFDRSxtQkMwWXdDLENEdlkxQyxtQkFDRSxlQUNBLE1BQ0EsVUNtWXdDLENEbFl4QyxXQ2tZd0MsQ0RqWXhDLHFEQUNBLDZFQUNBLFNBQ0EsV0N3T2dDLENEdk9oQyxpQkM2WHdDLENEMVgxQyxXQUNFLGtCQUNBLDRCQzBYd0MsQ0R6WHhDLDRCQ3lYd0MsQ0R4WHhDLFNBQ0EsK0NBQ0EsVUFHRSwyQkFDRSxvR0FDQSxXQUNBLGtCQUNBLFdBQ0EsWUFDQSxNQUNBLE9BQ0EsV0FJSix1QkFDRSxlQ3FXc0MsQ0RwV3RDLHFEQUNBLGtFQUNBLDZFQUNBLHdCQ3JEMEIsQ0RzRDFCLGFDdkQwQixDRHdEMUIscUJDNEw4QixDRDNMOUIsK0JBS0UsMkNBQ0UsbUJBQ0EsVUFDQSw0REFDQSw2WkFLTix1QkFDRSxxQ0FDQSxZQUNBLFNBQ0EscURBQ0EseUdBQ0Esa0VBQ0Esb0VBRUEsMkJBQ0UsZUFHRiwyQkFDRSxrQkFJSixxQkFHRSxlQUNBLE1BQ0EsT0FDQSx3QkN5VHNDLENEdlR0QyxhQ3FUc0MsQ0RwVHRDLGdCQUNBLHFCQ2lKOEIsQ0RoSjlCLFdBRUEsa0JBQ0EsVUFDQSxrRUFDQSwyWEN1U3NDLENEclN0QyxxQ0FHRSxrQkFDQSxTQUNBLGdCQUNBLCtCQUNBLFNBRUEsMkNBQ0UsV0FDQSxrQkFDQSxNQUNBLE9BQ0EsV0FDQSxZQUNBLHFCQ3lIMEIsQ0R4SDFCLHdCQzdIc0IsQ0Q4SHRCLFdBR0Ysd0NBQ0UscURBQ0EseUdBR0UsMERBQ0UscUJBQ0EsYUFDQSxjQUNBLHlEQUNBLDRCQUNBLHdCQUNBLGtCQUNBLFdBQ0EsaUJBQ0EsVUFFQSx3REFDQSxzQkFJSiwyREFDRSxrQkFDQSxxQ0FDQSxxQkFDQSxlQ2pFb0IsQ0RrRXBCLGtCQ0lvQixDREhwQixtQkNDb0IsMEJEQ3BCLHFCQUNBLDREQUNBLGdCQU9BLCtFQUNFLDREQUtKLDJDQUNFLGtCQUNBLFdBQ0EsTUFDQSx3QkFDQSxTQUNBLGVBQ0EsbUJBQ0EsV0FDQSxnQkFDQSxxQkM2RHdCLENENUR4Qix3QkN4TG9CLENEeUxwQixnQkFDQSxxREFDQSx5R0FFQSxrQkFDQSxVQUNBLGtFQUNBLGdHQ2dOZ0MsQ0RoTmhDLHdGQ2dOZ0MsQ0RoTmhDLGdGQ2dOZ0MsQ0RoTmhDLGdIQ2dOZ0MsQ0Q5TWhDLGtDQUVBLGdCQUNBLDhCQUdBLGtEQUNFLFdBQ0Esa0JBQ0EsTUFDQSxPQUNBLFdBQ0EsMEJBQ0EscUJDcUNzQixDRHBDdEIsd0JDaE5rQixDRGlObEIsV0FHRixpRUFDRSxjRWxKVixxQkFJRSx5RUFDRSxtRUFDRSxxQkFDQSwyQ0FPSix3Q0ZtSU0saUVFbElKLHdCQUdBLG9GQUVFLFNGb0lpRyxDRW5JakcsVUZtSStHLENFbEkvRyx3QkFDQSw0QkExQlksQ0E2QlosaUJGOEh5SixDRTVIM0osMEZBRUUsaUJGMEhvSSxDRXpIcEksZUFDQSxrQkRwR3NCLENDcUd0QixxRURzTGtDLENDcExwQywwRkFFRSw0QkZtSHNNLENFaEh0TSxpQkZnSHlKLENFL0d6SixlRitHK0MsQ0U5Ry9DLG1CRDBTa0MsR0R4TGhDLDhDQUNFLGFBR0YsOENBQ0UsbUJBQ0Esc0JBRUEsOERBQ0UsbUJBQ0EsZUM4SzRCLENEN0s1Qix3QkMzT2dCLENENE9oQiw4QkNTb0IsQ0RScEIsK0JDUW9CLENETnBCLGdCQUNBLE1BQ0EsVUFDQSxrQ0FDQSxrRkFFQSxpRkFDRSxxREFDQSxrRUFDQSxvRUFFQSw0RkFDRSxpQkM3RlksQ0Q4RlosZ0JBQ0EsZUNqS1ksQ0RrS1osa0JBQ0EsYUM5UFksQ0QrUFoseUJBRUEsa0dBQ0UsZ0JDcEdVLENEcUdWLGVDMUtVLENEMktWLG9CQU1SLGdFQUNFLGtCQUNBLGtCQUNBLG1CQUVBLHVFQUNFLFdBQ0Esa0JBQ0EsTUFDQSxVQUNBLFdBQ0EsWUFDQSx3QkM5UWMsQ0RrUmxCLGlFQUNFLGtCQUNBLHFCQUNBLGdCQUNBLFdBQ0EsbUJBRUEseUVBQ0Usb0JBQ0EsYUNwU2MsQ0RxU2QsMEJBRUEsd0tBRUUsZUFJSixnRkFDRSwwRUFDQSx3RUFDQSxtQkFDQSxlQ3ZOYyxDRXhGNUIsd0JBQ0EseUJBQ0EsbUNBQ0EsOEJBQ0EsMkJBQ0EscUNBQ0Esc0NBQ0EsK0JBQ0EsNEJBQ0Esc0NBQ0EsNkJBQ0EsaUNBQ0Esa0NBQ0EsNENBK0JBLDhCQUNBLDRCSjhOSSw0QkFMSSxDSXZOUiw0QkhtUmMsb0JBQ0EscUJBR0Ysd0pBRUUsb0JBQ0EsYUMzVWMsQ0Q0VWQsZ0JDN0tjLENEOEtkLGVDblBjLENEb1BkLGNBQ0Esb0JBRUEsOE1BQ0UsMEhBWUosdUVBQ0UscUJBTUUsME5BQ0UsZ0JBQ0Esc0lJN1NoQiw0Qkp1VFEsaURBQ0UsbUJBQ0EsVUFDQSw2SkFRUix3Q0FDRSxVQUVBLDJEQUNFLGtCQUNBLHFCQUNBLGdCQUNBLFdBQ0EsbUJBRUEsMEVBQ0UsbUJBQ0EsZUM5U2tCLENEK1NsQixvQkd2WVYsd0JBQ0EseUJBQ0EsbUNBQ0EsOEJBQ0EsMkJBQ0EscUNBQ0EseUNBQ0EsK0JBQ0EsNEJBQ0Esc0NBQ0EsNkJBQ0EsaUNBQ0Esa0NBQ0EsNENBK0JBLDhCQUNBLDRCSjhOSSw0QkFMSSxDSXZOUiw0QkhpWFUsMktBQ0UsZ0NBQ0Esd0NBQ0EsOENBS0osNkdBQ0UsbUJBQ0EsVUFDQSw0REFDQSw0WENuQzhCLENEc0Q5Qiw0TEcvYlYsd0JBQ0EscUJBQ0EsK0JBQ0EsOEJBQ0EsMkJBQ0EscUNBQ0EseUNBQ0EsK0JBQ0EsNEJBQ0Esc0NBQ0EsNkJBQ0EsaUNBQ0Esa0NBQ0EsNENId2NBLHdCQUNFLHFEQUNBLGtFQUNBLDZFQUlKLG1CQUNFLGVBQ0EsTUFDQSxPQUNBLFdBQ0EsWUFDQSxrQ0NoR3dDLENEaUd4QyxXQUNBLGtCQUNBLDRJQUlGLGNBQ0UsNkJBRUEsbUJBQ0UsV0FDQSxvRUluY0EseUJKb2RFLDRCQUNFLGdCQ3RJa0MsQ0Q0SXBDLHFDQUNFLHdEQUtGLGtDQUNFLCtDQU9NLDBEQUNFLCtEQU9WLHNDQUNFLDhDQU1OLHVCQUNFLGFBR0YsbUJBQ0UsU0FDQSx5R0FDQSxzRUFDQSxxRUFDQSwwQkFDQSxjQUNBLGVDdExzQyxDRHVMdEMsY0FDQSxtQkN0THNDLENEeUx4QyxXQUNFLGtCQUNBLGtDQUNBLGVDNUxzQyxDRDZMdEMsa0JDN0xzQyxDRGdNdEMsY0FDQSxrQkFDQSxrQkFFQSxxQkFDRSw4REFFQSwyQkFDRSxhQUtGLHVEQUNFLHFEQUlKLHVCQUNFLFlBQ0EseUdBQ0EsWUFDQSxxQkM3VjRCLENEZ1c5QiwyQkFDRSxhQUdGLHVCQUNFLGVBQ0EsdURBRUEsK0JBRUEsa0RBRUUsV0FHRiwyQkFDRSxtQkFHRiwyQkFDRSxtQkFDQSxlQ2xPa0MsQ0RxT3BDLGlDQUNFLG1CQUVGLHNDQUNFLG1CQ3hPa0MsQ0Q0T3RDLHFCQUdFLGlCQUNBLFlBQ0EsYUFDQSxlQUNBLFdBQ0EsaUJBQ0EseUJBQ0EsMEJBQ0EsaUNDM1k0QixDRDRZNUIsa0NDNVk0QixDRDZZNUIsd0JDbG9Cd0IsQ0Rvb0J4QixtQkFDQSxVQUNBLDRDQUNBLGdCQUNBLG1CQUNBLGlCQUVBLHFDQUdFLGlCQUNBLGdCQUNBLFlBQ0EsVUFFQSwyQ0FDRSxxQkMvWndCLENEbWF4QiwyREFDRSw2QkFJRiwyQ0FHRSxPQUNBLGVBQ0EsZUNqUzhCLENEa1M5Qiw0REFDQSxhQUdBLGlCQUNBLGtDQUNBLGdFQUVBLGtEQUNFLFdBQ0EsUUFDQSxZQUNBLDBCQUNBLCtCQUdGLGlFQUVFLHdCQUNBLDZCRWxuQlosMkNBSUUseUVBQ0UsbUVBQ0UscUJBQ0EsMkNBT0osd0NGaW1CUSxpRUVobUJOLHdCQUdBLG9GQUVFLFNGNGxCaUcsQ0UzbEJqRyxVRjJsQitHLENFMWxCL0csd0JBQ0Esd0JBMUJZLENBNkJaLGlCRnNsQnlKLENFcGxCM0osMEZBRUUsaUJGa2xCb0ksQ0VqbEJwSSxlQUNBLGtCRHJHc0IsQ0NzR3RCLHFFRHNMa0MsQ0NwTHBDLDBGQUVFLDRCRjJrQm9NLENFeGtCcE0saUJGd2tCeUosQ0V2a0J6SixlRnVrQmlELENFdGtCakQscUJGZ2pCNEIsR0lqbkJoQyx5Qko0b0JRLDhDQUNFLG1CQUNBLHNCQUdBLDhEQUVFLGlCQWxDb0IsQ0FxQ2xCLDRGQUNFLGNDdmlCVSxDRHdpQlYsaUJBRUEsa0dBQ0UsaUJDMWlCUSxDRGtqQmQseUZBQ0Usd0JDaHRCWSxDRGt0Qlosb0hBQ0UsK0JDL2RjLENEa2VoQixtSEFDRSxrQ0NuZWMsQ0R3ZXBCLGdFQUNFLFNBSUEsZ0ZBQ0Usc0JBT04sNERBQ0UscUJBUUYsNkdBQ0UsNEVBZVYsd0JHandCRix3QkFDQSx5QkFDQSxtQ0FDQSw4QkFDQSwyQkFDQSxxQ0FDQSx5Q0FDQSwrQkFDQSw0QkFDQSxzQ0FDQSw2QkFDQSxpQ0FDQSxrQ0FDQSw0Q0hvd0JJLFdBRUEsa0NDaGlCNEIsQ0RpaUI1QixpQ0NqaUI0QixDRGtpQjVCLDRCQUNBLCtCQUVBLDhCQUNFLHFFQ2hnQmtDLENEb2dCbEMsb0NBQ0Usb0VBTVIsY0FDRSxrQkFDQSxxREFDQSx5R0FDQSxxQkFDQSxhQUNBLGNBQ0Esa0JBQ0Esb0JBRUEsa0JBQ0UscUNBQ0EsYUFDQSxnQkFDQSxZQUNBLFVBQ0EseUNBQ0EsNkNBR0YsbUJBQ0Usa0JBQ0EsU0FDQSxjQUNBLDhEQUNBLGNBQ0Esd0VJbnhCRix5QkpxeUJFLG1CQUNFLG1CQWVJLHNIQVFFLG1FQU1FLDhFQUlFLGtCQUNBLFNBQ0Esa0JBTFcsQ0FNWCxpQkkxMEJkLDBCSnF5QkUsbUJBQ0UsbUJBZUksc0hBUUUsbUVBTUUsOEVBSUUsa0JBQ0EsU0FDQSxrQkFMVyxDQU1YLGtCSTEwQmQsMEJKcXlCRSxtQkFDRSxtQkFlSSxzSEFRRSxtRUFNRSw4RUFJRSxrQkFDQSxTQUNBLGtCQUxXLENBTVgsa0JBMkJsQixjQUNFLGFBSUksOENBQ0UsK0JBQ0EsV0FFQSx5R0FDRSxNQUNBLFdBQ0EsdVdBSUYscURBQ0Usd0RBRUYsb0RBQ0UsMERBT1YsZ0JBQ0UsZUFDQSxXQUNBLFlBRUEsd0JBQ0Usa0JBQ0EsV0FDQSxXQUNBLHFCQ25zQjhCLENEb3NCOUIsd0JDOTZCMEIsQ0QrNkIxQixnSUFFQSw4REFFQSw2REFFRSxXQUNBLGtCQUNBLFdBQ0EscUJDOXNCNEIsQ0Qrc0I1Qix3QkN6N0J3QixDRDA3QnhCLDhYQUtGLCtCQUNFLFdBQ0EsVUFHRiw4QkFDRSxXQUNBLFNBS04sNEJBQ0UsYUFLQSw2Q0FFSSwrQ0FDRSx3QkFHRiwrQ0FDRSxnQkFHRixpQ0FDRSx3QkFJQSwwQ0FDRSw0QkFFQSw4Q0FDRSxjQUlKLDRDQUNFLGNBRUEsaURBQ0UsZ0JBQ0Esa0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jZXJib2Itd3AvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly9jZXJib2Itd3AvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIndlYnBhY2s6Ly9jZXJib2Itd3AvLi9zcmMvc2Nzcy9wYXJ0cy9tYWluLW1lbnUuc2NzcyIsIndlYnBhY2s6Ly9jZXJib2Itd3AvLi9zcmMvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vY2VyYm9iLXdwLy4vc3JjL3Njc3MvX21peGlucy5zY3NzIiwid2VicGFjazovL2NlcmJvYi13cC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly9jZXJib2Itd3AvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIjpyb290LFxuW2RhdGEtYnMtdGhlbWU9XCJsaWdodFwiXSB7XG4gIC8vIE5vdGU6IEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuXG4gIC8vIENvbG9yc1xuICAvL1xuICAvLyBHZW5lcmF0ZSBwYWxldHRlcyBmb3IgZnVsbCBjb2xvcnMsIGdyYXlzLCBhbmQgdGhlbWUgY29sb3JzLlxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXlzIHtcbiAgICAtLSN7JHByZWZpeH1ncmF5LSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXJnYiB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYjogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy10ZXh0IHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1iZy1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZSB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJvcmRlci1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fXdoaXRlLXJnYjogI3t0by1yZ2IoJHdoaXRlKX07XG4gIC0tI3skcHJlZml4fWJsYWNrLXJnYjogI3t0by1yZ2IoJGJsYWNrKX07XG5cbiAgLy8gRm9udHNcblxuICAvLyBOb3RlOiBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG4gIC0tI3skcHJlZml4fWdyYWRpZW50OiAjeyRncmFkaWVudH07XG5cbiAgLy8gUm9vdCBhbmQgYm9keVxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fXJvb3QtZm9udC1zaXplOiAjeyRmb250LXNpemUtcm9vdH07XG4gIH1cbiAgLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1iYXNlKX07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLWJhc2UsIC0tI3skcHJlZml4fWJvZHktZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtYmFzZX07XG4gIC0tI3skcHJlZml4fWJvZHktbGluZS1oZWlnaHQ6ICN7JGxpbmUtaGVpZ2h0LWJhc2V9O1xuICBAaWYgJGJvZHktdGV4dC1hbGlnbiAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1ib2R5LXRleHQtYWxpZ246ICN7JGJvZHktdGV4dC1hbGlnbn07XG4gIH1cblxuICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmd9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmcpfTtcblxuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcjogI3skYm9keS1lbXBoYXNpcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktZW1waGFzaXMtY29sb3IpfTtcblxuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3I6ICN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZzogI3skYm9keS1zZWNvbmRhcnktYmd9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktYmcpfTtcblxuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmd9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWJnKX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuXG4gIC0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWxpbmstZGVjb3JhdGlvbjogI3skbGluay1kZWNvcmF0aW9ufTtcblxuICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yOiAjeyRsaW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWhvdmVyLWNvbG9yKX07XG5cbiAgQGlmICRsaW5rLWhvdmVyLWRlY29yYXRpb24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1kZWNvcmF0aW9uOiAjeyRsaW5rLWhvdmVyLWRlY29yYXRpb259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcjogI3skbWFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZzogI3skbWFyay1iZ307XG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9yZGVyLXZhclxuICAtLSN7JHByZWZpeH1ib3JkZXItd2lkdGg6ICN7JGJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1zdHlsZTogI3skYm9yZGVyLXN0eWxlfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudH07XG5cbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc206ICN7JGJvcmRlci1yYWRpdXMtc219O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnOiAjeyRib3JkZXItcmFkaXVzLWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14bDogI3skYm9yZGVyLXJhZGl1cy14bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsOiAjeyRib3JkZXItcmFkaXVzLXh4bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtMnhsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGwpOyAvLyBEZXByZWNhdGVkIGluIHY1LjMuMCBmb3IgY29uc2lzdGVuY3lcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1waWxsOiAjeyRib3JkZXItcmFkaXVzLXBpbGx9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9yZGVyLXZhclxuXG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3c6ICN7JGJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtOiAjeyRib3gtc2hhZG93LXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1sZzogI3skYm94LXNoYWRvdy1sZ307XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQ6ICN7JGJveC1zaGFkb3ctaW5zZXR9O1xuXG4gIC8vIEZvY3VzIHN0eWxlc1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1mb2N1cy12YXJpYWJsZXNcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy13aWR0aDogI3skZm9jdXMtcmluZy13aWR0aH07XG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctb3BhY2l0eTogI3skZm9jdXMtcmluZy1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1jb2xvcjogI3skZm9jdXMtcmluZy1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1mb2N1cy12YXJpYWJsZXNcblxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1mb3JtLXZhbGlkYXRpb24tdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3I6ICN7JGZvcm0tdmFsaWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS12YWxpZC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0taW52YWxpZC1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZm9ybS12YWxpZGF0aW9uLXZhcmlhYmxlc1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG5cbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICAgIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZy1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcjogI3skYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcjogI3skYm9keS1zZWNvbmRhcnktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1iZy1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZzogI3skYm9keS10ZXJ0aWFyeS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWJnLWRhcmspfTtcblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtdGV4dC1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS10ZXh0LWVtcGhhc2lzOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYmctc3VidGxlOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJvcmRlci1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICAtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvci1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3I6ICN7JGxpbmstY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1ob3Zlci1jb2xvci1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1jb2RlLWNvbG9yOiAjeyRjb2RlLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcjogI3skbWFyay1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1oaWdobGlnaHQtYmc6ICN7JG1hcmstYmctZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3I6ICN7JGJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudC1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3I6ICN7JGZvcm0tdmFsaWQtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0taW52YWxpZC1ib3JkZXItY29sb3ItZGFya307XG4gICAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWRhcmstbW9kZS12YXJzXG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZGltZW5zaW9uLW5vLW5vbi1udW1lcmljLXZhbHVlc1xuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCBkaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIGNhbGMoXCIgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgXCIgLSBcIiwgXCIgKyBcIikgKyAkdmFyaWFibGUtd2lkdGggKyBcIilcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWQtdmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkLXZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkLXZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZC12YWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBtYWluIG1lbnUgc3R5bGVzXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdXNlIFwic2FzczptYXBcIjtcblxuLy8gQ29tbW9uIGltcG9ydHNcbkBpbXBvcnQgXCIuLi9lbnRyeXBvaW50XCI7XG5cbmJvZHkge1xuICAvLyBQYWdlcyB3aXRoIG1lbnU6IHBhZCBjb250YWluZXJzIHRvIHRoZSBsZWZ0IHRvIGVuc3VyZSBtZW51IGhhcyByb29tXG4gICYuaGFzLW1lbnUge1xuICAgICNwYWdlLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoJG1haW4tbWVudS1tb2JpbGUtaGVpZ2h0ICsgJG1haW4tbWVudS1tb2JpbGUtc3BhY2UtYXJvdW5kKTtcbiAgICB9XG4gIH1cblxuICAmLm1lbnUtc2hvd2luZyxcbiAgJjpoYXMoI21haW4tbWVudSAubWVudS1uYXYtaW5uZXIgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmhvdmVyKSxcbiAgLy8gJjpoYXMoI21haW4tbWVudSAubWVudS1uYXYtaW5uZXIgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyKSxcbiAgJjpoYXMoI21haW4tbWVudSAubWVudS1uYXYtaW5uZXIgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIGlucHV0OmZvY3VzKSB7XG4gICAgI21haW4tbWVudS1vdmVybGF5IHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbi1kdXJhdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICR0cmFuc2l0aW9uLWR1cmF0aW9uLWVhc2luZztcbiAgICB9XG4gIH1cbn1cblxuLy8gUG9zaXRpb24gdG9wLWFsaWduZWQgdG9hc3RzIGJlbG93IG1vYmlsZSBtZW51XG4udG9hc3QtY29udGFpbmVyLnRvcC0wIHtcbiAgbWFyZ2luLXRvcDogJG1haW4tbWVudS1tb2JpbGUtaGVpZ2h0O1xufVxuXG4jbWFpbi1tZW51LXdyYXBwZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogJG1haW4tbWVudS1tb2JpbGUtc3BhY2UtYXJvdW5kO1xuICByaWdodDogJG1haW4tbWVudS1tb2JpbGUtc3BhY2UtYXJvdW5kO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogJHppbmRleC1tZW51O1xuICBwYWRkaW5nLXRvcDogJG1haW4tbWVudS1tb2JpbGUtc3BhY2UtYXJvdW5kO1xufVxuXG4jbWFpbi1tZW51IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6ICRtYWluLW1lbnUtbW9iaWxlLXdpZHRoO1xuICBtYXgtd2lkdGg6ICRtYWluLW1lbnUtbW9iaWxlLXdpZHRoO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gICYuc2hhZG93LXNtIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3ctc20pICFpbXBvcnRhbnQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LWlubmVyIHtcbiAgICBoZWlnaHQ6ICRtYWluLW1lbnUtbW9iaWxlLWhlaWdodDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xuICAgIGNvbG9yOiAkbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgcGFkZGluZzogLjVyZW0gLjVyZW0gLjVyZW0gMXJlbTtcbiAgfVxuXG4gIC5tZW51LXRyaWdnZXIge1xuICAgICY6Y2hlY2tlZCB7XG4gICAgICB+IC5tZW51LW5hdiB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICB0cmFuc2l0aW9uOm9wYWNpdHkgJG1haW4tbWVudS10cmFuc2l0aW9ucy1zaG93O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LWJyYW5kIHtcbiAgICBmbGV4OiAxO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICA+IGRpdiB7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gIH1cblxuICAubWVudS1uYXYge1xuICAgICRzdWJtZW51LW1vYmlsZS1vdmVybGFwLWhlaWdodDogJG1haW4tbWVudS1tb2JpbGUtaGVpZ2h0OyAvLyAyICogJGJvcmRlci1yYWRpdXMtbGc7XG5cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICRtYWluLW1lbnUtbW9iaWxlLXdpZHRoO1xuICAgIC8vIGhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZzogJG1haW4tbWVudS1tb2JpbGUtc3BhY2UtYXJvdW5kO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAlKTtcbiAgICB0cmFuc2l0aW9uOiAkbWFpbi1tZW51LXRyYW5zaXRpb25zLWhpZGU7XG5cbiAgICAubWVudS1uYXYtaW5uZXIge1xuICAgICAgJHN1Ym1lbnUtcGFkZGluZy1yaWdodDogMnJlbTtcblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiBjYWxjKCAkbWFpbi1tZW51LW1vYmlsZS1oZWlnaHQgLSAkc3VibWVudS1tb2JpbGUtb3ZlcmxhcC1oZWlnaHQgKTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiBjYWxjKCRzdWJtZW51LW1vYmlsZS1vdmVybGFwLWhlaWdodCArIC43NXJlbSkgLjc1cmVtIC43NXJlbTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAmLmhhcy1jcGYge1xuICAgICAgICAgIC5jcGYtbG9nbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9waWN0by1jcGYtdGlueS5wbmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC40cmVtO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIC8vIEZvcmNlIEdQVSByZW5kZXJpbmcgdG8gcHJldmVudCBzdWJwaXhlbCBzaGlmdHNcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAubWVudS1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgICBmb250LXNpemU6ICRoMTAtZm9udC1zaXplO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaDgtZm9udC1zaXplO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkoJGJwLWRlc2t0b3ApIHtcbiAgICAgICAgICAvLyAgIGZvbnQtc2l6ZTogJGg3XzUtZm9udC1zaXplO1xuICAgICAgICAgIC8vICAgbGluZS1oZWlnaHQ6ICRoNi1mb250LXNpemU7XG4gICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgLnRleHQtaG92ZXItcHJpbWFyeSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzdWItbWVudVxuICAgICAgICA+IHVsIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArICRtYWluLW1lbnUtbW9iaWxlLXNwYWNlLWFyb3VuZCk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygxMDApO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTMwJSwgMCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogJG1haW4tbWVudS10cmFuc2l0aW9ucy1oaWRlO1xuXG4gICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIgKiAjeyRtYWluLW1lbnUtbW9iaWxlLXNwYWNlLWFyb3VuZH0pO1xuICAgICAgICAgIC8vIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjtcblxuICAgICAgICAgIC8vIEFsbG93IG1vdXNlbGVhdmUgb2YgcGFyZW50IGxpIG5vdCB0byBoaWRlIHN1Ym1lbnVcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAkbWFpbi1tZW51LW1vYmlsZS1zcGFjZS1hcm91bmQpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhhcyguc3ViLW1lbnUtaGVhZGVyKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIC8vIE5vdyB1c2luZyBib3gtc2hhZG93IGluIHN1Yi1tZW51LWhlYWRlciAob3ZlcmZsb3c6IGF1dG8gY2FuJ3QgbWFrZSB0aGlzIHdvcmthcm91bmQgd29ya2luZylcbiAgICAgICAgICAgIC8vIC8vIFdvcmthcm91bmQgdG8gcHJldmVudCB1Z2x5IHJlbmRlciB3aXRoIGxpZ2h0IHJvdW5kZWQgY29ybmVycyBvZiBzdWItbWVudSBiZWhpbmQgZGFyayByb3VuZGVkIGNvcm5lcnMgb2Ygc3ViLW1lbnUtaGVhZGVyXG4gICAgICAgICAgICAvLyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy14bDtcbiAgICAgICAgICAgIC8vIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy14bDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY3VzdG9tLXNjcm9sbGJhcnMoJG1hcmdpbi1ib3R0b206IDAsICRtYXJnaW4tdG9wOiAkbWFpbi1tZW51LW1vYmlsZS1oZWlnaHQsICR3aWR0aDogNnB4LCAkaGVpZ2h0OiA2cHgsICR0aHVtYi1yb3VuZGVkOiA1cHgsICR0cmFjay1yb3VuZGVkOiA1cHgsICR0aHVtYi1jb2xvcjogJHNlY29uZGFyeSwgJHRyYWNrLWNvbG9yOiByZ2JhKCRzZWNvbmRhcnksIC4zKSApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEhpZGUgMnJkIGxldmVsIHN1Ym1lbnUgb3IgYmV5b25kXG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAuMjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjI1cmVtO1xuXG4gICAgICAgICAgICAmLnN1Yi1tZW51LWhlYWRlciB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogJG1haW4tbWVudS1tb2JpbGUtaGVpZ2h0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IC0xcHggLTFweCAxcHggMXB4ICRzZWNvbmRhcnk7IC8vIFdvcmthcm91bmQgdG8gcHJldmVudCB1Z2x5IHJlbmRlciB3aXRoIGxpZ2h0IHJvdW5kZWQgY29ybmVycyBvZiBzdWItbWVudSBiZWhpbmQgZGFyayByb3VuZGVkIGNvcm5lcnMgb2Ygc3ViLW1lbnUtaGVhZGVyXG5cbiAgICAgICAgICAgICAgPiAubWVudS1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC5pdGVtLXRleHQge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaDgtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQ7XG4gICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGg5LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnByZXBlbmQtc2VwYXJhdG9yIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAuNzVyZW07XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAuNzVyZW07XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IC44cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhbmQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAubWVudS1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAuNHJlbTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG5cbiAgICAgICAgICAgICAgJi5uby1saW5rIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW0gMCAxLjEyNXJlbTtcblxuICAgICAgICAgICAgICAgIC50ZXh0LWhlYWQsXG4gICAgICAgICAgICAgICAgLnRleHQtZm9vdCB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuaXRlbS10ZXh0LmJ0biB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LCAvLyBiYWNrZ3JvdW5kXG4gICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgLy8gYm9yZGVyXG4gICAgICAgICAgICAgICAgICAkc2Vjb25kYXJ5LCAvLyBjb2xvclxuICAgICAgICAgICAgICAgICAgJHByaW1hcnksIC8vIGhvdmVyLWJhY2tncm91bmRcbiAgICAgICAgICAgICAgICAgICRwcmltYXJ5LCAvLyBob3Zlci1ib3JkZXJcbiAgICAgICAgICAgICAgICAgICRsaWdodCwgLy8gaG92ZXItY29sb3JcbiAgICAgICAgICAgICAgICAgICRwcmltYXJ5LCAvLyBhY3RpdmUtYmFja2dyb3VuZFxuICAgICAgICAgICAgICAgICAgJHByaW1hcnksIC8vIGFjdGl2ZS1ib3JkZXJcbiAgICAgICAgICAgICAgICAgICRsaWdodCwgLy8gYWN0aXZlLWNvbG9yXG4gICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgLy8gZGlzYWJsZWQtYmFja2dyb3VuZFxuICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIC8vIGRpc2FibGVkLWJvcmRlclxuICAgICAgICAgICAgICAgICAgJGxpZ2h0IC8vIGRpc2FibGVkLWNvbG9yXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplKC4zMDI1cmVtLCAxLjE1cmVtLCAkaDEwLWZvbnQtc2l6ZSwgNXB4KTtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogLjc1cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IC43NXJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgID4gLnRleHQtaGVhZCxcbiAgICAgICAgICAgICAgPiAudGV4dC1mb290IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC43NXJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRoOS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBpbWdbc3JjKj1waWN0by1yZW1vcnF1ZS1iXSB7XG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCAycyAkZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gQ2FyZXQgP1xuICAgICAgICAgICAgICAvLyAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgLy8gICByaWdodDogLSRzdWJtZW51LXBhZGRpbmctcmlnaHQ7XG4gICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gJjpob3ZlcixcbiAgICAgICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgICAmLmpzLXJlc3VsdC1yZW1vcnF1ZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAubWVudS1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgID4gLnRleHQtaGVhZCxcbiAgICAgICAgICAgICAgICA+IC50ZXh0LWZvb3Qge1xuICAgICAgICAgICAgICAgICAgaW1nW3NyYyo9cGljdG8tcmVtb3JxdWUtYl0ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNTYlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCAuOHMgY3ViaWMtYmV6aWVyKCAwLjY4MCwgLTAuMjUwLCAgMC4yNjUsICAxLjAwMCApOyAvLyAkZWFzZS1pbi1iYWNrLW91dDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJwLWRlc2t0b3ApIHtcbiAgICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIDUwbXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wIDI1MG1zIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMzAwbXMgbGluZWFyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICA+IC5tZW51LWl0ZW0tY29udGVudCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAuNHJlbSAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG5cbiAgICAgICAgICA+IC5pdGVtLXRleHQuYnRuIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuODc1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIC8vIGJhY2tncm91bmRcbiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIC8vIGJvcmRlclxuICAgICAgICAgICAgICAkbGlnaHQsIC8vIGNvbG9yXG4gICAgICAgICAgICAgICRwcmltYXJ5LCAvLyBob3Zlci1iYWNrZ3JvdW5kXG4gICAgICAgICAgICAgICRwcmltYXJ5LCAvLyBob3Zlci1ib3JkZXJcbiAgICAgICAgICAgICAgJGxpZ2h0LCAvLyBob3Zlci1jb2xvclxuICAgICAgICAgICAgICAkcHJpbWFyeSwgLy8gYWN0aXZlLWJhY2tncm91bmRcbiAgICAgICAgICAgICAgJHByaW1hcnksIC8vIGFjdGl2ZS1ib3JkZXJcbiAgICAgICAgICAgICAgJGxpZ2h0LCAvLyBhY3RpdmUtY29sb3JcbiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIC8vIGRpc2FibGVkLWJhY2tncm91bmRcbiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIC8vIGRpc2FibGVkLWJvcmRlclxuICAgICAgICAgICAgICAkbGlnaHQgLy8gZGlzYWJsZWQtY29sb3JcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplKC4zMDI1cmVtLCAxLjE1cmVtLCAkaDEwLWZvbnQtc2l6ZSwgNXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8vICY6aG92ZXIsXG4gICAgICAgICYuaG92ZXIsXG4gICAgICAgICY6aGFzKGlucHV0OmZvY3VzKSB7XG4gICAgICAgICAgPiAubWVudS1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgPiAuaXRlbS10ZXh0LmJ0biB7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItY29sb3IpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItYmcpO1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHN1Yi1tZW51XG4gICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJG1haW4tbWVudS10cmFuc2l0aW9ucy1zaG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBY3RpdmUgbGlua3MgZmVhdHVyZXNcbiAgICAgIGxpIHtcbiAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSxcbiAgICAgICAgJi5jdXJyZW50LW1lbnUtYW5jZXN0b3Ige1xuICAgICAgICAgID4gLm1lbnUtaXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgIC8vIGNvbG9yOiAkcHJpbWFyeTtcblxuICAgICAgICAgICAgLy8gMDcuMjAyNVxuICAgICAgICAgICAgLy8gJjphZnRlciB7XG4gICAgICAgICAgICAvLyAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAvLyAgIHdpZHRoOiByZW0tY2FsYyg2KTtcbiAgICAgICAgICAgIC8vICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICA+IC5pdGVtLXRleHQuYnRuIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoXG4gICAgICAgICAgICAgICAgJHByaW1hcnksIC8vIGJhY2tncm91bmRcbiAgICAgICAgICAgICAgICAkcHJpbWFyeSwgLy8gYm9yZGVyXG4gICAgICAgICAgICAgICAgJGxpZ2h0LCAvLyBjb2xvclxuICAgICAgICAgICAgICAgICRwcmltYXJ5LCAvLyBob3Zlci1iYWNrZ3JvdW5kXG4gICAgICAgICAgICAgICAgJHByaW1hcnksIC8vIGhvdmVyLWJvcmRlclxuICAgICAgICAgICAgICAgICRsaWdodCwgLy8gaG92ZXItY29sb3JcbiAgICAgICAgICAgICAgICAkcHJpbWFyeSwgLy8gYWN0aXZlLWJhY2tncm91bmRcbiAgICAgICAgICAgICAgICAkcHJpbWFyeSwgLy8gYWN0aXZlLWJvcmRlclxuICAgICAgICAgICAgICAgICRsaWdodCwgLy8gYWN0aXZlLWNvbG9yXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIC8vIGRpc2FibGVkLWJhY2tncm91bmRcbiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgLy8gZGlzYWJsZWQtYm9yZGVyXG4gICAgICAgICAgICAgICAgJGxpZ2h0IC8vIGRpc2FibGVkLWNvbG9yXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbiNtYWluLW1lbnUtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1tZW51LW92ZXJsYXktY29sb3I7XG4gIHotaW5kZXg6IGNhbGMoJHppbmRleC1tZW51IC0gMSk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbi1kdXJhdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICAgIHZpc2liaWxpdHkgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZHVyYXRpb24tZWFzaW5nO1xufVxuXG4uY2VsbC1jb250YWN0IHtcbiAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtICRtYWluLW1lbnUtbW9iaWxlLXNwYWNlLWFyb3VuZCAvIDIpO1xuICBcbiAgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gTWFpbiBtZW51IGZvciBkZXNrdG9wXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicC1kZXNrdG9wKSB7XG4gICRtZW51LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuXG4gIGJvZHkge1xuICAgIC8vIFBhZ2VzIHdpdGggbWVudTogcGFkIGNvbnRhaW5lcnMgdG8gdGhlIGxlZnQgdG8gZW5zdXJlIG1lbnUgaGFzIHJvb21cbiAgICAmLmhhcy1tZW51IHtcbiAgICAgIC8vICNwYWdlLWZvb3RlciB7XG4gICAgICAvLyAgICYuY29udGFpbmVyOm5vdCguaWdub3JlLW1lbnUpIHtcbiAgICAgIC8vICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoJG1haW4tbWVudS13aWR0aCArICRtYWluLW1lbnUtc3BhY2UtbGVmdCArICRtYWluLW1lbnUtc3BhY2UtcmlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cblxuICAgICAgI3BhZ2UtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkbWFpbi1tZW51LXNwYWNlLXRvcDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gISBTb21lIEJvb3RzdHJhcCBmZWF0dXJlcyBtYXkgYWRkIGEgPHNjcm9sbGJhciB3aWR0aD4gcGFkZGluZy1yaWdodFxuICAgICYubm9zY3JvbGwtZml4IHtcbiAgICAgICNtYWluLW1lbnUtd3JhcHBlciB7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlICsgJG1haW4tbWVudS1zcGFjZS1sZWZ0IC0gdmFyKC0tI3skcHJlZml4Y2J9c2Nyb2xsYmFyLXdpZHRoKSAvIDIpOyAvLyBwb3NpdGlvbiBtZW51IGF0IDxzcGFjZT4gZGlzdGFuY2UgZnJvbSBsZWZ0XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hZG1pbi1iYXIge1xuICAgICAgI21haW4tbWVudS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCk7XG4gICAgICB9XG5cbiAgICAgICNtYWluLW1lbnUge1xuICAgICAgICAubWVudS1uYXYge1xuICAgICAgICAgIC5tZW51LW5hdi1pbm5lciB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyICogI3skbWFpbi1tZW51LW1vYmlsZS1zcGFjZS1hcm91bmR9IC0gdmFyKC0tI3skcHJlZml4Y2J9YWRtaW4tYmFyLWhlaWdodCkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50b2FzdC1jb250YWluZXIudG9wLTAge1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS13cC1hZG1pbi0tYWRtaW4tYmFyLS1oZWlnaHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAgIFxuICAvLyBSZXNldCB0b2FzdC1jb250YWluZXIgZml4ZWQgdG9wIG1hcmdpbi10b3AgdG8gMFxuICAudG9hc3QtY29udGFpbmVyLnRvcC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgI21haW4tbWVudS13cmFwcGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGluaXRpYWw7XG4gICAgbGVmdDogY2FsYyg1MCUgKyAkbWFpbi1tZW51LXNwYWNlLWxlZnQpOyAvLyBwb3NpdGlvbiBtZW51IGF0IDxzcGFjZT4gZGlzdGFuY2UgZnJvbSBsZWZ0XG4gICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgd2lkdGg6ICRtYWluLW1lbnUtd2lkdGg7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206ICRtYWluLW1lbnUtc3BhY2UtdG9wO1xuICB9XG5cbiAgI21haW4tbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi10b3A6ICRtYWluLW1lbnUtc3BhY2UtdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYWluLW1lbnUtc3BhY2UtdG9wO1xuICAgIC8vIGxlZnQ6IGNhbGMoNTAlICsgJG1haW4tbWVudS1zcGFjZS1sZWZ0KTsgLy8gcG9zaXRpb24gbWVudSBhdCA8c3BhY2U+IGRpc3RhbmNlIGZyb20gbGVmdFxuICAgIC8vIHJpZ2h0OiBpbml0aWFsO1xuICAgIHdpZHRoOiBpbml0aWFsO1xuICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG5cbiAgICAmLnNoYWRvdy1zbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWVudS1sb2FkZWQge1xuICAgICAgLm1lbnUtbmF2IC5tZW51LW5hdi1pbm5lciA+IGxpID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LWlubmVyIHtcbiAgICAgIGhlaWdodDogYXV0bzsgLy8gMDcuMjAyNSAkbWFpbi1tZW51LWhlaWdodDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiAwIDA7IC8vIDA3LjIwMjUgLjc1cmVtICRtYWluLW1lbnUtcGFkZGluZy14IC4yNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRtZW51LWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgLmJ1cmdlci13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1lbnUtYnJhbmQge1xuICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgZmxleDogaW5pdGlhbDtcbiAgICAgIC8vcGFkZGluZzogMS4yNXJlbSBjYWxjKHJlbS1jYWxjKDEwKSAtICRtYWluLW1lbnUtcGFkZGluZy14KSAuNzVyZW07XG4gICAgICBwYWRkaW5nOiAkbWFpbi1tZW51LWJyYW5kLXBhZGRpbmctdG9wICRtYWluLW1lbnUtYnJhbmQtcGFkZGluZy14ICRtYWluLW1lbnUtYnJhbmQtcGFkZGluZy1ib3R0b207XG4gICAgICBcbiAgICAgICYsXG4gICAgICA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIG1hcmdpbi10b3A6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgIGhlaWdodDogJG1haW4tbWVudS1icmFuZC1pbWctaGVpZ2h0O1xuICAgICAgfVxuXG4gICAgICAuYmFzZWxpbmUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgIH1cbiAgICAgIC5iYXNlbGluZS15ZWFyIHtcbiAgICAgICAgZm9udC1zaXplOiAkbWFpbi1tZW51LWJyYW5kLWJhc2VsaW5lLXllYXItZm9udC1zaXplO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LW5hdiB7XG4gICAgICAkc3VibWVudS1vdmVybGFwLXdpZHRoOiAyICogJG1lbnUtYm9yZGVyLXJhZGl1cztcblxuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICB0b3A6IGluaXRpYWw7XG4gICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAuNzVyZW0gMDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRtZW51LWJvcmRlci1yYWRpdXM7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJG1lbnUtYm9yZGVyLXJhZGl1cztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG5cbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgei1pbmRleDogaW5pdGlhbDtcbiAgICAgIG1heC1oZWlnaHQ6IGluaXRpYWw7XG4gICAgICBvdmVyZmxvdzogaW5pdGlhbDtcblxuICAgICAgLm1lbnUtbmF2LWlubmVyIHtcbiAgICAgICAgJHN1Ym1lbnUtcGFkZGluZy1yaWdodDogMS41cmVtO1xuXG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xuICAgICAgICB0b3A6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJG1lbnUtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgID4gLm1lbnUtaXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IC40cmVtIDAgLjRyZW0gLjg1cmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHN1Yi1tZW51XG4gICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAkc3VibWVudS1oZWFkZXItaGVpZ2h0OiBjYWxjKCRtYWluLW1lbnUtYnJhbmQtcGFkZGluZy10b3AgKyAkbWFpbi1tZW51LWJyYW5kLXBhZGRpbmctYm90dG9tICsgJG1haW4tbWVudS1icmFuZC1pbWctaGVpZ2h0ICsgJGxpbmUtaGVpZ2h0LWJhc2UgKiAkbWFpbi1tZW51LWJyYW5kLWJhc2VsaW5lLXllYXItZm9udC1zaXplKTtcblxuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogJG1haW4tbWVudS1zdWJtZW51LW1pbi13aWR0aDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgLy8gRG9uJ3QgYWxsb3cgWSBheGlzIG92ZXJmbG93IHNjcm9sbCBhbnltb3JlXG4gICAgICAgICAgICBvdmVyZmxvdy15OiB1bnNldDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRzdWJtZW51LW92ZXJsYXAtd2lkdGh9KTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aGFzKC5zdWItbWVudS1oZWFkZXIpIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgY3VzdG9tLXNjcm9sbGJhcnMoJG1hcmdpbi1ib3R0b206IDAsICRtYXJnaW4tdG9wOiAkc3VibWVudS1oZWFkZXItaGVpZ2h0LCAkd2lkdGg6IDZweCwgJGhlaWdodDogNnB4LCAkdGh1bWItcm91bmRlZDogNXB4LCAkdHJhY2stcm91bmRlZDogNXB4LCAkdGh1bWItY29sb3I6ICRwcmltYXJ5LCAkdHJhY2stY29sb3I6IHJnYmEoJHNlY29uZGFyeSwgLjMpLCAkc2Nyb2xsYmFyLWNvbG9yOiB0cmFuc3BhcmVudCk7XG4gICAgICAgICAgICAgIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTsgLy8gc2ltdWxhdGUgaW5zZXQgc2Nyb2xsYmFyXG4gICAgICAgICAgICAgIG1pbi13aWR0aDogY2FsYygjeyRtYWluLW1lbnUtc3VibWVudS1taW4td2lkdGh9IC0gI3skbWFpbi1tZW51LXN1Ym1lbnUtc2Nyb2xsYmFyLXdpZHRofSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogLjc1cmVtO1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjc1cmVtO1xuICAgICAgICAgICAgICAvL292ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgICAgJi5zdWItbWVudS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIC8vd2lkdGg6IGNhbGMoMTAwJSArICN7JG1haW4tbWVudS1zdWJtZW51LXNjcm9sbGJhci13aWR0aH0gKyAxcHgpOyAvLyB3YXMgdXNlZCB3aGVuIG92ZXJmbG93LXkgd2FzIGF1dG8gb24gc3ViLW1lbnVcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRzdWJtZW51LWhlYWRlci1oZWlnaHQ7XG5cbiAgICAgICAgICAgICAgICA+IC5tZW51LWl0ZW0tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAuaXRlbS10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaDdfNS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuXG4gICAgICAgICAgICAgICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRoOC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOm5vdCguc3ViLW1lbnUtaGVhZGVyKSB7XG4gICAgICAgICAgICAgICAgLy8gQ2xhc3NlcyBhZGRlZCB0aHJvdWdoIEpTXG4gICAgICAgICAgICAgICAgJi5pcy1vdmVyZmxvd2luZy1yaWdodCB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XG5cbiAgICAgICAgICAgICAgICAgICYuaXMtb3ZlcmZsb3dpbmctcmlnaHQtZmlyc3Qge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICYuaXMtb3ZlcmZsb3dpbmctcmlnaHQtbGFzdCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmLnByZXBlbmQtc2VwYXJhdG9yIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IC5tZW51LWl0ZW0tY29udGVudCB7XG4gICAgICAgICAgICAgICAgPiAuaXRlbS10ZXh0LmJ0biB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjE1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaGFzLXN1Ym1lbnUtd2lkZSB7XG4gICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgbWluLXdpZHRoOiBjYWxjKCRtYWluLW1lbnUtc3VibWVudS13aWRlLW1pbi13aWR0aCAtICRtYWluLW1lbnUtd2lkdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vICY6aG92ZXIsXG4gICAgICAgICAgJi5ob3ZlcixcbiAgICAgICAgICAmOmhhcyhpbnB1dDpmb2N1cykge1xuICAgICAgICAgICAgLy8gc3ViLW1lbnVcbiAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKCRtYWluLW1lbnUtd2lkdGggKyAkbWFpbi1tZW51LXN1Ym1lbnUtc3BhY2UtbGVmdCksIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEFjdGl2ZSBsaW5rcyAtIGNhcmV0ID9cbiAgICAgICAgICAvLyA+IGEge1xuICAgICAgICAgIC8vICAgJjphZnRlciB7XG4gICAgICAgICAgLy8gICAgIGNvbnRlbnQ6ICcnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgLy8gICB9XG4gICAgICAgICAgLy8gfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS1idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoXG4gICAgICAgIHRyYW5zcGFyZW50LCAvLyBiYWNrZ3JvdW5kXG4gICAgICAgIHRyYW5zcGFyZW50LCAvLyBib3JkZXJcbiAgICAgICAgJGxpZ2h0LCAvLyBjb2xvclxuICAgICAgICAkcHJpbWFyeSwgLy8gaG92ZXItYmFja2dyb3VuZFxuICAgICAgICAkcHJpbWFyeSwgLy8gaG92ZXItYm9yZGVyXG4gICAgICAgICRsaWdodCwgLy8gaG92ZXItY29sb3JcbiAgICAgICAgJHByaW1hcnksIC8vIGFjdGl2ZS1iYWNrZ3JvdW5kXG4gICAgICAgICRwcmltYXJ5LCAvLyBhY3RpdmUtYm9yZGVyXG4gICAgICAgICRsaWdodCwgLy8gYWN0aXZlLWNvbG9yXG4gICAgICAgIHRyYW5zcGFyZW50LCAvLyBkaXNhYmxlZC1iYWNrZ3JvdW5kXG4gICAgICAgIHRyYW5zcGFyZW50LCAvLyBkaXNhYmxlZC1ib3JkZXJcbiAgICAgICAgJGxpZ2h0IC8vIGRpc2FibGVkLWNvbG9yXG4gICAgICApO1xuXG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcblxuICAgICAgLmNpY28ge1xuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLmNpY28ge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCguMjVyZW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNlbGwtY29udGFjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygyNTApO1xuICAgIG1pbi1oZWlnaHQ6IDA7IC8vIFBlcm1ldCBkZSByw6l0csOpY2lyIHNpIG7DqWNlc3NhaXJlXG4gICAgd2lkdGg6IGluaXRpYWw7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTkwKTtcblxuICAgIGltZyB7XG4gICAgICBmbGV4OiAxOyAvLyBQcmVuZCBsJ2VzcGFjZSBkaXNwb25pYmxlIHJlc3RhbnRcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IC8vIFBlcm1ldCBkZSByw6l0csOpY2lyXG4gICAgICBtYXgtaGVpZ2h0OiBub25lOyAvLyBTdXBwcmltZSB0b3V0ZSBsaW1pdGF0aW9uXG4gICAgICBoZWlnaHQ6IGF1dG87IC8vIEhhdXRldXIgYXV0b21hdGlxdWVcbiAgICAgIHdpZHRoOiA1MCU7IC8vIENvbnNlcnZlIGxhIGxhcmdldXIgZXhpc3RhbnRlXG4gICAgICBvYmplY3QtZml0OiBjb250YWluOyAvLyBNYWludGllbnQgbGVzIHByb3BvcnRpb25zXG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7IC8vIENlbnRyZSBsJ2ltYWdlIGhvcml6b250YWxlbWVudFxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiAuNzVyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgIGp1c3RpZnktY29udGVudDogaW5pdGlhbDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRqdXN0IGxlZnQgcG9zaXRpb24gb2YgbWVudSBhY2NvcmRpbmcgdG8gYnJlYWtwb2ludFxuQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gIC8vIElnbm9yZSBicmVha3BvaW50cyBiZWxvdyAxc3QgZGVza3RvcCBicmVha3BvaW50XG4gICRpcy1kZXNrdG9wLWJwOiAwICFkZWZhdWx0O1xuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSAkYnAtZGVza3RvcCB7XG4gICAgJGlzLWRlc2t0b3AtYnA6IDE7XG4gIH1cblxuICBAaWYoICRpcy1kZXNrdG9wLWJwID4gMCApIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAjbWFpbi1tZW51LXdyYXBwZXIgey8vICNtYWluLW1lbnUge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSBkaXZpZGUoICRjb250YWluZXItbWF4LXdpZHRoLCAyICk7XG5cbiAgICAgICAgLy8gLy8gRml4IGZ1bGx3aWR0aCBpbiBicmVha3BvaW50cyBsZyBhbmQgeGxcbiAgICAgICAgLy8gLy8gQHNlZSBDRVJCT0JfVEhFTUVfQkFTRV9DT05UQUlORVJfQ0xBU1NFU1xuICAgICAgICAvLyBAaWYgbWFwLmhhcy1rZXkoKGxnOmxnLCB4bDp4bCksICRicmVha3BvaW50KSB7XG4gICAgICAgIC8vICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgICAvLyAgICAgbGVmdDogJG1haW4tbWVudS1zcGFjZS1sZWZ0ICFpbXBvcnRhbnQ7IC8vIGltcG9ydGFudCB0byBjYW5jZWwgbm9zY3JvbGwtZml4XG4gICAgICAgIC8vICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH1cbiAgICAgIH1cblxuICAgICAgYm9keSB7XG4gICAgICAgICYuaGFzLW1lbnUge1xuICAgICAgICAgICNwYWdlLWNvbnRlbnQge1xuICAgICAgICAgICAgPiAuY29udGFpbmVyOm5vdCguaWdub3JlLW1lbnUpLFxuICAgICAgICAgICAgLy8gVGhpcyBpcyB1c2VkIHRvIGFsaWduIGNvbnRlbnQgd2l0aCAuY29udGFpbmVyIHNlY3Rpb25zIHdoZW4gaW5zaWRlIGEgZnVsbHdpZHRoIHNlY3Rpb24gKC5jb250YWluZXItZmx1aWQpXG4gICAgICAgICAgICAvLyBVc2VmdWxsIGFsc28gaW4gYSBmdWxsd2lkdGggc2VjdGlvbiB1c2luZyBvdmVyZmxvdy1hdXRvLXZpc2libGUgbWVjaGFuaWNzIC0gQHNlZSBzcmMvanMvcGFydHMvX2luaXQuanNcbiAgICAgICAgICAgIC5jb250YWluZXIuZmx1aWQtY29udGVudC1hbGlnbmVkIHtcbiAgICAgICAgICAgICAgLy8gJi5jb250YWluZXItbWF4d2lkdGgge1xuICAgICAgICAgICAgICAvLyAgIHBhZGRpbmctbGVmdDogY2FsYygkbWFpbi1tZW51LXdpZHRoICsgJG1haW4tbWVudS1zcGFjZS1sZWZ0ICsgJG1haW4tbWVudS1zcGFjZS1yaWdodCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygkbWFpbi1tZW51LXdpZHRoICsgI3ttYXAtZ2V0KCRwYWdlLXBhZGRpbmctbGVmdCwgJGJyZWFrcG9pbnQpfSArICRtYWluLW1lbnUtc3BhY2UtbGVmdCArICRtYWluLW1lbnUtc3BhY2UtcmlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgICAgIC8vIEFsaWduIGNvbnRlbnQgd2l0aCBub24gZmx1aWQgY29udGFpbmVyc1xuICAgICAgICAgICAgICA+IC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgICYuZmx1aWQtY29udGVudC1hbGlnbmVkIHtcbiAgICAgICAgICAgICAgICAgICRvZmZzZXQteDogLSBkaXZpZGUobWFwLWdldCgkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50KSwgMiwgMyk7XG4gICAgICAgICAgICAgICAgICAvLyRvZmZzZXQteDogaWYoJGJyZWFrcG9pbnQgIT0gJ3h4bCcsIC01MHZ3LCAtIGRpdmlkZShtYXAtZ2V0KCRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnQpLCAyLCAzKSk7XG5cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkb2Zmc2V0LXg7XG4gICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRml4IGZ1bGx3aWR0aCBpbiBicmVha3BvaW50cyBsZyBhbmQgeGxcbiAgICAvLyBAc2VlIENFUkJPQl9USEVNRV9CQVNFX0NPTlRBSU5FUl9DTEFTU0VTXG4gICAgLy8gQGlmIG1hcC5oYXMta2V5KChsZzpsZywgeGw6eGwpLCAkYnJlYWtwb2ludCkge1xuICAgIC8vICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgIC8vICAgICBib2R5IHtcbiAgICAvLyAgICAgICAmLm5vc2Nyb2xsLWZpeCB7XG4gICAgLy8gICAgICAgICAjbWFpbi1tZW51IHtcbiAgICAvLyAgICAgICAgICAgbGVmdDogJG1haW4tbWVudS1zcGFjZS1sZWZ0O1xuICAgIC8vICAgICAgICAgfVxuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuICAgIC8vIH1cbiAgfVxufVxuXG4vLyBIYW1idXJnZXIgYnV0dG9uXG4vLyBAc291cmNlIGh0dHBzOi8vd3d3LnNsaWRlcnJldm9sdXRpb24uY29tL3Jlc291cmNlcy9jc3MtaGFtYnVyZ2VyLW1lbnUvXG4ubWVudS10cmlnZ2VyIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICAmOmNoZWNrZWQge1xuICAgIH4gLmJ1cmdlci13cmFwcGVyIHtcbiAgICAgIC5idXJnZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gIFxuICAgICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAyNTBtcyA1MG1zIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGggMTAwbXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMjUwbXMgMzAwbXMgZWFzZTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJ1cmdlci13cmFwcGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBcbiAgLmJ1cmdlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzYW5kO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTBtcyAyNTBtcyBlYXNlLFxuICAgICAgICAgICAgICAgIHdpZHRoIDUwbXMgZWFzZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTFweCk7XG4gICAgXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2FuZDtcbiAgICAgIHRyYW5zaXRpb246IHRvcCAyNTBtcyAzMDBtcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgd2lkdGggMTAwbXMgMTUwbXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAyNTBtcyA1MG1zIGVhc2U7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICB0b3A6IC0xMXB4O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICB0b3A6IDExcHg7XG4gICAgfVxuICB9XG59XG5cbi5zaG93LXdoZW4tdmlld3BvcnQtdG9vLWxvdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIE5vbi1tb2JpbGVyIG1lbnUgYW5kIHZpZXdwb3J0IHRvbyBsb3c6IG1ha2Ugcm9vbSBmb3IgY29udGFjdCB1cyBibG9ja1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICBAbWVkaWEgKGhlaWdodCA8IDQ4cmVtKSB7XG4gICAgI21haW4tbWVudS13cmFwcGVyIHtcbiAgICAgIC5oaWRlLXdoZW4tdmlld3BvcnQtdG9vLWxvdyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLnNob3ctd2hlbi12aWV3cG9ydC10b28tbG93IHtcbiAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgPiAuY2VsbC1jb250YWN0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAjbWFpbi1tZW51IHtcbiAgICAgICAgLm1lbnUtYnJhbmQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNlbGwtY29udGFjdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgXG4gICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJvb3RzdHJhcCB2YXJpYWJsZXMgb3ZlcnJpZGUgYW5kIG90aGVyIHZhcmlhYmxlc1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQGltcG9ydCAnLi92YXJpYWJsZXMtZWFzaW5nJztcblxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgYnMtO1xuJHByZWZpeGNiOiAgICAgICAgICAgICAgICAgICAgY2ItO1xuJHRleHRkb21haW46ICAgICAgICAgICAgICAgICAgY2VyYm9iO1xuXG4vLyBPcHRpb25zXG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICB0cnVlO1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiAgICAgdHJ1ZTtcblxuJGVuYWJsZS1kYXJrLW1vZGU6ICAgICAgICAgICAgZmFsc2U7XG5cbi8vIENvbG9yc1xuJHByaW1hcnk6ICAgICAgICAgICAgICAgICAgICAgI2VhNjQ0YjsgXG4kc2Vjb25kYXJ5OiAgICAgICAgICAgICAgICAgICAjMmYyZjJkO1xuJGxpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgI2Y3ZjdmMztcbiRkYXJrOiAgICAgICAgICAgICAgICAgICAgICAgICMxYTFhMWE7XG5cbiR3aGl0ZTogICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4kYmxhY2s6ICAgICAgICAgICAgICAgICAgICAgICAjMDAwO1xuXG4kYmVpZ2U6ICAgICAgICAgICAgICAgICAgICAgICAjZjdkOWE0O1xuJGdvbGQ6ICAgICAgICAgICAgICAgICAgICAgICAgI2Y2ZDlhMjtcbiRzYW5kOiAgICAgICAgICAgICAgICAgICAgICAgICNlZGU1ZGM7XG4kc2t5OiAgICAgICAgICAgICAgICAgICAgICAgICAjNTNiYWQ2O1xuJGNwZjogICAgICAgICAgICAgICAgICAgICAgICAgIzBjNDM5MTtcbiRncmVlbjogICAgICAgICAgICAgICAgICAgICAgICM3MWQ0M2I7XG5cbiRyZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICNkYzM1NDU7XG4kcmVkLWxpZ2h0OiAgICAgICAgICAgICAgICAgICB0aW50LWNvbG9yKCRyZWQsIDYwJSk7XG5cbiRzdWNjZXNzOiAgICAgICAgICAgICAgICAgICAgICMxOTg3NTQ7XG4kZGFuZ2VyOiAgICAgICAgICAgICAgICAgICAgICAjZGMzNTQ1O1xuXG4kZ3JhZDEtc3RhcnQ6ICAgICAgICAgICAgICAgICAkcHJpbWFyeTtcbiRncmFkMS1lbmQ6ICAgICAgICAgICAgICAgICAgICNjMjIwMmM7XG5cbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAgICRzZWNvbmRhcnk7XG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgICAkbGlnaHQ7XG5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICAgICRzZWNvbmRhcnk7XG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICAgICAgICAkbGlnaHQ7XG5cbi8vIFNwYWNlcyAobWFyZ2lucywgcGFkZGluZ3MsIGd1dHRlcnMpXG4kc3BhY2VyOiAgICAgICAgICAgICAgICAgICAgICAxcmVtO1xuJHNwYWNlcnM6IChcbiAgMDogICAgICAkc3BhY2VyICogMCxcbiAgXzEyNTogICAkc3BhY2VyICogLjEyNSwgLy8gMnB4XG4gIF8yNTogICAgJHNwYWNlciAqIC4yNSwgIC8vIDRweFxuICBfNTogICAgICRzcGFjZXIgKiAuNSwgICAvLyA4cHhcbiAgXzc1OiAgICAkc3BhY2VyICogLjc1LCAgLy8gMTJweFxuICAxOiAgICAgICRzcGFjZXIsICAgICAgICAvLyAxNnB4XG4gIDFfMjU6ICAgJHNwYWNlciAqIDEuMjUsIC8vIDIwcHhcbiAgMV81OiAgICAkc3BhY2VyICogMS41LCAgLy8gMjRweFxuICAxXzc1OiAgICRzcGFjZXIgKiAxLjc1LCAvLyAyOHB4XG4gIDI6ICAgICAgJHNwYWNlciAqIDIsICAgIC8vIDMycHhcbiAgMl81OiAgICAkc3BhY2VyICogMi41LCAgLy8gNDBweFxuICAzOiAgICAgICRzcGFjZXIgKiAzLCAgICAvLyA0OHB4XG4gIDNfNTogICAgJHNwYWNlciAqIDMuNSwgIC8vIDU2cHhcbiAgNDogICAgICAkc3BhY2VyICogNCwgICAgLy8gNjRweFxuICA0XzU6ICAgICRzcGFjZXIgKiA0LjUsICAvLyA3MnB4XG4gIDU6ICAgICAgJHNwYWNlciAqIDUsICAgIC8vIDgwcHhcbiAgNjogICAgICAkc3BhY2VyICogNiwgICAgLy8gOTZweFxuICA3OiAgICAgICRzcGFjZXIgKiA3LCAgICAvLyAxMTJweFxuICA4OiAgICAgICRzcGFjZXIgKiA4LCAgICAvLyAxMjhweFxuICA5OiAgICAgICRzcGFjZXIgKiA5LCAgICAvLyAxNDRweFxuICAxMDogICAgICRzcGFjZXIgKiAxMCwgICAvLyAxNjBweFxuICAxMTogICAgICRzcGFjZXIgKiAxMSwgICAvLyAxNzZweFxuICAxMjogICAgICRzcGFjZXIgKiAxMiwgICAvLyAxOTJweFxuKTtcblxuLy8gR3JpZCBicmVha3BvaW50c1xuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHgsXG4gIC8veHhsOiAxNDAwcHgsXG4gIHh4bDogMTM2NnB4XG4pO1xuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk3NnB4LCAvLyAxMDB2dyAvLyA5NjBweCAvLyEgMTAwdncgY2F1c2VzIHdhcm5pbmdzIG9uIHNhc3MgY29tcGlsZTogdGhpcyBtYXAgc2hvdWxkIGJlIG9yZGVyZWQgYXNjIGJ1dCB0aGlzIHZhbHVlIGNhbm5vdCBiZSBjb21wYXJlZCwgY2F1c2VzIGFsc28gYSB3cm9uZyBydWxlIEBtYWluLW1lbnUuc2NzcyNsbjgxNSAtIGNhbid0IHJlbWVtYmVyIHdoeSBJIHRyaWVkIDEwMHZ3XG4gIHhsOiAxMTgwcHgsIC8vIDExNDBweFxuICB4eGw6IDEzNDhweCAvLyAxMzIwcHhcbik7XG5cbiR2aWV3cG9ydC1oZWlnaHRzOiAoXG4gIDI1OiAyNXZoLFxuICA1MDogNTB2aCxcbiAgNzU6IDc1dmgsXG4gIDkwOiA5MHZoLFxuICA5NTogOTV2aCxcbiAgMTAwOiAxMDB2aCxcbik7XG5cbi8vIEZvbnRzXG4vLyRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIDEwMDsgLy8gVGhpblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwO1xuJGZvbnQtd2VpZ2h0LXJlZ3VsYXI6ICAgICAgICAgNDAwO1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogICAgICAgICAgNTAwO1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgNjAwO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwO1xuJGZvbnQtd2VpZ2h0LWV4dHJhYm9sZDogICAgICAgODAwO1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgODAwOyAvLyBFeHRyYUJvbGRcbiRmb250LXdlaWdodC1ibGFjazogICAgICAgICAgIDkwMDtcbiRmb250LXdlaWdodC1ib2xkZXN0OiAgICAgICAgIDkwMDsgLy8gQmxhY2sgLSBpbmV4aXN0ZW50IGluIG5hdGl2ZSBib290c3RyYXBcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7IC8vICRmb250LXdlaWdodC1saWdodDtcblxuJGZvbnQtd2VpZ2h0czogKFxuICAvLyBsaWdodGVyOiAgJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIsXG4gIGxpZ2h0OiAgICAgICRmb250LXdlaWdodC1saWdodCxcbiAgbm9ybWFsOiAgICAgJGZvbnQtd2VpZ2h0LXJlZ3VsYXIsXG4gIHJlZ3VsYXI6ICAgICRmb250LXdlaWdodC1yZWd1bGFyLFxuICBtZWRpdW06ICAgICAkZm9udC13ZWlnaHQtbWVkaXVtLFxuICBzZW1pYm9sZDogICAkZm9udC13ZWlnaHQtc2VtaWJvbGQsXG4gIGJvbGQ6ICAgICAgICRmb250LXdlaWdodC1ib2xkLFxuICBleHRyYWJvbGQ6ICAkZm9udC13ZWlnaHQtZXh0cmFib2xkLFxuICBib2xkZXI6ICAgICAkZm9udC13ZWlnaHQtZXh0cmFib2xkLFxuICBibGFjazogICAgICAkZm9udC13ZWlnaHQtYmxhY2ssXG4gIGJvbGRlc3Q6ICAgICRmb250LXdlaWdodC1ibGFjayxcbik7XG5cbiRsaW5lLWhlaWdodC14czogICAgICAgICAgICAgIC44NTsgIC8vIDExLjlweCAtIGluZXhpc3RlbnQgaW4gbmF0aXZlIGJvb3RzdHJhcFxuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS4yNTsgLy8gMTcuNXB4XG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAyOyAgICAvLyAyOHB4XG4kbGluZS1oZWlnaHQteGw6ICAgICAgICAgICAgICAzOyAgICAvLyA0MnB4IC0gaW5leGlzdGVudCBpbiBuYXRpdmUgYm9vdHN0cmFwXG5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNTsgIC8vIDIxcHhcblxuJGxpbmUtaGVpZ2h0czogKFxuICAxOiAgICAxLFxuICB4czogICAkbGluZS1oZWlnaHQteHMsXG4gIDFfMTU6IDEuMTUsXG4gIDFfMjogIDEuMixcbiAgMV8zNTogMS4zNSxcbiAgc206ICAgJGxpbmUtaGVpZ2h0LXNtLFxuICBiYXNlOiAkbGluZS1oZWlnaHQtYmFzZSxcbiAgbGc6ICAgJGxpbmUtaGVpZ2h0LWxnLFxuICB4bDogICAkbGluZS1oZWlnaHQteGwsXG4pO1xuXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICBNb250c2VycmF0LCBzYW5zLXNlcmlmO1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgTW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcblxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgTW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkO1xuLy8kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICBjYWxjKDE2IC8gMTUpO1xuXG4kZW1haWwtZm9udC1mYW1pbHk6ICAgICAgICAgICBNb250c2VycmF0LCBzYW5zLXNlcmlmO1xuXG4kZm9udC1zaXplLW5hdGl2ZS1weDogICAgICAgICAxNnB4OyAgICAvLyBpbmV4aXN0ZW50IGluIG5hdGl2ZSBib290c3RyYXBcbiRmb250LXNpemUtbmF0aXZlOiAgICAgICAgICAgIDFyZW07ICAgICAvLyAxNnB4IC0gaW5leGlzdGVudCBpbiBuYXRpdmUgYm9vdHN0cmFwXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAuODc1cmVtOyAgLy8gMTRweFxuXG4kaF84MC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLW5hdGl2ZSAqIDU7ICAgICAgLy8gODBweFxuJGhfNjAtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1uYXRpdmUgKiAzLjc1OyAgIC8vIDYwcHhcbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtbmF0aXZlICogMy4xMjU7ICAvLyA1MHB4XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLW5hdGl2ZSAqIDIuNTsgICAgLy8gNDBweFxuJGgyXzUtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1uYXRpdmUgKiAyLjE4NzU7IC8vIDM1cHhcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtbmF0aXZlICogMS44NzU7ICAvLyAzMHB4XG4kaDNfNS1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLW5hdGl2ZSAqIDEuNzU7ICAgLy8gMjhweFxuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1uYXRpdmUgKiAxLjU7ICAgIC8vIDI0cHhcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtbmF0aXZlICogMS4zNzU7ICAvLyAyMnB4XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLW5hdGl2ZSAqIDEuMjU7ICAgLy8gMjBweFxuJGg3LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1uYXRpdmUgKiAxLjEyNTsgIC8vIDE4cHggLSBpbmV4aXN0ZW50IGluIG5hdGl2ZSBib290c3RyYXBcbiRoN181LWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtbmF0aXZlICogMTsgICAgICAvLyAxNnB4IC0gaW5leGlzdGVudCBpbiBuYXRpdmUgYm9vdHN0cmFwXG4kaDgtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLW5hdGl2ZSAqIC44NzU7ICAgLy8gMTRweCAtIGluZXhpc3RlbnQgaW4gbmF0aXZlIGJvb3RzdHJhcFxuJGg5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1uYXRpdmUgKiAuNzU7ICAgIC8vIDEycHggLSBpbmV4aXN0ZW50IGluIG5hdGl2ZSBib290c3RyYXBcbiRoMTAtZm9udC1zaXplOiAgICAgICAgICAgICAgICRmb250LXNpemUtbmF0aXZlICogLjY4NzU7ICAvLyAxMXB4IC0gaW5leGlzdGVudCBpbiBuYXRpdmUgYm9vdHN0cmFwXG4kaDExLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkZm9udC1zaXplLW5hdGl2ZSAqIC42MjU7ICAgLy8gMTBweCAtIGluZXhpc3RlbnQgaW4gbmF0aXZlIGJvb3RzdHJhcFxuJGgxMi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1uYXRpdmUgKiAuNTYyNTsgIC8vIDlweCAgLSBpbmV4aXN0ZW50IGluIG5hdGl2ZSBib290c3RyYXBcblxuJGZvbnQtc2l6ZXM6IChcbiAgXzgwOiAgICAkaF84MC1mb250LXNpemUsXG4gIF82MDogICAgJGhfNjAtZm9udC1zaXplLFxuICAxOiAgICAgICRoMS1mb250LXNpemUsXG4gIDI6ICAgICAgJGgyLWZvbnQtc2l6ZSxcbiAgMl81OiAgICAkaDJfNS1mb250LXNpemUsXG4gIDM6ICAgICAgJGgzLWZvbnQtc2l6ZSxcbiAgM181OiAgICAkaDNfNS1mb250LXNpemUsXG4gIDQ6ICAgICAgJGg0LWZvbnQtc2l6ZSxcbiAgNTogICAgICAkaDUtZm9udC1zaXplLFxuICA2OiAgICAgICRoNi1mb250LXNpemUsXG4gIDc6ICAgICAgJGg3LWZvbnQtc2l6ZSxcbiAgN181OiAgICAkaDdfNS1mb250LXNpemUsXG4gIDg6ICAgICAgJGg4LWZvbnQtc2l6ZSxcbiAgOTogICAgICAkaDktZm9udC1zaXplLFxuICAxMDogICAgICRoMTAtZm9udC1zaXplLFxuICAxMTogICAgICRoMTEtZm9udC1zaXplLFxuICAxMjogICAgICRoMTItZm9udC1zaXplLFxuICBub3JtYWw6ICRmb250LXNpemUtYmFzZVxuKTtcblxuJHNjYWxlczogKFxuICA3NTogLjc1LFxuICA4MDogLjgsXG4gIDg1OiAuODUsXG4gIDkwOiAuOSxcbiAgMTAwOiAxLFxuICAxMTA6IDEuMSxcbiAgMTE1OiAxLjE1LFxuICAxMjA6IDEuMixcbiAgMTI1OiAxLjI1XG4pO1xuXG4kd2lkdGhzOiAoXG4gIDU6IDUlLFxuICAxMDogMTAlLFxuICAxNTogMTUlLFxuICAyMDogMjAlLFxuICAyNTogMjUlLFxuICAzMDogMzAlLFxuICA0MDogNDAlLFxuICA1MDogNTAlLFxuICA2MDogNjAlLFxuICA3MDogNzAlLFxuICA3NTogNzUlLFxuICA4MDogODAlLFxuICA5MDogOTAlLFxuICAxMDA6IDEwMCUsXG4gIDExNTogMTE1JSxcbiAgMTI1OiAxMjUlLFxuICAxNTA6IDE1MCUsXG4gIGF1dG86IGF1dG9cbik7XG5cbiRoZWlnaHRzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDgwOiA4MCUsXG4gIDkwOiA5MCUsXG4gIDEwMDogMTAwJSxcbiAgMTEwOiAxMTAlLFxuICAxMTU6IDExNSUsXG4gIDEyNTogMTI1JSxcbiAgYXV0bzogYXV0b1xuKTtcblxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCUsXG4gIHVuc2V0OiB1bnNldFxuKTtcblxuLy8kcmZzLXJlbS12YWx1ZTogMTI7XG5cbi8vIENvbXBvbmVudHNcbiRib3JkZXItcmFkaXVzLXhzOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLW5hdGl2ZSAqIC4xODc1OyAgLy8gM3B4XG4kYm9yZGVyLXJhZGl1cy1tZDogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1uYXRpdmUgKiAuMzEyNTsgIC8vIDVweFxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtbmF0aXZlICogLjYyNTsgICAvLyAxMHB4XG4kYm9yZGVyLXJhZGl1cy1tbDogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1uYXRpdmUgKiAuOTM3NTsgIC8vIDE1cHhcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLW5hdGl2ZSAqIDEuMjU7ICAgLy8gMjBweFxuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgICAgICRmb250LXNpemUtbmF0aXZlICogMS44NzU7ICAvLyAzMHB4XG5cbiR0b2FzdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAuNzVyZW07XG5cbi8vJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIG5vbmU7XG5cbi8vIEJyZWFrcG9pbnRzXG4kYnAtZGVza3RvcDogICAgICAgICAgICAgICAgICAgICAgbGc7XG5cbi8vIFogaW5kZXhlc1xuJHppbmRleC1kZWJ1Z2JhcjogICAgICAgICAgICAgICAgIDMwMDAwO1xuJHppbmRleC1tZW51OiAgICAgICAgICAgICAgICAgICAgIDEwMDtcbiR6aW5kZXgtZm9vdGVyOiAgICAgICAgICAgICAgICAgICAxMDU7XG4kemluZGV4LXR1bm5lbC1uYXZzdGVwczogICAgICAgICAgMTE1O1xuJHppbmRleC1vZmZjYW52YXM6ICAgICAgICAgICAgICAgIDEwNDU7XG4kemluZGV4LW9mZmNhbnZhcy1oYXk6ICAgICAgICAgICAgJHppbmRleC1vZmZjYW52YXMgLSAxO1xuJHppbmRleC10b2FzdDogICAgICAgICAgICAgICAgICAgIDEwMDkwO1xuJHppbmRleC1zZWxlY3Rib3gtb3B0aW9uczogICAgICAgIDEwMzU7IC8vIEFib3ZlICR6aW5kZXgtZml4ZWQsIGJlbG93ICR6aW5kZXgtb2ZmY2FudmFzXG4kemluZGV4LWNvbWJvYm94LW9wdGlvbnM6ICAgICAgICAgMTAzNTsgLy8gQWJvdmUgJHppbmRleC1maXhlZCwgYmVsb3cgJHppbmRleC1vZmZjYW52YXNcbi8vICR6aW5kZXgtc2VsZWN0Ym94LW9wdGlvbnMtbW9kYWw6ICAxMDY1OyAvLyBBYm92ZSAkemluZGV4LW1vZGFsXG5cbi8vIEJvcmRlcnNcbiRib3JkZXItaW1hZ2UtdHdvLWRvdHMtaDogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB3aWR0aD0nMzU4JyBoZWlnaHQ9JzEnIHZpZXdCb3g9JzAgMCAzNTggMSc+PGRlZnM+PGNsaXBQYXRoIGlkPSdjbGlwJz48dXNlIHhsaW5rOmhyZWY9JyNmaWxsJy8+PC9jbGlwUGF0aD48L2RlZnM+PGcgZmlsbD0nbm9uZScgc3Ryb2tlPSdkb3RzQ29sb3InIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxJyBzdHJva2UtZGFzaGFycmF5PScwIDQnPjxyZWN0IGlkPSdmaWxsJyB3aWR0aD0nMzU4JyBoZWlnaHQ9JzEnIHN0cm9rZT0nbm9uZScvPjxwYXRoIGQ9J00wLDBoMzU4TTM1NywwdjFNMzU4LDFoLTM1OE0xLDF2LTEnIGZpbGw9J25vbmUnIGNsaXAtcGF0aD0ndXJsKCNjbGlwKScvPjwvZz48L3N2Zz5cIik7XG4kYm9yZGVyLWltYWdlLXR3by1kb3RzLXY6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgd2lkdGg9JzEnIGhlaWdodD0nMTcwJyB2aWV3Qm94PScwIDAgMSAxNzAnPjxkZWZzPjxjbGlwUGF0aCBpZD0nY2xpcCc+PHVzZSB4bGluazpocmVmPScjZmlsbCcvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGlkPSdmaWxldCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMSkgcm90YXRlKDkwKScgZmlsbD0nbm9uZScgc3Ryb2tlPSdkb3RzQ29sb3InIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxJyBzdHJva2UtZGFzaGFycmF5PScwIDQnPjxyZWN0IGlkPSdmaWxsJyB3aWR0aD0nMTcwJyBoZWlnaHQ9JzEnIHN0cm9rZT0nbm9uZScvPjxwYXRoIGQ9J00wLDBoMTcwTTE2OSwwdjFNMTcwLDFoLTE3ME0xLDF2LTEnIGZpbGw9J25vbmUnIGNsaXAtcGF0aD0ndXJsKCNjbGlwKScvPjwvZz48L3N2Zz5cIik7XG4kYm9yZGVyLWltYWdlLWRvdHMtaDogICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNjc1JyBoZWlnaHQ9JzEnIHZpZXdCb3g9JzAgMCA2NzUgMSc+PGxpbmUgeDI9JzY3NCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMC41IDAuNSknIGZpbGw9J25vbmUnIHN0cm9rZT0nZG90c0NvbG9yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS13aWR0aD0nMScgc3Ryb2tlLWRhc2hhcnJheT0nMCAzJy8+PC9zdmc+XCIpO1xuJGJvcmRlci1pbWFnZS1kb3RzLXY6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEnIGhlaWdodD0nNjc1JyB2aWV3Qm94PScwIDAgMSA2NzUnPjxsaW5lIHkyPSc2NzQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAuNSAwLjUpJyBmaWxsPSdub25lJyBzdHJva2U9J2RvdHNDb2xvcicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEnIHN0cm9rZS1kYXNoYXJyYXk9JzAgMycvPjwvc3ZnPlwiKTtcbiRib3JkZXItaW1hZ2UtZGFzaGVzLWg6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc2NzUnIGhlaWdodD0nMScgdmlld0JveD0nMCAwIDY3NSAxJz48bGluZSB4Mj0nNjc0JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLjUgMC41KScgZmlsbD0nbm9uZScgc3Ryb2tlPSdkYXNoZXNDb2xvcicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEnIHN0cm9rZS1kYXNoYXJyYXk9JzEgNicvPjwvc3ZnPlwiKTtcbiRib3JkZXItaW1hZ2UtZGFzaGVzLXY6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxJyBoZWlnaHQ9JzY3NScgdmlld0JveD0nMCAwIDEgNjc1Jz48bGluZSB5Mj0nNjc0JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLjUgMC41KScgZmlsbD0nbm9uZScgc3Ryb2tlPSdkYXNoZXNDb2xvcicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEnIHN0cm9rZS1kYXNoYXJyYXk9JzEgNScvPjwvc3ZnPlwiKTtcblxuLy8gQmFja2dyb3VuZHNcbiRiZy1pbWFnZS1wbGFpbjogICAgICAgICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMDAgMTAwJz48cmVjdCBmaWxsPSdiZ0NvbG9yJyB4PScwJyB5PScwJyB3aWR0aD0nMTAwJyBoZWlnaHQ9JzEwMCcvPjwvc3ZnPlwiKTtcbiRzdmctc3F1YXJlOiAgICAgICAgICAgICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pZFlNaWQgc2xpY2UnPjxyZWN0IHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIGZpbGw9J2JnQ29sb3InPjwvcmVjdD48L3N2Zz5cIik7XG5cbi8vIFRyYW5zaXRpb25zICAgICAgICBcbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgIC4ycztcbiR0cmFuc2l0aW9uLWVhc2luZzogICAgICAgICAgICAgICAgICAgICAgIGVhc2UtaW4tb3V0O1xuJHRyYW5zaXRpb24tZHVyYXRpb24tZWFzaW5nOiAgICAgICAgICAgICAgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgICAgICAgICAgICAgYWxsICR0cmFuc2l0aW9uLWR1cmF0aW9uLWVhc2luZztcblxuLy8gQ29tcG9uZW50XG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlO1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgICAgICRzZWNvbmRhcnk7XG5cbi8vIEZvY3VzIHJpbmdcbiRmb2N1cy1yaW5nLW9wYWNpdHk6ICAgICAgICAgICAgICAuMjU7XG4kZm9jdXMtcmluZy1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkc2Vjb25kYXJ5LCAkZm9jdXMtcmluZy1vcGFjaXR5KTtcblxuLy8gQnV0dG9uc1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzLW1kO1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIG5vbmU7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICAgICAgbm9uZTtcbiRidXR0b25zLWZpeGVkLXJpZ2h0OiAgICAgICAgICAgICAxcmVtO1xuJGJ1dHRvbnMtZml4ZWQtcmlnaHQtbW9iaWxlOiAgICAgIC41cmVtO1xuJHBhbmVsLWhheS1jbG9zZWQtc2l6ZTogICAgICAgICAgIDUuNjI1cmVtOyAvLyA5MHB4XG4kYnRuLWNsb3NlLXR1bm5lbC1yaWdodDogICAgICAgICAgLjVyZW07XG4kYnRuLWNhcnQtcmlnaHQ6ICAgICAgICAgICAgICAgICAgMXJlbTtcbiRidG4tY2FydC1yaWdodC1tb2JpbGU6ICAgICAgICAgICAuNXJlbTtcblxuLy8gQ2xvc2VcbiRidG4tY2xvc2Utd2lkdGg6ICAgICAgICAgICAgICAgICAxZW07XG4kYnRuLWNsb3NlLWhlaWdodDogICAgICAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgICAgICAuMjVlbTtcbiRidG4tY2xvc2UtcGFkZGluZy15OiAgICAgICAgICAgICAkYnRuLWNsb3NlLXBhZGRpbmcteDtcbiRidG4tY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAkbGlnaHQ7XG4vLyRidG4tY2xvc2UtZm9jdXMtc2hhZG93OiAgICAgICAgICBub25lO1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAgICAgIDE7XG4kYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICAgICAgICAgMTtcbiRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogICAgICAgICAxO1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAgICAgIC4yNTtcbiRidG4tY2xvc2Utd2hpdGUtZmlsdGVyOiAgICAgICAgICBub25lO1xuXG4vLyBJbnB1dFxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpO1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoO1xuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpO1xuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC42NDZyZW07XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgcmVtLWNhbGMoMTIpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICRmb250LXdlaWdodC1tZWRpdW07IC8vICRmb250LXdlaWdodC1yZWd1bGFyO1xuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICRzZWNvbmRhcnk7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuXG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAwIDAgM3B4IHJnYmEoJHdoaXRlLCAxKSwgMCAwIDAgLjI1cmVtIHJnYmEoJHNlY29uZGFyeSwgLjUpO1xuJGlucHV0LWJveC1kYXJrLXNoYWRvdzogICAgICAgICAgIDAgMCAwIDNweCByZ2JhKCRzZWNvbmRhcnksIDEpLCAwIDAgMCAuMjVyZW0gcmdiYSgkd2hpdGUsIDEpO1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgICRpbnB1dC1ib3gtc2hhZG93O1xuXG4kZm9ybS1jb250cm9sLWlzLWxvYWRpbmc6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAwIDIwMCc+PGNpcmNsZSBmaWxsPSdub25lJyBzdHJva2Utb3BhY2l0eT0nMScgc3Ryb2tlPScjeyRzZWNvbmRhcnl9JyBzdHJva2Utd2lkdGg9Jy41JyBjeD0nMTAwJyBjeT0nMTAwJyByPScwJz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdyJyBjYWxjTW9kZT0nc3BsaW5lJyBkdXI9JzEuNScgdmFsdWVzPScxOzgwJyBrZXlUaW1lcz0nMDsxJyBrZXlTcGxpbmVzPScwIC4yIC41IDEnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJz48L2FuaW1hdGU+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nc3Ryb2tlLXdpZHRoJyBjYWxjTW9kZT0nc3BsaW5lJyBkdXI9JzEuNScgdmFsdWVzPScwOzI1JyBrZXlUaW1lcz0nMDsxJyBrZXlTcGxpbmVzPScwIC4yIC41IDEnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJz48L2FuaW1hdGU+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nc3Ryb2tlLW9wYWNpdHknIGNhbGNNb2RlPSdzcGxpbmUnIGR1cj0nMS41JyB2YWx1ZXM9JzE7MCcga2V5VGltZXM9JzA7MScga2V5U3BsaW5lcz0nMCAuMiAuNSAxJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZSc+PC9hbmltYXRlPjwvY2lyY2xlPjwvc3ZnPlwiKTtcblxuLy8gRm9ybSBjaGVja2JveFxuJGZvcm0tY2hlY2staW5wdXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgMS4yNWVtO1xuXG4vLyBGb3JtIHJhZGlvXG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yOiAgICAgICAgICAgICRwcmltYXJ5O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAuMzVlbTtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgMCAwIDAgMC4yNXJlbSByZ2JhKCRzZWNvbmRhcnksIDAuMjUpO1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdy12YWxpZDogICAwIDAgMCAwLjI1cmVtIHJnYmEoJHN1Y2Nlc3MsIDAuMjUpO1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdy1pbnZhbGlkOiAwIDAgMCAwLjI1cmVtIHJnYmEoJGRhbmdlciwgMC4yNSk7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgJHNlY29uZGFyeTtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3I6ICAgICAgICAgICAgJHByaW1hcnk7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yOiAgICAgICAgIHRyYW5zcGFyZW50O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I6ICAgICAkc2Vjb25kYXJ5O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy0yIC0yIDE4IDE4Jz48cmVjdCB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHJ4PSc1JyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpO1xuLy8gJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PHJlY3QgeD0nLTIuNScgeT0nLTIuNScgd2lkdGg9JzUnIGhlaWdodD0nNScgcng9JzAuMzUnIGZpbGw9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIik7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48cmVjdCB4PSctMycgeT0nLTMnIHdpZHRoPSc2JyBoZWlnaHQ9JzYnIHJ4PScyJyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpO1xuJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC12YWxpZC1iZy1pbWFnZTogICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PHJlY3QgeD0nLTMnIHk9Jy0zJyB3aWR0aD0nNicgaGVpZ2h0PSc2JyByeD0nMicgZmlsbD0nI3skc3VjY2Vzc30nLz48L3N2Zz5cIik7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWludmFsaWQtYmctaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48cmVjdCB4PSctMycgeT0nLTMnIHdpZHRoPSc2JyBoZWlnaHQ9JzYnIHJ4PScyJyBmaWxsPScjeyRkYW5nZXJ9Jy8+PC9zdmc+XCIpO1xuXG4vLyBGb3JtIHN3aXRjaFxuJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjM1ZW07XG4kZm9ybS1zd2l0Y2gtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRzZWNvbmRhcnksIDEpOyAvLyByZ2JhKCRwcmltYXJ5LCAxKTtcbiRmb3JtLXN3aXRjaC1iZy1pbWFnZTogICAgICAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48cmVjdCB4PSctMycgeT0nLTMnIHdpZHRoPSc2JyBoZWlnaHQ9JzYnIHJ4PScyJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jb2xvcn0nLz48L3N2Zz5cIik7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcjogICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbiRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICRzZWNvbmRhcnk7IC8vICRwcmltYXJ5O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxyZWN0IHg9Jy0zJyB5PSctMycgd2lkdGg9JzYnIGhlaWdodD0nNicgcng9JzInIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpO1xuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiAgICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxyZWN0IHg9Jy0zJyB5PSctMycgd2lkdGg9JzYnIGhlaWdodD0nNicgcng9JzInIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNvbG9yfScvPjwvc3ZnPlwiKTtcblxuLy8gRm9ybSBmbG9hdGluZ1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjY0NnJlbTtcbiRmb3JtLWZsb2F0aW5nLWhlaWdodDogICAgICAgICAgICAgICAgICAgIGFkZCgyLjM3NXJlbSwgJGlucHV0LWhlaWdodC1ib3JkZXIpO1xuJGZvcm0tZmxvYXRpbmctbGctaGVpZ2h0OiAgICAgICAgICAgICAgICAgYWRkKDMuMzc1cmVtLCAkaW5wdXQtaGVpZ2h0LWJvcmRlcik7XG4kZm9ybS1mbG9hdGluZy1sZy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAxLjA0NnJlbTtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXNjYWxlOiAgICAgICAgICAgICAgIC44NTtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogICAgICAgICAgIHNjYWxlKCRmb3JtLWZsb2F0aW5nLWxhYmVsLXNjYWxlKSB0cmFuc2xhdGVZKC0uNXJlbSkgdHJhbnNsYXRlWCguMTVyZW0pO1xuXG4vLyBTZWxlY3Rib3hcbiRzZWxlY3Rib3gtb3B0aW9ucy1vZmZzZXQteTogICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcblxuLy8gTGlzdHNcbiRsaXN0LWRvdC1pbWFnZTogICAgICAgICAgICAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTYnIGhlaWdodD0nMTAnIHZpZXdCb3g9JzAgMCAxNiAxMCc+PGNpcmNsZSBjeD0nNTAlJyBjeT0nNTAlJyByPSczLjUnIGZpbGw9J2RvdENvbG9yJy8+PC9zdmc+XCIpO1xuXG4vLyBNZW51XG4kbWFpbi1tZW51LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICByZW0tY2FsYygxOTApO1xuJG1haW4tbWVudS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgcmVtLWNhbGMoNTI1KTtcbiRtYWluLW1lbnUtc3BhY2UtdG9wOiAgICAgICAgICAgICAgICAgICAgIDFyZW07XG4kbWFpbi1tZW51LXNwYWNlLWxlZnQ6ICAgICAgICAgICAgICAgICAgICByZW0tY2FsYyg1KTtcbiRtYWluLW1lbnUtc3BhY2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgIDEuNXJlbTtcbiRtYWluLW1lbnUtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4yNXJlbTtcbiRtYWluLW1lbnUtc3VibWVudS1zcGFjZS1sZWZ0OiAgICAgICAgICAgIDEuNXJlbTtcbiRtYWluLW1lbnUtc3VibWVudS1taW4td2lkdGg6ICAgICAgICAgICAgIHJlbS1jYWxjKDI0MCk7XG4kbWFpbi1tZW51LXN1Ym1lbnUtd2lkZS1taW4td2lkdGg6ICAgICAgICByZW0tY2FsYyg0NTUpO1xuJG1haW4tbWVudS1zdWJtZW51LXNjcm9sbGJhci13aWR0aDogICAgICAgNXB4O1xuJG1haW4tbWVudS1vdmVybGF5LWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkZGFyaywgLjUpO1xuJG1haW4tbWVudS1icmFuZC1wYWRkaW5nLXRvcDogICAgICAgICAgICAgMS4yNXJlbTtcbiRtYWluLW1lbnUtYnJhbmQtcGFkZGluZy14OiAgICAgICAgICAgICAgIGNhbGMocmVtLWNhbGMoMTApIC0gJG1haW4tbWVudS1wYWRkaW5nLXgpO1xuJG1haW4tbWVudS1icmFuZC1wYWRkaW5nLWJvdHRvbTogICAgICAgICAgLjc1cmVtO1xuJG1haW4tbWVudS1icmFuZC1pbWctaGVpZ2h0OiAgICAgICAgICAgICAgMy4wOTRyZW07XG4kbWFpbi1tZW51LWJyYW5kLWJhc2VsaW5lLXllYXItZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG5cbiRtYWluLW1lbnUtdHJhbnNpdGlvbnMtc2hvdzogICAgICAgICAgICAgIDEwMG1zIDE1MG1zIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDQ1MG1zIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAzMDBtcyBsaW5lYXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvcGFjaXR5IDUwbXMgMjAwbXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRyYW5zZm9ybSAyNTBtcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmlzaWJpbGl0eSAzMDBtcyBsaW5lYXI7XG4kbWFpbi1tZW51LXRyYW5zaXRpb25zLWhpZGU6ICAgICAgICAgICAgICBvcGFjaXR5IDIwMG1zIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMjAwbXMgbGluZWFyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3BhY2l0eSAyNTBtcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJhbnNmb3JtIDI1MG1zIDUwbXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZpc2liaWxpdHkgMzAwbXMgbGluZWFyO1xuJG1haW4tbWVudS1tb2JpbGUtc3BhY2UtYXJvdW5kOiAgICAgICAgICAgLjVyZW07XG4kbWFpbi1tZW51LW1vYmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICByZW0tY2FsYyg3MCk7XG4kbWFpbi1tZW51LW1vYmlsZS13aWR0aDogICAgICAgICAgICAgICAgICBjYWxjKDUwJSAtICRtYWluLW1lbnUtbW9iaWxlLXNwYWNlLWFyb3VuZCAvIDIpO1xuXG4vLyBBZGRpdGlvbmFsIHBhZGRpbmcgdG8gcHV0IG1vcmUgc3BhY2UgYmV0d2VlbiBtZW51IGFuZCBjb250YWluZXJzIGluIGRlc2t0b3AgYnBzXG4kcGFnZS1wYWRkaW5nLWxlZnQ6IChcbiAgbGc6IDByZW0sIC8vIDEuMDA4MDZ2dywgLy8gMTBweCBhdCB3aWR0aCA5OTJweFxuICB4bDogMHJlbSwgLy8gMS42NjY2N3Z3LCAvLyAyMHB4IGF0IHdpZHRoIDEyMDBweFxuICB4eGw6IDByZW0sIC8vIDEwMHB4LCAvLyA3LjMyMDY0dncsIC8vIDEwMHB4IGF0IHdpZHRoIDEzNjZweFxuKTtcbiRwYWdlLXBhZGRpbmctcmlnaHQ6IChcbiAgbGc6IDIuMDE2MTN2dywgLy8gMjBweCBhdCB3aWR0aCA5OTJweFxuICB4bDogMi4wODMzM3Z3LCAvLyAyNXB4IGF0IHdpZHRoIDEyMDBweFxuICB4eGw6IDExMHB4LCAvLzguMDUyNzF2dywgLy8gMTEwcHggYXQgd2lkdGggMTM2NnB4XG4gIC8vIDUuMDE2MTN2dyA/XG4pO1xuXG4vLyBGb290ZXIgICAgICAgXG4kZm9vdGVyLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICByZW0tY2FsYygyMDApO1xuXG4vLyBNb2RhbCAgICAgICAgXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZGFyaztcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgIC41O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aCAkdHJhbnNpdGlvbi1kdXJhdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgJHRyYW5zaXRpb24tZHVyYXRpb24tZWFzaW5nO1xuXG4vLyBPZmZjYW52YXMgICAgICAgIFxuJG9mZmNhbnZhcy1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjI1KSAwcHggNTRweCA1NXB4LCByZ2JhKDAsIDAsIDAsIDAuMTIpIDBweCAtMTJweCAzMHB4LCByZ2JhKDAsIDAsIDAsIDAuMTIpIDBweCA0cHggNnB4LCByZ2JhKDAsIDAsIDAsIDAuMTcpIDBweCAxMnB4IDEzcHgsIHJnYmEoMCwgMCwgMCwgMC4wOSkgMHB4IC0zcHggNXB4O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWluOiAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC42cyAkZWFzZS1vdXQtY2lyYztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1vdXQ6ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuNHMgJGVhc2UtaW4tc2luZTtcblxuLy8gVGlsZXNcbiR0aWxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodDtcbiR0aWxlLWhvdmVyLXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDBweCAwcHggMHB4IDNweCAkd2hpdGUsIDAgMjZweCA0OHB4IHJnYmEoJGRhcmssIC4xNSksIDAgNXB4IDE0cHggcmdiYSgkZGFyaywgLjA4KTtcbiR0aWxlLWhvdmVyZWQtY2xvbmUtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDBweCAwcHggMHB4IDNweCAkd2hpdGU7XG4kdGlsZS1hY3RpdmUtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwcHggMHB4IDBweCAzcHggJHdoaXRlLCAwIDI2cHggNDhweCByZ2JhKCRkYXJrLCAuMjUpLCAwIDVweCAxNHB4IHJnYmEoJGRhcmssIC4xOCk7XG4kdGlsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDEwJSk7XG4kdGlsZS1kYXJrLWhvdmVyLXNoYWRvdzogICAgICAgICAgICAgICAgICBpbnNldCAwcHggMHB4IDBweCAzcHggJHNlY29uZGFyeSwgMCAyNnB4IDQ4cHggcmdiYSgkZGFyaywgLjE1KSwgMCA1cHggMTRweCByZ2JhKCRkYXJrLCAuMDgpO1xuJHRpbGUtZGFyay1ob3ZlcmVkLWNsb25lLXNoYWRvdzogICAgICAgICAgaW5zZXQgMHB4IDBweCAwcHggM3B4ICRzZWNvbmRhcnk7XG4kdGlsZS1kYXJrLWFjdGl2ZS1zaGFkb3c6ICAgICAgICAgICAgICAgICBpbnNldCAwcHggMHB4IDBweCAzcHggJHNlY29uZGFyeSwgMCAyNnB4IDQ4cHggcmdiYSgkZGFyaywgLjI1KSwgMCA1cHggMTRweCByZ2JhKCRkYXJrLCAuMTgpO1xuJHNsaWRlc2hvdy10aWxlLWhvdmVyLXNoYWRvdzogICAgICAgICAgICAgaW5zZXQgMHB4IDBweCAwcHggM3B4ICR3aGl0ZSwwIDNweCAzOHB4IHJnYmEoJGRhcmssLjE1KSwwIDVweCAxNHB4IHJnYmEoJGRhcmssLjA4KTsgLy8gc2hvcnRlciB0byBwcmV2ZW50IHNoYWRvdyB0byBiZSBjdXQgYnkgc2Nyb2xsYmFyIGxvY2F0ZWQgMnJlbSBiZWxvd1xuJHNsaWRlc2hvdy10aWxlLWFjdGl2ZS1zaGFkb3c6ICAgICAgICAgICAgaW5zZXQgMHB4IDBweCAwcHggM3B4ICR3aGl0ZSwwIDNweCAzOHB4IHJnYmEoJGRhcmssLjI1KSwwIDVweCAxNHB4IHJnYmEoJGRhcmssLjE4KTsgLy8gc2hvcnRlciB0byBwcmV2ZW50IHNoYWRvdyB0byBiZSBjdXQgYnkgc2Nyb2xsYmFyIGxvY2F0ZWQgMnJlbSBiZWxvd1xuXG4vLyBTdGFja3NcbiRzdGFjay1ob3Zlci1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIDAgMjZweCA0OHB4IHJnYmEoJGRhcmssIC4xNSksIDAgNXB4IDE0cHggcmdiYSgkZGFyaywgLjA4KTtcblxuLy8gVGltZWxpbmVcbiR0aW1lbGluZS10cmFjay1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgIHJlbS1jYWxjKDU4KTsgLy8gZGVzaWduZWQ6IDQyXG4kdGltZWxpbmUtdHJhY2stcGFkZGluZy1yaWdodDogICAgICAgICAgICByZW0tY2FsYyg1OCk7XG4kdGltZWxpbmUteHMtdHJhY2stcGFkZGluZy1sZWZ0OiAgICAgICAgICByZW0tY2FsYygyOCk7XG4kdGltZWxpbmUteHMtdHJhY2stcGFkZGluZy1yaWdodDogICAgICAgICByZW0tY2FsYygyOCk7XG4kdGltZWxpbmUtdHJhY2stYmFja2dyb3VuZC1pbWFnZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAyNCcgaGVpZ2h0PSczMDcyJyB2aWV3Qm94PScwIDAgMTAyNCAzMDcyJyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBkPSdNNjAuMTExIDQ5MC43MDVjMTIuMjk1LTEyLjI5MSAyOS4yNzktMTkuODkzIDQ4LjAzNy0xOS44OTNzMzUuNzQzIDcuNjAyIDQ4LjAzOCAxOS44OTRsMjk2LjUxNiAyOTYuNTE2di03MTkuMjc2YzAtMzcuNTI1IDMwLjQyLTY3Ljk0NiA2Ny45NDYtNjcuOTQ2czY3Ljk0NiAzMC40MiA2Ny45NDYgNjcuOTQ2djAgNzM1Ljc4N2wyODAuMDczLTI4MC4wNzNjMTIuMjAzLTExLjc4MSAyOC44MzgtMTkuMDQxIDQ3LjE2OS0xOS4wNDEgMzcuNTI1IDAgNjcuOTQ2IDMwLjQyIDY3Ljk0NiA2Ny45NDYgMCAxOC4zNjUtNy4yODYgMzUuMDI4LTE5LjEyNSA0Ny4yNTdsLTM4NC4zNTIgMzg0LjI4NGMtMTIuMjk1IDEyLjI5Mi0yOS4yNzkgMTkuODk0LTQ4LjAzOCAxOS44OTQtMTEuNjYyIDAtMjIuNjM3LTIuOTM4LTMyLjIyNy04LjExNGwwLjM2IDAuMTc4Yy0xNy4zNDMtNS41MDItMzEuMzQ4LTE3LjI3NS0zOS42MzktMzIuNTk1bC0wLjE3OC0wLjM1OWMtNi4yMjUtMy4zNDMtMTEuNTctNy4zNDYtMTYuMjM3LTEyLjAyNWwtMzg0LjIzNi0zODQuMzcyYy0xMi4yOTEtMTIuMjk1LTE5Ljg5My0yOS4yNzktMTkuODkzLTQ4LjAzN3M3LjYwMi0zNS43NDMgMTkuODk0LTQ4LjAzOHYweiclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0UlMEFcIik7XG4kdGltZWxpbmUtdHJhY2stYmFja2dyb3VuZC1pbWFnZS1oOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzA3MicgaGVpZ2h0PSc5NDMuNTY1JyB2aWV3Qm94PScwIDAgMzA3MiA5NDMuNTY1JyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBkPSdNNDkwLjcwNSA5MjMuNjcxYy0xMi4yOTEtMTIuMjk1LTE5Ljg5My0yOS4yNzktMTkuODkzLTQ4LjAzN3M3LjYwMi0zNS43NDMgMTkuODk0LTQ4LjAzOEw3ODcuMjIyIDUzMS4wOEg2Ny45NDZDMzAuNDIxIDUzMS4wOCAwIDUwMC42NiAwIDQ2My4xMzRzMzAuNDItNjcuOTQ2IDY3Ljk0Ni02Ny45NDZoNzM1Ljc4N0w1MjMuNjYgMTE1LjExNWMtMTEuNzgxLTEyLjIwMy0xOS4wNDEtMjguODM4LTE5LjA0MS00Ny4xNjlDNTA0LjYxOSAzMC40MjEgNTM1LjAzOSAwIDU3Mi41NjUgMGMxOC4zNjUgMCAzNS4wMjggNy4yODYgNDcuMjU3IDE5LjEyNWwzODQuMjg0IDM4NC4zNTJjMTIuMjkyIDEyLjI5NSAxOS44OTQgMjkuMjc5IDE5Ljg5NCA0OC4wMzggMCAxMS42NjItMi45MzggMjIuNjM3LTguMTE0IDMyLjIyN2wuMTc4LS4zNmMtNS41MDIgMTcuMzQzLTE3LjI3NSAzMS4zNDgtMzIuNTk1IDM5LjYzOWwtLjM1OS4xNzhjLTMuMzQzIDYuMjI1LTcuMzQ2IDExLjU3LTEyLjAyNSAxNi4yMzdMNTg2LjcxMyA5MjMuNjcyYy0xMi4yOTUgMTIuMjkxLTI5LjI3OSAxOS44OTMtNDguMDM3IDE5Ljg5M3MtMzUuNzQzLTcuNjAyLTQ4LjAzOC0xOS44OTR6JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiR0aW1lbGluZS10aWxlLXNoYWRvdzogICAgICAgICAgICAgICAgICAgIDAgMjZweCA0OHB4IHJnYmEoJGRhcmssIC4xMCksIDAgNXB4IDE0cHggcmdiYSgkZGFyaywgLjA0KTtcbiR0aW1lbGluZS1kb3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmRhcnk7XG4kdGltZWxpbmUtZG90LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICByZW0tY2FsYygxMCk7XG5cbi8vIFRvYXN0c1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjE4KSAwcHggMTlweCAzOHB4LCByZ2JhKDAsIDAsIDAsIDAuMSkgMHB4IDMwcHggMjBweCAtN3B4O1xuLy8gJHRvYXN0LWJveC1ob3Zlci1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAyNnB4IDQ4cHggcmdiYSgkZGFyaywgLjI1KSwgMCA1cHggMTRweCByZ2JhKCRkYXJrLCAuMTgpO1xuJHRvYXN0LWNvbnRhaW5lci10cmFuc2l0aW9uLWluOiAgICAgICAgICAgdHJhbnNmb3JtIC42cyAkZWFzZS1vdXQtY2lyYztcbiR0b2FzdC1jb250YWluZXItdHJhbnNpdGlvbi1vdXQ6ICAgICAgICAgIHRyYW5zZm9ybSAuNHMgJGVhc2UtaW4tc2luZTtcblxuLy8gTWVkaWFcbiRsaW5rLW1lZGlhLWhvdmVyLWJnLWNvbG9yOiAgICAgICAgICAgICAgIHJnYmEoJGRhcmssIC43KTtcbiRtZWRpYS1zaGFkb3ctc2hvcnQ6ICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJHNlY29uZGFyeSwgMC4zNSkgNXB4IDNweCAxMnB4LCByZ2JhKCRzZWNvbmRhcnksIDAuMjUpIDEwcHggN3B4IDE1cHggLTRweDtcbiRtZWRpYS1zaGFkb3ctc2hvcnRlcjogICAgICAgICAgICAgICAgICAgIHJnYmEoJHNlY29uZGFyeSwgLjM1KSAycHggMnB4IDhweCwgcmdiYSgkc2Vjb25kYXJ5LCAuMjUpIDZweCAzcHggOHB4IC02cHg7XG5cbi8vIFRhYmxlc1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJHNhbmQ7XG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2Vjb25kYXJ5O1xuXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICByZ2JhKCRzZWNvbmRhcnksIC4yKTtcblxuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZGFyeTtcbiRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICRzZWNvbmRhcnk7XG4kZHJvcGRvd24tZGFyay1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAkbGlnaHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbGlnaHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAkbGlnaHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAkcHJpbWFyeTtcblxuLy8gQWNjb3JkaW9uXG4kYWNjb3JkaW9uLWJhY2tncm91bmQtaW1hZ2U6ICAgICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nYXJyb3dDb2xvcic+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8+PC9zdmc+XCIpO1xuJGFjY29yZGlvbi1iYWNrZ3JvdW5kLWltYWdlLWFjdGl2ZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J2Fycm93Q29sb3InPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKTtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICR3aGl0ZTtcbiRhY2NvcmRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRhY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgIDA7XG4kYWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZztcbiRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnO1xuXG4vLyBUdW5uZWxcbiR0dW5uZWwtdHJhbnMtZWFzaW5nOiAgICAgICAgICAgICAgICAgICAgIGN1YmljLWJlemllcigwLjI1LCAxLCAwLjUsIDEpOyIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUaGVtZSBtaXhpbnNcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AdXNlIFwic2FzczptYXBcIjtcblxuQG1peGluIHNlcGFyYXRvci12KCR0eXBlLCAkaGVpZ2h0OiAxMDAlLCAkY29sb3I6IHJnYmEoMCwwLDAsMSksICRhbGlnbjogbnVsbCkge1xuICBAaWYgJHR5cGUgPT0gdHdvLWRvdHMge1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoc3RyLXJlcGxhY2UoJGJvcmRlci1pbWFnZS10d28tZG90cy12LCAnZG90c0NvbG9yJywgJGNvbG9yKSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDY1OHB4O1xuXG4gICAgQGlmKCAkYWxpZ24gPT0gJ3N0YXJ0JyApIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIEBlbHNlIGlmKCAkYWxpZ24gPT0gJ2VuZCcgKSB7XG4gICAgICByaWdodDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2VwYXJhdG9yLWgoJHR5cGUsICR3aWR0aDogMTAwJSwgJGNvbG9yOiAkbGlnaHQsICRhbGlnbjogbnVsbCkge1xuICBAaWYgJHR5cGUgPT0gdHdvLWRvdHMge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZyhzdHItcmVwbGFjZSgkYm9yZGVyLWltYWdlLXR3by1kb3RzLWgsICdkb3RzQ29sb3InLCAkY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjU4cHg7XG5cbiAgICBAaWYoICRhbGlnbiA9PSAndG9wJyApIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgQGVsc2UgaWYoICRhbGlnbiA9PSAnYm90dG9tJyApIHtcbiAgICAgIGJvdHRvbTogMnB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBHZW5lcmF0ZXMgYWxsIHBvc3NpYmxlIGNvbWJpbmF0aW9ucyAoYW5kIG9ubHkgb25jZSkgb2YgY2xhc3NlcyBhbmQgZm9yIGVhY2gsIGEgcHJvcCB3aXRoIGEgdmFsdWUgb24gb3Igb2ZmXG4vLyBpLmU6IGJvcmRlci1pbWFnZS1zbGljZVxuLy8hIFJlY3Vyc2l2ZVxuQG1peGluIG1hdHJpeC1jb21iaW5lKCRpbml0aWFsLWFuZCwgJG1hcCwgJHByb3AsICR2YWx1ZS1vbiwgJHZhbHVlLW9mZiwgJGRlcHRoOiAwLCAkbWFwLW5vdzogbnVsbCwgJGlkeC1wYXJlbnRzOiAoKSkge1xuICAkZG9uZTogKCk7XG4gICRkZXB0aDogJGRlcHRoICsgMTtcbiAgJGxhc3QtaWR4OiBudWxsO1xuICBcbiAgQGVhY2ggJGlkeCwgJGNsYXNzIGluICRtYXAge1xuICAgICRsYXN0LWlkeDogJGlkeDtcbiAgfVxuXG4gICRtYXAtbm93OiBpZigkbWFwLW5vdyA9PSBudWxsLCAkbWFwLCAkbWFwLW5vdyk7XG5cbiAgQGVhY2ggJGlkeCwgJGNsYXNzIGluICRtYXAtbm93IHtcbiAgICAkY29tYjogbnVsbDtcblxuICAgIEBlYWNoICRpLCAkYyBpbiAkbWFwIHtcbiAgICAgICRjb21iOiAkY29tYiArIGlmKCRpID09ICRpZHggb3IgbWFwLmhhcy1rZXkoJGlkeC1wYXJlbnRzLCAkaSksICR2YWx1ZS1vbiwgJHZhbHVlLW9mZikgKyBpZigkaSAhPSAkbGFzdC1pZHgsIFwiIFwiLCBudWxsKTtcbiAgICB9XG5cbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KCRkb25lLCAkY29tYikge1xuICAgICAgJGRvbmU6IG1hcC5tZXJnZSgkZG9uZSwgKCN7Y29tYn06ICN7JGNvbWJ9KSk7XG5cbiAgICAgICRtYXAtbm93OiBtYXAucmVtb3ZlKCRtYXAtbm93LCAkaWR4KTtcblxuICAgICAgI3tpZigkZGVwdGggPiAxIG9yICRpbml0aWFsLWFuZCwgXCImXCIsIG51bGwpfS4jeyRjbGFzc30ge1xuICAgICAgICAjeyRwcm9wfTogJGNvbWI7XG5cbiAgICAgICAgJGlkeHM6IG1hcC5tZXJnZSgkaWR4LXBhcmVudHMsICgkaWR4OiAkaWR4KSk7XG4gICAgICAgIEBpbmNsdWRlIG1hdHJpeC1jb21iaW5lKCRpbml0aWFsLWFuZCwgJG1hcCwgJHByb3AsICR2YWx1ZS1vbiwgJHZhbHVlLW9mZiwgJGRlcHRoLCAkbWFwLW5vdywgJGlkeHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIDp0ZXN0IHtcbiAgLy8gICB0ZXN0OiBtYXAudmFsdWVzKCRkb25lKTtcbiAgLy8gfVxufVxuXG4vLyBNdXN0IGJlIGFwcGxpZWQgdG8gYSBwYXJlbnQgb2Ygc2Nyb2xsYWJsZSBlbGVtZW50XG4vLyBAc2VlIGh0dHBzOi8vc3ludGFja2xlLmNvbS9ibG9nL2NoYW5nZXMtdG8tc2Nyb2xsYmFyLXN0eWxpbmctaW4tY2hyb21lLTEyMS9cbkBtaXhpbiBjdXN0b20tc2Nyb2xsYmFycygkbWFyZ2luLWJvdHRvbTogMCwgJG1hcmdpbi10b3A6IDAsICR3aWR0aDogMTBweCwgJGhlaWdodDogMTBweCwgJHRodW1iLXJvdW5kZWQ6IDEwcHgsICR0cmFjay1yb3VuZGVkOiAxMHB4LCAkdGh1bWItY29sb3I6ICRwcmltYXJ5LCAkdHJhY2stY29sb3I6ICR3aGl0ZSwgJHNjcm9sbGJhci1jb2xvcjogYXN0cmFjaykge1xuICAvLyBBc2NlbmRhbnQgY29tcGF0aWJpbGl0eVxuICAkc2Nyb2xsYmFyLWNvbG9yOiBpZigkc2Nyb2xsYmFyLWNvbG9yID09IGFzdHJhY2ssICR0cmFjay1jb2xvciwgJHNjcm9sbGJhci1jb2xvcik7XG5cbiAgLy8gT25seSBmb3Igc2NyZWVucyB3aXRoIGhvdmVyIGNhcGFiaWxpdGllc1xuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC8qKlxuICAgIC8vLyBOb3QgY2hyb21pdW1cbiAgICAqKi9cbiAgICBAc3VwcG9ydHMgKHNjcm9sbGJhci1jb2xvcjogYXV0bykgYW5kIChub3Qgc2VsZWN0b3IoOjotd2Via2l0LXNjcm9sbGJhcikpIHtcbiAgICAgID4gKiB7XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiAkdGh1bWItY29sb3IgJHRyYWNrLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgIC8vLyBDaHJvbWl1bVxuICAgICoqL1xuICAgIEBzdXBwb3J0cyBzZWxlY3Rvcig6Oi13ZWJraXQtc2Nyb2xsYmFyKSB7XG4gICAgICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7XG4gICAgICAvLyBtYXJnaW4tcmlnaHQ6IC0gJHdpZHRoOyAvLyB0byBiYWxhbmNlIHN5bWV0cmljIGhvcml6b250YWwgcGFkZGluZ3Mgd2hlbiB2ZXJ0aWNhbCBzY3JvbGxiYXIgaXMgb2ZmIC8vISB0aGlzIGNhdXNlcyBpc3N1ZSB3aGVuIGNvbnRlbnQgaXMgY2VudGVyZWQgdGhyb3VnaCBpbXBsaWNpdCBhdXRvIG1hcmdpbnMgKG9mZmNhbnZhcy1ib3R0b20gb3IgLXRvcCBmb3IgaW5zdGFuY2VcblxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgLy86OnNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLWNvbG9yO1xuICAgICAgICAvLyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHRyYWNrLXJvdW5kZWQ7XG4gICAgICAgIC8vIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkdHJhY2stcm91bmRlZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHRyYWNrLXJvdW5kZWQ7XG4gICAgICB9XG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAvLzo6c2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHRodW1iLXJvdW5kZWQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogJHRodW1iLWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgICAgfVxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgLy86OnNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0cmFjay1jb2xvcjtcbiAgICAgICAgLy8gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR0cmFjay1yb3VuZGVkO1xuICAgICAgICAvLyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHRyYWNrLXJvdW5kZWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICR0cmFjay1yb3VuZGVkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEVuaGFuY2VtZW50IG9mIGJvb3RzdHJhcCBtaXhpbiB3aXRoICFpbXBvcnRhbnRcbkBtaXhpbiBidXR0b24tdmFyaWFudC1pbXBvcnRhbnQoXG4gICRiYWNrZ3JvdW5kLFxuICAkYm9yZGVyLFxuICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSxcbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkaG92ZXItY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRob3Zlci1iYWNrZ3JvdW5kKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpLFxuICAkZGlzYWJsZWQtYmFja2dyb3VuZDogJGJhY2tncm91bmQsXG4gICRkaXNhYmxlZC1ib3JkZXI6ICRib3JkZXIsXG4gICRkaXNhYmxlZC1jb2xvcjogY29sb3ItY29udHJhc3QoJGRpc2FibGVkLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn0gIWltcG9ydGFudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiAjeyRiYWNrZ3JvdW5kfSAhaW1wb3J0YW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRib3JkZXJ9ICFpbXBvcnRhbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skaG92ZXItY29sb3J9ICFpbXBvcnRhbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skaG92ZXItYmFja2dyb3VuZH0gIWltcG9ydGFudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skaG92ZXItYm9yZGVyfSAhaW1wb3J0YW50O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IobWl4KCRjb2xvciwgJGJvcmRlciwgMTUlKSl9ICFpbXBvcnRhbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn0gIWltcG9ydGFudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9ICFpbXBvcnRhbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfSAhaW1wb3J0YW50O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fSAhaW1wb3J0YW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGRpc2FibGVkLWNvbG9yfSAhaW1wb3J0YW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6ICN7JGRpc2FibGVkLWJhY2tncm91bmR9ICFpbXBvcnRhbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGRpc2FibGVkLWJvcmRlcn0gIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdGlsZS1iZy1hY3RpdmUoKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbGUtaG92ZXItYmcpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IHZhcigtLXRpbGUtaG92ZXItc2hhZG93KTtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuXG4gICYuaG92ZXJlZC1jbG9uZSB7XG4gICAgLS10aWxlLWhvdmVyLXNoYWRvdzogI3skdGlsZS1ob3ZlcmVkLWNsb25lLXNoYWRvd307XG4gIH1cblxuICAudGV4dC13aGl0ZSxcbiAgLnRleHQtbGlnaHQge1xuICAgICY6bm90KFtjbGFzcyo9XCJiZy1cIl0pIHtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0aWxlLXAwLWJnLWFjdGl2ZSgpIHtcbiAgLnN0cmV0Y2hlZC1saW5rIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXRpbGUtaG92ZXItc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAvLyAmLmhvdmVyZWQtY2xvbmUge1xuICAvLyAgIC5zdHJldGNoZWQtbGluayB7XG4gIC8vICAgICAmOmFmdGVyIHtcbiAgLy8gICAgICAgLy8gYm94LXNoYWRvdzogJHRpbGUtaG92ZXJlZC1jbG9uZS1zaGFkb3c7XG4gIC8vICAgICAgIC0tdGlsZS1ob3Zlci1zaGFkb3c6ICR0aWxlLWhvdmVyZWQtY2xvbmUtc2hhZG93OyAvLyB0aGlzIGNhdXNlcyB0aGUgaW5zZXQgc2hhZG93IHRvIGRpc2FwcGVhciBiZWxvdyBpbWFnZVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxufVxuXG5AbWl4aW4gY2FydC1zdGF0dXMtdmlzaWJpbGl0eSggJHByZWZpeDogJycsICRzdWJqOiAoKSApIHtcbiAgJHN1YmplY3RzOiAoXG4gICAgZm9ybWF0aW9uOiAobm9uZSwgdW5hdmFpbGFibGUpLFxuICAgIGRpc3BvOiAobm9uZSwgbm9ib29raW5nLCBvaywgbWlzc2luZywgdG9jaGFuZ2UsIHVuYXZhaWxhYmxlKSxcbiAgICBlbGV2ZTogKG5vbmUsIG1pc3NpbmcpLFxuICAgIGxvY2tzOiAobm9uZSwgb2ssIGV4cGlyaW5nLCBleHBpcmVkKSxcbiAgICBjb250cmFjdDogKG5vbmUsIHZpZXdlZCwgY29uc2VudCksXG4gICk7XG5cbiAgLy8gR2VuZXJhdGVzXG4gIC8vIGRhdGEtWyRwcmVmaXggKGNhcnR8aXRlbXxmb3JtdWxlKV0tW2Zvcm1hdGlvbnxkaXNwb3xlbGV2ZXxsb2Nrc3xjb250cmFjdF0tc3RhdHVzIGRhdGEtY2Itc2hvdy9oaWRlKj1cIltjYXJ0fGl0ZW18Zm9ybXVsZV0tW2Zvcm1hdGlvbnxkaXNwb3xlbGV2ZXxsb2Nrc10tc3RhdHVzLVtzdGF0dXNdXCJcbiAgQGVhY2ggJHN1YmplY3QgaW4gbWFwLWtleXMoJHN1YmplY3RzKSB7XG4gICAgQGlmICRzdWJqID09ICgpIG9yIGlubGlzdCgkc3ViaiwgJHN1YmplY3QpIHtcbiAgICAgIC8vIEJlZm9yZSBzdGF0dXMgaXMgbG9hZGVkLCBoaWRlIHRoZSBzaG93LXdoZW4gZWxlbWVudHNcbiAgICAgIFtkYXRhLSN7JHByZWZpeH0jeyRzdWJqZWN0fS1zdGF0dXM9XCJcIl0ge1xuICAgICAgICBbZGF0YS1jYi1zaG93LXdoZW4qPVwiI3skcHJlZml4fSN7JHN1YmplY3R9LXN0YXR1cy1cIl0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVhY2ggJHN0YXR1cyBpbiBtYXAuZ2V0KCRzdWJqZWN0cywgJHN1YmplY3QpIHtcbiAgICAgICAgLy8gRWxpbWluYXRlIGltcG9zc2libGUgc3RhdHVzZXMgZm9yIHN1YmplY3RcbiAgICAgICAgJixcbiAgICAgICAgKiB7XG4gICAgICAgICAgJltkYXRhLSN7JHByZWZpeH0jeyRzdWJqZWN0fS1zdGF0dXM9XCIjeyRzdGF0dXN9XCJdIHtcbiAgICAgICAgICAgIFtkYXRhLWNiLWhpZGUtd2hlbio9XCIjeyRwcmVmaXh9I3skc3ViamVjdH0tc3RhdHVzLSN7JHN0YXR1c31cIl0sXG4gICAgICAgICAgICBbZGF0YS1jYi1zaG93LXdoZW4qPVwiI3skcHJlZml4fSN7JHN1YmplY3R9LXN0YXR1cy1cIl06bm90KFtkYXRhLWNiLXNob3ctd2hlbio9XCIjeyRwcmVmaXh9I3skc3ViamVjdH0tc3RhdHVzLSN7JHN0YXR1c31cIl0pIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBAbWl4aW4gY2FydC1zdGF0dXNlcy12aXNpYmlsaXR5KCAkcHJlZml4OiAnJyApIHtcbi8vICAgJHN1YmplY3RzOiAoXG4vLyAgICAgZm9ybWF0aW9uOiAobm9uZSwgdW5hdmFpbGFibGUpLFxuLy8gICAgIGRpc3BvOiAobm9uZSwgbm9ib29raW5nLCBtaXNzaW5nLCB0b2NoYW5nZSksXG4vLyAgICAgZWxldmU6IChub25lLCBtaXNzaW5nKSxcbi8vICAgICBsb2NrczogKG5vbmUsIGV4cGlyaW5nLCBleHBpcmVkLCBvayksXG4vLyAgICk7XG5cbi8vICAgLy8gZGF0YS1kaXNwby9lbGV2ZS1zdGF0dXMgZGF0YS1jYi1zaG93L2hpZGUqPVwiZGlzcG8vZWxldmUtc3RhdHVzLTxzdGF0dXM+XG4vLyAgIEBlYWNoICRzdWJqZWN0IGluIG1hcC1rZXlzKCRzdWJqZWN0cykge1xuLy8gICAgIEBlYWNoICRzdGF0dXMgaW4gbWFwLmdldCgkc3ViamVjdHMsICRzdWJqZWN0KSB7XG4vLyAgICAgICAvLyBFbGltaW5hdGUgaW1wb3NzaWJsZSBzdGF0dXNlcyBmb3Igc3ViamVjdFxuLy8gICAgICAgJltkYXRhLSN7JHByZWZpeH1zdGF0dXNlcyo9XCIjeyRwcmVmaXh9I3skc3ViamVjdH0tc3RhdHVzLSN7JHN0YXR1c31cIl0ge1xuLy8gICAgICAgICBbZGF0YS1jYi1oaWRlLXdoZW4qPVwiI3skcHJlZml4fSN7JHN1YmplY3R9LXN0YXR1cy0jeyRzdGF0dXN9XCJdLFxuLy8gICAgICAgICBbZGF0YS1jYi1zaG93LXdoZW4qPVwiI3skcHJlZml4fSN7JHN1YmplY3R9LXN0YXR1cy1cIl06bm90KFtkYXRhLWNiLXNob3ctd2hlbio9XCIjeyRwcmVmaXh9I3skc3ViamVjdH0tc3RhdHVzLSN7JHN0YXR1c31cIl0pIHtcbi8vICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgIH1cbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIH1cbi8vIH1cblxuQG1peGluIGRpc2FibGUtYnV0dG9uKCkge1xuICAvLyBAc2VlIG5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHkpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuXG4gIC5zdHJldGNoZWQtbGluayB7XG4gICAgJjphZnRlciB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcmVxbWFyaygkc3RyOiBcIiAqXCIpIHtcbiAgLnJlcW1hcmsge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHN0cjtcbiAgICB9XG4gIH1cbn0iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoXG4gICRiYWNrZ3JvdW5kLFxuICAkYm9yZGVyLFxuICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSxcbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkaG92ZXItY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRob3Zlci1iYWNrZ3JvdW5kKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpLFxuICAkZGlzYWJsZWQtYmFja2dyb3VuZDogJGJhY2tncm91bmQsXG4gICRkaXNhYmxlZC1ib3JkZXI6ICRib3JkZXIsXG4gICRkaXNhYmxlZC1jb2xvcjogY29sb3ItY29udHJhc3QoJGRpc2FibGVkLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogI3skYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGhvdmVyLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRob3Zlci1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IobWl4KCRjb2xvciwgJGJvcmRlciwgMTUlKSl9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6ICN7JGRpc2FibGVkLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRkaXNhYmxlZC1ib3JkZXJ9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoXG4gICRjb2xvcixcbiAgJGNvbG9yLWhvdmVyOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvcixcbiAgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcixcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skY29sb3ItaG92ZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYigkY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogbm9uZTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXNpemUtbWl4aW5cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXNpemUtbWl4aW5cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/