.login-logo{width:500px}.login-logo-mobile{width:300px;margin-bottom:20px}.login-title{font-size:26px;color:#424242;font-weight:400;text-transform:none;letter-spacing:-0.36px}.login-button{padding:5px 80px !important;background-color:#3b3b3b !important;border:1px solid #3b3b3b !important;text-transform:none;font-size:16px;margin-top:10px}.login-bg{width:100%;height:100vh;background-color:#fff;background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:10px 5px 5px #d3d3d3;opacity:.09}.bg-text{display:flex;flex-direction:column;justify-content:center;align-items:center;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:2}.login-grid{display:grid;grid-template-columns:1fr 1fr;height:100vh}.login-grid .login-rside{background-color:#000}.login-grid .login-fside{background-color:#fff}.login-grid .login-rside,.login-grid .login-fside{display:flex;flex-direction:column;align-items:center;justify-content:center}.login-mobile{display:flex;flex-direction:column;align-items:center;justify-content:center}.login-mobile.keyboard-close{justify-content:start;margin-top:20px}.login-mobile{width:100%}.login-mobile .login-logo{margin-bottom:15px}.login-grid-mobile{display:grid;grid-template-columns:1fr;height:100vh;background-color:#fff}.login-grid.error .login-title{margin-bottom:0;line-height:1.4}.login-grid.error .alert-info{margin:0}.k-font-bold{font-weight:700 !important}.k-login-input.k-input-solid{border:1px solid #cecdcd !important;border-radius:6px !important;background-color:#f7f7f7;font-size:16px}.k-login-input.k-invalid.k-input-solid{border-color:#f31700 !important}.form-container{width:50%}.form-container-mobile{width:70%}.k-w-100{width:100%}.microsoft-login-button{padding:10px 20px;display:flex;justify-content:center;font-size:16px;cursor:pointer;background-color:#2f2f2f;color:#fff;border:none;border-radius:4px;align-items:center;align-content:center;width:100%}.microsoft-login-button img{width:20px;height:20px;margin-right:10px}.google-login-button{display:flex;justify-content:center;padding:10px 20px;font-size:16px;cursor:pointer;background-color:#2f2f2f;color:#fff;border:none;border-radius:4px;align-items:center;align-content:center;width:100%}.google-login-btn{margin-top:15px}.login-grid .google-login-btn,.login-grid .microsoft-login-btn,.login-grid-mobile .google-login-btn,.login-grid-mobile .microsoft-login-btn{width:100%}
.account-form-container .account-form-card{display:flex}.account-form-container .account-form-card .account-form-wrapper{width:50%}.account-form-container .account-form-card .account-image-display{width:50%;display:flex;justify-content:flex-end}.account-form-container .account-form-card .uploaded-image{width:360px}@media(max-width: 768px){.account-form-container .account-form-card{display:flex}.account-form-container .account-form-card .account-form-wrapper{width:50%}.account-form-container .account-form-card .account-image-display{width:50%;display:flex;justify-content:flex-end}.account-form-container .account-form-card .uploaded-image{width:360px}}@media(max-width: 576px){.account-form-container .account-form-card{display:block}.account-form-container .account-form-card .account-form-wrapper{width:100%}.account-form-container .account-form-card .account-image-display{width:100%;display:block}.account-form-container .account-form-card .uploaded-image{width:360px}}
.k-grid .k-table-tbody .k-table-td.grid-cells{font-size:14px}.k-grid .k-table-tbody .projects-action{text-align:center}.k-grid .k-table-tbody a.k-button{color:#fff}.k-grid .k-table-tbody .total-number a{color:#8a2be2}
.select-project-form{position:relative}.select-project-form .single-field-row{align-items:end}.select-project-form .single-field-row .k-form-field{display:flex !important}.select-project-form .single-field-row .k-form-field label{width:30%;color:rgba(0,0,0,.87) !important;font-size:16px;font-weight:bold;align-items:center;display:flex}.select-project-form .single-field-row .k-form-field .k-form-field-wrap{width:100%}.select-project-form .single-field-row .k-form-field .k-form-field-wrap .k-autocomplete{background-color:#fff;font-size:16px;padding:5px !important;border-radius:6px !important;border:1px solid #8c8f94 !important}.select-project-form .single-field-row .field-row{display:flex}.select-project-form .single-field-row .field-row .project-field{width:30%}.select-project-form .single-field-row .field-row .version-field{width:30%}.select-project-form .single-field-row .create-btn-wrapper{position:relative}@media(max-width: 819px){.select-project-form .single-field-row{display:block}}
.select-platform{display:flex}.select-platform .toggle-label{position:relative}.k-switch{margin:0px 10px}.card-detail-content{display:flex;flex-wrap:wrap}.card-detail-content .seprate-card.rollout-details,.card-detail-content .seprate-card.bug-list{width:50%}.card-detail-content .seprate-card.rollout-details .single-field-row,.card-detail-content .seprate-card.bug-list .single-field-row{width:100%}.card-detail-content .seprate-card.rollout-details .single-field-row .field-wrapper,.card-detail-content .seprate-card.rollout-details .single-field-row .k-floating-label-container,.card-detail-content .seprate-card.bug-list .single-field-row .field-wrapper,.card-detail-content .seprate-card.bug-list .single-field-row .k-floating-label-container{width:inherit}@media(max-width: 819px){.card-detail-content{display:block}.card-detail-content .seprate-card.rollout-details,.card-detail-content .seprate-card.bug-list{width:100%}}
.k-table-tbody .link-column a{color:#8a2be2;font-size:14px}.k-table-tbody .rollouts-action a{font-size:18px;margin-right:5px}.grid-rollout-name{font-size:14px}
.search-dialog .k-dialog-content{text-align:center}.search-dialog .k-dialog-content h6 a{cursor:pointer;color:#8a2be2}.download-btn-wrapper{justify-content:center;align-items:center}
.setting-page{background-color:#f5f5f5;min-height:100vh;padding:0;position:relative}.setting-page .k-tabstrip{background-color:#f8f9fa;border:none;box-shadow:0 2px 4px rgba(0,0,0,.1)}.setting-page .k-tabstrip .k-tabstrip-items{background-color:#f8f9fa;border:none}.setting-page .k-tabstrip .k-tabstrip-items .k-item{border:none;background:rgba(0,0,0,0);margin:0;padding:0;flex:1}.setting-page .k-tabstrip .k-tabstrip-items .k-item .k-link{display:flex;align-items:center;gap:8px;padding:16px 24px;color:#6c757d;font-weight:500;border:none;background:rgba(0,0,0,0);transition:all .3s ease;border-radius:0}.setting-page .k-tabstrip .k-tabstrip-items .k-item .k-link:hover{background-color:#e9ecef;color:#495057}.setting-page .k-tabstrip .k-tabstrip-items .k-item .k-link svg{width:18px;height:18px}.setting-page .k-tabstrip .k-tabstrip-items .k-item.k-active .k-link{background-color:#3f51b5;color:#fff;border:none}.setting-page .k-tabstrip .k-content{background:rgba(0,0,0,0);border:none;padding:0}.setting-page .tabs-card{margin:24px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1);border:none;background:#fff}.setting-page .tabs-card .k-card-body{padding:32px}.setting-page .card-header{margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid #e9ecef}.setting-page .card-header .card-title{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:600;color:#212529;margin:0 0 8px 0;line-height:1}.setting-page .card-header .card-title svg{width:24px;height:24px;color:#007bff}.setting-page .card-header .card-subtitle{color:#6c757d;font-size:14px;margin:0}.setting-page .field-main{display:grid;grid-template-columns:repeat(auto-fit, minmax(400px, 1fr));gap:24px}.setting-page .field-main .field-wrapper{display:flex;flex-direction:column;gap:8px}.setting-page .field-main .field-wrapper .k-label{color:#495057;font-weight:500;font-size:14px;margin-bottom:4px}.setting-page .field-main .field-wrapper .helper-text{color:#6c757d;font-size:12px;margin-top:4px}.setting-page .field-main .field-wrapper .radio-wrapper{display:flex;gap:16px;flex-wrap:wrap}.setting-page .field-main .field-wrapper .radio-wrapper .k-radio-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#495057;cursor:pointer}.setting-page .field-main .field-wrapper .radio-wrapper .k-radio{width:16px;height:16px}.setting-page .field-main .field-wrapper .checkbox-wrapper .checkbox-item{display:flex;align-items:center;gap:12px;margin-bottom:8px}.setting-page .field-main .field-wrapper .checkbox-wrapper .checkbox-item .custom-checkbox{width:18px;height:18px;border:2px solid #ced4da;border-radius:4px;background-color:#fff;cursor:pointer;position:relative;appearance:none;transition:all .3s ease}.setting-page .field-main .field-wrapper .checkbox-wrapper .checkbox-item .custom-checkbox:checked{background-color:#3f51b5;border-color:#3f51b5}.setting-page .field-main .field-wrapper .checkbox-wrapper .checkbox-item .custom-checkbox:checked::after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);color:#fff;font-size:12px;font-weight:bold}.setting-page .field-main .field-wrapper .checkbox-wrapper .checkbox-item .custom-checkbox:focus{outline:none;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.setting-page .field-main .field-wrapper .checkbox-wrapper .checkbox-item .custom-checkbox:hover{border-color:#007bff}.setting-page .field-main .field-wrapper .checkbox-wrapper .checkbox-item .checkbox-label{font-size:14px;color:#495057;cursor:pointer;user-select:none;font-weight:500}.setting-page .auth-methods-tabs{margin-bottom:32px}.setting-page .auth-methods-tabs .auth-tabstrip{background-color:#f8f9fa;border:none;border-radius:8px;padding:4px}.setting-page .auth-methods-tabs .auth-tabstrip .k-tabstrip-items{background-color:rgba(0,0,0,0);border:none;padding:0}.setting-page .auth-methods-tabs .auth-tabstrip .k-tabstrip-items .k-item{border:none;background:rgba(0,0,0,0);margin:0;padding:0;flex:1}.setting-page .auth-methods-tabs .auth-tabstrip .k-tabstrip-items .k-item .k-link{display:flex;align-items:center;gap:8px;padding:12px 20px;color:#6c757d;font-weight:500;border:none;background:rgba(0,0,0,0);transition:all .3s ease;border-radius:6px;justify-content:center}.setting-page .auth-methods-tabs .auth-tabstrip .k-tabstrip-items .k-item .k-link:hover{background-color:#e9ecef;color:#495057}.setting-page .auth-methods-tabs .auth-tabstrip .k-tabstrip-items .k-item .k-link svg{width:18px;height:18px}.setting-page .auth-methods-tabs .auth-tabstrip .k-tabstrip-items .k-item.k-active .k-link{background-color:#3f51b5;color:#fff;border:none}.setting-page .auth-methods-tabs .auth-tabstrip .k-content{background:rgba(0,0,0,0);border:none;padding:0}.setting-page .auth-methods-tabs .auth-tab-content{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;position:relative}.setting-page .auth-methods-tabs .auth-tab-content svg{width:18px;height:18px}.setting-page .auth-method-content{margin-top:24px}.setting-page .auth-method-content .auth-toggle-section{margin-bottom:24px;padding:16px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.setting-page .auth-method-content .auth-toggle-section .toggle-wrapper{display:flex;justify-content:space-between;align-items:center}.setting-page .auth-method-content .auth-toggle-section .toggle-wrapper .toggle-label{font-weight:500;color:#495057;font-size:14px}.setting-page .auth-method-content .auth-toggle-section .toggle-wrapper .k-switch.k-checked .k-switch-track{background-color:#28a745}.setting-page .auth-method-content .auth-toggle-section .toggle-wrapper .k-switch .k-switch-thumb{background-color:#fff}.setting-page .subsection{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:16px;margin-bottom:24px}.setting-page .subsection .switch-main{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.setting-page .subsection .switch-main span{font-weight:500;color:#495057}.setting-page .subsection .switch-main .k-switch .k-switch-track{background-color:#ced4da}.setting-page .subsection .switch-main .k-switch.k-checked .k-switch-track{background-color:#3f51b5}.setting-page .k-tabstrip-content .k-animation-container.k-animation-container-relative{width:100%}.setting-page .tab-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600;color:#212529;margin-bottom:24px}.setting-page .tab-title svg{width:20px;height:20px;color:#007bff}.setting-page .tab-title-content{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;margin:auto}.setting-page .tab-title-content svg{width:18px;height:18px}.setting-page .k-button{padding:12px 24px;border-radius:6px;font-weight:500;font-size:14px;transition:all .3s ease;border:none}.setting-page .k-button.k-button-solid-primary{background-color:#3f51b5;color:#fff}.setting-page .k-button.k-button-solid-primary:hover{background-color:#0056b3}.setting-page .previewComponent .fileInput{padding:12px;border:2px dashed #ced4da;border-radius:6px;background-color:#f8f9fa;cursor:pointer;transition:border-color .3s ease}.setting-page .previewComponent .fileInput:hover{border-color:#007bff}.setting-page .previewComponent .imgPreview{margin-top:16px}.setting-page .previewComponent .imgPreview img{max-width:100%;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1)}@media(max-width: 820px){.setting-page .k-tabstrip .k-tabstrip-items .k-item .k-link{padding:12px 16px;font-size:14px}.setting-page .tabs-card{margin:16px}.setting-page .tabs-card .k-card-body{padding:20px}.setting-page .field-main{grid-template-columns:1fr;gap:16px}.setting-page .subsection{grid-template-columns:1fr}}@media(max-width: 576px){.setting-page .k-tabstrip .k-tabstrip-items{flex-wrap:wrap}.setting-page .k-tabstrip .k-tabstrip-items .k-item{flex:1;min-width:120px}.setting-page .k-tabstrip .k-tabstrip-items .k-item .k-link{padding:8px 12px;font-size:12px;flex-direction:column;gap:4px}.setting-page .k-tabstrip .k-tabstrip-items .k-item .k-link svg{width:16px;height:16px}}.setting-page .yamlorder-editor{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;padding:14px;color:#212529;box-shadow:0 2px 8px rgba(0,0,0,.05)}.setting-page .yamlorder-editor .yamlorder-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-page .yamlorder-editor .yamlorder-toolbar .k-input{flex:1;background:#fff;border:1px solid #ced4da;border-radius:8px}.setting-page .yamlorder-editor .yamlorder-toolbar .k-input .k-input-inner{background:rgba(0,0,0,0);color:#212529}.setting-page .yamlorder-editor .yamlorder-toolbar .k-input .k-input-inner::placeholder{color:#6c757d;opacity:1}.setting-page .yamlorder-editor .yamlorder-toolbar .k-input:focus-within{border-color:#3f51b5;box-shadow:0 0 0 3px rgba(63,81,181,.12)}.setting-page .yamlorder-editor .yamlorder-toolbar .add-btn{min-width:36px;height:36px;width:36px;padding:0;border-radius:8px;display:grid;place-items:center;font-weight:700}.setting-page .yamlorder-editor .yamlorder-toolbar .save-btn{margin-left:auto;border-color:#3f51b5;color:#3f51b5}.setting-page .yamlorder-editor .yamlorder-toolbar .save-btn:hover{background-color:rgba(63,81,181,.08)}.setting-page .yamlorder-editor .yamlorder-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.setting-page .yamlorder-editor .yamlorder-list .yamlorder-item{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e9ecef;border-radius:10px;padding:12px 14px;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.setting-page .yamlorder-editor .yamlorder-list .yamlorder-item:hover{border-color:#3f51b5}.setting-page .yamlorder-editor .yamlorder-list .yamlorder-item.drag-over{background:#f3f6ff;border-color:#3f51b5;box-shadow:0 0 0 3px rgba(63,81,181,.12)}.setting-page .yamlorder-editor .yamlorder-list .yamlorder-item.dragging{opacity:.6}.setting-page .yamlorder-editor .yamlorder-list .yamlorder-item .drag-handle{color:#6c757d;cursor:grab;flex:0 0 auto}.setting-page .yamlorder-editor .yamlorder-list .yamlorder-item .drag-handle:active{cursor:grabbing}.setting-page .yamlorder-editor .yamlorder-list .yamlorder-item .token{color:#212529;font-weight:600;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-page .yamlorder-editor .yamlorder-list .yamlorder-item .icon-btn{background:rgba(0,0,0,0);border:none;padding:6px 8px;min-width:32px;height:32px;border-radius:6px}.setting-page .yamlorder-editor .yamlorder-list .yamlorder-item .icon-btn.danger{color:#dc3545}.setting-page .yamlorder-editor .yamlorder-list .yamlorder-item .icon-btn.danger:hover{background:rgba(220,53,69,.08)}.setting-page .yamlorder-editor.dark{background-color:#0f1115;border:1px solid #222733;border-radius:10px;padding:14px;color:#e9ecef;box-shadow:0 4px 14px rgba(0,0,0,.3)}.setting-page .yamlorder-editor.dark .yamlorder-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-page .yamlorder-editor.dark .yamlorder-toolbar .k-input{flex:1;background:#0b0e13;border:1px solid #222733;border-radius:8px}.setting-page .yamlorder-editor.dark .yamlorder-toolbar .k-input .k-input-inner{background:rgba(0,0,0,0);color:#e9ecef}.setting-page .yamlorder-editor.dark .yamlorder-toolbar .k-input .k-input-inner::placeholder{color:#9aa3b2;opacity:1}.setting-page .yamlorder-editor.dark .yamlorder-toolbar .k-input:focus-within{border-color:#3f51b5;box-shadow:0 0 0 3px rgba(63,81,181,.2)}.setting-page .yamlorder-editor.dark .yamlorder-toolbar .add-btn{min-width:36px;height:36px;width:36px;padding:0;border-radius:8px;display:grid;place-items:center;font-weight:700}.setting-page .yamlorder-editor.dark .yamlorder-toolbar .save-btn{margin-left:auto;border-color:#3f51b5;color:#c7d2fe}.setting-page .yamlorder-editor.dark .yamlorder-toolbar .save-btn:hover{background-color:rgba(63,81,181,.1)}.setting-page .yamlorder-editor.dark .yamlorder-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.setting-page .yamlorder-editor.dark .yamlorder-list .yamlorder-item{display:flex;align-items:center;gap:10px;background:#12141a;border:1px solid #222733;border-radius:10px;padding:12px 14px;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.setting-page .yamlorder-editor.dark .yamlorder-list .yamlorder-item:hover{border-color:#3f51b5}.setting-page .yamlorder-editor.dark .yamlorder-list .yamlorder-item.drag-over{background:#161a22;border-color:#3f51b5;box-shadow:0 0 0 3px rgba(63,81,181,.15)}.setting-page .yamlorder-editor.dark .yamlorder-list .yamlorder-item.dragging{opacity:.6}.setting-page .yamlorder-editor.dark .yamlorder-list .yamlorder-item .drag-handle{color:#9aa3b2;cursor:grab;flex:0 0 auto}.setting-page .yamlorder-editor.dark .yamlorder-list .yamlorder-item .drag-handle:active{cursor:grabbing}.setting-page .yamlorder-editor.dark .yamlorder-list .yamlorder-item .token{color:#eef2f7;font-weight:600;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-page .yamlorder-editor.dark .yamlorder-list .yamlorder-item .icon-btn{background:rgba(0,0,0,0);border:none;padding:6px 8px;min-width:32px;height:32px;border-radius:6px}.setting-page .yamlorder-editor.dark .yamlorder-list .yamlorder-item .icon-btn.danger{color:#ef4444}.setting-page .yamlorder-editor.dark .yamlorder-list .yamlorder-item .icon-btn.danger:hover{background:rgba(239,68,68,.08)}
.suggestion-input-container{position:relative;width:100%}.input-wrapper{display:flex;align-items:center;gap:8px;position:relative}.suggestion-textbox{flex:1}.k-textbox{border:2px solid #e1e5e9;border-radius:8px;padding:12px 16px;font-size:14px;width:100%;box-sizing:border-box;transition:all .2s ease;background:#fff}.k-textbox:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px rgba(79,70,229,.1)}.k-textbox:hover{border-color:#d1d5db}.suggestion-button{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);border:none;border-radius:8px;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.suggestion-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.suggestion-button.active{background:linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);transform:scale(0.95)}.suggestions-popup{background:#fff;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.15);border:1px solid #e5e7eb;min-width:280px;max-width:400px;overflow:hidden;animation:popupSlideIn .2s ease-out}@keyframes popupSlideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.suggestions-header{background:linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);padding:12px 16px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px;color:#374151}.suggestion-description{padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e5e7eb;font-size:13px;color:#6b7280;line-height:1.4;font-style:italic}.close-button{background:none;border:none;font-size:18px;cursor:pointer;color:#6b7280;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-button:hover{background:#f3f4f6;color:#374151}.suggestions-list{max-height:240px;overflow-y:auto;padding:8px 0}.suggestion-item{padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;border-left:3px solid rgba(0,0,0,0)}.suggestion-item:hover{background:linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);border-left-color:#0ea5e9}.suggestion-text{font-size:13px;color:#374151;font-family:"Monaco","Menlo","Ubuntu Mono",monospace;flex:1}.suggestion-arrow{color:#9ca3af;font-size:14px;opacity:0;transition:opacity .2s ease}.suggestion-item:hover .suggestion-arrow{opacity:1;color:#0ea5e9}.suggestions-list::-webkit-scrollbar{width:6px}.suggestions-list::-webkit-scrollbar-track{background:#f1f5f9}.suggestions-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.suggestions-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.k-form-field{margin-bottom:1.5rem}.k-i-question:before{content:"?";font-weight:bold;font-size:14px;color:#666}@tailwind base;@tailwind components;@tailwind utilities;@layer utilities{.text-balance{text-wrap:balance}}@layer base{:root{--background: 0 0% 100%;--foreground: 0 0% 3.9%;--card: 0 0% 100%;--card-foreground: 0 0% 3.9%;--popover: 0 0% 100%;--popover-foreground: 0 0% 3.9%;--primary: 0 0% 9%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 96.1%;--secondary-foreground: 0 0% 9%;--muted: 0 0% 96.1%;--muted-foreground: 0 0% 45.1%;--accent: 0 0% 96.1%;--accent-foreground: 0 0% 9%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 0 0% 89.8%;--input: 0 0% 89.8%;--ring: 0 0% 3.9%;--chart-1: 12 76% 61%;--chart-2: 173 58% 39%;--chart-3: 197 37% 24%;--chart-4: 43 74% 66%;--chart-5: 27 87% 67%;--radius: 0.5rem;--sidebar-background: 0 0% 98%;--sidebar-foreground: 240 5.3% 26.1%;--sidebar-primary: 240 5.9% 10%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 240 4.8% 95.9%;--sidebar-accent-foreground: 240 5.9% 10%;--sidebar-border: 220 13% 91%;--sidebar-ring: 217.2 91.2% 59.8%;--background-start-rgb: 255, 255, 255}.dark{--background: 0 0% 3.9%;--foreground: 0 0% 98%;--card: 0 0% 3.9%;--card-foreground: 0 0% 98%;--popover: 0 0% 3.9%;--popover-foreground: 0 0% 98%;--primary: 0 0% 98%;--primary-foreground: 0 0% 9%;--secondary: 0 0% 14.9%;--secondary-foreground: 0 0% 98%;--muted: 0 0% 14.9%;--muted-foreground: 0 0% 63.9%;--accent: 0 0% 14.9%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 0 0% 14.9%;--input: 0 0% 14.9%;--ring: 0 0% 83.1%;--chart-1: 220 70% 50%;--chart-2: 160 60% 45%;--chart-3: 30 80% 55%;--chart-4: 280 65% 60%;--chart-5: 340 75% 55%;--sidebar-background: 240 5.9% 10%;--sidebar-foreground: 240 4.8% 95.9%;--sidebar-primary: 224.3 76.3% 48%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 240 3.7% 15.9%;--sidebar-accent-foreground: 240 4.8% 95.9%;--sidebar-border: 240 3.7% 15.9%;--sidebar-ring: 217.2 91.2% 59.8%;--background-start-rgb: 30, 30, 30}}@layer base{*{@apply border-border;box-sizing:border-box;padding:0;margin:0}html,body{max-width:100vw;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}body{@apply bg-background text-foreground;background:rgb(var(--background-start-rgb))}}
.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:rgba(0,0,255,.04)}.auth-card{max-width:400px;width:100%;box-shadow:0 4px 8px rgba(0,0,0,.1);border-radius:3px !important;border:none !important;overflow:hidden}.auth-header{background-color:#3f51b5;color:#fff;padding:15px 20px;border-bottom:3px solid #f15b28}.auth-header .k-card-title{color:#fff;margin:0;font-size:20px;font-weight:500}.auth-body{padding:20px;text-align:center}.auth-message{font-size:18px;font-weight:500;margin-bottom:15px;color:#333}.auth-submessage{font-size:16px;color:#666}.loader-container{display:flex;justify-content:center;margin-top:20px}@media(max-width: 480px){.auth-card{max-width:100%}.auth-message{font-size:16px}.auth-submessage{font-size:14px}}
@keyframes passing-through{0%{opacity:0;transform:translateY(40px)}30%,70%{opacity:1;transform:translateY(0px)}100%{opacity:0;transform:translateY(-40px)}}@keyframes slide-in{0%{opacity:0;transform:translateY(40px)}30%{opacity:1;transform:translateY(0px)}}@keyframes pulse{0%{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{min-height:150px;border:1px solid rgba(0, 0, 0, 0.8);border-radius:5px;padding:20px 20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:.5}.dropzone .dz-message{text-align:center;margin:3em 0}.dropzone .dz-message .dz-button{background:none;color:inherit;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom, #eee, #ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:#fff}.dropzone .dz-preview.dz-image-preview .dz-details{transition:opacity .2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:rgba(0, 0, 0, 0.9);line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200, 200, 200, 0.8);background-color:rgba(255, 255, 255, 0.8)}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:rgba(255, 255, 255, 0.4);padding:0 .4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{transform:scale(1.05, 1.05);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px;background:rgba(0, 0, 0, 0.8);border-radius:50%}.dropzone .dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px;fill:#fff}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;transition:all .2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;transition:opacity .4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:20px;top:50%;margin-top:-10px;left:15%;right:15%;border:3px solid rgba(0, 0, 0, 0.8);background:rgba(0, 0, 0, 0.8);border-radius:10px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#fff;display:block;position:relative;height:100%;width:0;transition:width 300ms ease-in-out;border-radius:17px}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;transition:opacity .3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#b10606;padding:.5em 1em;color:#fff}.dropzone .dz-preview .dz-error-message:after{content:"";position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #b10606}
.dropzone{border:2px dashed #ccc;padding:20px;border-radius:5px;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:pointer;transition:border-color .3s ease;height:100px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;margin-top:5px}.dropzone:hover{border-color:#999}.dropzone p{color:#f55f54}.alert-info{margin-bottom:1rem;padding:1rem;border:1px solid #d4edda;border-radius:4px;background-color:#d4edda;color:#155724;font-size:.5rem;text-align:center}.file-info{margin-top:1rem;padding:1rem;border:1px solid #ddd;border-radius:4px;background-color:#f9f9f9;display:flex;align-items:center;justify-content:space-between}.file-info p{margin:0}.file-info .k-button{margin-left:1rem}.process-button-container{display:flex;justify-content:flex-end;margin-top:1rem}
.allow-reposition-div{text-align:right;padding-right:20px}.k-icon{width:1em;height:1em;outline:0;font-size:16px;font-family:"WebComponentsIcons";font-style:normal;font-variant:normal;font-weight:400;line-height:1;speak:none;text-transform:none;text-decoration:none;flex-shrink:0;display:inline-flex;flex-flow:row nowrap;align-items:center;justify-content:center;vertical-align:middle;position:relative;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.home-page .k-tilelayout>div{box-shadow:0 4px 8px rgba(0,0,0,.1)}.home-page .k-tilelayout.k-grid-flow-col{grid-auto-flow:row}.home-page .k-tilelayout-item-header.k-card-header .card-header .k-card-title{font-size:22px;color:#666}.home-page .k-tilelayout-item-header.k-card-header .card-header .add-button{float:right}@media(max-width: 650px){.home-page .k-tilelayout-item-header.k-card-header .card-header .add-button .k-button-text{display:none}}.home-page .k-tilelayout-item-body.k-card-body{position:relative}.home-page .k-tilelayout-item-body.k-card-body .test-cases-result .k-loading-mask{z-index:-1}.tile-header{display:flex;align-items:center;justify-content:space-between;margin:10px;margin-bottom:0;padding:2px 0}.edit-tiles span{font-size:16px}.k-tilelayout-item.k-card{touch-action:auto !important}.k-tilelayout-item.k-card .k-chart-surface{touch-action:auto !important}.k-tilelayout-item.k-card.k-cursor-grab{touch-action:none !important}.k-tilelayout-item.k-card.k-cursor-grab .k-chart-surface{touch-action:none !important}@media(min-width: 1440px){.k-tilelayout.k-grid-flow-col{grid-template-columns:repeat(5, minmax(0px, 1fr)) !important}}@media(min-width: 577px)and (max-width: 820px){.k-tilelayout.k-grid-flow-col{grid-template-columns:repeat(2, minmax(0px, 1fr)) !important}}.dashboard-action{text-decoration:none;height:100%}.metric-card{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);position:relative;overflow:hidden;height:100%}.metric-card.blue-card{border-left:4px solid #a7c6ed}.metric-card.purple-card{border-left:4px solid #cbbbf0}.metric-card.green-card{border-left:4px solid #b2e0b2}.metric-card.amber-card{border-left:4px solid #ffb3a0}.metric-card.lavender-card{border-left:4px solid #d8b9f3}.metric-card.yellow-card{border-left:4px solid #e9d8c4}.metric-card .card-header{display:flex;align-items:flex-start;justify-content:space-between}.metric-card .card-info{flex:1}.metric-card .metric-label{font-size:.875rem;color:#666;margin-bottom:.25rem}.metric-card .metric-value{font-size:2.875rem;font-weight:700;color:#666}.metric-card .metric-change{font-size:.75rem;margin-top:.5rem}.metric-card .metric-change.positive{color:#b2e0b2}.metric-card .metric-change.negative{color:#ef4444}.metric-card .dashboard-action{text-decoration:none}.metric-card .dashboard-icon-container{display:flex;align-items:center;justify-content:center;padding:.75rem;border-radius:9999px}.metric-card .dashboard-icon-container.blue{background-color:rgba(167,198,237,.2);color:#a7c6ed}.metric-card .dashboard-icon-container.purple{background-color:rgba(203,187,240,.2);color:#cbbbf0}.metric-card .dashboard-icon-container.green{background-color:rgba(178,224,178,.2);color:#b2e0b2}.metric-card .dashboard-icon-container.amber{background-color:rgba(255,179,160,.2);color:#ffb3a0}.metric-card .dashboard-icon-container.yellow{background-color:rgba(233,216,196,.2);color:#e9d8c4}.metric-card .dashboard-icon-container.lavender{background-color:rgba(216,185,243,.2);color:#d8b9f3}.metric-card .chart-container{margin-top:1rem;height:4rem}.activity-card{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.activity-title{padding:1rem;border-bottom:1px solid #e5e7eb}.dashboard-font-icons{height:25px;width:25px}.metric-card{transition:all .3s ease-in-out}.metric-card .k-card-body{padding-block:var(--kendo-spacing-4, 1rem) !important;padding-inline:var(--kendo-spacing-4, 1rem) !important}.metric-card .k-card-body:hover{transform:scale(1.05);box-shadow:0 0 20px rgba(0,0,0,.1);z-index:1;height:100%}.metric-card .k-card-body:hover .dashboard-icon-container{transform:rotate(12deg)}.card-header{transition:all .3s ease-in-out}.metric-label{transition:color .3s ease-in-out}.metric-value{transition:all .5s ease-in-out}.dashboard-icon-container{transition:all .3s ease-in-out}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.metric-card{animation:fadeInUp .5s ease-out}@keyframes pulse{0%{opacity:.6}50%{opacity:1}100%{opacity:.6}}
.date-selector{display:flex;align-items:end}.date-selector .date-range-selector{width:100%;margin-right:7px}
@font-face {
  font-family: "WebComponentsIcons";
  font-style: normal;
  font-weight: normal;
  src: url(/02aec0722759fd0df95a.ttf) format("truetype");
}
.k-font-icon {
  width: 1em;
  height: 1em;
  outline: 0;
  font-size: 16px;
  font-family: "WebComponentsIcons";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  text-decoration: none;
  flex-shrink: 0;
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  position: relative;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}
.k-font-icon:hover, .k-font-icon:focus {
  text-decoration: none;
}

.k-i-none::before {
  display: none !important;
}

.k-icon-xs {
  font-size: calc(16px * 0.75);
}

.k-icon-sm {
  font-size: calc(16px * 0.875);
}

.k-icon-md {
  font-size: 16px;
}

.k-icon-lg {
  font-size: calc(16px * 1.25);
}

.k-icon-xl {
  font-size: calc(16px * 1.5);
}

.k-icon-xxl {
  font-size: calc(16px * 2);
}

.k-icon-xxxl {
  font-size: calc(16px * 3);
}

.k-flip-h {
  transform: scaleX(-1);
}

.k-flip-v {
  transform: scaleY(-1);
}

.k-flip-h.k-flip-v,
.k-flip-both {
  transform: scale(-1, -1);
}

.k-rotate-0 {
  transform: rotate(0deg);
}

.k-rotate-45 {
  transform: rotate(45deg);
}

.k-rotate-90 {
  transform: rotate(90deg);
}

.k-rotate-135 {
  transform: rotate(135deg);
}

.k-rotate-180 {
  transform: rotate(180deg);
}

.k-rotate-225 {
  transform: rotate(225deg);
}

.k-rotate-270 {
  transform: rotate(270deg);
}

.k-rotate-315 {
  transform: rotate(315deg);
}

.k-i-caret-tr::before {
  content: "\e000";
}

.k-i-arrow-45-up-right::before {
  content: "\e000";
}

.k-i-collapse-ne::before {
  content: "\e000";
}

.k-i-resize-ne::before {
  content: "\e000";
}

.k-i-caret-br::before {
  content: "\e001";
}

.k-i-arrow-45-down-right::before {
  content: "\e001";
}

.k-i-collapse-se::before {
  content: "\e001";
}

.k-i-resize-se::before {
  content: "\e001";
}

.k-i-caret-bl::before {
  content: "\e002";
}

.k-i-arrow-45-down-left::before {
  content: "\e002";
}

.k-i-collapse-sw::before {
  content: "\e002";
}

.k-i-resize-sw::before {
  content: "\e002";
}

.k-i-caret-tl::before {
  content: "\e003";
}

.k-i-arrow-45-up-left::before {
  content: "\e003";
}

.k-i-collapse-nw::before {
  content: "\e003";
}

.k-i-resize-nw::before {
  content: "\e003";
}

.k-i-caret-alt-up::before {
  content: "\e004";
}

.k-i-arrow-60-up::before {
  content: "\e004";
}

.k-i-arrow-n::before {
  content: "\e004";
}

.k-i-kpi-trend-increase::before {
  content: "\e004";
}

.k-i-expand-n::before {
  content: "\e004";
}

.k-i-sarrow-n::before {
  content: "\e004";
}

.k-i-caret-alt-right::before {
  content: "\e005";
}

.k-i-arrow-60-right::before {
  content: "\e005";
}

.k-i-arrow-e::before {
  content: "\e005";
}

.k-i-expand::before {
  content: "\e005";
}

.k-i-expand-e::before {
  content: "\e005";
}

.k-i-sarrow-e::before {
  content: "\e005";
}

.k-i-caret-alt-down::before {
  content: "\e006";
}

.k-i-arrow-60-down::before {
  content: "\e006";
}

.k-i-arrow-s::before {
  content: "\e006";
}

.k-i-kpi-trend-decrease::before {
  content: "\e006";
}

.k-i-expand-s::before {
  content: "\e006";
}

.k-i-collapse::before {
  content: "\e006";
}

.k-i-sarrow-s::before {
  content: "\e006";
}

.k-i-caret-alt-left::before {
  content: "\e007";
}

.k-i-arrow-60-left::before {
  content: "\e007";
}

.k-i-arrow-w::before {
  content: "\e007";
}

.k-i-expand-w::before {
  content: "\e007";
}

.k-i-sarrow-w::before {
  content: "\e007";
}

.k-i-caret-alt-to-top::before {
  content: "\e008";
}

.k-i-arrow-end-up::before {
  content: "\e008";
}

.k-i-seek-n::before {
  content: "\e008";
}

.k-i-caret-alt-to-right::before {
  content: "\e009";
}

.k-i-arrow-end-right::before {
  content: "\e009";
}

.k-i-seek-e::before {
  content: "\e009";
}

.k-i-caret-alt-to-bottom::before {
  content: "\e00a";
}

.k-i-arrow-end-down::before {
  content: "\e00a";
}

.k-i-seek-s::before {
  content: "\e00a";
}

.k-i-caret-alt-to-left::before {
  content: "\e00b";
}

.k-i-arrow-end-left::before {
  content: "\e00b";
}

.k-i-seek-w::before {
  content: "\e00b";
}

.k-i-caret-double-alt-up::before {
  content: "\e00c";
}

.k-i-arrow-double-60-up::before {
  content: "\e00c";
}

.k-i-arrow-seek-up::before {
  content: "\e00c";
}

.k-i-caret-double-alt-right::before {
  content: "\e00d";
}

.k-i-arrow-double-60-right::before {
  content: "\e00d";
}

.k-i-arrow-seek-right::before {
  content: "\e00d";
}

.k-i-forward-sm::before {
  content: "\e00d";
}

.k-i-caret-double-alt-down::before {
  content: "\e00e";
}

.k-i-arrow-double-60-down::before {
  content: "\e00e";
}

.k-i-arrow-seek-down::before {
  content: "\e00e";
}

.k-i-caret-double-alt-left::before {
  content: "\e00f";
}

.k-i-arrow-double-60-left::before {
  content: "\e00f";
}

.k-i-arrow-seek-left::before {
  content: "\e00f";
}

.k-i-rewind-sm::before {
  content: "\e00f";
}

.k-i-caret-alt-expand::before {
  content: "\e010";
}

.k-i-arrows-kpi::before {
  content: "\e010";
}

.k-i-kpi::before {
  content: "\e010";
}

.k-i-caret-alt-sort::before {
  content: "\e010";
}

.k-i-arrows-no-change::before {
  content: "\e011";
}

.k-i-arrow-overflow-down::before {
  content: "\e012";
}

.k-i-chevron-up::before {
  content: "\e013";
}

.k-i-arrow-chevron-up::before {
  content: "\e013";
}

.k-i-arrowhead-n::before {
  content: "\e013";
}

.k-i-chevron-right::before {
  content: "\e014";
}

.k-i-arrow-chevron-right::before {
  content: "\e014";
}

.k-i-arrowhead-e::before {
  content: "\e014";
}

.k-i-chevron-down::before {
  content: "\e015";
}

.k-i-arrow-chevron-down::before {
  content: "\e015";
}

.k-i-arrowhead-s::before {
  content: "\e015";
}

.k-i-chevron-left::before {
  content: "\e016";
}

.k-i-arrow-chevron-left::before {
  content: "\e016";
}

.k-i-arrowhead-w::before {
  content: "\e016";
}

.k-i-arrow-up::before {
  content: "\e017";
}

.k-i-arrow-right::before {
  content: "\e018";
}

.k-i-arrow-down::before {
  content: "\e019";
}

.k-i-arrow-left::before {
  content: "\e01a";
}

.k-i-level-down::before {
  content: "\e01b";
}

.k-i-arrow-drill::before {
  content: "\e01b";
}

.k-i-level-up::before {
  content: "\e01c";
}

.k-i-arrow-parent::before {
  content: "\e01c";
}

.k-i-level-to-top::before {
  content: "\e01d";
}

.k-i-arrow-root::before {
  content: "\e01d";
}

.k-i-level-root::before {
  content: "\e01d";
}

.k-i-col-resize::before {
  content: "\e01e";
}

.k-i-arrows-resizing::before {
  content: "\e01e";
}

.k-i-arrows-axes::before {
  content: "\e01f";
}

.k-i-arrows-dimensions::before {
  content: "\e01f";
}

.k-i-dimension::before {
  content: "\e01f";
}

.k-i-arrows-swap::before {
  content: "\e020";
}

.k-i-drag-and-drop::before {
  content: "\e021";
}

.k-i-categorize::before {
  content: "\e022";
}

.k-i-grid::before {
  content: "\e023";
}

.k-i-grid-layout::before {
  content: "\e024";
}

.k-i-group::before {
  content: "\e025";
}

.k-i-ungroup::before {
  content: "\e026";
}

.k-i-handle-drag::before {
  content: "\e027";
}

.k-i-handler-drag::before {
  content: "\e027";
}

.k-i-layout::before {
  content: "\e028";
}

.k-i-layout-1-by-4::before {
  content: "\e029";
}

.k-i-layout-2-by-2::before {
  content: "\e02a";
}

.k-i-page-layout::before {
  content: "\e02a";
}

.k-i-layout-side-by-side::before {
  content: "\e02b";
}

.k-i-layout-stacked::before {
  content: "\e02c";
}

.k-i-columns::before {
  content: "\e02d";
}

.k-i-rows::before {
  content: "\e02e";
}

.k-i-reorder::before {
  content: "\e02f";
}

.k-i-menu::before {
  content: "\e030";
}

.k-i-hamburger::before {
  content: "\e030";
}

.k-i-more-vertical::before {
  content: "\e031";
}

.k-i-more-v::before {
  content: "\e031";
}

.k-i-vbars::before {
  content: "\e031";
}

.k-i-more-horizontal::before {
  content: "\e032";
}

.k-i-more-h::before {
  content: "\e032";
}

.k-i-hbars::before {
  content: "\e032";
}

.k-i-overlap::before {
  content: "\e033";
}

.k-i-home::before {
  content: "\e034";
}

.k-i-root::before {
  content: "\e034";
}

.k-i-arrows-left-right::before {
  content: "\e035";
}

.k-i-arrows-top-bottom::before {
  content: "\e036";
}

.k-i-border-radius-bottom-left::before {
  content: "\e037";
}

.k-i-border-radius-bottom-right::before {
  content: "\e038";
}

.k-i-border-radius-top-left::before {
  content: "\e039";
}

.k-i-border-radius-top-right::before {
  content: "\e03a";
}

.k-i-border-radius::before {
  content: "\e03b";
}

.k-i-border-style-bottom::before {
  content: "\e03c";
}

.k-i-border-style-left::before {
  content: "\e03d";
}

.k-i-border-style-right::before {
  content: "\e03e";
}

.k-i-border-style-top::before {
  content: "\e03f";
}

.k-i-border-style::before {
  content: "\e040";
}

.k-i-box-sizing::before {
  content: "\e041";
}

.k-i-chevron-double-down::before {
  content: "\e042";
}

.k-i-chevron-double-left::before {
  content: "\e043";
}

.k-i-chevron-double-right::before {
  content: "\e044";
}

.k-i-chevron-double-up::before {
  content: "\e045";
}

.k-i-data-ods::before {
  content: "\e046";
}

.k-i-non-recurrence::before {
  content: "\e047";
}

.k-i-display-block::before {
  content: "\e048";
}

.k-i-display-flex::before {
  content: "\e049";
}

.k-i-display-inline-flex::before {
  content: "\e04a";
}

.k-i-droplet-slider::before {
  content: "\e04b";
}

.k-i-color-canvas::before {
  content: "\e04b";
}

.k-i-file-report::before {
  content: "\e04c";
}

.k-i-gap-column::before {
  content: "\e04d";
}

.k-i-gap-row::before {
  content: "\e04e";
}

.k-i-handle-resize-alt::before {
  content: "\e04f";
}

.k-i-handle-resize::before {
  content: "\e050";
}

.k-i-images::before {
  content: "\e051";
}

.k-i-letter-space::before {
  content: "\e052";
}

.k-i-line-height::before {
  content: "\e053";
}

.k-i-list-latin-big::before {
  content: "\e054";
}

.k-i-list-latin-small::before {
  content: "\e055";
}

.k-i-list-roman-big::before {
  content: "\e056";
}

.k-i-list-roman-small::before {
  content: "\e057";
}

.k-i-list-unordered-outline::before {
  content: "\e058";
}

.k-i-list-unordered-square::before {
  content: "\e059";
}

.k-i-max-height::before {
  content: "\e05a";
}

.k-i-max-width::before {
  content: "\e05b";
}

.k-i-min-height::before {
  content: "\e05c";
}

.k-i-min-width::before {
  content: "\e05d";
}

.k-i-outline-offset::before {
  content: "\e05e";
}

.k-i-outline-width::before {
  content: "\e05f";
}

.k-i-padding-bottom::before {
  content: "\e060";
}

.k-i-padding-left::before {
  content: "\e061";
}

.k-i-padding-right::before {
  content: "\e062";
}

.k-i-padding-top::before {
  content: "\e063";
}

.k-i-padding::before {
  content: "\e064";
}

.k-i-position-bottom::before {
  content: "\e065";
}

.k-i-position-left::before {
  content: "\e066";
}

.k-i-position-right::before {
  content: "\e067";
}

.k-i-position-top::before {
  content: "\e068";
}

.k-i-regular-expression::before {
  content: "\e069";
}

.k-i-replace-all::before {
  content: "\e06a";
}

.k-i-replace-single::before {
  content: "\e06b";
}

.k-i-report-element::before {
  content: "\e06c";
}

.k-i-right-double-quotes::before {
  content: "\e06d";
}

.k-i-blockquote::before {
  content: "\e06d";
}

.k-i-whole-word::before {
  content: "\e06e";
}

.k-i-data-sds::before {
  content: "\e06f";
}

.k-i-download-light::before {
  content: "\e070";
}

.k-i-eye-slash::before {
  content: "\e071";
}

.k-i-preview-off::before {
  content: "\e071";
}

.k-i-display-inline-block::before {
  content: "\e072";
}

.k-i-paper-plane::before {
  content: "\e073";
}

.k-i-gauge-linear::before {
  content: "\e074";
}

.k-i-gauge-radial::before {
  content: "\e075";
}

.k-i-envelope-box::before {
  content: "\e076";
}

.k-i-envelope-link::before {
  content: "\e077";
}

.k-i-envelope::before {
  content: "\e078";
}

.k-i-warning-circle::before {
  content: "\e079";
}

.k-i-warning-triangle::before {
  content: "\e07a";
}

.k-i-info-solid::before {
  content: "\e07b";
}

.k-i-font-grow::before {
  content: "\e07c";
}

.k-i-font-shrink::before {
  content: "\e07d";
}

.k-i-text-overflow::before {
  content: "\e07e";
}

.k-i-text-wrap-arrow::before {
  content: "\e07f";
}

.k-i-text-truncate::before {
  content: "\e080";
}

.k-i-text-clip::before {
  content: "\e081";
}

.k-i-border-color::before {
  content: "\e082";
}

.k-i-border-type::before {
  content: "\e083";
}

.k-i-thumb-down-outline::before {
  content: "\e084";
}

.k-i-thumb-down::before {
  content: "\e085";
}

.k-i-thumb-up-outline::before {
  content: "\e086";
}

.k-i-thumb-up::before {
  content: "\e087";
}

.k-i-sparkles::before {
  content: "\e088";
}

.k-i-paragraph-mark::before {
  content: "\e089";
}

.k-i-pilcrow::before {
  content: "\e089";
}

.k-i-paragraph-height::before {
  content: "\e08a";
}

.k-i-user-outline::before {
  content: "\e08b";
}

.k-i-wallet-solid::before {
  content: "\e08c";
}

.k-i-stamp::before {
  content: "\e08d";
}

.k-i-sticky-note::before {
  content: "\e08e";
}

.k-i-ruler-outline::before {
  content: "\e08f";
}

.k-i-eraser-outline::before {
  content: "\e090";
}

.k-i-edit-annotations::before {
  content: "\e091";
}

.k-i-highlight::before {
  content: "\e092";
}

.k-i-highlight-free::before {
  content: "\e093";
}

.k-i-free-text::before {
  content: "\e094";
}

.k-i-x-logo::before {
  content: "\e095";
}

.k-i-inputbox::before {
  content: "\e096";
}

.k-i-scale::before {
  content: "\e097";
}

.k-i-van::before {
  content: "\e098";
}

.k-i-truck::before {
  content: "\e099";
}

.k-i-wallet-outline::before {
  content: "\e09a";
}

.k-i-transactions::before {
  content: "\e09b";
}

.k-i-handle-drag-dots::before {
  content: "\e09c";
}

.k-i-six-dice::before {
  content: "\e09c";
}

.k-i-six-dots-vertical::before {
  content: "\e09c";
}

.k-i-arrow-down-left::before {
  content: "\e09d";
}

.k-i-return-key::before {
  content: "\e09d";
}

.k-i-recycle-solid::before {
  content: "\e09e";
}

.k-i-industrial-vehicle::before {
  content: "\e09f";
}

.k-i-recycle-outline::before {
  content: "\e0a0";
}

.k-i-plane-solid::before {
  content: "\e0a1";
}

.k-i-plane-outline::before {
  content: "\e0a2";
}

.k-i-money-exchange::before {
  content: "\e0a3";
}

.k-i-sustainability::before {
  content: "\e0a4";
}

.k-i-speed::before {
  content: "\e0a5";
}

.k-i-devices-outline::before {
  content: "\e0a6";
}

.k-i-devices-solid::before {
  content: "\e0a7";
}

.k-i-instagram-box::before {
  content: "\e0a8";
}

.k-i-instagram::before {
  content: "\e0a9";
}

.k-i-laptop-outline::before {
  content: "\e0aa";
}

.k-i-laptop-solid::before {
  content: "\e0ab";
}

.k-i-mobile-outline-ringing::before {
  content: "\e0ac";
}

.k-i-mobile-outline::before {
  content: "\e0ad";
}

.k-i-mobile-solid-ringing::before {
  content: "\e0ae";
}

.k-i-mobile-solid::before {
  content: "\e0af";
}

.k-i-locations::before {
  content: "\e0b0";
}

.k-i-tablet-outline::before {
  content: "\e0b1";
}

.k-i-tablet-solid::before {
  content: "\e0b2";
}

.k-i-users-outline::before {
  content: "\e0b3";
}

.k-i-users-solid::before {
  content: "\e0b4";
}

.k-i-whatsapp-box::before {
  content: "\e0b5";
}

.k-i-whatsapp::before {
  content: "\e0b6";
}

.k-i-x-logo-box::before {
  content: "\e0b7";
}

.k-i-sms-outline::before {
  content: "\e0b8";
}

.k-i-sms-solid::before {
  content: "\e0b9";
}

.k-i-therapist-outline::before {
  content: "\e0ba";
}

.k-i-therapist-solid::before {
  content: "\e0bb";
}

.k-i-patient-solid::before {
  content: "\e0bc";
}

.k-i-patient-outline::before {
  content: "\e0bd";
}

.k-i-nurse-solid::before {
  content: "\e0be";
}

.k-i-nurse-outline::before {
  content: "\e0bf";
}

.k-i-optimization::before {
  content: "\e0c0";
}

.k-i-security-check-outline::before {
  content: "\e0c1";
}

.k-i-security-check-solid::before {
  content: "\e0c2";
}

.k-i-security-lock-outline::before {
  content: "\e0c3";
}

.k-i-security-lock-solid::before {
  content: "\e0c4";
}

.k-i-upgrade-outline::before {
  content: "\e0c5";
}

.k-i-upgrade-reload::before {
  content: "\e0c6";
}

.k-i-upgrade-solid::before {
  content: "\e0c7";
}

.k-i-food-solid::before {
  content: "\e0c8";
}

.k-i-food-outline::before {
  content: "\e0c9";
}

.k-i-area::before {
  content: "\e0ca";
}

.k-i-arrow-shape::before {
  content: "\e0cb";
}

.k-i-border-radius-undefined::before {
  content: "\e0cc";
}

.k-i-border-width::before {
  content: "\e0cd";
}

.k-i-circle-shape::before {
  content: "\e0ce";
}

.k-i-combobox::before {
  content: "\e0cf";
}

.k-i-cube::before {
  content: "\e0d0";
}

.k-i-distance::before {
  content: "\e0d1";
}

.k-i-draw-free::before {
  content: "\e0d2";
}

.k-i-dropdown::before {
  content: "\e0d3";
}

.k-i-eraser-solid::before {
  content: "\e0d4";
}

.k-i-hexagon-shape::before {
  content: "\e0d5";
}

.k-i-insert-free-text::before {
  content: "\e0d6";
}

.k-i-line-shape::before {
  content: "\e0d7";
}

.k-i-password-box::before {
  content: "\e0d8";
}

.k-i-perimeter::before {
  content: "\e0d9";
}

.k-i-rectangle-shape::before {
  content: "\e0da";
}

.k-i-replace-free-text::before {
  content: "\e0db";
}

.k-i-ruler-outline-alt::before {
  content: "\e0dc";
}

.k-i-ruler-solid-alt::before {
  content: "\e0dd";
}

.k-i-ruler-solid::before {
  content: "\e0de";
}

.k-i-ruler-triangle-outline::before {
  content: "\e0df";
}

.k-i-ruler-triangle-solid::before {
  content: "\e0e0";
}

.k-i-award-number-outline::before {
  content: "\e0e1";
}

.k-i-award-number-solid::before {
  content: "\e0e2";
}

.k-i-award-star-outline::before {
  content: "\e0e3";
}

.k-i-award-star-solid::before {
  content: "\e0e4";
}

.k-i-banknote-outline::before {
  content: "\e0e5";
}

.k-i-banknote-solid::before {
  content: "\e0e6";
}

.k-i-bathtube-outline::before {
  content: "\e0e7";
}

.k-i-bathtube-solid::before {
  content: "\e0e8";
}

.k-i-bed-outline::before {
  content: "\e0e9";
}

.k-i-bed-solid::before {
  content: "\e0ea";
}

.k-i-bug-outline::before {
  content: "\e0eb";
}

.k-i-bug-solid::before {
  content: "\e0ec";
}

.k-i-buildings-outline::before {
  content: "\e0ed";
}

.k-i-buildings-solid::before {
  content: "\e0ee";
}

.k-i-bicycle::before {
  content: "\e0ef";
}

.k-i-bus::before {
  content: "\e0f0";
}

.k-i-car::before {
  content: "\e0f1";
}

.k-i-dashboard-outline::before {
  content: "\e0f2";
}

.k-i-dashboard-solid::before {
  content: "\e0f3";
}

.k-i-decision::before {
  content: "\e0f4";
}

.k-i-directions::before {
  content: "\e0f5";
}

.k-i-education-outline::before {
  content: "\e0f6";
}

.k-i-education-solid::before {
  content: "\e0f7";
}

.k-i-headset::before {
  content: "\e0f8";
}

.k-i-luggage-outline::before {
  content: "\e0f9";
}

.k-i-luggage-solid::before {
  content: "\e0fa";
}

.k-i-non-stop-outline::before {
  content: "\e0fb";
}

.k-i-non-stop-solid::before {
  content: "\e0fc";
}

.k-i-pills-outline::before {
  content: "\e0fd";
}

.k-i-pills-solid::before {
  content: "\e0fe";
}

.k-i-plan::before {
  content: "\e0ff";
}

.k-i-undo::before {
  content: "\e100";
}

.k-i-undo-large::before {
  content: "\e100";
}

.k-i-redo::before {
  content: "\e101";
}

.k-i-redo-large::before {
  content: "\e101";
}

.k-i-arrow-rotate-ccw::before {
  content: "\e102";
}

.k-i-reset::before {
  content: "\e102";
}

.k-i-arrow-rotate-cw::before {
  content: "\e103";
}

.k-i-reload::before {
  content: "\e103";
}

.k-i-refresh::before {
  content: "\e103";
}

.k-i-recurrence::before {
  content: "\e103";
}

.k-i-arrows-repeat::before {
  content: "\e103";
}

.k-i-arrows-no-repeat::before {
  content: "\e104";
}

.k-i-non-recurrence::before {
  content: "\e104";
}

.k-i-refresh-clear::before {
  content: "\e104";
}

.k-i-arrow-rotate-ccw-small::before {
  content: "\e105";
}

.k-i-reset-sm::before {
  content: "\e105";
}

.k-i-arrow-rotate-cw-small::before {
  content: "\e106";
}

.k-i-reload-sm::before {
  content: "\e106";
}

.k-i-refresh-sm::before {
  content: "\e106";
}

.k-i-recurrence-sm::before {
  content: "\e106";
}

.k-i-arrows-repeat-sm::before {
  content: "\e106";
}

.k-i-clock::before {
  content: "\e107";
}

.k-i-calendar::before {
  content: "\e108";
}

.k-i-save::before {
  content: "\e109";
}

.k-i-floppy::before {
  content: "\e109";
}

.k-i-print::before {
  content: "\e10a";
}

.k-i-printer::before {
  content: "\e10a";
}

.k-i-pencil::before {
  content: "\e10b";
}

.k-i-edit::before {
  content: "\e10b";
}

.k-i-trash::before {
  content: "\e10c";
}

.k-i-delete::before {
  content: "\e10c";
}

.k-i-paperclip::before {
  content: "\e10d";
}

.k-i-attachment::before {
  content: "\e10d";
}

.k-i-clip::before {
  content: "\e10d";
}

.k-i-paperclip-alt::before {
  content: "\e10e";
}

.k-i-attachment-45::before {
  content: "\e10e";
}

.k-i-clip-45::before {
  content: "\e10e";
}

.k-i-link::before {
  content: "\e10f";
}

.k-i-link-horizontal::before {
  content: "\e10f";
}

.k-i-hyperlink::before {
  content: "\e10f";
}

.k-i-link-h::before {
  content: "\e10f";
}

.k-i-unlink::before {
  content: "\e110";
}

.k-i-unlink-horizontal::before {
  content: "\e110";
}

.k-i-hyperlink-remove::before {
  content: "\e110";
}

.k-i-unlink-h::before {
  content: "\e110";
}

.k-i-link-vertical::before {
  content: "\e111";
}

.k-i-link-v::before {
  content: "\e111";
}

.k-i-unlink-vertical::before {
  content: "\e112";
}

.k-i-unlink-v::before {
  content: "\e112";
}

.k-i-lock::before {
  content: "\e113";
}

.k-i-unlock::before {
  content: "\e114";
}

.k-i-cancel::before {
  content: "\e115";
}

.k-i-cancel-outline::before {
  content: "\e116";
}

.k-i-deny::before {
  content: "\e116";
}

.k-i-cancel-circle::before {
  content: "\e117";
}

.k-i-check::before {
  content: "\e118";
}

.k-i-checkmark::before {
  content: "\e118";
}

.k-i-tick::before {
  content: "\e118";
}

.k-i-check-outline::before {
  content: "\e119";
}

.k-i-checkmark-outline::before {
  content: "\e119";
}

.k-i-success::before {
  content: "\e119";
}

.k-i-check-circle::before {
  content: "\e11a";
}

.k-i-checkmark-circle::before {
  content: "\e11a";
}

.k-i-x::before {
  content: "\e11b";
}

.k-i-close::before {
  content: "\e11b";
}

.k-i-clear::before {
  content: "\e11b";
}

.k-i-times::before {
  content: "\e11b";
}

.k-i-group-delete::before {
  content: "\e11b";
}

.k-i-x-outline::before {
  content: "\e11c";
}

.k-i-close-outline::before {
  content: "\e11c";
}

.k-i-clear-outline::before {
  content: "\e11c";
}

.k-i-times-outline::before {
  content: "\e11c";
}

.k-i-error::before {
  content: "\e11c";
}

.k-i-x-circle::before {
  content: "\e11d";
}

.k-i-close-circle::before {
  content: "\e11d";
}

.k-i-clear-circle::before {
  content: "\e11d";
}

.k-i-times-circle::before {
  content: "\e11d";
}

.k-i-plus::before {
  content: "\e11e";
}

.k-i-add::before {
  content: "\e11e";
}

.k-i-plus-outline::before {
  content: "\e11f";
}

.k-i-add-outline::before {
  content: "\e11f";
}

.k-i-plus-circle::before {
  content: "\e120";
}

.k-i-add-circle::before {
  content: "\e120";
}

.k-i-minus::before {
  content: "\e121";
}

.k-i-kpi-trend-equal::before {
  content: "\e121";
}

.k-i-minus-outline::before {
  content: "\e122";
}

.k-i-minus-circle::before {
  content: "\e123";
}

.k-i-sort-asc::before {
  content: "\e124";
}

.k-i-sort-desc::before {
  content: "\e125";
}

.k-i-sort-clear::before {
  content: "\e126";
}

.k-i-unsort::before {
  content: "\e126";
}

.k-i-sort-asc-small::before {
  content: "\e127";
}

.k-i-sort-asc-sm::before {
  content: "\e127";
}

.k-i-sort-desc-small::before {
  content: "\e128";
}

.k-i-sort-desc-sm::before {
  content: "\e128";
}

.k-i-filter::before {
  content: "\e129";
}

.k-i-filter-clear::before {
  content: "\e12a";
}

.k-i-filter-small::before {
  content: "\e12b";
}

.k-i-filter-sm::before {
  content: "\e12b";
}

.k-i-filter-sort-asc-small::before {
  content: "\e12c";
}

.k-i-filter-sort-asc-sm::before {
  content: "\e12c";
}

.k-i-filter-sort-desc-small::before {
  content: "\e12d";
}

.k-i-filter-sort-desc-sm::before {
  content: "\e12d";
}

.k-i-filter-add-expression::before {
  content: "\e12e";
}

.k-i-filter-add-group::before {
  content: "\e12f";
}

.k-i-login::before {
  content: "\e130";
}

.k-i-sign-in::before {
  content: "\e130";
}

.k-i-logout::before {
  content: "\e131";
}

.k-i-sign-out::before {
  content: "\e131";
}

.k-i-download::before {
  content: "\e132";
}

.k-i-upload::before {
  content: "\e133";
}

.k-i-hyperlink-open::before {
  content: "\e134";
}

.k-i-hyperlink-open-sm::before {
  content: "\e135";
}

.k-i-launch::before {
  content: "\e136";
}

.k-i-window::before {
  content: "\e137";
}

.k-i-window-maximize::before {
  content: "\e137";
}

.k-i-maximize::before {
  content: "\e137";
}

.k-i-window-restore::before {
  content: "\e138";
}

.k-i-windows::before {
  content: "\e138";
}

.k-i-tiles::before {
  content: "\e138";
}

.k-i-restore::before {
  content: "\e138";
}

.k-i-window-minimize::before {
  content: "\e139";
}

.k-i-minimize::before {
  content: "\e139";
}

.k-i-gear::before {
  content: "\e13a";
}

.k-i-cog::before {
  content: "\e13a";
}

.k-i-custom::before {
  content: "\e13a";
}

.k-i-gears::before {
  content: "\e13b";
}

.k-i-cogs::before {
  content: "\e13b";
}

.k-i-wrench::before {
  content: "\e13c";
}

.k-i-settings::before {
  content: "\e13c";
}

.k-i-eye::before {
  content: "\e13d";
}

.k-i-preview::before {
  content: "\e13d";
}

.k-i-search::before {
  content: "\e13e";
}

.k-i-zoom::before {
  content: "\e13e";
}

.k-i-zoom-in::before {
  content: "\e13f";
}

.k-i-zoom-out::before {
  content: "\e140";
}

.k-i-arrows-move::before {
  content: "\e141";
}

.k-i-pan::before {
  content: "\e141";
}

.k-i-move::before {
  content: "\e141";
}

.k-i-calculator::before {
  content: "\e142";
}

.k-i-cart::before {
  content: "\e143";
}

.k-i-shopping-cart::before {
  content: "\e143";
}

.k-i-connector::before {
  content: "\e144";
}

.k-i-plus-sm::before {
  content: "\e145";
}

.k-i-splus::before {
  content: "\e145";
}

.k-i-minus-sm::before {
  content: "\e146";
}

.k-i-sminus::before {
  content: "\e146";
}

.k-i-kpi-status-deny::before {
  content: "\e147";
}

.k-i-kpi-status-hold::before {
  content: "\e148";
}

.k-i-kpi-status-open::before {
  content: "\e149";
}

.k-i-equal::before {
  content: "\e14a";
}

.k-i-not-equal::before {
  content: "\e14b";
}

.k-i-less-or-equal::before {
  content: "\e14c";
}

.k-i-greater-or-equal::before {
  content: "\e14d";
}

.k-i-divide::before {
  content: "\e14e";
}

.k-i-accessibility::before {
  content: "\e14f";
}

.k-i-barcode-outline::before {
  content: "\e150";
}

.k-i-barcode::before {
  content: "\e151";
}

.k-i-barcode-scanner::before {
  content: "\e152";
}

.k-i-qr-code-outline::before {
  content: "\e153";
}

.k-i-qr-code::before {
  content: "\e154";
}

.k-i-qr-code-scanner::before {
  content: "\e155";
}

.k-i-barcode-qr-code-scanner::before {
  content: "\e156";
}

.k-i-signature::before {
  content: "\e157";
}

.k-i-hand::before {
  content: "\e158";
}

.k-i-pointer::before {
  content: "\e159";
}

.k-i-cursor::before {
  content: "\e159";
}

.k-i-stick::before {
  content: "\e15a";
}

.k-i-unstick::before {
  content: "\e15b";
}

.k-i-set-column-position::before {
  content: "\e15c";
}

.k-i-clock-arrow-rotate::before {
  content: "\e15d";
}

.k-i-question-solid::before {
  content: "\e15e";
}

.k-i-clean-outline::before {
  content: "\e15f";
}

.k-i-clean-solid::before {
  content: "\e160";
}

.k-i-concrete-truck::before {
  content: "\e161";
}

.k-i-discount-outline::before {
  content: "\e162";
}

.k-i-discount-solid::before {
  content: "\e163";
}

.k-i-doctor-outline::before {
  content: "\e164";
}

.k-i-doctor-solid::before {
  content: "\e165";
}

.k-i-lab-technician-outline::before {
  content: "\e166";
}

.k-i-lab-technician-solid::before {
  content: "\e167";
}

.k-i-sweeper-vehicle::before {
  content: "\e168";
}

.k-i-weight-scale-outline::before {
  content: "\e169";
}

.k-i-weight-scale-solid::before {
  content: "\e16a";
}

.k-i-microphone-solid::before {
  content: "\e16b";
}

.k-i-microphone-outline::before {
  content: "\e16c";
}

.k-i-row-expand::before {
  content: "\e16d";
}

.k-i-row-collapse::before {
  content: "\e16e";
}

.k-i-play::before {
  content: "\e200";
}

.k-i-pause::before {
  content: "\e201";
}

.k-i-stop::before {
  content: "\e202";
}

.k-i-rewind::before {
  content: "\e203";
}

.k-i-forward::before {
  content: "\e204";
}

.k-i-volume-down::before {
  content: "\e205";
}

.k-i-volume-low::before {
  content: "\e205";
}

.k-i-volume-up::before {
  content: "\e206";
}

.k-i-volume-high::before {
  content: "\e206";
}

.k-i-volume-mute::before {
  content: "\e207";
}

.k-i-volume-off::before {
  content: "\e207";
}

.k-i-hd::before {
  content: "\e208";
}

.k-i-closed-captions::before {
  content: "\e209";
}

.k-i-subtitles::before {
  content: "\e209";
}

.k-i-playlist::before {
  content: "\e20a";
}

.k-i-music-notes::before {
  content: "\e20b";
}

.k-i-audio::before {
  content: "\e20b";
}

.k-i-play-sm::before {
  content: "\e20c";
}

.k-i-pause-sm::before {
  content: "\e20d";
}

.k-i-stop-sm::before {
  content: "\e20e";
}

.k-i-heart-outline::before {
  content: "\e300";
}

.k-i-fav-outline::before {
  content: "\e300";
}

.k-i-favorite-outline::before {
  content: "\e300";
}

.k-i-heart::before {
  content: "\e301";
}

.k-i-fav::before {
  content: "\e301";
}

.k-i-favorite::before {
  content: "\e301";
}

.k-i-star-outline::before {
  content: "\e302";
}

.k-i-bookmark-outline::before {
  content: "\e302";
}

.k-i-star::before {
  content: "\e303";
}

.k-i-bookmark::before {
  content: "\e303";
}

.k-i-checkbox::before {
  content: "\e304";
}

.k-i-shape-rect::before {
  content: "\e304";
}

.k-i-checkbox-checked::before {
  content: "\e305";
}

.k-i-checkbox-indeterminate::before {
  content: "\e306";
}

.k-i-tri-state-indeterminate::before {
  content: "\e306";
}

.k-i-checkbox-null::before {
  content: "\e307";
}

.k-i-tri-state-null::before {
  content: "\e307";
}

.k-i-circle::before {
  content: "\e308";
}

.k-i-radiobutton::before {
  content: "\e309";
}

.k-i-shape-circle::before {
  content: "\e309";
}

.k-i-radiobutton-checked::before {
  content: "\e30a";
}

.k-i-bell::before {
  content: "\e400";
}

.k-i-notification::before {
  content: "\e400";
}

.k-i-info-circle::before {
  content: "\e401";
}

.k-i-information::before {
  content: "\e401";
}

.k-i-info::before {
  content: "\e401";
}

.k-i-note::before {
  content: "\e401";
}

.k-i-question-circle::before {
  content: "\e402";
}

.k-i-question::before {
  content: "\e402";
}

.k-i-help::before {
  content: "\e402";
}

.k-i-exclamation-circle::before {
  content: "\e403";
}

.k-i-warning::before {
  content: "\e403";
}

.k-i-exception::before {
  content: "\e403";
}

.k-i-camera::before {
  content: "\e500";
}

.k-i-photo-camera::before {
  content: "\e500";
}

.k-i-image::before {
  content: "\e501";
}

.k-i-photo::before {
  content: "\e501";
}

.k-i-image-export::before {
  content: "\e502";
}

.k-i-photo-export::before {
  content: "\e502";
}

.k-i-zoom-actual-size::before {
  content: "\e503";
}

.k-i-zoom-best-fit::before {
  content: "\e504";
}

.k-i-image-resize::before {
  content: "\e505";
}

.k-i-crop::before {
  content: "\e506";
}

.k-i-mirror::before {
  content: "\e507";
}

.k-i-flip-horizontal::before {
  content: "\e508";
}

.k-i-flip-h::before {
  content: "\e508";
}

.k-i-flip-vertical::before {
  content: "\e509";
}

.k-i-flip-v::before {
  content: "\e509";
}

.k-i-rotate::before {
  content: "\e50a";
}

.k-i-rotate-right::before {
  content: "\e50b";
}

.k-i-rotate-cw::before {
  content: "\e50b";
}

.k-i-rotate-left::before {
  content: "\e50c";
}

.k-i-rotate-ccw::before {
  content: "\e50c";
}

.k-i-brush::before {
  content: "\e50d";
}

.k-i-palette::before {
  content: "\e50e";
}

.k-i-droplet::before {
  content: "\e50f";
}

.k-i-paint::before {
  content: "\e50f";
}

.k-i-background::before {
  content: "\e50f";
}

.k-i-shape-line::before {
  content: "\e510";
}

.k-i-line::before {
  content: "\e510";
}

.k-i-brightness-contrast::before {
  content: "\e511";
}

.k-i-sliders::before {
  content: "\e512";
}

.k-i-saturation::before {
  content: "\e512";
}

.k-i-invert-colors::before {
  content: "\e513";
}

.k-i-transparency::before {
  content: "\e514";
}

.k-i-opacity::before {
  content: "\e514";
}

.k-i-grayscale::before {
  content: "\e515";
}

.k-i-blur::before {
  content: "\e516";
}

.k-i-sharpen::before {
  content: "\e517";
}

.k-i-shapes::before {
  content: "\e518";
}

.k-i-shape::before {
  content: "\e518";
}

.k-i-round-corners::before {
  content: "\e519";
}

.k-i-bring-to-front::before {
  content: "\e51a";
}

.k-i-front-element::before {
  content: "\e51a";
}

.k-i-bring-to-back::before {
  content: "\e51b";
}

.k-i-back-element::before {
  content: "\e51b";
}

.k-i-bring-forward::before {
  content: "\e51c";
}

.k-i-forward-element::before {
  content: "\e51c";
}

.k-i-bring-backward::before {
  content: "\e51d";
}

.k-i-backward-element::before {
  content: "\e51d";
}

.k-i-align-self-start::before {
  content: "\e51e";
}

.k-i-align-left-element::before {
  content: "\e51e";
}

.k-i-align-self-center::before {
  content: "\e51f";
}

.k-i-align-center-element::before {
  content: "\e51f";
}

.k-i-align-self-end::before {
  content: "\e520";
}

.k-i-align-right-element::before {
  content: "\e520";
}

.k-i-align-self-start-alt::before {
  content: "\e521";
}

.k-i-align-top-element::before {
  content: "\e521";
}

.k-i-align-self-center-alt::before {
  content: "\e522";
}

.k-i-align-middle-element::before {
  content: "\e522";
}

.k-i-align-self-end-alt::before {
  content: "\e523";
}

.k-i-align-bottom-element::before {
  content: "\e523";
}

.k-i-thumbnails-up::before {
  content: "\e524";
}

.k-i-thumbnails-right::before {
  content: "\e525";
}

.k-i-thumbnails-down::before {
  content: "\e526";
}

.k-i-thumbnails-left::before {
  content: "\e527";
}

.k-i-fullscreen::before {
  content: "\e528";
}

.k-i-full-screen::before {
  content: "\e528";
}

.k-i-fullscreen-enter::before {
  content: "\e528";
}

.k-i-fullscreen-exit::before {
  content: "\e529";
}

.k-i-full-screen-exit::before {
  content: "\e529";
}

.k-i-droplet-slash::before {
  content: "\e52a";
}

.k-i-reset-color::before {
  content: "\e52a";
}

.k-i-paint-remove::before {
  content: "\e52a";
}

.k-i-background-remove::before {
  content: "\e52a";
}

.k-i-photos::before {
  content: "\e52b";
}

.k-i-images::before {
  content: "\e52b";
}

.k-i-gallery::before {
  content: "\e52b";
}

.k-i-align-to-grid::before {
  content: "\e52c";
}

.k-i-size-to-grid::before {
  content: "\e52d";
}

.k-i-make-same-size::before {
  content: "\e52e";
}

.k-i-make-same-width::before {
  content: "\e52f";
}

.k-i-make-same-height::before {
  content: "\e530";
}

.k-i-make-horizontal-spacing-equal::before {
  content: "\e531";
}

.k-i-increase-horizontal-spacing::before {
  content: "\e532";
}

.k-i-decrease-horizontal-spacing::before {
  content: "\e533";
}

.k-i-remove-horizontal-spacing::before {
  content: "\e534";
}

.k-i-make-vertical-spacing-equal::before {
  content: "\e535";
}

.k-i-increase-vertical-spacing::before {
  content: "\e536";
}

.k-i-decrease-vertical-spacing::before {
  content: "\e537";
}

.k-i-remove-vertical-spacing::before {
  content: "\e538";
}

.k-i-eyedropper::before {
  content: "\e539";
}

.k-i-snap-grid::before {
  content: "\e53a";
}

.k-i-snap-to-gridlines::before {
  content: "\e53b";
}

.k-i-snap-to-snaplines::before {
  content: "\e53c";
}

.k-i-dimensions::before {
  content: "\e53d";
}

.k-i-align-self-stretch::before {
  content: "\e53e";
}

.k-i-align-stretch-element-horizontal::before {
  content: "\e53e";
}

.k-i-align-self-stretch-alt::before {
  content: "\e53f";
}

.k-i-align-stretch-element-vertical::before {
  content: "\e53f";
}

.k-i-align-items-start::before {
  content: "\e540";
}

.k-i-align-left-elements::before {
  content: "\e540";
}

.k-i-align-items-center::before {
  content: "\e541";
}

.k-i-align-center-elements::before {
  content: "\e541";
}

.k-i-align-items-end::before {
  content: "\e542";
}

.k-i-align-right-elements::before {
  content: "\e542";
}

.k-i-align-items-stretch::before {
  content: "\e543";
}

.k-i-align-stretch-elements-horizontal::before {
  content: "\e543";
}

.k-i-align-items-baseline::before {
  content: "\e544";
}

.k-i-align-baseline-horizontal::before {
  content: "\e544";
}

.k-i-align-items-start-alt::before {
  content: "\e545";
}

.k-i-align-top-elements::before {
  content: "\e545";
}

.k-i-align-items-center-alt::before {
  content: "\e546";
}

.k-i-align-middle-elements::before {
  content: "\e546";
}

.k-i-align-items-end-alt::before {
  content: "\e547";
}

.k-i-align-bottom-elements::before {
  content: "\e547";
}

.k-i-align-items-stretch-alt::before {
  content: "\e548";
}

.k-i-align-stretch-elements-vertical::before {
  content: "\e548";
}

.k-i-align-items-baseline-alt::before {
  content: "\e549";
}

.k-i-align-baseline-vertical::before {
  content: "\e549";
}

.k-i-justify-content-start::before {
  content: "\e54a";
}

.k-i-justify-start-horizontal::before {
  content: "\e54a";
}

.k-i-justify-content-center::before {
  content: "\e54b";
}

.k-i-justify-center-horizontal::before {
  content: "\e54b";
}

.k-i-justify-content-end::before {
  content: "\e54c";
}

.k-i-justify-end-horizontal::before {
  content: "\e54c";
}

.k-i-justify-content-between::before {
  content: "\e54d";
}

.k-i-justify-between-horizontal::before {
  content: "\e54d";
}

.k-i-justify-content-around::before {
  content: "\e54e";
}

.k-i-justify-around-horizontal::before {
  content: "\e54e";
}

.k-i-justify-content-start-alt::before {
  content: "\e54f";
}

.k-i-justify-start-vertical::before {
  content: "\e54f";
}

.k-i-justify-content-center-alt::before {
  content: "\e550";
}

.k-i-justify-center-vertical::before {
  content: "\e550";
}

.k-i-justify-content-end-alt::before {
  content: "\e551";
}

.k-i-justify-end-vertical::before {
  content: "\e551";
}

.k-i-justify-content-between-alt::before {
  content: "\e552";
}

.k-i-justify-between-vertical::before {
  content: "\e552";
}

.k-i-justify-content-around-alt::before {
  content: "\e553";
}

.k-i-justify-around-vertical::before {
  content: "\e553";
}

.k-i-file-wrench::before {
  content: "\e600";
}

.k-i-page-properties::before {
  content: "\e600";
}

.k-i-bold::before {
  content: "\e601";
}

.k-i-italic::before {
  content: "\e602";
}

.k-i-underline::before {
  content: "\e603";
}

.k-i-font-family::before {
  content: "\e604";
}

.k-i-foreground-color::before {
  content: "\e605";
}

.k-i-text::before {
  content: "\e605";
}

.k-i-convert-lowercase::before {
  content: "\e606";
}

.k-i-convert-uppercase::before {
  content: "\e607";
}

.k-i-strikethrough::before {
  content: "\e608";
}

.k-i-strike-through::before {
  content: "\e608";
}

.k-i-subscript::before {
  content: "\e609";
}

.k-i-sub-script::before {
  content: "\e609";
}

.k-i-supscript::before {
  content: "\e60a";
}

.k-i-sup-script::before {
  content: "\e60a";
}

.k-i-superscript::before {
  content: "\e60a";
}

.k-i-div::before {
  content: "\e60b";
}

.k-i-all::before {
  content: "\e60c";
}

.k-i-h1::before {
  content: "\e60d";
}

.k-i-h2::before {
  content: "\e60e";
}

.k-i-h3::before {
  content: "\e60f";
}

.k-i-h4::before {
  content: "\e610";
}

.k-i-h5::before {
  content: "\e611";
}

.k-i-h6::before {
  content: "\e612";
}

.k-i-list-ordered::before {
  content: "\e613";
}

.k-i-list-numbered::before {
  content: "\e613";
}

.k-i-insert-ordered-list::before {
  content: "\e613";
}

.k-i-list-unordered::before {
  content: "\e614";
}

.k-i-list-bulleted::before {
  content: "\e614";
}

.k-i-insert-unordered-list::before {
  content: "\e614";
}

.k-i-indent::before {
  content: "\e615";
}

.k-i-indent-increase::before {
  content: "\e615";
}

.k-i-outdent::before {
  content: "\e616";
}

.k-i-indent-decrease::before {
  content: "\e616";
}

.k-i-insert-top::before {
  content: "\e617";
}

.k-i-insert-up::before {
  content: "\e617";
}

.k-i-insert-n::before {
  content: "\e617";
}

.k-i-insert-middle::before {
  content: "\e618";
}

.k-i-insert-m::before {
  content: "\e618";
}

.k-i-insert-bottom::before {
  content: "\e619";
}

.k-i-insert-down::before {
  content: "\e619";
}

.k-i-insert-s::before {
  content: "\e619";
}

.k-i-align-top::before {
  content: "\e61a";
}

.k-i-align-middle::before {
  content: "\e61b";
}

.k-i-align-bottom::before {
  content: "\e61c";
}

.k-i-align-left::before {
  content: "\e61d";
}

.k-i-justify-left::before {
  content: "\e61d";
}

.k-i-align-center::before {
  content: "\e61e";
}

.k-i-justify-center::before {
  content: "\e61e";
}

.k-i-align-right::before {
  content: "\e61f";
}

.k-i-justify-left::before {
  content: "\e61f";
}

.k-i-align-justify::before {
  content: "\e620";
}

.k-i-justify-full::before {
  content: "\e620";
}

.k-i-align-remove::before {
  content: "\e621";
}

.k-i-justify-clear::before {
  content: "\e621";
}

.k-i-text-wrap::before {
  content: "\e622";
}

.k-i-horizontal-rule::before {
  content: "\e623";
}

.k-i-rule-horizontal::before {
  content: "\e623";
}

.k-i-hr::before {
  content: "\e623";
}

.k-i-table-align-top-left::before {
  content: "\e624";
}

.k-i-table-align-top-center::before {
  content: "\e625";
}

.k-i-table-align-top-right::before {
  content: "\e626";
}

.k-i-table-align-middle-left::before {
  content: "\e627";
}

.k-i-table-align-middle-center::before {
  content: "\e628";
}

.k-i-table-align-middle-right::before {
  content: "\e629";
}

.k-i-table-align-bottom-left::before {
  content: "\e62a";
}

.k-i-table-align-bottom-center::before {
  content: "\e62b";
}

.k-i-table-align-bottom-right::before {
  content: "\e62c";
}

.k-i-table-align-remove::before {
  content: "\e62d";
}

.k-i-borders-all::before {
  content: "\e62e";
}

.k-i-all-borders::before {
  content: "\e62e";
}

.k-i-borders-outside::before {
  content: "\e62f";
}

.k-i-outside-borders::before {
  content: "\e62f";
}

.k-i-borders-inside::before {
  content: "\e630";
}

.k-i-inside-borders::before {
  content: "\e630";
}

.k-i-borders-inside-horizontal::before {
  content: "\e631";
}

.k-i-border-inside-h::before {
  content: "\e631";
}

.k-i-inside-horizontal-borders::before {
  content: "\e631";
}

.k-i-borders-inside-vertical::before {
  content: "\e632";
}

.k-i-borders-inside-v::before {
  content: "\e632";
}

.k-i-inside-vertical-borders::before {
  content: "\e632";
}

.k-i-border-top::before {
  content: "\e633";
}

.k-i-top-border::before {
  content: "\e633";
}

.k-i-border-bottom::before {
  content: "\e634";
}

.k-i-bottom-border::before {
  content: "\e634";
}

.k-i-border-left::before {
  content: "\e635";
}

.k-i-left-border::before {
  content: "\e635";
}

.k-i-border-right::before {
  content: "\e636";
}

.k-i-right-border::before {
  content: "\e636";
}

.k-i-borders-none::before {
  content: "\e637";
}

.k-i-border-no::before {
  content: "\e637";
}

.k-i-no-borders::before {
  content: "\e637";
}

.k-i-borders-show-hide::before {
  content: "\e638";
}

.k-i-form::before {
  content: "\e639";
}

.k-i-border::before {
  content: "\e639";
}

.k-i-form-element::before {
  content: "\e63a";
}

.k-i-code-snippet::before {
  content: "\e63b";
}

.k-i-select-all::before {
  content: "\e63c";
}

.k-i-button::before {
  content: "\e63d";
}

.k-i-select-box::before {
  content: "\e63e";
}

.k-i-calendar-date::before {
  content: "\e63f";
}

.k-i-group-box::before {
  content: "\e640";
}

.k-i-textarea::before {
  content: "\e641";
}

.k-i-textbox::before {
  content: "\e642";
}

.k-i-textbox-hidden::before {
  content: "\e643";
}

.k-i-password::before {
  content: "\e644";
}

.k-i-paragraph-add::before {
  content: "\e645";
}

.k-i-edit-tools::before {
  content: "\e646";
}

.k-i-template-manager::before {
  content: "\e647";
}

.k-i-change-manually::before {
  content: "\e648";
}

.k-i-track-changes::before {
  content: "\e649";
}

.k-i-track-changes-enable::before {
  content: "\e64a";
}

.k-i-track-changes-accept::before {
  content: "\e64b";
}

.k-i-track-changes-accept-all::before {
  content: "\e64c";
}

.k-i-track-changes-reject::before {
  content: "\e64d";
}

.k-i-track-changes-reject-all::before {
  content: "\e64e";
}

.k-i-document-manager::before {
  content: "\e64f";
}

.k-i-custom-icon::before {
  content: "\e650";
}

.k-i-book::before {
  content: "\e651";
}

.k-i-dictionary-add::before {
  content: "\e651";
}

.k-i-image-add::before {
  content: "\e652";
}

.k-i-image-light-dialog::before {
  content: "\e652";
}

.k-i-image-insert::before {
  content: "\e652";
}

.k-i-insert-image::before {
  content: "\e652";
}

.k-i-image-edit::before {
  content: "\e653";
}

.k-i-image-map-editor::before {
  content: "\e654";
}

.k-i-comment::before {
  content: "\e655";
}

.k-i-comment-remove::before {
  content: "\e656";
}

.k-i-comments-remove::before {
  content: "\e657";
}

.k-i-comments-remove-all::before {
  content: "\e657";
}

.k-i-silverlight::before {
  content: "\e658";
}

.k-i-media-manager::before {
  content: "\e659";
}

.k-i-video-external::before {
  content: "\e65a";
}

.k-i-flash-manager::before {
  content: "\e65b";
}

.k-i-binoculars::before {
  content: "\e65c";
}

.k-i-find-and-replace::before {
  content: "\e65c";
}

.k-i-find::before {
  content: "\e65c";
}

.k-i-copy::before {
  content: "\e65d";
}

.k-i-files::before {
  content: "\e65d";
}

.k-i-cut::before {
  content: "\e65e";
}

.k-i-clipboard::before {
  content: "\e65f";
}

.k-i-paste::before {
  content: "\e65f";
}

.k-i-clipboard-code::before {
  content: "\e660";
}

.k-i-paste-as-html::before {
  content: "\e660";
}

.k-i-clipboard-word::before {
  content: "\e661";
}

.k-i-paste-from-word::before {
  content: "\e661";
}

.k-i-clipboard-word-alt::before {
  content: "\e662";
}

.k-i-paste-from-word-strip-file::before {
  content: "\e662";
}

.k-i-clipboard-html::before {
  content: "\e663";
}

.k-i-paste-html::before {
  content: "\e663";
}

.k-i-clipboard-markdown::before {
  content: "\e664";
}

.k-i-paste-markdown::before {
  content: "\e664";
}

.k-i-clipboard-text::before {
  content: "\e665";
}

.k-i-paste-plain-text::before {
  content: "\e665";
}

.k-i-apply-format::before {
  content: "\e666";
}

.k-i-clear-css::before {
  content: "\e667";
}

.k-i-clearformat::before {
  content: "\e667";
}

.k-i-copy-format::before {
  content: "\e668";
}

.k-i-strip-all-formatting::before {
  content: "\e669";
}

.k-i-strip-css-format::before {
  content: "\e66a";
}

.k-i-strip-font-elements::before {
  content: "\e66b";
}

.k-i-strip-span-elements::before {
  content: "\e66c";
}

.k-i-strip-word-formatting::before {
  content: "\e66d";
}

.k-i-format-code-block::before {
  content: "\e66e";
}

.k-i-building-blocks::before {
  content: "\e66f";
}

.k-i-style-builder::before {
  content: "\e66f";
}

.k-i-puzzle-piece::before {
  content: "\e670";
}

.k-i-module-manager::before {
  content: "\e670";
}

.k-i-puzzle::before {
  content: "\e670";
}

.k-i-link-add::before {
  content: "\e671";
}

.k-i-hyperlink-light-dialog::before {
  content: "\e671";
}

.k-i-hyperlink-insert::before {
  content: "\e671";
}

.k-i-globe-link::before {
  content: "\e672";
}

.k-i-hyperlink-globe::before {
  content: "\e672";
}

.k-i-globe-unlink::before {
  content: "\e673";
}

.k-i-hyperlink-globe-remove::before {
  content: "\e673";
}

.k-i-envelop-link::before {
  content: "\e674";
}

.k-i-hyperlink-email::before {
  content: "\e674";
}

.k-i-anchor::before {
  content: "\e675";
}

.k-i-table-add::before {
  content: "\e676";
}

.k-i-table-light-dialog::before {
  content: "\e676";
}

.k-i-table-insert::before {
  content: "\e676";
}

.k-i-create-table::before {
  content: "\e676";
}

.k-i-table::before {
  content: "\e677";
}

.k-i-table-properties::before {
  content: "\e678";
}

.k-i-table-cell::before {
  content: "\e679";
}

.k-i-table-cell-properties::before {
  content: "\e67a";
}

.k-i-table-column-insert-left::before {
  content: "\e67b";
}

.k-i-add-column-left::before {
  content: "\e67b";
}

.k-i-table-column-insert-right::before {
  content: "\e67c";
}

.k-i-add-column-right::before {
  content: "\e67c";
}

.k-i-table-row-insert-above::before {
  content: "\e67d";
}

.k-i-add-row-above::before {
  content: "\e67d";
}

.k-i-table-row-insert-below::before {
  content: "\e67e";
}

.k-i-add-row-below::before {
  content: "\e67e";
}

.k-i-table-column-delete::before {
  content: "\e67f";
}

.k-i-delete-column::before {
  content: "\e67f";
}

.k-i-table-row-delete::before {
  content: "\e680";
}

.k-i-delete-row::before {
  content: "\e680";
}

.k-i-table-cell-delete::before {
  content: "\e681";
}

.k-i-table-delete::before {
  content: "\e682";
}

.k-i-cells-merge::before {
  content: "\e683";
}

.k-i-merge-cells::before {
  content: "\e683";
}

.k-i-cells-merge-horizontally::before {
  content: "\e684";
}

.k-i-cells-merge-h::before {
  content: "\e684";
}

.k-i-merge-horizontally::before {
  content: "\e684";
}

.k-i-cells-merge-vertically::before {
  content: "\e685";
}

.k-i-cells-merge-v::before {
  content: "\e685";
}

.k-i-merge-vertically::before {
  content: "\e685";
}

.k-i-cell-split-horizontally::before {
  content: "\e686";
}

.k-i-cells-split-h::before {
  content: "\e686";
}

.k-i-cell-split-vertically::before {
  content: "\e687";
}

.k-i-cells-split-v::before {
  content: "\e687";
}

.k-i-table-unmerge::before {
  content: "\e688";
}

.k-i-normal-layout::before {
  content: "\e688";
}

.k-i-pane-freeze::before {
  content: "\e689";
}

.k-i-freeze-pane::before {
  content: "\e689";
}

.k-i-row-freeze::before {
  content: "\e68a";
}

.k-i-freeze-row::before {
  content: "\e68a";
}

.k-i-column-freeze::before {
  content: "\e68b";
}

.k-i-col-freeze::before {
  content: "\e68b";
}

.k-i-freeze-col::before {
  content: "\e68b";
}

.k-i-toolbar-float::before {
  content: "\e68c";
}

.k-i-spell-checker::before {
  content: "\e68d";
}

.k-i-validation-xhtml::before {
  content: "\e68e";
}

.k-i-validation-data::before {
  content: "\e68f";
}

.k-i-toggle-full-screen-mode::before {
  content: "\e690";
}

.k-i-formula-fx::before {
  content: "\e691";
}

.k-i-fx::before {
  content: "\e691";
}

.k-i-sum::before {
  content: "\e692";
}

.k-i-symbol::before {
  content: "\e693";
}

.k-i-dollar::before {
  content: "\e694";
}

.k-i-currency::before {
  content: "\e694";
}

.k-i-percent::before {
  content: "\e695";
}

.k-i-custom-format::before {
  content: "\e696";
}

.k-i-format-number::before {
  content: "\e696";
}

.k-i-decimal-increase::before {
  content: "\e697";
}

.k-i-increace-decimal::before {
  content: "\e697";
}

.k-i-decimal-decrease::before {
  content: "\e698";
}

.k-i-decrease-decimal::before {
  content: "\e698";
}

.k-i-font-size::before {
  content: "\e699";
}

.k-i-image-absolute-position::before {
  content: "\e69a";
}

.k-i-table-wizard::before {
  content: "\e69b";
}

.k-i-crosstab::before {
  content: "\e69c";
}

.k-i-crosstab-wizard::before {
  content: "\e69d";
}

.k-i-table-body::before {
  content: "\e69e";
}

.k-i-table-column-groups::before {
  content: "\e69f";
}

.k-i-table-corner::before {
  content: "\e6a0";
}

.k-i-table-row-groups::before {
  content: "\e6a1";
}

.k-i-globe-outline::before {
  content: "\e700";
}

.k-i-globe::before {
  content: "\e701";
}

.k-i-map-marker::before {
  content: "\e702";
}

.k-i-marker-pin::before {
  content: "\e702";
}

.k-i-map-marker-target::before {
  content: "\e703";
}

.k-i-marker-pin-target::before {
  content: "\e703";
}

.k-i-pin::before {
  content: "\e704";
}

.k-i-unpin::before {
  content: "\e705";
}

.k-i-share::before {
  content: "\e800";
}

.k-i-user::before {
  content: "\e801";
}

.k-i-inbox::before {
  content: "\e802";
}

.k-i-blogger::before {
  content: "\e803";
}

.k-i-blogger-box::before {
  content: "\e804";
}

.k-i-delicious::before {
  content: "\e805";
}

.k-i-delicious-box::before {
  content: "\e806";
}

.k-i-digg::before {
  content: "\e807";
}

.k-i-digg-box::before {
  content: "\e808";
}

.k-i-envelop::before {
  content: "\e809";
}

.k-i-email::before {
  content: "\e809";
}

.k-i-letter::before {
  content: "\e809";
}

.k-i-envelop-box::before {
  content: "\e80a";
}

.k-i-email-box::before {
  content: "\e80a";
}

.k-i-letter-box::before {
  content: "\e80a";
}

.k-i-facebook::before {
  content: "\e80b";
}

.k-i-facebook-box::before {
  content: "\e80c";
}

.k-i-google::before {
  content: "\e80d";
}

.k-i-google-box::before {
  content: "\e80e";
}

.k-i-google-plus::before {
  content: "\e80f";
}

.k-i-google-plus-box::before {
  content: "\e810";
}

.k-i-linkedin::before {
  content: "\e811";
}

.k-i-linkedin-box::before {
  content: "\e812";
}

.k-i-myspace::before {
  content: "\e813";
}

.k-i-myspace-box::before {
  content: "\e814";
}

.k-i-pinterest::before {
  content: "\e815";
}

.k-i-pinterest-box::before {
  content: "\e816";
}

.k-i-reddit::before {
  content: "\e817";
}

.k-i-reddit-box::before {
  content: "\e818";
}

.k-i-stumble-upon::before {
  content: "\e819";
}

.k-i-stumble-upon-box::before {
  content: "\e81a";
}

.k-i-tell-a-friend::before {
  content: "\e81b";
}

.k-i-tell-a-friend-box::before {
  content: "\e81c";
}

.k-i-tumblr::before {
  content: "\e81d";
}

.k-i-tumblr-box::before {
  content: "\e81e";
}

.k-i-twitter::before {
  content: "\e81f";
}

.k-i-twitter-box::before {
  content: "\e820";
}

.k-i-yammer::before {
  content: "\e821";
}

.k-i-yammer-box::before {
  content: "\e822";
}

.k-i-behance::before {
  content: "\e823";
}

.k-i-behance-box::before {
  content: "\e824";
}

.k-i-dribbble::before {
  content: "\e825";
}

.k-i-dribbble-box::before {
  content: "\e826";
}

.k-i-rss::before {
  content: "\e827";
}

.k-i-rss-box::before {
  content: "\e828";
}

.k-i-vimeo::before {
  content: "\e829";
}

.k-i-vimeo-box::before {
  content: "\e82a";
}

.k-i-youtube::before {
  content: "\e82b";
}

.k-i-youtube-box::before {
  content: "\e82c";
}

.k-i-folder::before {
  content: "\e900";
}

.k-i-folder-open::before {
  content: "\e901";
}

.k-i-folder-add::before {
  content: "\e902";
}

.k-i-folder-up::before {
  content: "\e903";
}

.k-i-folder-more::before {
  content: "\e904";
}

.k-i-fields-more::before {
  content: "\e904";
}

.k-i-aggregate-fields::before {
  content: "\e905";
}

.k-i-file::before {
  content: "\e906";
}

.k-i-file-vertical::before {
  content: "\e906";
}

.k-i-page-portrait::before {
  content: "\e906";
}

.k-i-file-v::before {
  content: "\e906";
}

.k-i-file-add::before {
  content: "\e907";
}

.k-i-insert-file::before {
  content: "\e907";
}

.k-i-file-txt::before {
  content: "\e908";
}

.k-i-txt::before {
  content: "\e908";
}

.k-i-file-csv::before {
  content: "\e909";
}

.k-i-csv::before {
  content: "\e909";
}

.k-i-file-excel::before {
  content: "\e90a";
}

.k-i-file-xls::before {
  content: "\e90a";
}

.k-i-excel::before {
  content: "\e90a";
}

.k-i-xls::before {
  content: "\e90a";
}

.k-i-xlsa::before {
  content: "\e90a";
}

.k-i-file-word::before {
  content: "\e90b";
}

.k-i-file-doc::before {
  content: "\e90b";
}

.k-i-word::before {
  content: "\e90b";
}

.k-i-doc::before {
  content: "\e90b";
}

.k-i-file-mdb::before {
  content: "\e90c";
}

.k-i-mdb::before {
  content: "\e90c";
}

.k-i-file-ppt::before {
  content: "\e90d";
}

.k-i-ppt::before {
  content: "\e90d";
}

.k-i-file-pdf::before {
  content: "\e90e";
}

.k-i-pdf::before {
  content: "\e90e";
}

.k-i-pdfa::before {
  content: "\e90e";
}

.k-i-file-psd::before {
  content: "\e90f";
}

.k-i-psd::before {
  content: "\e90f";
}

.k-i-file-flash::before {
  content: "\e910";
}

.k-i-flash::before {
  content: "\e910";
}

.k-i-file-config::before {
  content: "\e911";
}

.k-i-config::before {
  content: "\e911";
}

.k-i-file-ascx::before {
  content: "\e912";
}

.k-i-ascx::before {
  content: "\e912";
}

.k-i-file-bac::before {
  content: "\e913";
}

.k-i-bac::before {
  content: "\e913";
}

.k-i-file-zip::before {
  content: "\e914";
}

.k-i-zip::before {
  content: "\e914";
}

.k-i-film::before {
  content: "\e915";
}

.k-i-css3::before {
  content: "\e916";
}

.k-i-html5::before {
  content: "\e917";
}

.k-i-code::before {
  content: "\e918";
}

.k-i-html::before {
  content: "\e918";
}

.k-i-source-code::before {
  content: "\e918";
}

.k-i-view-source::before {
  content: "\e918";
}

.k-i-css::before {
  content: "\e919";
}

.k-i-js::before {
  content: "\e91a";
}

.k-i-exe::before {
  content: "\e91b";
}

.k-i-csproj::before {
  content: "\e91c";
}

.k-i-vbproj::before {
  content: "\e91d";
}

.k-i-cs::before {
  content: "\e91e";
}

.k-i-vb::before {
  content: "\e91f";
}

.k-i-sln::before {
  content: "\e920";
}

.k-i-cloud::before {
  content: "\e921";
}

.k-i-file-horizontal::before {
  content: "\e922";
}

.k-i-page-landscape::before {
  content: "\e922";
}

.k-i-file-h::before {
  content: "\e922";
}

.k-i-subreport::before {
  content: "\e923";
}

.k-i-data::before {
  content: "\e924";
}

.k-i-file-header::before {
  content: "\e925";
}

.k-i-report-header-section::before {
  content: "\e925";
}

.k-i-file-footer::before {
  content: "\e926";
}

.k-i-report-footer-section::before {
  content: "\e926";
}

.k-i-group-header-section::before {
  content: "\e927";
}

.k-i-group-footer-section::before {
  content: "\e928";
}

.k-i-page-header-section::before {
  content: "\e929";
}

.k-i-page-footer-section::before {
  content: "\e92a";
}

.k-i-detail-section::before {
  content: "\e92b";
}

.k-i-toc-section::before {
  content: "\e92c";
}

.k-i-group-section::before {
  content: "\e92d";
}

.k-i-parameters::before {
  content: "\e92e";
}

.k-i-data-csv::before {
  content: "\e92f";
}

.k-i-data-json::before {
  content: "\e930";
}

.k-i-data-sql::before {
  content: "\e931";
}

.k-i-data-web::before {
  content: "\e932";
}

.k-i-group-collection::before {
  content: "\e933";
}

.k-i-parameter-boolean::before {
  content: "\e934";
}

.k-i-parameter-date-time::before {
  content: "\e935";
}

.k-i-parameter-float::before {
  content: "\e936";
}

.k-i-parameter-integer::before {
  content: "\e937";
}

.k-i-parameter-string::before {
  content: "\e938";
}

.k-i-toc-section-level::before {
  content: "\e939";
}

.k-i-inherited::before {
  content: "\e93a";
}

.k-i-file-video::before {
  content: "\e93b";
}

.k-i-file-audio::before {
  content: "\e93c";
}

.k-i-file-image::before {
  content: "\e93d";
}

.k-i-file-presentation::before {
  content: "\e93e";
}

.k-i-file-data::before {
  content: "\e93f";
}

.k-i-file-disc-image::before {
  content: "\e940";
}

.k-i-file-programming::before {
  content: "\e941";
}

.k-i-parameters-byte-array::before {
  content: "\e942";
}

.k-i-parameters-unknown::before {
  content: "\e943";
}

.k-i-file-error::before {
  content: "\e944";
}

.k-i-file-validation::before {
  content: "\e944";
}

.k-i-files-error::before {
  content: "\e945";
}

.k-i-files-validation::before {
  content: "\e945";
}

.k-i-data-rest::before {
  content: "\e946";
}

.k-i-file-typescript::before {
  content: "\e947";
}

.k-i-table-position-start::before {
  content: "\e948";
}

.k-i-table-position-left::before {
  content: "\e948";
}

.k-i-table-position-center::before {
  content: "\e949";
}

.k-i-table-position-end::before {
  content: "\e94a";
}

.k-i-table-position-right::before {
  content: "\e94a";
}

.k-i-list-roman-upper::before {
  content: "\e94b";
}

.k-i-list-roman-lower::before {
  content: "\e94c";
}

.k-i-import::before {
  content: "\e94d";
}

.k-i-export::before {
  content: "\e94e";
}

.k-i-graph::before {
  content: "\ea00";
}

.k-i-chart-column-clustered::before {
  content: "\ea01";
}

.k-i-chart-column-stacked::before {
  content: "\ea02";
}

.k-i-chart-column-stacked100::before {
  content: "\ea03";
}

.k-i-chart-column-range::before {
  content: "\ea04";
}

.k-i-chart-bar-clustered::before {
  content: "\ea05";
}

.k-i-chart-bar-stacked::before {
  content: "\ea06";
}

.k-i-chart-bar-stacked100::before {
  content: "\ea07";
}

.k-i-chart-bar-range::before {
  content: "\ea08";
}

.k-i-chart-area-clustered::before {
  content: "\ea09";
}

.k-i-chart-area-stacked::before {
  content: "\ea0a";
}

.k-i-chart-area-stacked100::before {
  content: "\ea0b";
}

.k-i-chart-area-range::before {
  content: "\ea0c";
}

.k-i-chart-line::before {
  content: "\ea0d";
}

.k-i-chart-line-stacked::before {
  content: "\ea0e";
}

.k-i-chart-line-stacked100::before {
  content: "\ea0f";
}

.k-i-chart-line-markers::before {
  content: "\ea10";
}

.k-i-chart-line-stacked-markers::before {
  content: "\ea11";
}

.k-i-chart-line-stacked100-markers::before {
  content: "\ea12";
}

.k-i-chart-pie::before {
  content: "\ea13";
}

.k-i-chart-doughnut::before {
  content: "\ea14";
}

.k-i-chart-scatter::before {
  content: "\ea15";
}

.k-i-chart-scatter-smooth-lines-markers::before {
  content: "\ea16";
}

.k-i-chart-scatter-smooth-lines::before {
  content: "\ea17";
}

.k-i-chart-scatter-straight-lines-markers::before {
  content: "\ea18";
}

.k-i-chart-scatter-straight-lines::before {
  content: "\ea19";
}

.k-i-chart-bubble::before {
  content: "\ea1a";
}

.k-i-chart-candlestick::before {
  content: "\ea1b";
}

.k-i-chart-ohlc::before {
  content: "\ea1c";
}

.k-i-chart-radar::before {
  content: "\ea1d";
}

.k-i-chart-radar-markers::before {
  content: "\ea1e";
}

.k-i-chart-radar-filled::before {
  content: "\ea1f";
}

.k-i-chart-rose::before {
  content: "\ea20";
}

.k-i-chart-choropleth::before {
  content: "\ea21";
}

/*# sourceMappingURL=index.css.map */

:root{--kendo-color-app-surface: #ffffff;--kendo-color-on-app-surface: #212121;--kendo-color-subtle: #757575;--kendo-color-surface: #f5f5f5;--kendo-color-surface-alt: #ffffff;--kendo-color-border: rgba(0, 0, 0, 0.12);--kendo-color-border-alt: rgba(0, 0, 0, 0.15);--kendo-color-base-subtle: #ebebeb;--kendo-color-base-subtle-hover: #d6d6d6;--kendo-color-base-subtle-active: #c2c2c2;--kendo-color-base: #ffffff;--kendo-color-base-hover: #ebebeb;--kendo-color-base-active: #d6d6d6;--kendo-color-base-emphasis: #adadad;--kendo-color-base-on-subtle: #212121;--kendo-color-on-base: #212121;--kendo-color-base-on-surface: #212121;--kendo-color-primary-subtle: #d1d5ee;--kendo-color-primary-subtle-hover: #c5cae8;--kendo-color-primary-subtle-active: #b5bde3;--kendo-color-primary: #3f51b5;--kendo-color-primary-hover: #3a4ba7;--kendo-color-primary-active: #354498;--kendo-color-primary-emphasis: #97a0d7;--kendo-color-primary-on-subtle: #161c3f;--kendo-color-on-primary: #ffffff;--kendo-color-primary-on-surface: #3f51b5;--kendo-color-secondary-subtle: #fbcdd9;--kendo-color-secondary-subtle-hover: #f9afc3;--kendo-color-secondary-subtle-active: #f79bb3;--kendo-color-secondary: #e51a5f;--kendo-color-secondary-hover: #d31857;--kendo-color-secondary-active: #c01650;--kendo-color-secondary-emphasis: #f58da9;--kendo-color-secondary-on-subtle: #500c22;--kendo-color-on-secondary: #ffffff;--kendo-color-secondary-on-surface: #ae1549;--kendo-color-tertiary-subtle: #c9dbd8;--kendo-color-tertiary-subtle-hover: #a9c6c1;--kendo-color-tertiary-subtle-active: #92b8b1;--kendo-color-tertiary: #00695c;--kendo-color-tertiary-hover: #006155;--kendo-color-tertiary-active: #00584d;--kendo-color-tertiary-emphasis: #84aea7;--kendo-color-tertiary-on-subtle: #002520;--kendo-color-on-tertiary: #ffffff;--kendo-color-tertiary-on-surface: #054f46;--kendo-color-info-subtle: #c8d7fb;--kendo-color-info-subtle-hover: #a7c0f7;--kendo-color-info-subtle-active: #8fb0f6;--kendo-color-info: #0058e9;--kendo-color-info-hover: #0251d6;--kendo-color-info-active: #034ac3;--kendo-color-info-emphasis: #80a5f4;--kendo-color-info-on-subtle: #071f51;--kendo-color-on-info: #ffffff;--kendo-color-info-on-surface: #0443b0;--kendo-color-success-subtle: #d7f0cc;--kendo-color-success-subtle-hover: #bae2ad;--kendo-color-success-subtle-active: #a7db97;--kendo-color-success: #37b400;--kendo-color-success-hover: #33a600;--kendo-color-success-active: #2e9704;--kendo-color-success-emphasis: #93d775;--kendo-color-success-on-subtle: #163f09;--kendo-color-on-success: #ffffff;--kendo-color-success-on-surface: #2b8906;--kendo-color-warning-subtle: #fff0ce;--kendo-color-warning-subtle-hover: #ffe7b0;--kendo-color-warning-subtle-active: #ffe19c;--kendo-color-warning: #ffc000;--kendo-color-warning-hover: #ebb201;--kendo-color-warning-active: #d6a202;--kendo-color-warning-emphasis: #ffdd8f;--kendo-color-warning-on-subtle: #59430a;--kendo-color-on-warning: #000000;--kendo-color-warning-on-surface: #ffc000;--kendo-color-error-subtle: #fcc7c2;--kendo-color-error-subtle-hover: #feafa8;--kendo-color-error-subtle-active: #fe9a91;--kendo-color-error: #f31700;--kendo-color-error-hover: #e01701;--kendo-color-error-active: #cc1505;--kendo-color-error-emphasis: #fc8d83;--kendo-color-error-on-subtle: #550c07;--kendo-color-on-error: #ffffff;--kendo-color-error-on-surface: #b91406;--kendo-color-light-subtle: #fafafa;--kendo-color-light-subtle-hover: #f5f5f5;--kendo-color-light-subtle-active: #eeeeee;--kendo-color-light: #f5f5f5;--kendo-color-light-hover: #ebebeb;--kendo-color-light-active: #d6d6d6;--kendo-color-light-emphasis: #e0e0e0;--kendo-color-light-on-subtle: #212121;--kendo-color-on-light: #000000;--kendo-color-light-on-surface: #ebebeb;--kendo-color-dark-subtle: #c7c7c7;--kendo-color-dark-subtle-hover: #c2c2c2;--kendo-color-dark-subtle-active: #bdbdbd;--kendo-color-dark: #424242;--kendo-color-dark-hover: #212121;--kendo-color-dark-active: #000000;--kendo-color-dark-emphasis: #9e9e9e;--kendo-color-dark-on-subtle: #212121;--kendo-color-on-dark: #ffffff;--kendo-color-dark-on-surface: #616161;--kendo-color-inverse-subtle: #c7c7c7;--kendo-color-inverse-subtle-hover: #c2c2c2;--kendo-color-inverse-subtle-active: #bdbdbd;--kendo-color-inverse: #424242;--kendo-color-inverse-hover: #212121;--kendo-color-inverse-active: #000000;--kendo-color-inverse-emphasis: #9e9e9e;--kendo-color-inverse-on-subtle: #212121;--kendo-color-on-inverse: #ffffff;--kendo-color-inverse-on-surface: #616161;--kendo-color-series-a: #9c27b0;--kendo-color-series-a-bold: #751d84;--kendo-color-series-a-bolder: #4e1458;--kendo-color-series-a-subtle: #b55dc4;--kendo-color-series-a-subtler: #cd93d7;--kendo-color-series-b: #2196f3;--kendo-color-series-b-bold: #1971b6;--kendo-color-series-b-bolder: #114b7a;--kendo-color-series-b-subtle: #59b0f6;--kendo-color-series-b-subtler: #90cbf9;--kendo-color-series-c: #009688;--kendo-color-series-c-bold: #007166;--kendo-color-series-c-bolder: #004b44;--kendo-color-series-c-subtle: #40b0a6;--kendo-color-series-c-subtler: #80cbc4;--kendo-color-series-d: #ffeb3b;--kendo-color-series-d-bold: #bfb02c;--kendo-color-series-d-bolder: #80761e;--kendo-color-series-d-subtle: #fff06c;--kendo-color-series-d-subtler: #fff59d;--kendo-color-series-e: #f44336;--kendo-color-series-e-bold: #b73229;--kendo-color-series-e-bolder: #7a221b;--kendo-color-series-e-subtle: #f77268;--kendo-color-series-e-subtler: #faa19b;--kendo-color-series-f: #4caf50;--kendo-color-series-f-bold: #39833c;--kendo-color-series-f-bolder: #265828;--kendo-color-series-f-subtle: #79c37c;--kendo-color-series-f-subtler: #a6d7a8}.k-sr-only{position:absolute;left:-1px;width:1px;height:1px;overflow:hidden}.k-push-right-enter,.k-push-right-appear{transform:translate(-100%, 0)}.k-push-right-enter-active,.k-push-right-appear-active{transform:translate(0, 0);transition:transform 300ms ease-in-out}.k-push-right-exit{transform:translate(0, 0)}.k-push-right-exit-active{transform:translate(100%, 0);transition:transform 300ms ease-in-out}.k-push-left-enter,.k-push-left-appear{transform:translate(100%, 0)}.k-push-left-enter-active,.k-push-left-appear-active{transform:translate(0, 0);transition:transform 300ms ease-in-out}.k-push-left-exit{transform:translate(0, 0)}.k-push-left-exit-active{transform:translate(-100%, 0);transition:transform 300ms ease-in-out}.k-push-down-enter,.k-push-down-appear{transform:translate(0, -100%)}.k-push-down-enter-active,.k-push-down-appear-active{transform:translate(0, 0);transition:transform 300ms ease-in-out}.k-push-down-exit{transform:translate(0, 0)}.k-push-down-exit-active{transform:translate(0, 100%);transition:transform 300ms ease-in-out}.k-push-up-enter,.k-push-up-appear{transform:translate(0, 100%)}.k-push-up-enter-active,.k-push-up-appear-active{transform:translate(0, 0);transition:transform 300ms ease-in-out}.k-push-up-exit{transform:translate(0, 0)}.k-push-up-exit-active{transform:translate(0, -100%);transition:transform 300ms ease-in-out}.k-expand-vertical-enter,.k-expand-vertical-appear{transform:scaleY(0)}.k-expand-vertical-enter-active,.k-expand-vertical-appear-active{transform:scaleY(1);transition:transform 300ms ease-in-out}.k-expand-vertical-exit{transform:scaleY(1)}.k-expand-vertical-exit-active{transform:scaleY(0);transition:transform 300ms ease-in-out}.k-expand-horizontal-enter,.k-expand-horizontal-appear{transform:scaleX(0)}.k-expand-horizontal-enter-active,.k-expand-horizontal-appear-active{transform:scaleX(1);transition:transform 300ms ease-in-out}.k-expand-horizontal-exit{transform:scaleX(1)}.k-expand-horizontal-exit-active{transform:scaleX(0);transition:transform 300ms ease-in-out}.k-fade-enter,.k-fade-appear{opacity:0}.k-fade-enter-active,.k-fade-appear-active{opacity:1;transition:opacity 500ms ease-in-out}.k-fade-exit{opacity:1}.k-fade-exit-active{opacity:0;transition:opacity 500ms ease-in-out}.k-fade-exit-active+.k-fade-exit-active,.k-fade-enter-active+.k-fade-enter-active{display:none}.k-zoom-in-enter,.k-zoom-in-appear{opacity:0;transform:scale(0)}.k-zoom-in-enter-active,.k-zoom-in-appear-active{opacity:1;transform:scale(1);transition:transform,opacity 300ms ease-in-out}.k-zoom-in-exit{opacity:1;transform:scale(1)}.k-zoom-in-exit-active{opacity:0;transform:scale(2);transition:transform,opacity 300ms ease-in-out}.k-zoom-out-enter,.k-zoom-out-appear{opacity:0;transform:scale(2)}.k-zoom-out-enter-active,.k-zoom-out-appear-active{opacity:1;transform:scale(1);transition:transform,opacity 300ms ease-in-out}.k-zoom-out-exit{opacity:1;transform:scale(1)}.k-zoom-out-exit-active{opacity:0;transform:scale(0);transition:transform,opacity 300ms ease-in-out}.k-slide-in-appear{opacity:.1;transform:translate(0, -3em)}.k-slide-in-appear .k-centered{transform:translate(-50%, -60%)}.k-slide-in-appear-active{opacity:1;transform:translate(0, 0);transition:transform .3s cubic-bezier(0.2, 0.6, 0.4, 1),opacity .3s cubic-bezier(0.2, 1, 0.2, 1)}.k-slide-in-appear-active .k-centered{transform:translate(-50%, -50%)}.k-slide-down-enter,.k-slide-down-appear{transform:translateY(-100%)}.k-slide-down-enter-active,.k-slide-down-appear-active{transform:translateY(0);transition:transform 300ms ease-in-out}.k-slide-down-exit{transform:translateY(0)}.k-slide-down-exit-active{transform:translateY(-100%);transition:transform 300ms ease-in-out}.k-slide-up-enter,.k-slide-up-appear{transform:translateY(100%)}.k-slide-up-enter-active,.k-slide-up-appear-active{transform:translateY(0);transition:transform 300ms ease-in-out}.k-slide-up-exit{transform:translateY(0)}.k-slide-up-exit-active{transform:translateY(100%);transition:transform 300ms ease-in-out}.k-slide-right-enter,.k-slide-right-appear{transform:translateX(-100%)}.k-slide-right-enter-active,.k-slide-right-appear-active{transform:translateX(0);transition:transform 300ms ease-in-out}.k-slide-right-exit{transform:translateX(0)}.k-slide-right-exit-active{transform:translateX(-100%);transition:transform 300ms ease-in-out}.k-slide-left-enter,.k-slide-left-appear{transform:translateX(100%)}.k-slide-left-enter-active,.k-slide-left-appear-active{transform:translateX(0);transition:transform 300ms ease-in-out}.k-slide-left-exit{transform:translateX(0)}.k-slide-left-exit-active{transform:translateX(100%);transition:transform 300ms ease-in-out}.k-reveal-vertical-enter,.k-reveal-vertical-appear{max-height:0}.k-reveal-vertical-enter-active,.k-reveal-vertical-appear-active{transition:max-height 300ms ease-in-out}.k-reveal-vertical-exit-active{max-height:0 !important;transition:max-height 300ms ease-in-out}.k-reveal-horizontal-enter,.k-reveal-horizontal-appear{max-width:0}.k-reveal-horizontal-enter-active,.k-reveal-horizontal-appear-active{transition:max-width 300ms ease-in-out}.k-reveal-horizontal-exit-active{max-width:0 !important;transition:max-width 300ms ease-in-out}.k-fx-end .k-fx-next,.k-fx-end .k-fx-current{transition:all 350ms ease-out}.k-fx{position:relative}.k-fx .k-fx-current{z-index:0}.k-fx .k-fx-next{z-index:1}.k-fx-hidden,.k-fx-hidden *{visibility:hidden !important}.k-fx-reverse .k-fx-current{z-index:1}.k-fx-reverse .k-fx-next{z-index:0}.k-fx-zoom.k-fx-start .k-fx-next{transform:scale(0) !important}.k-fx-zoom.k-fx-end .k-fx-next{transform:scale(1) !important}.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-next,.k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-next{transform:scale(1) !important}.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-current{transform:scale(1) !important}.k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-current{transform:scale(0) !important}.k-fx-fade.k-fx-start .k-fx-next{will-change:opacity;opacity:0}.k-fx-fade.k-fx-end .k-fx-next{opacity:1}.k-fx-fade.k-fx-reverse.k-fx-start .k-fx-current{will-change:opacity;opacity:1}.k-fx-fade.k-fx-reverse.k-fx-end .k-fx-current{opacity:0}.k-fx-slide.k-fx-end .k-fx-next .k-content,.k-fx-slide.k-fx-end .k-fx-next .k-header,.k-fx-slide.k-fx-end .k-fx-next .k-footer,.k-fx-slide.k-fx-end .k-fx-current .k-content,.k-fx-slide.k-fx-end .k-fx-current .k-header,.k-fx-slide.k-fx-end .k-fx-current .k-footer,.k-fx-slide.k-fx-end .k-fx-next .km-content,.k-fx-slide.k-fx-end .k-fx-next .km-header,.k-fx-slide.k-fx-end .k-fx-next .km-footer,.k-fx-slide.k-fx-end .k-fx-current .km-content,.k-fx-slide.k-fx-end .k-fx-current .km-header,.k-fx-slide.k-fx-end .k-fx-current .km-footer{transition:all 350ms ease-out}.k-fx-slide.k-fx-start .k-fx-next .k-content,.k-fx-slide.k-fx-start .k-fx-next .km-content{will-change:transform;transform:translateX(100%)}.k-fx-slide.k-fx-start .k-fx-next .k-header,.k-fx-slide.k-fx-start .k-fx-next .k-footer,.k-fx-slide.k-fx-start .k-fx-next .km-header,.k-fx-slide.k-fx-start .k-fx-next .km-footer{will-change:opacity;opacity:0}.k-fx-slide.k-fx-end .k-fx-current .k-content,.k-fx-slide.k-fx-end .k-fx-current .km-content{transform:translateX(-100%)}.k-fx-slide.k-fx-end .k-fx-next .k-header,.k-fx-slide.k-fx-end .k-fx-next .k-footer,.k-fx-slide.k-fx-end .k-fx-next .km-header,.k-fx-slide.k-fx-end .k-fx-next .km-footer{opacity:1}.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-content,.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-content{will-change:transform;transform:translateX(0)}.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-content,.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-content{transform:translateX(100%)}.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-content,.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-content{transform:translateX(-100%)}.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-content,.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-content{transform:translateX(0)}.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-header,.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-footer,.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-header,.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-footer{will-change:opacity;opacity:1}.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-header,.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-footer,.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-header,.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-footer{opacity:1}.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-header,.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-footer,.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-header,.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-footer{opacity:0}.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-header,.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-footer,.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-header,.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-footer{opacity:1}.k-fx-slide.k-fx-right.k-fx-start .k-fx-next .k-content,.k-fx-slide.k-fx-right.k-fx-start .k-fx-next .km-content{transform:translateX(-100%)}.k-fx-slide.k-fx-right.k-fx-end .k-fx-current .k-content,.k-fx-slide.k-fx-right.k-fx-end .k-fx-current .km-content{transform:translateX(100%)}.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .k-content,.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .km-content{transform:translateX(0)}.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .k-content,.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .km-content{transform:translateX(-100%)}.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .k-content,.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .km-content{transform:translateX(100%)}.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .k-content,.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .km-content{transform:translateX(0%)}.k-fx-tile.k-fx-start .k-fx-next{will-change:transform;transform:translateX(100%)}.k-fx-tile.k-fx-end .k-fx-current{transform:translateX(-100%)}.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-current{will-change:transform;transform:translateX(0)}.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-current{transform:translateX(100%)}.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-next{transform:translateX(-100%)}.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-next{transform:translateX(0)}.k-fx-tile.k-fx-right.k-fx-start .k-fx-next{transform:translateX(-100%)}.k-fx-tile.k-fx-right.k-fx-end .k-fx-current{transform:translateX(100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current{transform:translateX(0)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current{transform:translateX(-100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next{transform:translateX(100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next{transform:translateX(0%)}.k-fx.k-fx-overlay.k-fx-start .k-fx-next,.k-fx.k-fx-overlay.k-fx-left.k-fx-start .k-fx-next{will-change:transform;transform:translateX(100%)}.k-fx.k-fx-overlay.k-fx-right.k-fx-start .k-fx-next{transform:translateX(-100%)}.k-fx.k-fx-overlay.k-fx-up.k-fx-start .k-fx-next{transform:translateY(100%)}.k-fx.k-fx-overlay.k-fx-down.k-fx-start .k-fx-next{transform:translateY(-100%)}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-next{transform:none}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-current{will-change:transform;transform:none}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-end .k-fx-current,.k-fx.k-fx-overlay.k-fx-reverse.k-fx-left.k-fx-end .k-fx-current{transform:translateX(100%)}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-right.k-fx-end .k-fx-current{transform:translateX(-100%)}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-up.k-fx-end .k-fx-current{transform:translateY(100%)}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-down.k-fx-end .k-fx-current{transform:translateY(-100%)}.k-theme-test-class,.k-common-test-class{opacity:0}.k-hstack,.k-hbox{display:flex;flex-flow:row nowrap}.k-vstack,.k-vbox{display:flex;flex-flow:column nowrap}.k-spacer,.k-flex{flex:1 1 auto}.k-spacer-sized{flex:none}.k-float-wrap::after,.k-floatwrap::after{content:"";display:block;clear:both}.k-flex-layout{display:flex}.k-grid-layout{display:grid}.k-separator{width:auto;height:0;border-width:1px 0 0;border-style:solid;border-color:inherit;display:block;flex-grow:0 !important;flex-shrink:0 !important;align-self:stretch}.k-separator-horizontal,.k-vstack>.k-separator,.k-vbox>.k-separator{width:auto;height:0;border-width:1px 0 0}.k-separator-vertical,.k-hstack>.k-separator,.k-hbox>.k-separator{width:0;height:auto;border-width:0 0 0 1px}hr.k-separator{margin:0;padding:0}.k-hidden{display:none !important}.k-rtl{direction:rtl}[hidden]{display:none !important}script{display:none !important}.k-disabled,.k-widget[disabled],.k-disabled{outline:none;cursor:default;color:var(--kendo-disabled-text, var(--kendo-color-on-app-surface, #212121));background-color:var(--kendo-disabled-bg, );border-color:var(--kendo-disabled-border, );opacity:var(--kendo-disabled-opacity, 0.6);filter:var(--kendo-disabled-filter, grayscale(0.1));pointer-events:none;box-shadow:none}.k-disabled .k-link,.k-widget[disabled] .k-link,.k-disabled .k-link{cursor:default;outline:0}.k-disabled [disabled],.k-disabled .k-disabled,.k-widget[disabled] [disabled],.k-widget[disabled] .k-disabled,.k-disabled [disabled],.k-disabled .k-disabled{--kendo-disabled-opacity: 1;--kendo-disabled-filter: grayscale(0)}.k-hr{margin-block:var(--kendo-spacing-4, 1rem);padding:0;height:0;border-width:1px 0 0;border-style:solid;border-color:var(--kendo-component-border, var(--kendo-color-border, rgba(0, 0, 0, 0.12)));display:block;float:none;clear:both}.k-d-flex-row>.k-hr{margin:0;width:0;height:auto;border-width:0 0 0 1px;flex:0 0 auto}.k-d-flex-col>.k-hr{margin:0;flex:0 0 auto}.k-sprite{display:inline-block;width:1rem;height:1rem;overflow:hidden;background-repeat:no-repeat;font-size:0;line-height:0;text-align:center}.k-image{display:inline-block}.k-reset{margin:0;padding:0;border-width:0;outline:0;text-decoration:none;font:inherit;list-style:none}kendo-sortable{display:block}.k-link,.k-link:hover{color:inherit;text-decoration:none;outline:0;cursor:pointer}.k-content{outline:0}.k-centered{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.k-no-click{pointer-events:none}.k-pdf-export-shadow{position:absolute;overflow:hidden;left:-15000px;width:14400px}.kendo-pdf-hide-pseudo-elements::before,.kendo-pdf-hide-pseudo-elements::after{display:none !important}.k-dirty{margin:0;padding:0;width:0;height:0;border-width:3px;border-style:solid;border-block-start-color:currentColor;border-block-end-color:rgba(0,0,0,0);border-inline-start-color:rgba(0,0,0,0);border-inline-end-color:currentColor;position:absolute;inset-block-start:0;inset-inline-end:0}.k-marquee{position:absolute;z-index:100000}.k-marquee-color,.k-marquee-text{position:absolute;top:0;left:0;width:100%;height:100%}.k-marquee-color{color:var(--kendo-neutral-160, var(--kendo-color-on-secondary, #ffffff));background-color:var(--kendo-primary-60, var(--kendo-color-secondary, #e51a5f));border-color:var(--kendo-primary-100, var(--kendo-color-border, rgba(0, 0, 0, 0.12)));opacity:.6}.k-marquee-text{color:var(--kendo-neutral-160, var(--kendo-color-on-secondary, #ffffff))}.k-text-selection ::selection{background-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff)}.k-scrollbar{position:absolute;overflow:scroll}.k-scrollbar-vertical{top:0;right:0;width:17px;height:100%;overflow-x:hidden}.k-touch-scrollbar{display:none;position:absolute;z-index:200000;height:8px;width:8px;border:1px solid #8a8a8a;background-color:#858585}.k-resize-handle,.k-resize-hint{position:absolute;border-color:inherit;z-index:200}.k-resize-handle{display:flex;align-items:center;justify-content:center}.k-resize-handle::before{content:"";border:0 solid;border-color:inherit}.k-resize-n{width:100%;height:6px;flex-direction:row;left:0;top:-3px;cursor:n-resize}.k-resize-s{width:100%;height:6px;flex-direction:row;left:0;bottom:-3px;cursor:s-resize}.k-resize-w{width:6px;height:100%;flex-direction:column;top:0;left:-3px;cursor:w-resize}.k-resize-e{width:6px;height:100%;flex-direction:column;top:0;right:-3px;cursor:e-resize}.k-resize-sw,.k-resize-se,.k-resize-nw,.k-resize-ne{width:5px;height:5px}.k-resize-sw{cursor:sw-resize;bottom:0;left:0}.k-resize-se{cursor:se-resize;bottom:0;right:0}.k-resize-nw{cursor:nw-resize;top:0;left:0}.k-resize-ne{cursor:ne-resize;top:0;right:0}.k-vertical-resize{cursor:row-resize}.k-horizontal-resize{cursor:col-resize}.k-resize-hint{display:flex;flex-direction:column;align-items:center}.k-resize-hint .k-resize-hint-handle{width:auto;height:20px;align-self:stretch}.k-resize-hint .k-resize-hint-marker{width:2px;height:auto;flex:1 1 auto}.k-resize-hint-vertical{display:flex;flex-direction:row;align-items:center}.k-resize-hint-vertical .k-resize-hint-handle{width:20px;height:auto;align-self:stretch}.k-resize-hint-vertical .k-resize-hint-marker{width:auto;height:2px;flex:1 1 auto}:root{--kendo-elevation-1: 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 2px 1px 0px rgba(0, 0, 0, 0.12), 0px 1px 1px 0px rgba(0, 0, 0, 0.14);--kendo-elevation-2: 0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 3px 1px 0px rgba(0, 0, 0, 0.12), 0px 2px 2px 0px rgba(0, 0, 0, 0.14);--kendo-elevation-3: 0px 1px 8px 0px rgba(0, 0, 0, 0.2), 0px 3px 3px 0px rgba(0, 0, 0, 0.12), 0px 3px 4px 0px rgba(0, 0, 0, 0.14);--kendo-elevation-4: 0px 2px 4px 0px rgba(0, 0, 0, 0.2), 0px 1px 10px 0px rgba(0, 0, 0, 0.12), 0px 4px 5px 0px rgba(0, 0, 0, 0.14);--kendo-elevation-5: 0px 3px 5px 0px rgba(0, 0, 0, 0.2), 0px 1px 18px 0px rgba(0, 0, 0, 0.12), 0px 6px 10px 0px rgba(0, 0, 0, 0.14);--kendo-elevation-6: 0px 5px 5px 0px rgba(0, 0, 0, 0.2), 0px 3px 14px 0px rgba(0, 0, 0, 0.12), 0px 8px 10px 0px rgba(0, 0, 0, 0.14);--kendo-elevation-7: 0px 7px 8px 0px rgba(0, 0, 0, 0.2), 0px 5px 22px 0px rgba(0, 0, 0, 0.12), 0px 12px 17px 0px rgba(0, 0, 0, 0.14);--kendo-elevation-8: 0px 8px 10px rgba(0, 0, 0, 0.2), 0px 6px 30px rgba(0, 0, 0, 0.12), 0px 16px 24px rgba(0, 0, 0, 0.14);--kendo-elevation-9: 0px 11px 15px rgba(0, 0, 0, 0.2), 0px 9px 46px rgba(0, 0, 0, 0.12), 0px 24px 38px rgba(0, 0, 0, 0.14)}:root{--kendo-font-family: Roboto, "Helvetica Neue", sans-serif;--kendo-font-size: 0.875rem;--kendo-line-height: 2;--kendo-font-weight: 400;--kendo-letter-spacing: ;--kendo-font-size-xs: 0.625rem;--kendo-font-size-sm: 0.75rem;--kendo-font-size-md: 0.875rem;--kendo-font-size-lg: 1rem;--kendo-font-size-xl: 1.25rem;--kendo-line-height-xs: 1;--kendo-line-height-sm: 1.2;--kendo-line-height-md: 2;--kendo-line-height-lg: 1.5;--kendo-font-weight-thin: 100;--kendo-font-weight-extra-light: 200;--kendo-font-weight-light: 300;--kendo-font-weight-normal: 400;--kendo-font-weight-medium: 500;--kendo-font-weight-semibold: 600;--kendo-font-weight-bold: 700;--kendo-letter-spacing-tightest: -2.5px;--kendo-letter-spacing-tighter: -1.5px;--kendo-letter-spacing-tight: -0.5px;--kendo-letter-spacing-normal: 0px;--kendo-letter-spacing-wide: 0.15px;--kendo-letter-spacing-wider: 0.25px;--kendo-letter-spacing-widest: 0.35px;--kendo-font-family-sans-serif: Roboto, Helvetica Neue, sans-serif;--kendo-font-family-monospace: Consolas, Ubuntu Mono, Lucida Console, Courier New, monospace}:root{--kendo-spacing-0: 0px;--kendo-spacing-1px: 1px;--kendo-spacing-0\.5: 0.125rem;--kendo-spacing-1: 0.25rem;--kendo-spacing-1\.5: 0.375rem;--kendo-spacing-2: 0.5rem;--kendo-spacing-2\.5: 0.625rem;--kendo-spacing-3: 0.75rem;--kendo-spacing-3\.5: 0.875rem;--kendo-spacing-4: 1rem;--kendo-spacing-4\.5: 1.125rem;--kendo-spacing-5: 1.25rem;--kendo-spacing-5\.5: 1.375rem;--kendo-spacing-6: 1.5rem;--kendo-spacing-6\.5: 1.625rem;--kendo-spacing-7: 1.75rem;--kendo-spacing-7\.5: 1.875rem;--kendo-spacing-8: 2rem;--kendo-spacing-9: 2.25rem;--kendo-spacing-10: 2.5rem;--kendo-spacing-11: 2.75rem;--kendo-spacing-12: 3rem;--kendo-spacing-13: 3.25rem;--kendo-spacing-14: 3.5rem;--kendo-spacing-15: 3.75rem;--kendo-spacing-16: 4rem;--kendo-spacing-17: 4.25rem;--kendo-spacing-18: 4.5rem;--kendo-spacing-19: 4.75rem;--kendo-spacing-20: 5rem;--kendo-spacing-21: 5.25rem;--kendo-spacing-22: 5.5rem;--kendo-spacing-23: 5.75rem;--kendo-spacing-24: 6rem;--kendo-spacing-25: 7rem;--kendo-spacing-26: 8rem;--kendo-spacing-27: 9rem;--kendo-spacing-28: 10rem;--kendo-spacing-29: 11rem;--kendo-spacing-30: 12rem}:root{--kendo-border-radius-none: 0px;--kendo-border-radius-xs: 1px;--kendo-border-radius-sm: 0.125rem;--kendo-border-radius-md: 0.25rem;--kendo-border-radius-lg: 0.5rem;--kendo-border-radius-xl: 0.75rem;--kendo-border-radius-xxl: 1rem;--kendo-border-radius-xxxl: 1.25rem;--kendo-border-radius-full: 9999px}.k-ratio-auto{aspect-ratio:auto}.\!k-ratio-auto{aspect-ratio:auto !important}.k-ratio-1{aspect-ratio:1}.\!k-ratio-1{aspect-ratio:1 !important}.k-ratio-square{aspect-ratio:1 / 1}.\!k-ratio-square{aspect-ratio:1 / 1 !important}.k-ratio-video{aspect-ratio:16 / 9}.\!k-ratio-video{aspect-ratio:16 / 9 !important}.k-aspect-ratio-auto{aspect-ratio:auto}.\!k-aspect-ratio-auto{aspect-ratio:auto !important}.k-aspect-ratio-1{aspect-ratio:1}.\!k-aspect-ratio-1{aspect-ratio:1 !important}.k-aspect-ratio-square{aspect-ratio:1 / 1}.\!k-aspect-ratio-square{aspect-ratio:1 / 1 !important}.k-aspect-ratio-video{aspect-ratio:16 / 9}.\!k-aspect-ratio-video{aspect-ratio:16 / 9 !important}.k-box-sizing-border{box-sizing:border-box}.\!k-box-sizing-border{box-sizing:border-box !important}.k-box-sizing-content{box-sizing:content-box}.\!k-box-sizing-content{box-sizing:content-box !important}.k-clear-left{clear:left}.\!k-clear-left{clear:left !important}.k-clear-right{clear:right}.\!k-clear-right{clear:right !important}.k-clear-both{clear:both}.\!k-clear-both{clear:both !important}.k-clear-none{clear:none}.\!k-clear-none{clear:none !important}.k-columns-1{columns:1}.\!k-columns-1{columns:1 !important}.k-columns-2{columns:2}.\!k-columns-2{columns:2 !important}.k-columns-3{columns:3}.\!k-columns-3{columns:3 !important}.k-columns-4{columns:4}.\!k-columns-4{columns:4 !important}.k-columns-5{columns:5}.\!k-columns-5{columns:5 !important}.k-columns-6{columns:6}.\!k-columns-6{columns:6 !important}.k-columns-7{columns:7}.\!k-columns-7{columns:7 !important}.k-columns-8{columns:8}.\!k-columns-8{columns:8 !important}.k-columns-9{columns:9}.\!k-columns-9{columns:9 !important}.k-columns-10{columns:10}.\!k-columns-10{columns:10 !important}.k-columns-11{columns:11}.\!k-columns-11{columns:11 !important}.k-columns-12{columns:12}.\!k-columns-12{columns:12 !important}.k-columns-auto{columns:auto}.\!k-columns-auto{columns:auto !important}.k-d-none{display:none}.\!k-d-none{display:none !important}.k-d-contents{display:contents}.\!k-d-contents{display:contents !important}.k-d-block{display:block}.\!k-d-block{display:block !important}.k-d-inline{display:inline}.\!k-d-inline{display:inline !important}.k-d-inline-block{display:inline-block}.\!k-d-inline-block{display:inline-block !important}.k-d-flex,.k-d-flex-col,.k-d-flex-row{display:flex}.\!k-d-flex,.\!k-d-flex-col,.\!k-d-flex-row{display:flex !important}.k-d-inline-flex{display:inline-flex}.\!k-d-inline-flex{display:inline-flex !important}.k-d-grid{display:grid}.\!k-d-grid{display:grid !important}.k-d-inline-grid{display:inline-grid}.\!k-d-inline-grid{display:inline-grid !important}.k-d-table{display:table}.\!k-d-table{display:table !important}.k-d-inline-table{display:inline-table}.\!k-d-inline-table{display:inline-table !important}.k-d-table-row{display:table-row}.\!k-d-table-row{display:table-row !important}.k-d-table-cell{display:table-cell}.\!k-d-table-cell{display:table-cell !important}.k-d-list-item{display:list-item}.\!k-d-list-item{display:list-item !important}.k-display-none{display:none}.\!k-display-none{display:none !important}.k-display-contents{display:contents}.\!k-display-contents{display:contents !important}.k-display-block{display:block}.\!k-display-block{display:block !important}.k-display-inline{display:inline}.\!k-display-inline{display:inline !important}.k-display-inline-block{display:inline-block}.\!k-display-inline-block{display:inline-block !important}.k-display-flex{display:flex}.\!k-display-flex{display:flex !important}.k-display-inline-flex{display:inline-flex}.\!k-display-inline-flex{display:inline-flex !important}.k-display-grid{display:grid}.\!k-display-grid{display:grid !important}.k-display-inline-grid{display:inline-grid}.\!k-display-inline-grid{display:inline-grid !important}.k-display-table{display:table}.\!k-display-table{display:table !important}.k-display-inline-table{display:inline-table}.\!k-display-inline-table{display:inline-table !important}.k-display-table-row{display:table-row}.\!k-display-table-row{display:table-row !important}.k-display-table-cell{display:table-cell}.\!k-display-table-cell{display:table-cell !important}.k-display-list-item{display:list-item}.\!k-display-list-item{display:list-item !important}.k-float-left{float:left}.\!k-float-left{float:left !important}.k-float-right{float:right}.\!k-float-right{float:right !important}.k-float-none{float:none}.\!k-float-none{float:none !important}.k-object-fit-contain{object-fit:contain}.\!k-object-fit-contain{object-fit:contain !important}.k-object-fit-cover{object-fit:cover}.\!k-object-fit-cover{object-fit:cover !important}.k-object-fit-fill{object-fit:fill}.\!k-object-fit-fill{object-fit:fill !important}.k-object-fit-scale-down{object-fit:scale-down}.\!k-object-fit-scale-down{object-fit:scale-down !important}.k-object-fit-initial{object-fit:initial}.\!k-object-fit-initial{object-fit:initial !important}.k-object-fit-none{object-fit:none}.\!k-object-fit-none{object-fit:none !important}.k-object-position-center{object-position:center}.\!k-object-position-center{object-position:center !important}.k-object-position-top{object-position:top}.\!k-object-position-top{object-position:top !important}.k-object-position-right{object-position:right}.\!k-object-position-right{object-position:right !important}.k-object-position-bottom{object-position:bottom}.\!k-object-position-bottom{object-position:bottom !important}.k-object-position-left{object-position:left}.\!k-object-position-left{object-position:left !important}.k-object-position-top-left{object-position:top left}.\!k-object-position-top-left{object-position:top left !important}.k-object-position-top-right{object-position:top right}.\!k-object-position-top-right{object-position:top right !important}.k-object-position-bottom-left{object-position:bottom left}.\!k-object-position-bottom-left{object-position:bottom left !important}.k-object-position-bottom-right{object-position:bottom right}.\!k-object-position-bottom-right{object-position:bottom right !important}.k-overflow-auto{overflow:auto}.\!k-overflow-auto{overflow:auto !important}.k-overflow-hidden{overflow:hidden}.\!k-overflow-hidden{overflow:hidden !important}.k-overflow-visible{overflow:visible}.\!k-overflow-visible{overflow:visible !important}.k-overflow-scroll{overflow:scroll}.\!k-overflow-scroll{overflow:scroll !important}.k-overflow-clip{overflow:clip}.\!k-overflow-clip{overflow:clip !important}.k-overflow-x-auto{overflow-x:auto}.\!k-overflow-x-auto{overflow-x:auto !important}.k-overflow-x-hidden{overflow-x:hidden}.\!k-overflow-x-hidden{overflow-x:hidden !important}.k-overflow-x-visible{overflow-x:visible}.\!k-overflow-x-visible{overflow-x:visible !important}.k-overflow-x-scroll{overflow-x:scroll}.\!k-overflow-x-scroll{overflow-x:scroll !important}.k-overflow-x-clip{overflow-x:clip}.\!k-overflow-x-clip{overflow-x:clip !important}.k-overflow-y-auto{overflow-y:auto}.\!k-overflow-y-auto{overflow-y:auto !important}.k-overflow-y-hidden{overflow-y:hidden}.\!k-overflow-y-hidden{overflow-y:hidden !important}.k-overflow-y-visible{overflow-y:visible}.\!k-overflow-y-visible{overflow-y:visible !important}.k-overflow-y-scroll{overflow-y:scroll}.\!k-overflow-y-scroll{overflow-y:scroll !important}.k-overflow-y-clip{overflow-y:clip}.\!k-overflow-y-clip{overflow-y:clip !important}.k-top-0{top:0px}.\!k-top-0{top:0px !important}.k-top-1px{top:1px}.\!k-top-1px{top:1px !important}.k-top-0\.5{top:.125rem}.\!k-top-0\.5{top:.125rem !important}.k-top-1{top:.25rem}.\!k-top-1{top:.25rem !important}.k-top-1\.5{top:.375rem}.\!k-top-1\.5{top:.375rem !important}.k-top-2{top:.5rem}.\!k-top-2{top:.5rem !important}.k-top-2\.5{top:.625rem}.\!k-top-2\.5{top:.625rem !important}.k-top-3{top:.75rem}.\!k-top-3{top:.75rem !important}.k-top-3\.5{top:.875rem}.\!k-top-3\.5{top:.875rem !important}.k-top-4{top:1rem}.\!k-top-4{top:1rem !important}.k-top-4\.5{top:1.125rem}.\!k-top-4\.5{top:1.125rem !important}.k-top-5{top:1.25rem}.\!k-top-5{top:1.25rem !important}.k-top-5\.5{top:1.375rem}.\!k-top-5\.5{top:1.375rem !important}.k-top-6{top:1.5rem}.\!k-top-6{top:1.5rem !important}.k-top-6\.5{top:1.625rem}.\!k-top-6\.5{top:1.625rem !important}.k-top-7{top:1.75rem}.\!k-top-7{top:1.75rem !important}.k-top-7\.5{top:1.875rem}.\!k-top-7\.5{top:1.875rem !important}.k-top-8{top:2rem}.\!k-top-8{top:2rem !important}.k-top-9{top:2.25rem}.\!k-top-9{top:2.25rem !important}.k-top-10{top:2.5rem}.\!k-top-10{top:2.5rem !important}.k-top-11{top:2.75rem}.\!k-top-11{top:2.75rem !important}.k-top-12{top:3rem}.\!k-top-12{top:3rem !important}.k-top-13{top:3.25rem}.\!k-top-13{top:3.25rem !important}.k-top-14{top:3.5rem}.\!k-top-14{top:3.5rem !important}.k-top-15{top:3.75rem}.\!k-top-15{top:3.75rem !important}.k-top-16{top:4rem}.\!k-top-16{top:4rem !important}.k-top-17{top:4.25rem}.\!k-top-17{top:4.25rem !important}.k-top-18{top:4.5rem}.\!k-top-18{top:4.5rem !important}.k-top-19{top:4.75rem}.\!k-top-19{top:4.75rem !important}.k-top-20{top:5rem}.\!k-top-20{top:5rem !important}.k-top-21{top:5.25rem}.\!k-top-21{top:5.25rem !important}.k-top-22{top:5.5rem}.\!k-top-22{top:5.5rem !important}.k-top-23{top:5.75rem}.\!k-top-23{top:5.75rem !important}.k-top-24{top:6rem}.\!k-top-24{top:6rem !important}.k-top-25{top:7rem}.\!k-top-25{top:7rem !important}.k-top-26{top:8rem}.\!k-top-26{top:8rem !important}.k-top-27{top:9rem}.\!k-top-27{top:9rem !important}.k-top-28{top:10rem}.\!k-top-28{top:10rem !important}.k-top-29{top:11rem}.\!k-top-29{top:11rem !important}.k-top-30{top:12rem}.\!k-top-30{top:12rem !important}.k-top--1{top:-1px}.\!k-top--1{top:-1px !important}.k-right-0{right:0px}.\!k-right-0{right:0px !important}.k-right-1px{right:1px}.\!k-right-1px{right:1px !important}.k-right-0\.5{right:.125rem}.\!k-right-0\.5{right:.125rem !important}.k-right-1{right:.25rem}.\!k-right-1{right:.25rem !important}.k-right-1\.5{right:.375rem}.\!k-right-1\.5{right:.375rem !important}.k-right-2{right:.5rem}.\!k-right-2{right:.5rem !important}.k-right-2\.5{right:.625rem}.\!k-right-2\.5{right:.625rem !important}.k-right-3{right:.75rem}.\!k-right-3{right:.75rem !important}.k-right-3\.5{right:.875rem}.\!k-right-3\.5{right:.875rem !important}.k-right-4{right:1rem}.\!k-right-4{right:1rem !important}.k-right-4\.5{right:1.125rem}.\!k-right-4\.5{right:1.125rem !important}.k-right-5{right:1.25rem}.\!k-right-5{right:1.25rem !important}.k-right-5\.5{right:1.375rem}.\!k-right-5\.5{right:1.375rem !important}.k-right-6{right:1.5rem}.\!k-right-6{right:1.5rem !important}.k-right-6\.5{right:1.625rem}.\!k-right-6\.5{right:1.625rem !important}.k-right-7{right:1.75rem}.\!k-right-7{right:1.75rem !important}.k-right-7\.5{right:1.875rem}.\!k-right-7\.5{right:1.875rem !important}.k-right-8{right:2rem}.\!k-right-8{right:2rem !important}.k-right-9{right:2.25rem}.\!k-right-9{right:2.25rem !important}.k-right-10{right:2.5rem}.\!k-right-10{right:2.5rem !important}.k-right-11{right:2.75rem}.\!k-right-11{right:2.75rem !important}.k-right-12{right:3rem}.\!k-right-12{right:3rem !important}.k-right-13{right:3.25rem}.\!k-right-13{right:3.25rem !important}.k-right-14{right:3.5rem}.\!k-right-14{right:3.5rem !important}.k-right-15{right:3.75rem}.\!k-right-15{right:3.75rem !important}.k-right-16{right:4rem}.\!k-right-16{right:4rem !important}.k-right-17{right:4.25rem}.\!k-right-17{right:4.25rem !important}.k-right-18{right:4.5rem}.\!k-right-18{right:4.5rem !important}.k-right-19{right:4.75rem}.\!k-right-19{right:4.75rem !important}.k-right-20{right:5rem}.\!k-right-20{right:5rem !important}.k-right-21{right:5.25rem}.\!k-right-21{right:5.25rem !important}.k-right-22{right:5.5rem}.\!k-right-22{right:5.5rem !important}.k-right-23{right:5.75rem}.\!k-right-23{right:5.75rem !important}.k-right-24{right:6rem}.\!k-right-24{right:6rem !important}.k-right-25{right:7rem}.\!k-right-25{right:7rem !important}.k-right-26{right:8rem}.\!k-right-26{right:8rem !important}.k-right-27{right:9rem}.\!k-right-27{right:9rem !important}.k-right-28{right:10rem}.\!k-right-28{right:10rem !important}.k-right-29{right:11rem}.\!k-right-29{right:11rem !important}.k-right-30{right:12rem}.\!k-right-30{right:12rem !important}.k-right--1{right:-1px}.\!k-right--1{right:-1px !important}.k-bottom-0{bottom:0px}.\!k-bottom-0{bottom:0px !important}.k-bottom-1px{bottom:1px}.\!k-bottom-1px{bottom:1px !important}.k-bottom-0\.5{bottom:.125rem}.\!k-bottom-0\.5{bottom:.125rem !important}.k-bottom-1{bottom:.25rem}.\!k-bottom-1{bottom:.25rem !important}.k-bottom-1\.5{bottom:.375rem}.\!k-bottom-1\.5{bottom:.375rem !important}.k-bottom-2{bottom:.5rem}.\!k-bottom-2{bottom:.5rem !important}.k-bottom-2\.5{bottom:.625rem}.\!k-bottom-2\.5{bottom:.625rem !important}.k-bottom-3{bottom:.75rem}.\!k-bottom-3{bottom:.75rem !important}.k-bottom-3\.5{bottom:.875rem}.\!k-bottom-3\.5{bottom:.875rem !important}.k-bottom-4{bottom:1rem}.\!k-bottom-4{bottom:1rem !important}.k-bottom-4\.5{bottom:1.125rem}.\!k-bottom-4\.5{bottom:1.125rem !important}.k-bottom-5{bottom:1.25rem}.\!k-bottom-5{bottom:1.25rem !important}.k-bottom-5\.5{bottom:1.375rem}.\!k-bottom-5\.5{bottom:1.375rem !important}.k-bottom-6{bottom:1.5rem}.\!k-bottom-6{bottom:1.5rem !important}.k-bottom-6\.5{bottom:1.625rem}.\!k-bottom-6\.5{bottom:1.625rem !important}.k-bottom-7{bottom:1.75rem}.\!k-bottom-7{bottom:1.75rem !important}.k-bottom-7\.5{bottom:1.875rem}.\!k-bottom-7\.5{bottom:1.875rem !important}.k-bottom-8{bottom:2rem}.\!k-bottom-8{bottom:2rem !important}.k-bottom-9{bottom:2.25rem}.\!k-bottom-9{bottom:2.25rem !important}.k-bottom-10{bottom:2.5rem}.\!k-bottom-10{bottom:2.5rem !important}.k-bottom-11{bottom:2.75rem}.\!k-bottom-11{bottom:2.75rem !important}.k-bottom-12{bottom:3rem}.\!k-bottom-12{bottom:3rem !important}.k-bottom-13{bottom:3.25rem}.\!k-bottom-13{bottom:3.25rem !important}.k-bottom-14{bottom:3.5rem}.\!k-bottom-14{bottom:3.5rem !important}.k-bottom-15{bottom:3.75rem}.\!k-bottom-15{bottom:3.75rem !important}.k-bottom-16{bottom:4rem}.\!k-bottom-16{bottom:4rem !important}.k-bottom-17{bottom:4.25rem}.\!k-bottom-17{bottom:4.25rem !important}.k-bottom-18{bottom:4.5rem}.\!k-bottom-18{bottom:4.5rem !important}.k-bottom-19{bottom:4.75rem}.\!k-bottom-19{bottom:4.75rem !important}.k-bottom-20{bottom:5rem}.\!k-bottom-20{bottom:5rem !important}.k-bottom-21{bottom:5.25rem}.\!k-bottom-21{bottom:5.25rem !important}.k-bottom-22{bottom:5.5rem}.\!k-bottom-22{bottom:5.5rem !important}.k-bottom-23{bottom:5.75rem}.\!k-bottom-23{bottom:5.75rem !important}.k-bottom-24{bottom:6rem}.\!k-bottom-24{bottom:6rem !important}.k-bottom-25{bottom:7rem}.\!k-bottom-25{bottom:7rem !important}.k-bottom-26{bottom:8rem}.\!k-bottom-26{bottom:8rem !important}.k-bottom-27{bottom:9rem}.\!k-bottom-27{bottom:9rem !important}.k-bottom-28{bottom:10rem}.\!k-bottom-28{bottom:10rem !important}.k-bottom-29{bottom:11rem}.\!k-bottom-29{bottom:11rem !important}.k-bottom-30{bottom:12rem}.\!k-bottom-30{bottom:12rem !important}.k-bottom--1{bottom:-1px}.\!k-bottom--1{bottom:-1px !important}.k-left-0{left:0px}.\!k-left-0{left:0px !important}.k-left-1px{left:1px}.\!k-left-1px{left:1px !important}.k-left-0\.5{left:.125rem}.\!k-left-0\.5{left:.125rem !important}.k-left-1{left:.25rem}.\!k-left-1{left:.25rem !important}.k-left-1\.5{left:.375rem}.\!k-left-1\.5{left:.375rem !important}.k-left-2{left:.5rem}.\!k-left-2{left:.5rem !important}.k-left-2\.5{left:.625rem}.\!k-left-2\.5{left:.625rem !important}.k-left-3{left:.75rem}.\!k-left-3{left:.75rem !important}.k-left-3\.5{left:.875rem}.\!k-left-3\.5{left:.875rem !important}.k-left-4{left:1rem}.\!k-left-4{left:1rem !important}.k-left-4\.5{left:1.125rem}.\!k-left-4\.5{left:1.125rem !important}.k-left-5{left:1.25rem}.\!k-left-5{left:1.25rem !important}.k-left-5\.5{left:1.375rem}.\!k-left-5\.5{left:1.375rem !important}.k-left-6{left:1.5rem}.\!k-left-6{left:1.5rem !important}.k-left-6\.5{left:1.625rem}.\!k-left-6\.5{left:1.625rem !important}.k-left-7{left:1.75rem}.\!k-left-7{left:1.75rem !important}.k-left-7\.5{left:1.875rem}.\!k-left-7\.5{left:1.875rem !important}.k-left-8{left:2rem}.\!k-left-8{left:2rem !important}.k-left-9{left:2.25rem}.\!k-left-9{left:2.25rem !important}.k-left-10{left:2.5rem}.\!k-left-10{left:2.5rem !important}.k-left-11{left:2.75rem}.\!k-left-11{left:2.75rem !important}.k-left-12{left:3rem}.\!k-left-12{left:3rem !important}.k-left-13{left:3.25rem}.\!k-left-13{left:3.25rem !important}.k-left-14{left:3.5rem}.\!k-left-14{left:3.5rem !important}.k-left-15{left:3.75rem}.\!k-left-15{left:3.75rem !important}.k-left-16{left:4rem}.\!k-left-16{left:4rem !important}.k-left-17{left:4.25rem}.\!k-left-17{left:4.25rem !important}.k-left-18{left:4.5rem}.\!k-left-18{left:4.5rem !important}.k-left-19{left:4.75rem}.\!k-left-19{left:4.75rem !important}.k-left-20{left:5rem}.\!k-left-20{left:5rem !important}.k-left-21{left:5.25rem}.\!k-left-21{left:5.25rem !important}.k-left-22{left:5.5rem}.\!k-left-22{left:5.5rem !important}.k-left-23{left:5.75rem}.\!k-left-23{left:5.75rem !important}.k-left-24{left:6rem}.\!k-left-24{left:6rem !important}.k-left-25{left:7rem}.\!k-left-25{left:7rem !important}.k-left-26{left:8rem}.\!k-left-26{left:8rem !important}.k-left-27{left:9rem}.\!k-left-27{left:9rem !important}.k-left-28{left:10rem}.\!k-left-28{left:10rem !important}.k-left-29{left:11rem}.\!k-left-29{left:11rem !important}.k-left-30{left:12rem}.\!k-left-30{left:12rem !important}.k-left--1{left:-1px}.\!k-left--1{left:-1px !important}.k-top,.k-pos-top{top:0}.k-right,.k-pos-right{right:0}.k-bottom,.k-pos-bottom{bottom:0}.k-left,.k-pos-left{left:0}.k-inset-0{inset:0}.\!k-inset-0{inset:0 !important}.k-inset-1{inset:1px}.\!k-inset-1{inset:1px !important}.k-inset--1{inset:-1px}.\!k-inset--1{inset:-1px !important}.k-inset-x-0{inset-inline:0}.\!k-inset-x-0{inset-inline:0 !important}.k-inset-x-1{inset-inline:1px}.\!k-inset-x-1{inset-inline:1px !important}.k-inset-x--1{inset-inline:-1px}.\!k-inset-x--1{inset-inline:-1px !important}.k-inset-y-0{inset-block:0}.\!k-inset-y-0{inset-block:0 !important}.k-inset-y-1{inset-block:1px}.\!k-inset-y-1{inset-block:1px !important}.k-inset-y--1{inset-block:-1px}.\!k-inset-y--1{inset-block:-1px !important}.k-top-left-0{top:0;left:0}.\!k-top-left-0{top:0 !important;left:0 !important}.k-top-left-1{top:1px;left:1px}.\!k-top-left-1{top:1px !important;left:1px !important}.k-top-left--1{top:-1px;left:-1px}.\!k-top-left--1{top:-1px !important;left:-1px !important}.k-top-right-0{top:0;right:0}.\!k-top-right-0{top:0 !important;right:0 !important}.k-top-right-1{top:1px;right:1px}.\!k-top-right-1{top:1px !important;right:1px !important}.k-top-right--1{top:-1px;right:-1px}.\!k-top-right--1{top:-1px !important;right:-1px !important}.k-bottom-left-0{bottom:0;left:0}.\!k-bottom-left-0{bottom:0 !important;left:0 !important}.k-bottom-left-1{bottom:1px;left:1px}.\!k-bottom-left-1{bottom:1px !important;left:1px !important}.k-bottom-left--1{bottom:-1px;left:-1px}.\!k-bottom-left--1{bottom:-1px !important;left:-1px !important}.k-bottom-right-0{bottom:0;right:0}.\!k-bottom-right-0{bottom:0 !important;right:0 !important}.k-bottom-right-1{bottom:1px;right:1px}.\!k-bottom-right-1{bottom:1px !important;right:1px !important}.k-bottom-right--1{bottom:-1px;right:-1px}.\!k-bottom-right--1{bottom:-1px !important;right:-1px !important}.k-top-start,.k-pos-top-start{top:0;inset-inline-start:0}.k-top-end,.k-pos-top-end{top:0;inset-inline-end:0}.k-bottom-start,.k-pos-bottom-start{bottom:0;inset-inline-start:0}.k-bottom-end,.k-pos-bottom-end{bottom:0;inset-inline-end:0}.k-top-center,.k-pos-top-center{top:0;left:50%;transform:translateX(-50%)}.k-middle-left,.k-middle-start,.k-pos-middle-start{top:50%;left:0;transform:translateY(-50%)}.k-middle-center{top:50%;left:50%;transform:translateY(-50%)}.k-middle-right,.k-middle-end,.k-pos-middle-end{top:50%;right:0;transform:translateY(-50%)}.k-bottom-center,.k-pos-bottom-center{bottom:0;left:50%;transform:translateX(-50%)}.k-pos-static,.k-static{position:static}.\!k-pos-static,.\!k-static{position:static !important}.k-pos-relative,.k-relative{position:relative}.\!k-pos-relative,.\!k-relative{position:relative !important}.k-pos-absolute,.k-absolute{position:absolute}.\!k-pos-absolute,.\!k-absolute{position:absolute !important}.k-pos-fixed,.k-fixed{position:fixed}.\!k-pos-fixed,.\!k-fixed{position:fixed !important}.k-pos-sticky,.k-sticky{position:sticky}.\!k-pos-sticky,.\!k-sticky{position:sticky !important}.k-visibility-visible,.k-visible{visibility:visible}.\!k-visibility-visible,.\!k-visible{visibility:visible !important}.k-visibility-invisible{visibility:hidden}.\!k-visibility-invisible{visibility:hidden !important}.k-visibility-collapse{visibility:collapse}.\!k-visibility-collapse{visibility:collapse !important}.k-z-0{z-index:0}.\!k-z-0{z-index:0 !important}.k-z-10{z-index:10}.\!k-z-10{z-index:10 !important}.k-z-20{z-index:20}.\!k-z-20{z-index:20 !important}.k-z-30{z-index:30}.\!k-z-30{z-index:30 !important}.k-z-40{z-index:40}.\!k-z-40{z-index:40 !important}.k-z-50{z-index:50}.\!k-z-50{z-index:50 !important}.k-z-auto{z-index:auto}.\!k-z-auto{z-index:auto !important}.k-align-content-normal{align-content:normal}.\!k-align-content-normal{align-content:normal !important}.k-align-content-stretch{align-content:stretch}.\!k-align-content-stretch{align-content:stretch !important}.k-align-content-center{align-content:center}.\!k-align-content-center{align-content:center !important}.k-align-content-start{align-content:start}.\!k-align-content-start{align-content:start !important}.k-align-content-end{align-content:end}.\!k-align-content-end{align-content:end !important}.k-align-content-flex-start{align-content:flex-start}.\!k-align-content-flex-start{align-content:flex-start !important}.k-align-content-flex-end{align-content:flex-end}.\!k-align-content-flex-end{align-content:flex-end !important}.k-align-content-baseline{align-content:baseline}.\!k-align-content-baseline{align-content:baseline !important}.k-align-content-first-baseline{align-content:first baseline}.\!k-align-content-first-baseline{align-content:first baseline !important}.k-align-content-last-baseline{align-content:last baseline}.\!k-align-content-last-baseline{align-content:last baseline !important}.k-align-content-between{align-content:space-between}.\!k-align-content-between{align-content:space-between !important}.k-align-content-around{align-content:space-around}.\!k-align-content-around{align-content:space-around !important}.k-align-content-evenly{align-content:space-evenly}.\!k-align-content-evenly{align-content:space-evenly !important}.k-align-items-normal{align-items:normal}.\!k-align-items-normal{align-items:normal !important}.k-align-items-stretch{align-items:stretch}.\!k-align-items-stretch{align-items:stretch !important}.k-align-items-center{align-items:center}.\!k-align-items-center{align-items:center !important}.k-align-items-start{align-items:start}.\!k-align-items-start{align-items:start !important}.k-align-items-end{align-items:end}.\!k-align-items-end{align-items:end !important}.k-align-items-flex-start{align-items:flex-start}.\!k-align-items-flex-start{align-items:flex-start !important}.k-align-items-flex-end{align-items:flex-end}.\!k-align-items-flex-end{align-items:flex-end !important}.k-align-items-baseline{align-items:baseline}.\!k-align-items-baseline{align-items:baseline !important}.k-align-items-first-baseline{align-items:first baseline}.\!k-align-items-first-baseline{align-items:first baseline !important}.k-align-items-last-baseline{align-items:last baseline}.\!k-align-items-last-baseline{align-items:last baseline !important}.k-align-items-self-start{align-items:self-start}.\!k-align-items-self-start{align-items:self-start !important}.k-align-items-self-end{align-items:self-end}.\!k-align-items-self-end{align-items:self-end !important}.k-align-self-auto{align-self:auto}.\!k-align-self-auto{align-self:auto !important}.k-align-self-normal{align-self:normal}.\!k-align-self-normal{align-self:normal !important}.k-align-self-stretch{align-self:stretch}.\!k-align-self-stretch{align-self:stretch !important}.k-align-self-center{align-self:center}.\!k-align-self-center{align-self:center !important}.k-align-self-start{align-self:start}.\!k-align-self-start{align-self:start !important}.k-align-self-end{align-self:end}.\!k-align-self-end{align-self:end !important}.k-align-self-flex-start{align-self:flex-start}.\!k-align-self-flex-start{align-self:flex-start !important}.k-align-self-flex-end{align-self:flex-end}.\!k-align-self-flex-end{align-self:flex-end !important}.k-align-self-baseline{align-self:baseline}.\!k-align-self-baseline{align-self:baseline !important}.k-align-self-first-baseline{align-self:first baseline}.\!k-align-self-first-baseline{align-self:first baseline !important}.k-align-self-last-baseline{align-self:last baseline}.\!k-align-self-last-baseline{align-self:last baseline !important}.k-align-self-self-start{align-self:self-start}.\!k-align-self-self-start{align-self:self-start !important}.k-align-self-self-end{align-self:self-end}.\!k-align-self-self-end{align-self:self-end !important}.k-basis-0{flex-basis:0px}.\!k-basis-0{flex-basis:0px !important}.k-basis-1px{flex-basis:1px}.\!k-basis-1px{flex-basis:1px !important}.k-basis-0\.5{flex-basis:.125rem}.\!k-basis-0\.5{flex-basis:.125rem !important}.k-basis-1{flex-basis:.25rem}.\!k-basis-1{flex-basis:.25rem !important}.k-basis-1\.5{flex-basis:.375rem}.\!k-basis-1\.5{flex-basis:.375rem !important}.k-basis-2{flex-basis:.5rem}.\!k-basis-2{flex-basis:.5rem !important}.k-basis-2\.5{flex-basis:.625rem}.\!k-basis-2\.5{flex-basis:.625rem !important}.k-basis-3{flex-basis:.75rem}.\!k-basis-3{flex-basis:.75rem !important}.k-basis-3\.5{flex-basis:.875rem}.\!k-basis-3\.5{flex-basis:.875rem !important}.k-basis-4{flex-basis:1rem}.\!k-basis-4{flex-basis:1rem !important}.k-basis-4\.5{flex-basis:1.125rem}.\!k-basis-4\.5{flex-basis:1.125rem !important}.k-basis-5{flex-basis:1.25rem}.\!k-basis-5{flex-basis:1.25rem !important}.k-basis-5\.5{flex-basis:1.375rem}.\!k-basis-5\.5{flex-basis:1.375rem !important}.k-basis-6{flex-basis:1.5rem}.\!k-basis-6{flex-basis:1.5rem !important}.k-basis-6\.5{flex-basis:1.625rem}.\!k-basis-6\.5{flex-basis:1.625rem !important}.k-basis-7{flex-basis:1.75rem}.\!k-basis-7{flex-basis:1.75rem !important}.k-basis-7\.5{flex-basis:1.875rem}.\!k-basis-7\.5{flex-basis:1.875rem !important}.k-basis-8{flex-basis:2rem}.\!k-basis-8{flex-basis:2rem !important}.k-basis-9{flex-basis:2.25rem}.\!k-basis-9{flex-basis:2.25rem !important}.k-basis-10{flex-basis:2.5rem}.\!k-basis-10{flex-basis:2.5rem !important}.k-basis-11{flex-basis:2.75rem}.\!k-basis-11{flex-basis:2.75rem !important}.k-basis-12{flex-basis:3rem}.\!k-basis-12{flex-basis:3rem !important}.k-basis-13{flex-basis:3.25rem}.\!k-basis-13{flex-basis:3.25rem !important}.k-basis-14{flex-basis:3.5rem}.\!k-basis-14{flex-basis:3.5rem !important}.k-basis-15{flex-basis:3.75rem}.\!k-basis-15{flex-basis:3.75rem !important}.k-basis-16{flex-basis:4rem}.\!k-basis-16{flex-basis:4rem !important}.k-basis-17{flex-basis:4.25rem}.\!k-basis-17{flex-basis:4.25rem !important}.k-basis-18{flex-basis:4.5rem}.\!k-basis-18{flex-basis:4.5rem !important}.k-basis-19{flex-basis:4.75rem}.\!k-basis-19{flex-basis:4.75rem !important}.k-basis-20{flex-basis:5rem}.\!k-basis-20{flex-basis:5rem !important}.k-basis-21{flex-basis:5.25rem}.\!k-basis-21{flex-basis:5.25rem !important}.k-basis-22{flex-basis:5.5rem}.\!k-basis-22{flex-basis:5.5rem !important}.k-basis-23{flex-basis:5.75rem}.\!k-basis-23{flex-basis:5.75rem !important}.k-basis-24{flex-basis:6rem}.\!k-basis-24{flex-basis:6rem !important}.k-basis-25{flex-basis:7rem}.\!k-basis-25{flex-basis:7rem !important}.k-basis-26{flex-basis:8rem}.\!k-basis-26{flex-basis:8rem !important}.k-basis-27{flex-basis:9rem}.\!k-basis-27{flex-basis:9rem !important}.k-basis-28{flex-basis:10rem}.\!k-basis-28{flex-basis:10rem !important}.k-basis-29{flex-basis:11rem}.\!k-basis-29{flex-basis:11rem !important}.k-basis-30{flex-basis:12rem}.\!k-basis-30{flex-basis:12rem !important}.k-basis-auto{flex-basis:auto}.\!k-basis-auto{flex-basis:auto !important}.k-basis-1\/2{flex-basis:50%}.\!k-basis-1\/2{flex-basis:50% !important}.k-basis-1\/3{flex-basis:33.333333%}.\!k-basis-1\/3{flex-basis:33.333333% !important}.k-basis-2\/3{flex-basis:66.666667%}.\!k-basis-2\/3{flex-basis:66.666667% !important}.k-basis-1\/4{flex-basis:25%}.\!k-basis-1\/4{flex-basis:25% !important}.k-basis-2\/4{flex-basis:50%}.\!k-basis-2\/4{flex-basis:50% !important}.k-basis-3\/4{flex-basis:75%}.\!k-basis-3\/4{flex-basis:75% !important}.k-basis-1\/5{flex-basis:20%}.\!k-basis-1\/5{flex-basis:20% !important}.k-basis-2\/5{flex-basis:40%}.\!k-basis-2\/5{flex-basis:40% !important}.k-basis-3\/5{flex-basis:60%}.\!k-basis-3\/5{flex-basis:60% !important}.k-basis-4\/5{flex-basis:80%}.\!k-basis-4\/5{flex-basis:80% !important}.k-basis-1\/6{flex-basis:16.666667%}.\!k-basis-1\/6{flex-basis:16.666667% !important}.k-basis-2\/6{flex-basis:33.333333%}.\!k-basis-2\/6{flex-basis:33.333333% !important}.k-basis-3\/6{flex-basis:50%}.\!k-basis-3\/6{flex-basis:50% !important}.k-basis-4\/6{flex-basis:66.666667%}.\!k-basis-4\/6{flex-basis:66.666667% !important}.k-basis-5\/6{flex-basis:83.333333%}.\!k-basis-5\/6{flex-basis:83.333333% !important}.k-basis-1\/12{flex-basis:8.333333%}.\!k-basis-1\/12{flex-basis:8.333333% !important}.k-basis-2\/12{flex-basis:16.666667%}.\!k-basis-2\/12{flex-basis:16.666667% !important}.k-basis-3\/12{flex-basis:25%}.\!k-basis-3\/12{flex-basis:25% !important}.k-basis-4\/12{flex-basis:33.333333%}.\!k-basis-4\/12{flex-basis:33.333333% !important}.k-basis-5\/12{flex-basis:41.666667%}.\!k-basis-5\/12{flex-basis:41.666667% !important}.k-basis-6\/12{flex-basis:50%}.\!k-basis-6\/12{flex-basis:50% !important}.k-basis-7\/12{flex-basis:58.333333%}.\!k-basis-7\/12{flex-basis:58.333333% !important}.k-basis-8\/12{flex-basis:66.666667%}.\!k-basis-8\/12{flex-basis:66.666667% !important}.k-basis-9\/12{flex-basis:75%}.\!k-basis-9\/12{flex-basis:75% !important}.k-basis-10\/12{flex-basis:83.333333%}.\!k-basis-10\/12{flex-basis:83.333333% !important}.k-basis-11\/12{flex-basis:91.666667%}.\!k-basis-11\/12{flex-basis:91.666667% !important}.k-basis-full{flex-basis:100%}.\!k-basis-full{flex-basis:100% !important}.k-basis-min{flex-basis:min-content}.\!k-basis-min{flex-basis:min-content !important}.k-basis-max{flex-basis:max-content}.\!k-basis-max{flex-basis:max-content !important}.k-basis-fit{flex-basis:fit-content}.\!k-basis-fit{flex-basis:fit-content !important}.k-flex-basis-0{flex-basis:0px}.\!k-flex-basis-0{flex-basis:0px !important}.k-flex-basis-1px{flex-basis:1px}.\!k-flex-basis-1px{flex-basis:1px !important}.k-flex-basis-0\.5{flex-basis:.125rem}.\!k-flex-basis-0\.5{flex-basis:.125rem !important}.k-flex-basis-1{flex-basis:.25rem}.\!k-flex-basis-1{flex-basis:.25rem !important}.k-flex-basis-1\.5{flex-basis:.375rem}.\!k-flex-basis-1\.5{flex-basis:.375rem !important}.k-flex-basis-2{flex-basis:.5rem}.\!k-flex-basis-2{flex-basis:.5rem !important}.k-flex-basis-2\.5{flex-basis:.625rem}.\!k-flex-basis-2\.5{flex-basis:.625rem !important}.k-flex-basis-3{flex-basis:.75rem}.\!k-flex-basis-3{flex-basis:.75rem !important}.k-flex-basis-3\.5{flex-basis:.875rem}.\!k-flex-basis-3\.5{flex-basis:.875rem !important}.k-flex-basis-4{flex-basis:1rem}.\!k-flex-basis-4{flex-basis:1rem !important}.k-flex-basis-4\.5{flex-basis:1.125rem}.\!k-flex-basis-4\.5{flex-basis:1.125rem !important}.k-flex-basis-5{flex-basis:1.25rem}.\!k-flex-basis-5{flex-basis:1.25rem !important}.k-flex-basis-5\.5{flex-basis:1.375rem}.\!k-flex-basis-5\.5{flex-basis:1.375rem !important}.k-flex-basis-6{flex-basis:1.5rem}.\!k-flex-basis-6{flex-basis:1.5rem !important}.k-flex-basis-6\.5{flex-basis:1.625rem}.\!k-flex-basis-6\.5{flex-basis:1.625rem !important}.k-flex-basis-7{flex-basis:1.75rem}.\!k-flex-basis-7{flex-basis:1.75rem !important}.k-flex-basis-7\.5{flex-basis:1.875rem}.\!k-flex-basis-7\.5{flex-basis:1.875rem !important}.k-flex-basis-8{flex-basis:2rem}.\!k-flex-basis-8{flex-basis:2rem !important}.k-flex-basis-9{flex-basis:2.25rem}.\!k-flex-basis-9{flex-basis:2.25rem !important}.k-flex-basis-10{flex-basis:2.5rem}.\!k-flex-basis-10{flex-basis:2.5rem !important}.k-flex-basis-11{flex-basis:2.75rem}.\!k-flex-basis-11{flex-basis:2.75rem !important}.k-flex-basis-12{flex-basis:3rem}.\!k-flex-basis-12{flex-basis:3rem !important}.k-flex-basis-13{flex-basis:3.25rem}.\!k-flex-basis-13{flex-basis:3.25rem !important}.k-flex-basis-14{flex-basis:3.5rem}.\!k-flex-basis-14{flex-basis:3.5rem !important}.k-flex-basis-15{flex-basis:3.75rem}.\!k-flex-basis-15{flex-basis:3.75rem !important}.k-flex-basis-16{flex-basis:4rem}.\!k-flex-basis-16{flex-basis:4rem !important}.k-flex-basis-17{flex-basis:4.25rem}.\!k-flex-basis-17{flex-basis:4.25rem !important}.k-flex-basis-18{flex-basis:4.5rem}.\!k-flex-basis-18{flex-basis:4.5rem !important}.k-flex-basis-19{flex-basis:4.75rem}.\!k-flex-basis-19{flex-basis:4.75rem !important}.k-flex-basis-20{flex-basis:5rem}.\!k-flex-basis-20{flex-basis:5rem !important}.k-flex-basis-21{flex-basis:5.25rem}.\!k-flex-basis-21{flex-basis:5.25rem !important}.k-flex-basis-22{flex-basis:5.5rem}.\!k-flex-basis-22{flex-basis:5.5rem !important}.k-flex-basis-23{flex-basis:5.75rem}.\!k-flex-basis-23{flex-basis:5.75rem !important}.k-flex-basis-24{flex-basis:6rem}.\!k-flex-basis-24{flex-basis:6rem !important}.k-flex-basis-25{flex-basis:7rem}.\!k-flex-basis-25{flex-basis:7rem !important}.k-flex-basis-26{flex-basis:8rem}.\!k-flex-basis-26{flex-basis:8rem !important}.k-flex-basis-27{flex-basis:9rem}.\!k-flex-basis-27{flex-basis:9rem !important}.k-flex-basis-28{flex-basis:10rem}.\!k-flex-basis-28{flex-basis:10rem !important}.k-flex-basis-29{flex-basis:11rem}.\!k-flex-basis-29{flex-basis:11rem !important}.k-flex-basis-30{flex-basis:12rem}.\!k-flex-basis-30{flex-basis:12rem !important}.k-flex-basis-auto{flex-basis:auto}.\!k-flex-basis-auto{flex-basis:auto !important}.k-flex-basis-1\/2{flex-basis:50%}.\!k-flex-basis-1\/2{flex-basis:50% !important}.k-flex-basis-1\/3{flex-basis:33.333333%}.\!k-flex-basis-1\/3{flex-basis:33.333333% !important}.k-flex-basis-2\/3{flex-basis:66.666667%}.\!k-flex-basis-2\/3{flex-basis:66.666667% !important}.k-flex-basis-1\/4{flex-basis:25%}.\!k-flex-basis-1\/4{flex-basis:25% !important}.k-flex-basis-2\/4{flex-basis:50%}.\!k-flex-basis-2\/4{flex-basis:50% !important}.k-flex-basis-3\/4{flex-basis:75%}.\!k-flex-basis-3\/4{flex-basis:75% !important}.k-flex-basis-1\/5{flex-basis:20%}.\!k-flex-basis-1\/5{flex-basis:20% !important}.k-flex-basis-2\/5{flex-basis:40%}.\!k-flex-basis-2\/5{flex-basis:40% !important}.k-flex-basis-3\/5{flex-basis:60%}.\!k-flex-basis-3\/5{flex-basis:60% !important}.k-flex-basis-4\/5{flex-basis:80%}.\!k-flex-basis-4\/5{flex-basis:80% !important}.k-flex-basis-1\/6{flex-basis:16.666667%}.\!k-flex-basis-1\/6{flex-basis:16.666667% !important}.k-flex-basis-2\/6{flex-basis:33.333333%}.\!k-flex-basis-2\/6{flex-basis:33.333333% !important}.k-flex-basis-3\/6{flex-basis:50%}.\!k-flex-basis-3\/6{flex-basis:50% !important}.k-flex-basis-4\/6{flex-basis:66.666667%}.\!k-flex-basis-4\/6{flex-basis:66.666667% !important}.k-flex-basis-5\/6{flex-basis:83.333333%}.\!k-flex-basis-5\/6{flex-basis:83.333333% !important}.k-flex-basis-1\/12{flex-basis:8.333333%}.\!k-flex-basis-1\/12{flex-basis:8.333333% !important}.k-flex-basis-2\/12{flex-basis:16.666667%}.\!k-flex-basis-2\/12{flex-basis:16.666667% !important}.k-flex-basis-3\/12{flex-basis:25%}.\!k-flex-basis-3\/12{flex-basis:25% !important}.k-flex-basis-4\/12{flex-basis:33.333333%}.\!k-flex-basis-4\/12{flex-basis:33.333333% !important}.k-flex-basis-5\/12{flex-basis:41.666667%}.\!k-flex-basis-5\/12{flex-basis:41.666667% !important}.k-flex-basis-6\/12{flex-basis:50%}.\!k-flex-basis-6\/12{flex-basis:50% !important}.k-flex-basis-7\/12{flex-basis:58.333333%}.\!k-flex-basis-7\/12{flex-basis:58.333333% !important}.k-flex-basis-8\/12{flex-basis:66.666667%}.\!k-flex-basis-8\/12{flex-basis:66.666667% !important}.k-flex-basis-9\/12{flex-basis:75%}.\!k-flex-basis-9\/12{flex-basis:75% !important}.k-flex-basis-10\/12{flex-basis:83.333333%}.\!k-flex-basis-10\/12{flex-basis:83.333333% !important}.k-flex-basis-11\/12{flex-basis:91.666667%}.\!k-flex-basis-11\/12{flex-basis:91.666667% !important}.k-flex-basis-full{flex-basis:100%}.\!k-flex-basis-full{flex-basis:100% !important}.k-flex-basis-min{flex-basis:min-content}.\!k-flex-basis-min{flex-basis:min-content !important}.k-flex-basis-max{flex-basis:max-content}.\!k-flex-basis-max{flex-basis:max-content !important}.k-flex-basis-fit{flex-basis:fit-content}.\!k-flex-basis-fit{flex-basis:fit-content !important}.k-flex-row,.k-d-flex-row{flex-direction:row}.\!k-flex-row,.\!k-d-flex-row,.\!k-d-flex-col{flex-direction:row !important}.k-flex-row-reverse{flex-direction:row-reverse}.\!k-flex-row-reverse{flex-direction:row-reverse !important}.k-flex-col,.k-flex-column,.k-d-flex-col{flex-direction:column}.\!k-flex-col{flex-direction:column !important}.k-flex-col-reverse,.k-flex-column-reverse{flex-direction:column-reverse}.\!k-flex-col-reverse{flex-direction:column-reverse !important}.k-grow{flex-grow:1}.\!k-grow{flex-grow:1 !important}.k-grow-0{flex-grow:0}.\!k-grow-0{flex-grow:0 !important}.k-flex-grow{flex-grow:1}.\!k-flex-grow{flex-grow:1 !important}.k-flex-grow-0{flex-grow:0}.\!k-flex-grow-0{flex-grow:0 !important}.k-shrink{flex-shrink:1}.\!k-shrink{flex-shrink:1 !important}.k-shrink-0{flex-shrink:0}.\!k-shrink-0{flex-shrink:0 !important}.k-flex-shrink{flex-shrink:1}.\!k-flex-shrink{flex-shrink:1 !important}.k-flex-shrink-0{flex-shrink:0}.\!k-flex-shrink-0{flex-shrink:0 !important}.k-flex-wrap{flex-wrap:wrap}.\!k-flex-wrap{flex-wrap:wrap !important}.k-flex-wrap-reverse{flex-wrap:wrap-reverse}.\!k-flex-wrap-reverse{flex-wrap:wrap-reverse !important}.k-flex-nowrap{flex-wrap:nowrap}.\!k-flex-nowrap{flex-wrap:nowrap !important}.k-flex-1{flex:1 1 0%}.\!k-flex-1{flex:1 1 0% !important}.k-flex-auto{flex:1 1 auto}.\!k-flex-auto{flex:1 1 auto !important}.k-flex-initial{flex:0 1 auto}.\!k-flex-initial{flex:0 1 auto !important}.k-flex-none{flex:none}.\!k-flex-none{flex:none !important}.k-gap-0{gap:var(--kendo-spacing-0, 0px)}.\!k-gap-0{gap:var(--kendo-spacing-0, 0px) !important}.k-gap-1px{gap:var(--kendo-spacing-1px, 1px)}.\!k-gap-1px{gap:var(--kendo-spacing-1px, 1px) !important}.k-gap-0\.5{gap:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-gap-0\.5{gap:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-gap-1{gap:var(--kendo-spacing-1, 0.25rem)}.\!k-gap-1{gap:var(--kendo-spacing-1, 0.25rem) !important}.k-gap-1\.5{gap:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-gap-1\.5{gap:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-gap-2{gap:var(--kendo-spacing-2, 0.5rem)}.\!k-gap-2{gap:var(--kendo-spacing-2, 0.5rem) !important}.k-gap-2\.5{gap:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-gap-2\.5{gap:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-gap-3{gap:var(--kendo-spacing-3, 0.75rem)}.\!k-gap-3{gap:var(--kendo-spacing-3, 0.75rem) !important}.k-gap-3\.5{gap:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-gap-3\.5{gap:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-gap-4{gap:var(--kendo-spacing-4, 1rem)}.\!k-gap-4{gap:var(--kendo-spacing-4, 1rem) !important}.k-gap-4\.5{gap:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-gap-4\.5{gap:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-gap-5{gap:var(--kendo-spacing-5, 1.25rem)}.\!k-gap-5{gap:var(--kendo-spacing-5, 1.25rem) !important}.k-gap-5\.5{gap:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-gap-5\.5{gap:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-gap-6{gap:var(--kendo-spacing-6, 1.5rem)}.\!k-gap-6{gap:var(--kendo-spacing-6, 1.5rem) !important}.k-gap-6\.5{gap:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-gap-6\.5{gap:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-gap-7{gap:var(--kendo-spacing-7, 1.75rem)}.\!k-gap-7{gap:var(--kendo-spacing-7, 1.75rem) !important}.k-gap-7\.5{gap:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-gap-7\.5{gap:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-gap-8{gap:var(--kendo-spacing-8, 2rem)}.\!k-gap-8{gap:var(--kendo-spacing-8, 2rem) !important}.k-gap-9{gap:var(--kendo-spacing-9, 2.25rem)}.\!k-gap-9{gap:var(--kendo-spacing-9, 2.25rem) !important}.k-gap-10{gap:var(--kendo-spacing-10, 2.5rem)}.\!k-gap-10{gap:var(--kendo-spacing-10, 2.5rem) !important}.k-gap-11{gap:var(--kendo-spacing-11, 2.75rem)}.\!k-gap-11{gap:var(--kendo-spacing-11, 2.75rem) !important}.k-gap-12{gap:var(--kendo-spacing-12, 3rem)}.\!k-gap-12{gap:var(--kendo-spacing-12, 3rem) !important}.k-gap-13{gap:var(--kendo-spacing-13, 3.25rem)}.\!k-gap-13{gap:var(--kendo-spacing-13, 3.25rem) !important}.k-gap-14{gap:var(--kendo-spacing-14, 3.5rem)}.\!k-gap-14{gap:var(--kendo-spacing-14, 3.5rem) !important}.k-gap-15{gap:var(--kendo-spacing-15, 3.75rem)}.\!k-gap-15{gap:var(--kendo-spacing-15, 3.75rem) !important}.k-gap-16{gap:var(--kendo-spacing-16, 4rem)}.\!k-gap-16{gap:var(--kendo-spacing-16, 4rem) !important}.k-gap-17{gap:var(--kendo-spacing-17, 4.25rem)}.\!k-gap-17{gap:var(--kendo-spacing-17, 4.25rem) !important}.k-gap-18{gap:var(--kendo-spacing-18, 4.5rem)}.\!k-gap-18{gap:var(--kendo-spacing-18, 4.5rem) !important}.k-gap-19{gap:var(--kendo-spacing-19, 4.75rem)}.\!k-gap-19{gap:var(--kendo-spacing-19, 4.75rem) !important}.k-gap-20{gap:var(--kendo-spacing-20, 5rem)}.\!k-gap-20{gap:var(--kendo-spacing-20, 5rem) !important}.k-gap-21{gap:var(--kendo-spacing-21, 5.25rem)}.\!k-gap-21{gap:var(--kendo-spacing-21, 5.25rem) !important}.k-gap-22{gap:var(--kendo-spacing-22, 5.5rem)}.\!k-gap-22{gap:var(--kendo-spacing-22, 5.5rem) !important}.k-gap-23{gap:var(--kendo-spacing-23, 5.75rem)}.\!k-gap-23{gap:var(--kendo-spacing-23, 5.75rem) !important}.k-gap-24{gap:var(--kendo-spacing-24, 6rem)}.\!k-gap-24{gap:var(--kendo-spacing-24, 6rem) !important}.k-gap-25{gap:var(--kendo-spacing-25, 7rem)}.\!k-gap-25{gap:var(--kendo-spacing-25, 7rem) !important}.k-gap-26{gap:var(--kendo-spacing-26, 8rem)}.\!k-gap-26{gap:var(--kendo-spacing-26, 8rem) !important}.k-gap-27{gap:var(--kendo-spacing-27, 9rem)}.\!k-gap-27{gap:var(--kendo-spacing-27, 9rem) !important}.k-gap-28{gap:var(--kendo-spacing-28, 10rem)}.\!k-gap-28{gap:var(--kendo-spacing-28, 10rem) !important}.k-gap-29{gap:var(--kendo-spacing-29, 11rem)}.\!k-gap-29{gap:var(--kendo-spacing-29, 11rem) !important}.k-gap-30{gap:var(--kendo-spacing-30, 12rem)}.\!k-gap-30{gap:var(--kendo-spacing-30, 12rem) !important}.k-gap-xs{gap:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-gap-xs{gap:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-gap-sm{gap:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-gap-sm{gap:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-gap-md{gap:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-gap-md{gap:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-gap-lg{gap:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-gap-lg{gap:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-gap-xl{gap:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-gap-xl{gap:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-gap-thin{gap:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-gap-thin{gap:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-gap-hair{gap:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-gap-hair{gap:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-gap-x-0{column-gap:var(--kendo-spacing-0, 0px)}.\!k-gap-x-0{column-gap:var(--kendo-spacing-0, 0px) !important}.k-gap-x-1px{column-gap:var(--kendo-spacing-1px, 1px)}.\!k-gap-x-1px{column-gap:var(--kendo-spacing-1px, 1px) !important}.k-gap-x-0\.5{column-gap:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-gap-x-0\.5{column-gap:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-gap-x-1{column-gap:var(--kendo-spacing-1, 0.25rem)}.\!k-gap-x-1{column-gap:var(--kendo-spacing-1, 0.25rem) !important}.k-gap-x-1\.5{column-gap:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-gap-x-1\.5{column-gap:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-gap-x-2{column-gap:var(--kendo-spacing-2, 0.5rem)}.\!k-gap-x-2{column-gap:var(--kendo-spacing-2, 0.5rem) !important}.k-gap-x-2\.5{column-gap:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-gap-x-2\.5{column-gap:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-gap-x-3{column-gap:var(--kendo-spacing-3, 0.75rem)}.\!k-gap-x-3{column-gap:var(--kendo-spacing-3, 0.75rem) !important}.k-gap-x-3\.5{column-gap:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-gap-x-3\.5{column-gap:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-gap-x-4{column-gap:var(--kendo-spacing-4, 1rem)}.\!k-gap-x-4{column-gap:var(--kendo-spacing-4, 1rem) !important}.k-gap-x-4\.5{column-gap:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-gap-x-4\.5{column-gap:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-gap-x-5{column-gap:var(--kendo-spacing-5, 1.25rem)}.\!k-gap-x-5{column-gap:var(--kendo-spacing-5, 1.25rem) !important}.k-gap-x-5\.5{column-gap:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-gap-x-5\.5{column-gap:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-gap-x-6{column-gap:var(--kendo-spacing-6, 1.5rem)}.\!k-gap-x-6{column-gap:var(--kendo-spacing-6, 1.5rem) !important}.k-gap-x-6\.5{column-gap:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-gap-x-6\.5{column-gap:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-gap-x-7{column-gap:var(--kendo-spacing-7, 1.75rem)}.\!k-gap-x-7{column-gap:var(--kendo-spacing-7, 1.75rem) !important}.k-gap-x-7\.5{column-gap:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-gap-x-7\.5{column-gap:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-gap-x-8{column-gap:var(--kendo-spacing-8, 2rem)}.\!k-gap-x-8{column-gap:var(--kendo-spacing-8, 2rem) !important}.k-gap-x-9{column-gap:var(--kendo-spacing-9, 2.25rem)}.\!k-gap-x-9{column-gap:var(--kendo-spacing-9, 2.25rem) !important}.k-gap-x-10{column-gap:var(--kendo-spacing-10, 2.5rem)}.\!k-gap-x-10{column-gap:var(--kendo-spacing-10, 2.5rem) !important}.k-gap-x-11{column-gap:var(--kendo-spacing-11, 2.75rem)}.\!k-gap-x-11{column-gap:var(--kendo-spacing-11, 2.75rem) !important}.k-gap-x-12{column-gap:var(--kendo-spacing-12, 3rem)}.\!k-gap-x-12{column-gap:var(--kendo-spacing-12, 3rem) !important}.k-gap-x-13{column-gap:var(--kendo-spacing-13, 3.25rem)}.\!k-gap-x-13{column-gap:var(--kendo-spacing-13, 3.25rem) !important}.k-gap-x-14{column-gap:var(--kendo-spacing-14, 3.5rem)}.\!k-gap-x-14{column-gap:var(--kendo-spacing-14, 3.5rem) !important}.k-gap-x-15{column-gap:var(--kendo-spacing-15, 3.75rem)}.\!k-gap-x-15{column-gap:var(--kendo-spacing-15, 3.75rem) !important}.k-gap-x-16{column-gap:var(--kendo-spacing-16, 4rem)}.\!k-gap-x-16{column-gap:var(--kendo-spacing-16, 4rem) !important}.k-gap-x-17{column-gap:var(--kendo-spacing-17, 4.25rem)}.\!k-gap-x-17{column-gap:var(--kendo-spacing-17, 4.25rem) !important}.k-gap-x-18{column-gap:var(--kendo-spacing-18, 4.5rem)}.\!k-gap-x-18{column-gap:var(--kendo-spacing-18, 4.5rem) !important}.k-gap-x-19{column-gap:var(--kendo-spacing-19, 4.75rem)}.\!k-gap-x-19{column-gap:var(--kendo-spacing-19, 4.75rem) !important}.k-gap-x-20{column-gap:var(--kendo-spacing-20, 5rem)}.\!k-gap-x-20{column-gap:var(--kendo-spacing-20, 5rem) !important}.k-gap-x-21{column-gap:var(--kendo-spacing-21, 5.25rem)}.\!k-gap-x-21{column-gap:var(--kendo-spacing-21, 5.25rem) !important}.k-gap-x-22{column-gap:var(--kendo-spacing-22, 5.5rem)}.\!k-gap-x-22{column-gap:var(--kendo-spacing-22, 5.5rem) !important}.k-gap-x-23{column-gap:var(--kendo-spacing-23, 5.75rem)}.\!k-gap-x-23{column-gap:var(--kendo-spacing-23, 5.75rem) !important}.k-gap-x-24{column-gap:var(--kendo-spacing-24, 6rem)}.\!k-gap-x-24{column-gap:var(--kendo-spacing-24, 6rem) !important}.k-gap-x-25{column-gap:var(--kendo-spacing-25, 7rem)}.\!k-gap-x-25{column-gap:var(--kendo-spacing-25, 7rem) !important}.k-gap-x-26{column-gap:var(--kendo-spacing-26, 8rem)}.\!k-gap-x-26{column-gap:var(--kendo-spacing-26, 8rem) !important}.k-gap-x-27{column-gap:var(--kendo-spacing-27, 9rem)}.\!k-gap-x-27{column-gap:var(--kendo-spacing-27, 9rem) !important}.k-gap-x-28{column-gap:var(--kendo-spacing-28, 10rem)}.\!k-gap-x-28{column-gap:var(--kendo-spacing-28, 10rem) !important}.k-gap-x-29{column-gap:var(--kendo-spacing-29, 11rem)}.\!k-gap-x-29{column-gap:var(--kendo-spacing-29, 11rem) !important}.k-gap-x-30{column-gap:var(--kendo-spacing-30, 12rem)}.\!k-gap-x-30{column-gap:var(--kendo-spacing-30, 12rem) !important}.k-gap-x-xs{column-gap:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-gap-x-xs{column-gap:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-gap-x-sm{column-gap:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-gap-x-sm{column-gap:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-gap-x-md{column-gap:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-gap-x-md{column-gap:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-gap-x-lg{column-gap:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-gap-x-lg{column-gap:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-gap-x-xl{column-gap:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-gap-x-xl{column-gap:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-gap-x-thin{column-gap:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-gap-x-thin{column-gap:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-gap-x-hair{column-gap:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-gap-x-hair{column-gap:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-gap-y-0{row-gap:var(--kendo-spacing-0, 0px)}.\!k-gap-y-0{row-gap:var(--kendo-spacing-0, 0px) !important}.k-gap-y-1px{row-gap:var(--kendo-spacing-1px, 1px)}.\!k-gap-y-1px{row-gap:var(--kendo-spacing-1px, 1px) !important}.k-gap-y-0\.5{row-gap:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-gap-y-0\.5{row-gap:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-gap-y-1{row-gap:var(--kendo-spacing-1, 0.25rem)}.\!k-gap-y-1{row-gap:var(--kendo-spacing-1, 0.25rem) !important}.k-gap-y-1\.5{row-gap:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-gap-y-1\.5{row-gap:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-gap-y-2{row-gap:var(--kendo-spacing-2, 0.5rem)}.\!k-gap-y-2{row-gap:var(--kendo-spacing-2, 0.5rem) !important}.k-gap-y-2\.5{row-gap:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-gap-y-2\.5{row-gap:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-gap-y-3{row-gap:var(--kendo-spacing-3, 0.75rem)}.\!k-gap-y-3{row-gap:var(--kendo-spacing-3, 0.75rem) !important}.k-gap-y-3\.5{row-gap:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-gap-y-3\.5{row-gap:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-gap-y-4{row-gap:var(--kendo-spacing-4, 1rem)}.\!k-gap-y-4{row-gap:var(--kendo-spacing-4, 1rem) !important}.k-gap-y-4\.5{row-gap:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-gap-y-4\.5{row-gap:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-gap-y-5{row-gap:var(--kendo-spacing-5, 1.25rem)}.\!k-gap-y-5{row-gap:var(--kendo-spacing-5, 1.25rem) !important}.k-gap-y-5\.5{row-gap:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-gap-y-5\.5{row-gap:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-gap-y-6{row-gap:var(--kendo-spacing-6, 1.5rem)}.\!k-gap-y-6{row-gap:var(--kendo-spacing-6, 1.5rem) !important}.k-gap-y-6\.5{row-gap:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-gap-y-6\.5{row-gap:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-gap-y-7{row-gap:var(--kendo-spacing-7, 1.75rem)}.\!k-gap-y-7{row-gap:var(--kendo-spacing-7, 1.75rem) !important}.k-gap-y-7\.5{row-gap:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-gap-y-7\.5{row-gap:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-gap-y-8{row-gap:var(--kendo-spacing-8, 2rem)}.\!k-gap-y-8{row-gap:var(--kendo-spacing-8, 2rem) !important}.k-gap-y-9{row-gap:var(--kendo-spacing-9, 2.25rem)}.\!k-gap-y-9{row-gap:var(--kendo-spacing-9, 2.25rem) !important}.k-gap-y-10{row-gap:var(--kendo-spacing-10, 2.5rem)}.\!k-gap-y-10{row-gap:var(--kendo-spacing-10, 2.5rem) !important}.k-gap-y-11{row-gap:var(--kendo-spacing-11, 2.75rem)}.\!k-gap-y-11{row-gap:var(--kendo-spacing-11, 2.75rem) !important}.k-gap-y-12{row-gap:var(--kendo-spacing-12, 3rem)}.\!k-gap-y-12{row-gap:var(--kendo-spacing-12, 3rem) !important}.k-gap-y-13{row-gap:var(--kendo-spacing-13, 3.25rem)}.\!k-gap-y-13{row-gap:var(--kendo-spacing-13, 3.25rem) !important}.k-gap-y-14{row-gap:var(--kendo-spacing-14, 3.5rem)}.\!k-gap-y-14{row-gap:var(--kendo-spacing-14, 3.5rem) !important}.k-gap-y-15{row-gap:var(--kendo-spacing-15, 3.75rem)}.\!k-gap-y-15{row-gap:var(--kendo-spacing-15, 3.75rem) !important}.k-gap-y-16{row-gap:var(--kendo-spacing-16, 4rem)}.\!k-gap-y-16{row-gap:var(--kendo-spacing-16, 4rem) !important}.k-gap-y-17{row-gap:var(--kendo-spacing-17, 4.25rem)}.\!k-gap-y-17{row-gap:var(--kendo-spacing-17, 4.25rem) !important}.k-gap-y-18{row-gap:var(--kendo-spacing-18, 4.5rem)}.\!k-gap-y-18{row-gap:var(--kendo-spacing-18, 4.5rem) !important}.k-gap-y-19{row-gap:var(--kendo-spacing-19, 4.75rem)}.\!k-gap-y-19{row-gap:var(--kendo-spacing-19, 4.75rem) !important}.k-gap-y-20{row-gap:var(--kendo-spacing-20, 5rem)}.\!k-gap-y-20{row-gap:var(--kendo-spacing-20, 5rem) !important}.k-gap-y-21{row-gap:var(--kendo-spacing-21, 5.25rem)}.\!k-gap-y-21{row-gap:var(--kendo-spacing-21, 5.25rem) !important}.k-gap-y-22{row-gap:var(--kendo-spacing-22, 5.5rem)}.\!k-gap-y-22{row-gap:var(--kendo-spacing-22, 5.5rem) !important}.k-gap-y-23{row-gap:var(--kendo-spacing-23, 5.75rem)}.\!k-gap-y-23{row-gap:var(--kendo-spacing-23, 5.75rem) !important}.k-gap-y-24{row-gap:var(--kendo-spacing-24, 6rem)}.\!k-gap-y-24{row-gap:var(--kendo-spacing-24, 6rem) !important}.k-gap-y-25{row-gap:var(--kendo-spacing-25, 7rem)}.\!k-gap-y-25{row-gap:var(--kendo-spacing-25, 7rem) !important}.k-gap-y-26{row-gap:var(--kendo-spacing-26, 8rem)}.\!k-gap-y-26{row-gap:var(--kendo-spacing-26, 8rem) !important}.k-gap-y-27{row-gap:var(--kendo-spacing-27, 9rem)}.\!k-gap-y-27{row-gap:var(--kendo-spacing-27, 9rem) !important}.k-gap-y-28{row-gap:var(--kendo-spacing-28, 10rem)}.\!k-gap-y-28{row-gap:var(--kendo-spacing-28, 10rem) !important}.k-gap-y-29{row-gap:var(--kendo-spacing-29, 11rem)}.\!k-gap-y-29{row-gap:var(--kendo-spacing-29, 11rem) !important}.k-gap-y-30{row-gap:var(--kendo-spacing-30, 12rem)}.\!k-gap-y-30{row-gap:var(--kendo-spacing-30, 12rem) !important}.k-gap-y-xs{row-gap:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-gap-y-xs{row-gap:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-gap-y-sm{row-gap:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-gap-y-sm{row-gap:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-gap-y-md{row-gap:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-gap-y-md{row-gap:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-gap-y-lg{row-gap:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-gap-y-lg{row-gap:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-gap-y-xl{row-gap:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-gap-y-xl{row-gap:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-gap-y-thin{row-gap:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-gap-y-thin{row-gap:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-gap-y-hair{row-gap:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-gap-y-hair{row-gap:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-grid-auto-cols-auto{grid-auto-columns:auto}.\!k-grid-auto-cols-auto{grid-auto-columns:auto !important}.k-grid-auto-cols-min{grid-auto-columns:min-content}.\!k-grid-auto-cols-min{grid-auto-columns:min-content !important}.k-grid-auto-cols-max{grid-auto-columns:max-content}.\!k-grid-auto-cols-max{grid-auto-columns:max-content !important}.k-grid-auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.\!k-grid-auto-cols-fr{grid-auto-columns:minmax(0, 1fr) !important}.k-grid-flow-row{grid-auto-flow:row}.\!k-grid-flow-row{grid-auto-flow:row !important}.k-grid-flow-col{grid-auto-flow:column}.\!k-grid-flow-col{grid-auto-flow:column !important}.k-grid-flow-dense{grid-auto-flow:dense}.\!k-grid-flow-dense{grid-auto-flow:dense !important}.k-grid-flow-row-dense{grid-auto-flow:row dense}.\!k-grid-flow-row-dense{grid-auto-flow:row dense !important}.k-grid-flow-col-dense{grid-auto-flow:column dense}.\!k-grid-flow-col-dense{grid-auto-flow:column dense !important}.k-grid-flow-unset{grid-auto-flow:unset}.\!k-grid-flow-unset{grid-auto-flow:unset !important}.k-grid-auto-rows-auto{grid-auto-rows:auto}.\!k-grid-auto-rows-auto{grid-auto-rows:auto !important}.k-grid-auto-rows-min{grid-auto-rows:min-content}.\!k-grid-auto-rows-min{grid-auto-rows:min-content !important}.k-grid-auto-rows-max{grid-auto-rows:max-content}.\!k-grid-auto-rows-max{grid-auto-rows:max-content !important}.k-grid-auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.\!k-grid-auto-rows-fr{grid-auto-rows:minmax(0, 1fr) !important}.k-col-start-1{grid-column-start:1}.\!k-col-start-1{grid-column-start:1 !important}.k-col-start-2{grid-column-start:2}.\!k-col-start-2{grid-column-start:2 !important}.k-col-start-3{grid-column-start:3}.\!k-col-start-3{grid-column-start:3 !important}.k-col-start-4{grid-column-start:4}.\!k-col-start-4{grid-column-start:4 !important}.k-col-start-5{grid-column-start:5}.\!k-col-start-5{grid-column-start:5 !important}.k-col-start-6{grid-column-start:6}.\!k-col-start-6{grid-column-start:6 !important}.k-col-start-7{grid-column-start:7}.\!k-col-start-7{grid-column-start:7 !important}.k-col-start-8{grid-column-start:8}.\!k-col-start-8{grid-column-start:8 !important}.k-col-start-9{grid-column-start:9}.\!k-col-start-9{grid-column-start:9 !important}.k-col-start-10{grid-column-start:10}.\!k-col-start-10{grid-column-start:10 !important}.k-col-start-11{grid-column-start:11}.\!k-col-start-11{grid-column-start:11 !important}.k-col-start-12{grid-column-start:12}.\!k-col-start-12{grid-column-start:12 !important}.k-col-start-13{grid-column-start:13}.\!k-col-start-13{grid-column-start:13 !important}.k-col-start--1{grid-column-start:-1}.\!k-col-start--1{grid-column-start:-1 !important}.k-col-start--2{grid-column-start:-2}.\!k-col-start--2{grid-column-start:-2 !important}.k-col-start--3{grid-column-start:-3}.\!k-col-start--3{grid-column-start:-3 !important}.k-col-start--4{grid-column-start:-4}.\!k-col-start--4{grid-column-start:-4 !important}.k-col-start--5{grid-column-start:-5}.\!k-col-start--5{grid-column-start:-5 !important}.k-col-start--6{grid-column-start:-6}.\!k-col-start--6{grid-column-start:-6 !important}.k-col-start--7{grid-column-start:-7}.\!k-col-start--7{grid-column-start:-7 !important}.k-col-start--8{grid-column-start:-8}.\!k-col-start--8{grid-column-start:-8 !important}.k-col-start--9{grid-column-start:-9}.\!k-col-start--9{grid-column-start:-9 !important}.k-col-start--10{grid-column-start:-10}.\!k-col-start--10{grid-column-start:-10 !important}.k-col-start--11{grid-column-start:-11}.\!k-col-start--11{grid-column-start:-11 !important}.k-col-start--12{grid-column-start:-12}.\!k-col-start--12{grid-column-start:-12 !important}.k-col-start--13{grid-column-start:-13}.\!k-col-start--13{grid-column-start:-13 !important}.k-col-start-auto{grid-column-start:auto}.\!k-col-start-auto{grid-column-start:auto !important}.k-col-end-1{grid-column-end:1}.\!k-col-end-1{grid-column-end:1 !important}.k-col-end-2{grid-column-end:2}.\!k-col-end-2{grid-column-end:2 !important}.k-col-end-3{grid-column-end:3}.\!k-col-end-3{grid-column-end:3 !important}.k-col-end-4{grid-column-end:4}.\!k-col-end-4{grid-column-end:4 !important}.k-col-end-5{grid-column-end:5}.\!k-col-end-5{grid-column-end:5 !important}.k-col-end-6{grid-column-end:6}.\!k-col-end-6{grid-column-end:6 !important}.k-col-end-7{grid-column-end:7}.\!k-col-end-7{grid-column-end:7 !important}.k-col-end-8{grid-column-end:8}.\!k-col-end-8{grid-column-end:8 !important}.k-col-end-9{grid-column-end:9}.\!k-col-end-9{grid-column-end:9 !important}.k-col-end-10{grid-column-end:10}.\!k-col-end-10{grid-column-end:10 !important}.k-col-end-11{grid-column-end:11}.\!k-col-end-11{grid-column-end:11 !important}.k-col-end-12{grid-column-end:12}.\!k-col-end-12{grid-column-end:12 !important}.k-col-end-13{grid-column-end:13}.\!k-col-end-13{grid-column-end:13 !important}.k-col-end--1{grid-column-end:-1}.\!k-col-end--1{grid-column-end:-1 !important}.k-col-end--2{grid-column-end:-2}.\!k-col-end--2{grid-column-end:-2 !important}.k-col-end--3{grid-column-end:-3}.\!k-col-end--3{grid-column-end:-3 !important}.k-col-end--4{grid-column-end:-4}.\!k-col-end--4{grid-column-end:-4 !important}.k-col-end--5{grid-column-end:-5}.\!k-col-end--5{grid-column-end:-5 !important}.k-col-end--6{grid-column-end:-6}.\!k-col-end--6{grid-column-end:-6 !important}.k-col-end--7{grid-column-end:-7}.\!k-col-end--7{grid-column-end:-7 !important}.k-col-end--8{grid-column-end:-8}.\!k-col-end--8{grid-column-end:-8 !important}.k-col-end--9{grid-column-end:-9}.\!k-col-end--9{grid-column-end:-9 !important}.k-col-end--10{grid-column-end:-10}.\!k-col-end--10{grid-column-end:-10 !important}.k-col-end--11{grid-column-end:-11}.\!k-col-end--11{grid-column-end:-11 !important}.k-col-end--12{grid-column-end:-12}.\!k-col-end--12{grid-column-end:-12 !important}.k-col-end--13{grid-column-end:-13}.\!k-col-end--13{grid-column-end:-13 !important}.k-col-end-auto{grid-column-end:auto}.\!k-col-end-auto{grid-column-end:auto !important}.k-col-span-1{grid-column:span 1/span 1}.\!k-col-span-1{grid-column:span 1/span 1 !important}.k-col-span-2{grid-column:span 2/span 2}.\!k-col-span-2{grid-column:span 2/span 2 !important}.k-col-span-3{grid-column:span 3/span 3}.\!k-col-span-3{grid-column:span 3/span 3 !important}.k-col-span-4{grid-column:span 4/span 4}.\!k-col-span-4{grid-column:span 4/span 4 !important}.k-col-span-5{grid-column:span 5/span 5}.\!k-col-span-5{grid-column:span 5/span 5 !important}.k-col-span-6{grid-column:span 6/span 6}.\!k-col-span-6{grid-column:span 6/span 6 !important}.k-col-span-7{grid-column:span 7/span 7}.\!k-col-span-7{grid-column:span 7/span 7 !important}.k-col-span-8{grid-column:span 8/span 8}.\!k-col-span-8{grid-column:span 8/span 8 !important}.k-col-span-9{grid-column:span 9/span 9}.\!k-col-span-9{grid-column:span 9/span 9 !important}.k-col-span-10{grid-column:span 10/span 10}.\!k-col-span-10{grid-column:span 10/span 10 !important}.k-col-span-11{grid-column:span 11/span 11}.\!k-col-span-11{grid-column:span 11/span 11 !important}.k-col-span-12{grid-column:span 12/span 12}.\!k-col-span-12{grid-column:span 12/span 12 !important}.k-col-span-full{grid-column:1 / -1}.\!k-col-span-full{grid-column:1 / -1 !important}.k-col-span-auto{grid-column:auto}.\!k-col-span-auto{grid-column:auto !important}.k-colspan-1{grid-column:span 1/span 1}.\!k-colspan-1{grid-column:span 1/span 1 !important}.k-colspan-2{grid-column:span 2/span 2}.\!k-colspan-2{grid-column:span 2/span 2 !important}.k-colspan-3{grid-column:span 3/span 3}.\!k-colspan-3{grid-column:span 3/span 3 !important}.k-colspan-4{grid-column:span 4/span 4}.\!k-colspan-4{grid-column:span 4/span 4 !important}.k-colspan-5{grid-column:span 5/span 5}.\!k-colspan-5{grid-column:span 5/span 5 !important}.k-colspan-6{grid-column:span 6/span 6}.\!k-colspan-6{grid-column:span 6/span 6 !important}.k-colspan-7{grid-column:span 7/span 7}.\!k-colspan-7{grid-column:span 7/span 7 !important}.k-colspan-8{grid-column:span 8/span 8}.\!k-colspan-8{grid-column:span 8/span 8 !important}.k-colspan-9{grid-column:span 9/span 9}.\!k-colspan-9{grid-column:span 9/span 9 !important}.k-colspan-10{grid-column:span 10/span 10}.\!k-colspan-10{grid-column:span 10/span 10 !important}.k-colspan-11{grid-column:span 11/span 11}.\!k-colspan-11{grid-column:span 11/span 11 !important}.k-colspan-12{grid-column:span 12/span 12}.\!k-colspan-12{grid-column:span 12/span 12 !important}.k-colspan-full,.k-colspan-all{grid-column:1 / -1}.\!k-colspan-full,.\!k-colspan-all{grid-column:1 / -1 !important}.k-colspan-auto{grid-column:auto}.\!k-colspan-auto{grid-column:auto !important}.k-row-start-1{grid-row-start:1}.\!k-row-start-1{grid-row-start:1 !important}.k-row-start-2{grid-row-start:2}.\!k-row-start-2{grid-row-start:2 !important}.k-row-start-3{grid-row-start:3}.\!k-row-start-3{grid-row-start:3 !important}.k-row-start-4{grid-row-start:4}.\!k-row-start-4{grid-row-start:4 !important}.k-row-start-5{grid-row-start:5}.\!k-row-start-5{grid-row-start:5 !important}.k-row-start-6{grid-row-start:6}.\!k-row-start-6{grid-row-start:6 !important}.k-row-start-7{grid-row-start:7}.\!k-row-start-7{grid-row-start:7 !important}.k-row-start-8{grid-row-start:8}.\!k-row-start-8{grid-row-start:8 !important}.k-row-start-9{grid-row-start:9}.\!k-row-start-9{grid-row-start:9 !important}.k-row-start-10{grid-row-start:10}.\!k-row-start-10{grid-row-start:10 !important}.k-row-start-11{grid-row-start:11}.\!k-row-start-11{grid-row-start:11 !important}.k-row-start-12{grid-row-start:12}.\!k-row-start-12{grid-row-start:12 !important}.k-row-start-13{grid-row-start:13}.\!k-row-start-13{grid-row-start:13 !important}.k-row-start--1{grid-row-start:-1}.\!k-row-start--1{grid-row-start:-1 !important}.k-row-start--2{grid-row-start:-2}.\!k-row-start--2{grid-row-start:-2 !important}.k-row-start--3{grid-row-start:-3}.\!k-row-start--3{grid-row-start:-3 !important}.k-row-start--4{grid-row-start:-4}.\!k-row-start--4{grid-row-start:-4 !important}.k-row-start--5{grid-row-start:-5}.\!k-row-start--5{grid-row-start:-5 !important}.k-row-start--6{grid-row-start:-6}.\!k-row-start--6{grid-row-start:-6 !important}.k-row-start--7{grid-row-start:-7}.\!k-row-start--7{grid-row-start:-7 !important}.k-row-start--8{grid-row-start:-8}.\!k-row-start--8{grid-row-start:-8 !important}.k-row-start--9{grid-row-start:-9}.\!k-row-start--9{grid-row-start:-9 !important}.k-row-start--10{grid-row-start:-10}.\!k-row-start--10{grid-row-start:-10 !important}.k-row-start--11{grid-row-start:-11}.\!k-row-start--11{grid-row-start:-11 !important}.k-row-start--12{grid-row-start:-12}.\!k-row-start--12{grid-row-start:-12 !important}.k-row-start--13{grid-row-start:-13}.\!k-row-start--13{grid-row-start:-13 !important}.k-row-start-auto{grid-row-start:auto}.\!k-row-start-auto{grid-row-start:auto !important}.k-row-end-1{grid-row-end:1}.\!k-row-end-1{grid-row-end:1 !important}.k-row-end-2{grid-row-end:2}.\!k-row-end-2{grid-row-end:2 !important}.k-row-end-3{grid-row-end:3}.\!k-row-end-3{grid-row-end:3 !important}.k-row-end-4{grid-row-end:4}.\!k-row-end-4{grid-row-end:4 !important}.k-row-end-5{grid-row-end:5}.\!k-row-end-5{grid-row-end:5 !important}.k-row-end-6{grid-row-end:6}.\!k-row-end-6{grid-row-end:6 !important}.k-row-end-7{grid-row-end:7}.\!k-row-end-7{grid-row-end:7 !important}.k-row-end-8{grid-row-end:8}.\!k-row-end-8{grid-row-end:8 !important}.k-row-end-9{grid-row-end:9}.\!k-row-end-9{grid-row-end:9 !important}.k-row-end-10{grid-row-end:10}.\!k-row-end-10{grid-row-end:10 !important}.k-row-end-11{grid-row-end:11}.\!k-row-end-11{grid-row-end:11 !important}.k-row-end-12{grid-row-end:12}.\!k-row-end-12{grid-row-end:12 !important}.k-row-end-13{grid-row-end:13}.\!k-row-end-13{grid-row-end:13 !important}.k-row-end--1{grid-row-end:-1}.\!k-row-end--1{grid-row-end:-1 !important}.k-row-end--2{grid-row-end:-2}.\!k-row-end--2{grid-row-end:-2 !important}.k-row-end--3{grid-row-end:-3}.\!k-row-end--3{grid-row-end:-3 !important}.k-row-end--4{grid-row-end:-4}.\!k-row-end--4{grid-row-end:-4 !important}.k-row-end--5{grid-row-end:-5}.\!k-row-end--5{grid-row-end:-5 !important}.k-row-end--6{grid-row-end:-6}.\!k-row-end--6{grid-row-end:-6 !important}.k-row-end--7{grid-row-end:-7}.\!k-row-end--7{grid-row-end:-7 !important}.k-row-end--8{grid-row-end:-8}.\!k-row-end--8{grid-row-end:-8 !important}.k-row-end--9{grid-row-end:-9}.\!k-row-end--9{grid-row-end:-9 !important}.k-row-end--10{grid-row-end:-10}.\!k-row-end--10{grid-row-end:-10 !important}.k-row-end--11{grid-row-end:-11}.\!k-row-end--11{grid-row-end:-11 !important}.k-row-end--12{grid-row-end:-12}.\!k-row-end--12{grid-row-end:-12 !important}.k-row-end--13{grid-row-end:-13}.\!k-row-end--13{grid-row-end:-13 !important}.k-row-end-auto{grid-row-end:auto}.\!k-row-end-auto{grid-row-end:auto !important}.k-row-span-1{grid-row:span 1/span 1}.\!k-row-span-1{grid-row:span 1/span 1 !important}.k-row-span-2{grid-row:span 2/span 2}.\!k-row-span-2{grid-row:span 2/span 2 !important}.k-row-span-3{grid-row:span 3/span 3}.\!k-row-span-3{grid-row:span 3/span 3 !important}.k-row-span-4{grid-row:span 4/span 4}.\!k-row-span-4{grid-row:span 4/span 4 !important}.k-row-span-5{grid-row:span 5/span 5}.\!k-row-span-5{grid-row:span 5/span 5 !important}.k-row-span-6{grid-row:span 6/span 6}.\!k-row-span-6{grid-row:span 6/span 6 !important}.k-row-span-7{grid-row:span 7/span 7}.\!k-row-span-7{grid-row:span 7/span 7 !important}.k-row-span-8{grid-row:span 8/span 8}.\!k-row-span-8{grid-row:span 8/span 8 !important}.k-row-span-9{grid-row:span 9/span 9}.\!k-row-span-9{grid-row:span 9/span 9 !important}.k-row-span-10{grid-row:span 10/span 10}.\!k-row-span-10{grid-row:span 10/span 10 !important}.k-row-span-11{grid-row:span 11/span 11}.\!k-row-span-11{grid-row:span 11/span 11 !important}.k-row-span-12{grid-row:span 12/span 12}.\!k-row-span-12{grid-row:span 12/span 12 !important}.k-row-span-full{grid-row:span 1/span -1}.\!k-row-span-full{grid-row:span 1/span -1 !important}.k-row-span-auto{grid-row:auto}.\!k-row-span-auto{grid-row:auto !important}.k-rowspan-1{grid-row:span 1/span 1}.\!k-rowspan-1{grid-row:span 1/span 1 !important}.k-rowspan-2{grid-row:span 2/span 2}.\!k-rowspan-2{grid-row:span 2/span 2 !important}.k-rowspan-3{grid-row:span 3/span 3}.\!k-rowspan-3{grid-row:span 3/span 3 !important}.k-rowspan-4{grid-row:span 4/span 4}.\!k-rowspan-4{grid-row:span 4/span 4 !important}.k-rowspan-5{grid-row:span 5/span 5}.\!k-rowspan-5{grid-row:span 5/span 5 !important}.k-rowspan-6{grid-row:span 6/span 6}.\!k-rowspan-6{grid-row:span 6/span 6 !important}.k-rowspan-7{grid-row:span 7/span 7}.\!k-rowspan-7{grid-row:span 7/span 7 !important}.k-rowspan-8{grid-row:span 8/span 8}.\!k-rowspan-8{grid-row:span 8/span 8 !important}.k-rowspan-9{grid-row:span 9/span 9}.\!k-rowspan-9{grid-row:span 9/span 9 !important}.k-rowspan-10{grid-row:span 10/span 10}.\!k-rowspan-10{grid-row:span 10/span 10 !important}.k-rowspan-11{grid-row:span 11/span 11}.\!k-rowspan-11{grid-row:span 11/span 11 !important}.k-rowspan-12{grid-row:span 12/span 12}.\!k-rowspan-12{grid-row:span 12/span 12 !important}.k-rowspan-full,.k-rowspan-all{grid-row:span 1/span -1}.\!k-rowspan-full,.\!k-rowspan-all{grid-row:span 1/span -1 !important}.k-rowspan-auto{grid-row:auto}.\!k-rowspan-auto{grid-row:auto !important}.k-grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.\!k-grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr)) !important}.k-grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\!k-grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr)) !important}.k-grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\!k-grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr)) !important}.k-grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.\!k-grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr)) !important}.k-grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.\!k-grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr)) !important}.k-grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.\!k-grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr)) !important}.k-grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.\!k-grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr)) !important}.k-grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.\!k-grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr)) !important}.k-grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.\!k-grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr)) !important}.k-grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.\!k-grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr)) !important}.k-grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.\!k-grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr)) !important}.k-grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.\!k-grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr)) !important}.k-grid-cols-none{grid-template-columns:none}.\!k-grid-cols-none{grid-template-columns:none !important}.k-grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.\!k-grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr)) !important}.k-grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.\!k-grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr)) !important}.k-grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.\!k-grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr)) !important}.k-grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.\!k-grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr)) !important}.k-grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.\!k-grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr)) !important}.k-grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.\!k-grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr)) !important}.k-grid-rows-7{grid-template-rows:repeat(7, minmax(0, 1fr))}.\!k-grid-rows-7{grid-template-rows:repeat(7, minmax(0, 1fr)) !important}.k-grid-rows-8{grid-template-rows:repeat(8, minmax(0, 1fr))}.\!k-grid-rows-8{grid-template-rows:repeat(8, minmax(0, 1fr)) !important}.k-grid-rows-9{grid-template-rows:repeat(9, minmax(0, 1fr))}.\!k-grid-rows-9{grid-template-rows:repeat(9, minmax(0, 1fr)) !important}.k-grid-rows-10{grid-template-rows:repeat(10, minmax(0, 1fr))}.\!k-grid-rows-10{grid-template-rows:repeat(10, minmax(0, 1fr)) !important}.k-grid-rows-11{grid-template-rows:repeat(11, minmax(0, 1fr))}.\!k-grid-rows-11{grid-template-rows:repeat(11, minmax(0, 1fr)) !important}.k-grid-rows-12{grid-template-rows:repeat(12, minmax(0, 1fr))}.\!k-grid-rows-12{grid-template-rows:repeat(12, minmax(0, 1fr)) !important}.k-grid-rows-none{grid-template-rows:none}.\!k-grid-rows-none{grid-template-rows:none !important}.k-justify-content-normal{justify-content:normal}.\!k-justify-content-normal{justify-content:normal !important}.k-justify-content-stretch{justify-content:stretch}.\!k-justify-content-stretch{justify-content:stretch !important}.k-justify-content-center{justify-content:center}.\!k-justify-content-center{justify-content:center !important}.k-justify-content-start{justify-content:start}.\!k-justify-content-start{justify-content:start !important}.k-justify-content-end{justify-content:end}.\!k-justify-content-end{justify-content:end !important}.k-justify-content-flex-start{justify-content:flex-start}.\!k-justify-content-flex-start{justify-content:flex-start !important}.k-justify-content-flex-end{justify-content:flex-end}.\!k-justify-content-flex-end{justify-content:flex-end !important}.k-justify-content-left{justify-content:left}.\!k-justify-content-left{justify-content:left !important}.k-justify-content-right{justify-content:right}.\!k-justify-content-right{justify-content:right !important}.k-justify-content-baseline{justify-content:baseline}.\!k-justify-content-baseline{justify-content:baseline !important}.k-justify-content-first-baseline{justify-content:first baseline}.\!k-justify-content-first-baseline{justify-content:first baseline !important}.k-justify-content-last-baseline{justify-content:last baseline}.\!k-justify-content-last-baseline{justify-content:last baseline !important}.k-justify-content-between{justify-content:space-between}.\!k-justify-content-between{justify-content:space-between !important}.k-justify-content-around{justify-content:space-around}.\!k-justify-content-around{justify-content:space-around !important}.k-justify-content-evenly{justify-content:space-evenly}.\!k-justify-content-evenly{justify-content:space-evenly !important}.k-justify-content-stretch>*{flex:1 0 0%}.\!.k-justify-content-stretch>*{flex:1 0 0% !important}.k-justify-items-normal{justify-items:normal}.\!k-justify-items-normal{justify-items:normal !important}.k-justify-items-stretch{justify-items:stretch}.\!k-justify-items-stretch{justify-items:stretch !important}.k-justify-items-center{justify-items:center}.\!k-justify-items-center{justify-items:center !important}.k-justify-items-start{justify-items:start}.\!k-justify-items-start{justify-items:start !important}.k-justify-items-end{justify-items:end}.\!k-justify-items-end{justify-items:end !important}.k-justify-items-flex-start{justify-items:flex-start}.\!k-justify-items-flex-start{justify-items:flex-start !important}.k-justify-items-flex-end{justify-items:flex-end}.\!k-justify-items-flex-end{justify-items:flex-end !important}.k-justify-items-self-start{justify-items:self-start}.\!k-justify-items-self-start{justify-items:self-start !important}.k-justify-items-self-end{justify-items:self-end}.\!k-justify-items-self-end{justify-items:self-end !important}.k-justify-items-left{justify-items:left}.\!k-justify-items-left{justify-items:left !important}.k-justify-items-right{justify-items:right}.\!k-justify-items-right{justify-items:right !important}.k-justify-items-baseline{justify-items:baseline}.\!k-justify-items-baseline{justify-items:baseline !important}.k-justify-items-first-baseline{justify-items:first baseline}.\!k-justify-items-first-baseline{justify-items:first baseline !important}.k-justify-items-last-baseline{justify-items:last baseline}.\!k-justify-items-last-baseline{justify-items:last baseline !important}.k-justify-self-auto{justify-self:auto}.\!k-justify-self-auto{justify-self:auto !important}.k-justify-self-normal{justify-self:normal}.\!k-justify-self-normal{justify-self:normal !important}.k-justify-self-stretch{justify-self:stretch}.\!k-justify-self-stretch{justify-self:stretch !important}.k-justify-self-center{justify-self:center}.\!k-justify-self-center{justify-self:center !important}.k-justify-self-start{justify-self:start}.\!k-justify-self-start{justify-self:start !important}.k-justify-self-end{justify-self:end}.\!k-justify-self-end{justify-self:end !important}.k-justify-self-flex-start{justify-self:flex-start}.\!k-justify-self-flex-start{justify-self:flex-start !important}.k-justify-self-flex-end{justify-self:flex-end}.\!k-justify-self-flex-end{justify-self:flex-end !important}.k-justify-self-self-start{justify-self:self-start}.\!k-justify-self-self-start{justify-self:self-start !important}.k-justify-self-self-end{justify-self:self-end}.\!k-justify-self-self-end{justify-self:self-end !important}.k-justify-self-baseline{justify-self:baseline}.\!k-justify-self-baseline{justify-self:baseline !important}.k-justify-self-first-baseline{justify-self:first baseline}.\!k-justify-self-first-baseline{justify-self:first baseline !important}.k-justify-self-last-baseline{justify-self:last baseline}.\!k-justify-self-last-baseline{justify-self:last baseline !important}.k-order-1{order:1}.\!k-order-1{order:1 !important}.k-order-2{order:2}.\!k-order-2{order:2 !important}.k-order-3{order:3}.\!k-order-3{order:3 !important}.k-order-4{order:4}.\!k-order-4{order:4 !important}.k-order-5{order:5}.\!k-order-5{order:5 !important}.k-order-6{order:6}.\!k-order-6{order:6 !important}.k-order-7{order:7}.\!k-order-7{order:7 !important}.k-order-8{order:8}.\!k-order-8{order:8 !important}.k-order-9{order:9}.\!k-order-9{order:9 !important}.k-order-10{order:10}.\!k-order-10{order:10 !important}.k-order-11{order:11}.\!k-order-11{order:11 !important}.k-order-12{order:12}.\!k-order-12{order:12 !important}.k-order-first{order:-9999}.\!k-order-first{order:-9999 !important}.k-order-last{order:9999}.\!k-order-last{order:9999 !important}.k-order-none{order:0}.\!k-order-none{order:0 !important}.k-place-content-normal{place-content:normal}.\!k-place-content-normal{place-content:normal !important}.k-place-content-stretch{place-content:stretch}.\!k-place-content-stretch{place-content:stretch !important}.k-place-content-center{place-content:center}.\!k-place-content-center{place-content:center !important}.k-place-content-start{place-content:start}.\!k-place-content-start{place-content:start !important}.k-place-content-end{place-content:end}.\!k-place-content-end{place-content:end !important}.k-place-content-flex-start{place-content:flex-start}.\!k-place-content-flex-start{place-content:flex-start !important}.k-place-content-flex-end{place-content:flex-end}.\!k-place-content-flex-end{place-content:flex-end !important}.k-place-content-baseline{place-content:baseline}.\!k-place-content-baseline{place-content:baseline !important}.k-place-content-between{place-content:space-between}.\!k-place-content-between{place-content:space-between !important}.k-place-content-around{place-content:space-around}.\!k-place-content-around{place-content:space-around !important}.k-place-content-evenly{place-content:space-evenly}.\!k-place-content-evenly{place-content:space-evenly !important}.k-place-items-normal{place-items:normal}.\!k-place-items-normal{place-items:normal !important}.k-place-items-stretch{place-items:stretch}.\!k-place-items-stretch{place-items:stretch !important}.k-place-items-center{place-items:center}.\!k-place-items-center{place-items:center !important}.k-place-items-start{place-items:start}.\!k-place-items-start{place-items:start !important}.k-place-items-end{place-items:end}.\!k-place-items-end{place-items:end !important}.k-place-items-flex-start{place-items:flex-start}.\!k-place-items-flex-start{place-items:flex-start !important}.k-place-items-flex-end{place-items:flex-end}.\!k-place-items-flex-end{place-items:flex-end !important}.k-place-items-self-start{place-items:self-start}.\!k-place-items-self-start{place-items:self-start !important}.k-place-items-self-end{place-items:self-end}.\!k-place-items-self-end{place-items:self-end !important}.k-place-items-baseline{place-items:baseline}.\!k-place-items-baseline{place-items:baseline !important}.k-place-self-auto{place-self:auto}.\!k-place-self-auto{place-self:auto !important}.k-place-self-normal{place-self:normal}.\!k-place-self-normal{place-self:normal !important}.k-place-self-stretch{place-self:stretch}.\!k-place-self-stretch{place-self:stretch !important}.k-place-self-center{place-self:center}.\!k-place-self-center{place-self:center !important}.k-place-self-start{place-self:start}.\!k-place-self-start{place-self:start !important}.k-place-self-end{place-self:end}.\!k-place-self-end{place-self:end !important}.k-place-self-flex-start{place-self:flex-start}.\!k-place-self-flex-start{place-self:flex-start !important}.k-place-self-flex-end{place-self:flex-end}.\!k-place-self-flex-end{place-self:flex-end !important}.k-place-self-self-start{place-self:self-start}.\!k-place-self-self-start{place-self:self-start !important}.k-place-self-self-end{place-self:self-end}.\!k-place-self-self-end{place-self:self-end !important}.k-place-self-baseline{place-self:baseline}.\!k-place-self-baseline{place-self:baseline !important}.k-m-0{margin:var(--kendo-spacing-0, 0px)}.\!k-m-0{margin:var(--kendo-spacing-0, 0px) !important}.k-m-1px{margin:var(--kendo-spacing-1px, 1px)}.\!k-m-1px{margin:var(--kendo-spacing-1px, 1px) !important}.k-m-0\.5{margin:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-m-0\.5{margin:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-m-1{margin:var(--kendo-spacing-1, 0.25rem)}.\!k-m-1{margin:var(--kendo-spacing-1, 0.25rem) !important}.k-m-1\.5{margin:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-m-1\.5{margin:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-m-2{margin:var(--kendo-spacing-2, 0.5rem)}.\!k-m-2{margin:var(--kendo-spacing-2, 0.5rem) !important}.k-m-2\.5{margin:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-m-2\.5{margin:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-m-3{margin:var(--kendo-spacing-3, 0.75rem)}.\!k-m-3{margin:var(--kendo-spacing-3, 0.75rem) !important}.k-m-3\.5{margin:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-m-3\.5{margin:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-m-4{margin:var(--kendo-spacing-4, 1rem)}.\!k-m-4{margin:var(--kendo-spacing-4, 1rem) !important}.k-m-4\.5{margin:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-m-4\.5{margin:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-m-5{margin:var(--kendo-spacing-5, 1.25rem)}.\!k-m-5{margin:var(--kendo-spacing-5, 1.25rem) !important}.k-m-5\.5{margin:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-m-5\.5{margin:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-m-6{margin:var(--kendo-spacing-6, 1.5rem)}.\!k-m-6{margin:var(--kendo-spacing-6, 1.5rem) !important}.k-m-6\.5{margin:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-m-6\.5{margin:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-m-7{margin:var(--kendo-spacing-7, 1.75rem)}.\!k-m-7{margin:var(--kendo-spacing-7, 1.75rem) !important}.k-m-7\.5{margin:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-m-7\.5{margin:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-m-8{margin:var(--kendo-spacing-8, 2rem)}.\!k-m-8{margin:var(--kendo-spacing-8, 2rem) !important}.k-m-9{margin:var(--kendo-spacing-9, 2.25rem)}.\!k-m-9{margin:var(--kendo-spacing-9, 2.25rem) !important}.k-m-10{margin:var(--kendo-spacing-10, 2.5rem)}.\!k-m-10{margin:var(--kendo-spacing-10, 2.5rem) !important}.k-m-11{margin:var(--kendo-spacing-11, 2.75rem)}.\!k-m-11{margin:var(--kendo-spacing-11, 2.75rem) !important}.k-m-12{margin:var(--kendo-spacing-12, 3rem)}.\!k-m-12{margin:var(--kendo-spacing-12, 3rem) !important}.k-m-13{margin:var(--kendo-spacing-13, 3.25rem)}.\!k-m-13{margin:var(--kendo-spacing-13, 3.25rem) !important}.k-m-14{margin:var(--kendo-spacing-14, 3.5rem)}.\!k-m-14{margin:var(--kendo-spacing-14, 3.5rem) !important}.k-m-15{margin:var(--kendo-spacing-15, 3.75rem)}.\!k-m-15{margin:var(--kendo-spacing-15, 3.75rem) !important}.k-m-16{margin:var(--kendo-spacing-16, 4rem)}.\!k-m-16{margin:var(--kendo-spacing-16, 4rem) !important}.k-m-17{margin:var(--kendo-spacing-17, 4.25rem)}.\!k-m-17{margin:var(--kendo-spacing-17, 4.25rem) !important}.k-m-18{margin:var(--kendo-spacing-18, 4.5rem)}.\!k-m-18{margin:var(--kendo-spacing-18, 4.5rem) !important}.k-m-19{margin:var(--kendo-spacing-19, 4.75rem)}.\!k-m-19{margin:var(--kendo-spacing-19, 4.75rem) !important}.k-m-20{margin:var(--kendo-spacing-20, 5rem)}.\!k-m-20{margin:var(--kendo-spacing-20, 5rem) !important}.k-m-21{margin:var(--kendo-spacing-21, 5.25rem)}.\!k-m-21{margin:var(--kendo-spacing-21, 5.25rem) !important}.k-m-22{margin:var(--kendo-spacing-22, 5.5rem)}.\!k-m-22{margin:var(--kendo-spacing-22, 5.5rem) !important}.k-m-23{margin:var(--kendo-spacing-23, 5.75rem)}.\!k-m-23{margin:var(--kendo-spacing-23, 5.75rem) !important}.k-m-24{margin:var(--kendo-spacing-24, 6rem)}.\!k-m-24{margin:var(--kendo-spacing-24, 6rem) !important}.k-m-25{margin:var(--kendo-spacing-25, 7rem)}.\!k-m-25{margin:var(--kendo-spacing-25, 7rem) !important}.k-m-26{margin:var(--kendo-spacing-26, 8rem)}.\!k-m-26{margin:var(--kendo-spacing-26, 8rem) !important}.k-m-27{margin:var(--kendo-spacing-27, 9rem)}.\!k-m-27{margin:var(--kendo-spacing-27, 9rem) !important}.k-m-28{margin:var(--kendo-spacing-28, 10rem)}.\!k-m-28{margin:var(--kendo-spacing-28, 10rem) !important}.k-m-29{margin:var(--kendo-spacing-29, 11rem)}.\!k-m-29{margin:var(--kendo-spacing-29, 11rem) !important}.k-m-30{margin:var(--kendo-spacing-30, 12rem)}.\!k-m-30{margin:var(--kendo-spacing-30, 12rem) !important}.k-m--0{margin:var(--kendo-spacing--0, 0px)}.\!k-m--0{margin:var(--kendo-spacing--0, 0px) !important}.k-m--1px{margin:var(--kendo-spacing--1px, -1px)}.\!k-m--1px{margin:var(--kendo-spacing--1px, -1px) !important}.k-m--0\.5{margin:var(--kendo-spacing--0\.5, -0.125rem)}.\!k-m--0\.5{margin:var(--kendo-spacing--0\.5, -0.125rem) !important}.k-m--1{margin:var(--kendo-spacing--1, -0.25rem)}.\!k-m--1{margin:var(--kendo-spacing--1, -0.25rem) !important}.k-m--1\.5{margin:var(--kendo-spacing--1\.5, -0.375rem)}.\!k-m--1\.5{margin:var(--kendo-spacing--1\.5, -0.375rem) !important}.k-m--2{margin:var(--kendo-spacing--2, -0.5rem)}.\!k-m--2{margin:var(--kendo-spacing--2, -0.5rem) !important}.k-m--2\.5{margin:var(--kendo-spacing--2\.5, -0.625rem)}.\!k-m--2\.5{margin:var(--kendo-spacing--2\.5, -0.625rem) !important}.k-m--3{margin:var(--kendo-spacing--3, -0.75rem)}.\!k-m--3{margin:var(--kendo-spacing--3, -0.75rem) !important}.k-m--3\.5{margin:var(--kendo-spacing--3\.5, -0.875rem)}.\!k-m--3\.5{margin:var(--kendo-spacing--3\.5, -0.875rem) !important}.k-m--4{margin:var(--kendo-spacing--4, -1rem)}.\!k-m--4{margin:var(--kendo-spacing--4, -1rem) !important}.k-m--4\.5{margin:var(--kendo-spacing--4\.5, -1.125rem)}.\!k-m--4\.5{margin:var(--kendo-spacing--4\.5, -1.125rem) !important}.k-m--5{margin:var(--kendo-spacing--5, -1.25rem)}.\!k-m--5{margin:var(--kendo-spacing--5, -1.25rem) !important}.k-m--5\.5{margin:var(--kendo-spacing--5\.5, -1.375rem)}.\!k-m--5\.5{margin:var(--kendo-spacing--5\.5, -1.375rem) !important}.k-m--6{margin:var(--kendo-spacing--6, -1.5rem)}.\!k-m--6{margin:var(--kendo-spacing--6, -1.5rem) !important}.k-m--6\.5{margin:var(--kendo-spacing--6\.5, -1.625rem)}.\!k-m--6\.5{margin:var(--kendo-spacing--6\.5, -1.625rem) !important}.k-m--7{margin:var(--kendo-spacing--7, -1.75rem)}.\!k-m--7{margin:var(--kendo-spacing--7, -1.75rem) !important}.k-m--7\.5{margin:var(--kendo-spacing--7\.5, -1.875rem)}.\!k-m--7\.5{margin:var(--kendo-spacing--7\.5, -1.875rem) !important}.k-m--8{margin:var(--kendo-spacing--8, -2rem)}.\!k-m--8{margin:var(--kendo-spacing--8, -2rem) !important}.k-m--9{margin:var(--kendo-spacing--9, -2.25rem)}.\!k-m--9{margin:var(--kendo-spacing--9, -2.25rem) !important}.k-m--10{margin:var(--kendo-spacing--10, -2.5rem)}.\!k-m--10{margin:var(--kendo-spacing--10, -2.5rem) !important}.k-m--11{margin:var(--kendo-spacing--11, -2.75rem)}.\!k-m--11{margin:var(--kendo-spacing--11, -2.75rem) !important}.k-m--12{margin:var(--kendo-spacing--12, -3rem)}.\!k-m--12{margin:var(--kendo-spacing--12, -3rem) !important}.k-m--13{margin:var(--kendo-spacing--13, -3.25rem)}.\!k-m--13{margin:var(--kendo-spacing--13, -3.25rem) !important}.k-m--14{margin:var(--kendo-spacing--14, -3.5rem)}.\!k-m--14{margin:var(--kendo-spacing--14, -3.5rem) !important}.k-m--15{margin:var(--kendo-spacing--15, -3.75rem)}.\!k-m--15{margin:var(--kendo-spacing--15, -3.75rem) !important}.k-m--16{margin:var(--kendo-spacing--16, -4rem)}.\!k-m--16{margin:var(--kendo-spacing--16, -4rem) !important}.k-m--17{margin:var(--kendo-spacing--17, -4.25rem)}.\!k-m--17{margin:var(--kendo-spacing--17, -4.25rem) !important}.k-m--18{margin:var(--kendo-spacing--18, -4.5rem)}.\!k-m--18{margin:var(--kendo-spacing--18, -4.5rem) !important}.k-m--19{margin:var(--kendo-spacing--19, -4.75rem)}.\!k-m--19{margin:var(--kendo-spacing--19, -4.75rem) !important}.k-m--20{margin:var(--kendo-spacing--20, -5rem)}.\!k-m--20{margin:var(--kendo-spacing--20, -5rem) !important}.k-m--21{margin:var(--kendo-spacing--21, -5.25rem)}.\!k-m--21{margin:var(--kendo-spacing--21, -5.25rem) !important}.k-m--22{margin:var(--kendo-spacing--22, -5.5rem)}.\!k-m--22{margin:var(--kendo-spacing--22, -5.5rem) !important}.k-m--23{margin:var(--kendo-spacing--23, -5.75rem)}.\!k-m--23{margin:var(--kendo-spacing--23, -5.75rem) !important}.k-m--24{margin:var(--kendo-spacing--24, -6rem)}.\!k-m--24{margin:var(--kendo-spacing--24, -6rem) !important}.k-m--25{margin:var(--kendo-spacing--25, -7rem)}.\!k-m--25{margin:var(--kendo-spacing--25, -7rem) !important}.k-m--26{margin:var(--kendo-spacing--26, -8rem)}.\!k-m--26{margin:var(--kendo-spacing--26, -8rem) !important}.k-m--27{margin:var(--kendo-spacing--27, -9rem)}.\!k-m--27{margin:var(--kendo-spacing--27, -9rem) !important}.k-m--28{margin:var(--kendo-spacing--28, -10rem)}.\!k-m--28{margin:var(--kendo-spacing--28, -10rem) !important}.k-m--29{margin:var(--kendo-spacing--29, -11rem)}.\!k-m--29{margin:var(--kendo-spacing--29, -11rem) !important}.k-m--30{margin:var(--kendo-spacing--30, -12rem)}.\!k-m--30{margin:var(--kendo-spacing--30, -12rem) !important}.k-m-xs{margin:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-m-xs{margin:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-m-sm{margin:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-m-sm{margin:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-m-md{margin:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-m-md{margin:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-m-lg{margin:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-m-lg{margin:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-m-xl{margin:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-m-xl{margin:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-m-thin{margin:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-m-thin{margin:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-m-hair{margin:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-m-hair{margin:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-m-auto{margin:var(--kendo-spacing-auto, auto)}.\!k-m-auto{margin:var(--kendo-spacing-auto, auto) !important}.k-mt-0{margin-top:var(--kendo-spacing-0, 0px)}.\!k-mt-0{margin-top:var(--kendo-spacing-0, 0px) !important}.k-mt-1px{margin-top:var(--kendo-spacing-1px, 1px)}.\!k-mt-1px{margin-top:var(--kendo-spacing-1px, 1px) !important}.k-mt-0\.5{margin-top:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-mt-0\.5{margin-top:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-mt-1{margin-top:var(--kendo-spacing-1, 0.25rem)}.\!k-mt-1{margin-top:var(--kendo-spacing-1, 0.25rem) !important}.k-mt-1\.5{margin-top:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-mt-1\.5{margin-top:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-mt-2{margin-top:var(--kendo-spacing-2, 0.5rem)}.\!k-mt-2{margin-top:var(--kendo-spacing-2, 0.5rem) !important}.k-mt-2\.5{margin-top:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-mt-2\.5{margin-top:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-mt-3{margin-top:var(--kendo-spacing-3, 0.75rem)}.\!k-mt-3{margin-top:var(--kendo-spacing-3, 0.75rem) !important}.k-mt-3\.5{margin-top:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-mt-3\.5{margin-top:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-mt-4{margin-top:var(--kendo-spacing-4, 1rem)}.\!k-mt-4{margin-top:var(--kendo-spacing-4, 1rem) !important}.k-mt-4\.5{margin-top:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-mt-4\.5{margin-top:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-mt-5{margin-top:var(--kendo-spacing-5, 1.25rem)}.\!k-mt-5{margin-top:var(--kendo-spacing-5, 1.25rem) !important}.k-mt-5\.5{margin-top:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-mt-5\.5{margin-top:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-mt-6{margin-top:var(--kendo-spacing-6, 1.5rem)}.\!k-mt-6{margin-top:var(--kendo-spacing-6, 1.5rem) !important}.k-mt-6\.5{margin-top:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-mt-6\.5{margin-top:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-mt-7{margin-top:var(--kendo-spacing-7, 1.75rem)}.\!k-mt-7{margin-top:var(--kendo-spacing-7, 1.75rem) !important}.k-mt-7\.5{margin-top:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-mt-7\.5{margin-top:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-mt-8{margin-top:var(--kendo-spacing-8, 2rem)}.\!k-mt-8{margin-top:var(--kendo-spacing-8, 2rem) !important}.k-mt-9{margin-top:var(--kendo-spacing-9, 2.25rem)}.\!k-mt-9{margin-top:var(--kendo-spacing-9, 2.25rem) !important}.k-mt-10{margin-top:var(--kendo-spacing-10, 2.5rem)}.\!k-mt-10{margin-top:var(--kendo-spacing-10, 2.5rem) !important}.k-mt-11{margin-top:var(--kendo-spacing-11, 2.75rem)}.\!k-mt-11{margin-top:var(--kendo-spacing-11, 2.75rem) !important}.k-mt-12{margin-top:var(--kendo-spacing-12, 3rem)}.\!k-mt-12{margin-top:var(--kendo-spacing-12, 3rem) !important}.k-mt-13{margin-top:var(--kendo-spacing-13, 3.25rem)}.\!k-mt-13{margin-top:var(--kendo-spacing-13, 3.25rem) !important}.k-mt-14{margin-top:var(--kendo-spacing-14, 3.5rem)}.\!k-mt-14{margin-top:var(--kendo-spacing-14, 3.5rem) !important}.k-mt-15{margin-top:var(--kendo-spacing-15, 3.75rem)}.\!k-mt-15{margin-top:var(--kendo-spacing-15, 3.75rem) !important}.k-mt-16{margin-top:var(--kendo-spacing-16, 4rem)}.\!k-mt-16{margin-top:var(--kendo-spacing-16, 4rem) !important}.k-mt-17{margin-top:var(--kendo-spacing-17, 4.25rem)}.\!k-mt-17{margin-top:var(--kendo-spacing-17, 4.25rem) !important}.k-mt-18{margin-top:var(--kendo-spacing-18, 4.5rem)}.\!k-mt-18{margin-top:var(--kendo-spacing-18, 4.5rem) !important}.k-mt-19{margin-top:var(--kendo-spacing-19, 4.75rem)}.\!k-mt-19{margin-top:var(--kendo-spacing-19, 4.75rem) !important}.k-mt-20{margin-top:var(--kendo-spacing-20, 5rem)}.\!k-mt-20{margin-top:var(--kendo-spacing-20, 5rem) !important}.k-mt-21{margin-top:var(--kendo-spacing-21, 5.25rem)}.\!k-mt-21{margin-top:var(--kendo-spacing-21, 5.25rem) !important}.k-mt-22{margin-top:var(--kendo-spacing-22, 5.5rem)}.\!k-mt-22{margin-top:var(--kendo-spacing-22, 5.5rem) !important}.k-mt-23{margin-top:var(--kendo-spacing-23, 5.75rem)}.\!k-mt-23{margin-top:var(--kendo-spacing-23, 5.75rem) !important}.k-mt-24{margin-top:var(--kendo-spacing-24, 6rem)}.\!k-mt-24{margin-top:var(--kendo-spacing-24, 6rem) !important}.k-mt-25{margin-top:var(--kendo-spacing-25, 7rem)}.\!k-mt-25{margin-top:var(--kendo-spacing-25, 7rem) !important}.k-mt-26{margin-top:var(--kendo-spacing-26, 8rem)}.\!k-mt-26{margin-top:var(--kendo-spacing-26, 8rem) !important}.k-mt-27{margin-top:var(--kendo-spacing-27, 9rem)}.\!k-mt-27{margin-top:var(--kendo-spacing-27, 9rem) !important}.k-mt-28{margin-top:var(--kendo-spacing-28, 10rem)}.\!k-mt-28{margin-top:var(--kendo-spacing-28, 10rem) !important}.k-mt-29{margin-top:var(--kendo-spacing-29, 11rem)}.\!k-mt-29{margin-top:var(--kendo-spacing-29, 11rem) !important}.k-mt-30{margin-top:var(--kendo-spacing-30, 12rem)}.\!k-mt-30{margin-top:var(--kendo-spacing-30, 12rem) !important}.k-mt--0{margin-top:var(--kendo-spacing--0, 0px)}.\!k-mt--0{margin-top:var(--kendo-spacing--0, 0px) !important}.k-mt--1px{margin-top:var(--kendo-spacing--1px, -1px)}.\!k-mt--1px{margin-top:var(--kendo-spacing--1px, -1px) !important}.k-mt--0\.5{margin-top:var(--kendo-spacing--0\.5, -0.125rem)}.\!k-mt--0\.5{margin-top:var(--kendo-spacing--0\.5, -0.125rem) !important}.k-mt--1{margin-top:var(--kendo-spacing--1, -0.25rem)}.\!k-mt--1{margin-top:var(--kendo-spacing--1, -0.25rem) !important}.k-mt--1\.5{margin-top:var(--kendo-spacing--1\.5, -0.375rem)}.\!k-mt--1\.5{margin-top:var(--kendo-spacing--1\.5, -0.375rem) !important}.k-mt--2{margin-top:var(--kendo-spacing--2, -0.5rem)}.\!k-mt--2{margin-top:var(--kendo-spacing--2, -0.5rem) !important}.k-mt--2\.5{margin-top:var(--kendo-spacing--2\.5, -0.625rem)}.\!k-mt--2\.5{margin-top:var(--kendo-spacing--2\.5, -0.625rem) !important}.k-mt--3{margin-top:var(--kendo-spacing--3, -0.75rem)}.\!k-mt--3{margin-top:var(--kendo-spacing--3, -0.75rem) !important}.k-mt--3\.5{margin-top:var(--kendo-spacing--3\.5, -0.875rem)}.\!k-mt--3\.5{margin-top:var(--kendo-spacing--3\.5, -0.875rem) !important}.k-mt--4{margin-top:var(--kendo-spacing--4, -1rem)}.\!k-mt--4{margin-top:var(--kendo-spacing--4, -1rem) !important}.k-mt--4\.5{margin-top:var(--kendo-spacing--4\.5, -1.125rem)}.\!k-mt--4\.5{margin-top:var(--kendo-spacing--4\.5, -1.125rem) !important}.k-mt--5{margin-top:var(--kendo-spacing--5, -1.25rem)}.\!k-mt--5{margin-top:var(--kendo-spacing--5, -1.25rem) !important}.k-mt--5\.5{margin-top:var(--kendo-spacing--5\.5, -1.375rem)}.\!k-mt--5\.5{margin-top:var(--kendo-spacing--5\.5, -1.375rem) !important}.k-mt--6{margin-top:var(--kendo-spacing--6, -1.5rem)}.\!k-mt--6{margin-top:var(--kendo-spacing--6, -1.5rem) !important}.k-mt--6\.5{margin-top:var(--kendo-spacing--6\.5, -1.625rem)}.\!k-mt--6\.5{margin-top:var(--kendo-spacing--6\.5, -1.625rem) !important}.k-mt--7{margin-top:var(--kendo-spacing--7, -1.75rem)}.\!k-mt--7{margin-top:var(--kendo-spacing--7, -1.75rem) !important}.k-mt--7\.5{margin-top:var(--kendo-spacing--7\.5, -1.875rem)}.\!k-mt--7\.5{margin-top:var(--kendo-spacing--7\.5, -1.875rem) !important}.k-mt--8{margin-top:var(--kendo-spacing--8, -2rem)}.\!k-mt--8{margin-top:var(--kendo-spacing--8, -2rem) !important}.k-mt--9{margin-top:var(--kendo-spacing--9, -2.25rem)}.\!k-mt--9{margin-top:var(--kendo-spacing--9, -2.25rem) !important}.k-mt--10{margin-top:var(--kendo-spacing--10, -2.5rem)}.\!k-mt--10{margin-top:var(--kendo-spacing--10, -2.5rem) !important}.k-mt--11{margin-top:var(--kendo-spacing--11, -2.75rem)}.\!k-mt--11{margin-top:var(--kendo-spacing--11, -2.75rem) !important}.k-mt--12{margin-top:var(--kendo-spacing--12, -3rem)}.\!k-mt--12{margin-top:var(--kendo-spacing--12, -3rem) !important}.k-mt--13{margin-top:var(--kendo-spacing--13, -3.25rem)}.\!k-mt--13{margin-top:var(--kendo-spacing--13, -3.25rem) !important}.k-mt--14{margin-top:var(--kendo-spacing--14, -3.5rem)}.\!k-mt--14{margin-top:var(--kendo-spacing--14, -3.5rem) !important}.k-mt--15{margin-top:var(--kendo-spacing--15, -3.75rem)}.\!k-mt--15{margin-top:var(--kendo-spacing--15, -3.75rem) !important}.k-mt--16{margin-top:var(--kendo-spacing--16, -4rem)}.\!k-mt--16{margin-top:var(--kendo-spacing--16, -4rem) !important}.k-mt--17{margin-top:var(--kendo-spacing--17, -4.25rem)}.\!k-mt--17{margin-top:var(--kendo-spacing--17, -4.25rem) !important}.k-mt--18{margin-top:var(--kendo-spacing--18, -4.5rem)}.\!k-mt--18{margin-top:var(--kendo-spacing--18, -4.5rem) !important}.k-mt--19{margin-top:var(--kendo-spacing--19, -4.75rem)}.\!k-mt--19{margin-top:var(--kendo-spacing--19, -4.75rem) !important}.k-mt--20{margin-top:var(--kendo-spacing--20, -5rem)}.\!k-mt--20{margin-top:var(--kendo-spacing--20, -5rem) !important}.k-mt--21{margin-top:var(--kendo-spacing--21, -5.25rem)}.\!k-mt--21{margin-top:var(--kendo-spacing--21, -5.25rem) !important}.k-mt--22{margin-top:var(--kendo-spacing--22, -5.5rem)}.\!k-mt--22{margin-top:var(--kendo-spacing--22, -5.5rem) !important}.k-mt--23{margin-top:var(--kendo-spacing--23, -5.75rem)}.\!k-mt--23{margin-top:var(--kendo-spacing--23, -5.75rem) !important}.k-mt--24{margin-top:var(--kendo-spacing--24, -6rem)}.\!k-mt--24{margin-top:var(--kendo-spacing--24, -6rem) !important}.k-mt--25{margin-top:var(--kendo-spacing--25, -7rem)}.\!k-mt--25{margin-top:var(--kendo-spacing--25, -7rem) !important}.k-mt--26{margin-top:var(--kendo-spacing--26, -8rem)}.\!k-mt--26{margin-top:var(--kendo-spacing--26, -8rem) !important}.k-mt--27{margin-top:var(--kendo-spacing--27, -9rem)}.\!k-mt--27{margin-top:var(--kendo-spacing--27, -9rem) !important}.k-mt--28{margin-top:var(--kendo-spacing--28, -10rem)}.\!k-mt--28{margin-top:var(--kendo-spacing--28, -10rem) !important}.k-mt--29{margin-top:var(--kendo-spacing--29, -11rem)}.\!k-mt--29{margin-top:var(--kendo-spacing--29, -11rem) !important}.k-mt--30{margin-top:var(--kendo-spacing--30, -12rem)}.\!k-mt--30{margin-top:var(--kendo-spacing--30, -12rem) !important}.k-mt-xs{margin-top:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-mt-xs{margin-top:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-mt-sm{margin-top:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-mt-sm{margin-top:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-mt-md{margin-top:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-mt-md{margin-top:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-mt-lg{margin-top:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-mt-lg{margin-top:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-mt-xl{margin-top:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-mt-xl{margin-top:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-mt-thin{margin-top:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-mt-thin{margin-top:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-mt-hair{margin-top:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-mt-hair{margin-top:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-mt-auto{margin-top:var(--kendo-spacing-auto, auto)}.\!k-mt-auto{margin-top:var(--kendo-spacing-auto, auto) !important}.k-mr-0{margin-right:var(--kendo-spacing-0, 0px)}.\!k-mr-0{margin-right:var(--kendo-spacing-0, 0px) !important}.k-mr-1px{margin-right:var(--kendo-spacing-1px, 1px)}.\!k-mr-1px{margin-right:var(--kendo-spacing-1px, 1px) !important}.k-mr-0\.5{margin-right:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-mr-0\.5{margin-right:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-mr-1{margin-right:var(--kendo-spacing-1, 0.25rem)}.\!k-mr-1{margin-right:var(--kendo-spacing-1, 0.25rem) !important}.k-mr-1\.5{margin-right:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-mr-1\.5{margin-right:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-mr-2{margin-right:var(--kendo-spacing-2, 0.5rem)}.\!k-mr-2{margin-right:var(--kendo-spacing-2, 0.5rem) !important}.k-mr-2\.5{margin-right:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-mr-2\.5{margin-right:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-mr-3{margin-right:var(--kendo-spacing-3, 0.75rem)}.\!k-mr-3{margin-right:var(--kendo-spacing-3, 0.75rem) !important}.k-mr-3\.5{margin-right:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-mr-3\.5{margin-right:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-mr-4{margin-right:var(--kendo-spacing-4, 1rem)}.\!k-mr-4{margin-right:var(--kendo-spacing-4, 1rem) !important}.k-mr-4\.5{margin-right:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-mr-4\.5{margin-right:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-mr-5{margin-right:var(--kendo-spacing-5, 1.25rem)}.\!k-mr-5{margin-right:var(--kendo-spacing-5, 1.25rem) !important}.k-mr-5\.5{margin-right:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-mr-5\.5{margin-right:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-mr-6{margin-right:var(--kendo-spacing-6, 1.5rem)}.\!k-mr-6{margin-right:var(--kendo-spacing-6, 1.5rem) !important}.k-mr-6\.5{margin-right:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-mr-6\.5{margin-right:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-mr-7{margin-right:var(--kendo-spacing-7, 1.75rem)}.\!k-mr-7{margin-right:var(--kendo-spacing-7, 1.75rem) !important}.k-mr-7\.5{margin-right:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-mr-7\.5{margin-right:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-mr-8{margin-right:var(--kendo-spacing-8, 2rem)}.\!k-mr-8{margin-right:var(--kendo-spacing-8, 2rem) !important}.k-mr-9{margin-right:var(--kendo-spacing-9, 2.25rem)}.\!k-mr-9{margin-right:var(--kendo-spacing-9, 2.25rem) !important}.k-mr-10{margin-right:var(--kendo-spacing-10, 2.5rem)}.\!k-mr-10{margin-right:var(--kendo-spacing-10, 2.5rem) !important}.k-mr-11{margin-right:var(--kendo-spacing-11, 2.75rem)}.\!k-mr-11{margin-right:var(--kendo-spacing-11, 2.75rem) !important}.k-mr-12{margin-right:var(--kendo-spacing-12, 3rem)}.\!k-mr-12{margin-right:var(--kendo-spacing-12, 3rem) !important}.k-mr-13{margin-right:var(--kendo-spacing-13, 3.25rem)}.\!k-mr-13{margin-right:var(--kendo-spacing-13, 3.25rem) !important}.k-mr-14{margin-right:var(--kendo-spacing-14, 3.5rem)}.\!k-mr-14{margin-right:var(--kendo-spacing-14, 3.5rem) !important}.k-mr-15{margin-right:var(--kendo-spacing-15, 3.75rem)}.\!k-mr-15{margin-right:var(--kendo-spacing-15, 3.75rem) !important}.k-mr-16{margin-right:var(--kendo-spacing-16, 4rem)}.\!k-mr-16{margin-right:var(--kendo-spacing-16, 4rem) !important}.k-mr-17{margin-right:var(--kendo-spacing-17, 4.25rem)}.\!k-mr-17{margin-right:var(--kendo-spacing-17, 4.25rem) !important}.k-mr-18{margin-right:var(--kendo-spacing-18, 4.5rem)}.\!k-mr-18{margin-right:var(--kendo-spacing-18, 4.5rem) !important}.k-mr-19{margin-right:var(--kendo-spacing-19, 4.75rem)}.\!k-mr-19{margin-right:var(--kendo-spacing-19, 4.75rem) !important}.k-mr-20{margin-right:var(--kendo-spacing-20, 5rem)}.\!k-mr-20{margin-right:var(--kendo-spacing-20, 5rem) !important}.k-mr-21{margin-right:var(--kendo-spacing-21, 5.25rem)}.\!k-mr-21{margin-right:var(--kendo-spacing-21, 5.25rem) !important}.k-mr-22{margin-right:var(--kendo-spacing-22, 5.5rem)}.\!k-mr-22{margin-right:var(--kendo-spacing-22, 5.5rem) !important}.k-mr-23{margin-right:var(--kendo-spacing-23, 5.75rem)}.\!k-mr-23{margin-right:var(--kendo-spacing-23, 5.75rem) !important}.k-mr-24{margin-right:var(--kendo-spacing-24, 6rem)}.\!k-mr-24{margin-right:var(--kendo-spacing-24, 6rem) !important}.k-mr-25{margin-right:var(--kendo-spacing-25, 7rem)}.\!k-mr-25{margin-right:var(--kendo-spacing-25, 7rem) !important}.k-mr-26{margin-right:var(--kendo-spacing-26, 8rem)}.\!k-mr-26{margin-right:var(--kendo-spacing-26, 8rem) !important}.k-mr-27{margin-right:var(--kendo-spacing-27, 9rem)}.\!k-mr-27{margin-right:var(--kendo-spacing-27, 9rem) !important}.k-mr-28{margin-right:var(--kendo-spacing-28, 10rem)}.\!k-mr-28{margin-right:var(--kendo-spacing-28, 10rem) !important}.k-mr-29{margin-right:var(--kendo-spacing-29, 11rem)}.\!k-mr-29{margin-right:var(--kendo-spacing-29, 11rem) !important}.k-mr-30{margin-right:var(--kendo-spacing-30, 12rem)}.\!k-mr-30{margin-right:var(--kendo-spacing-30, 12rem) !important}.k-mr--0{margin-right:var(--kendo-spacing--0, 0px)}.\!k-mr--0{margin-right:var(--kendo-spacing--0, 0px) !important}.k-mr--1px{margin-right:var(--kendo-spacing--1px, -1px)}.\!k-mr--1px{margin-right:var(--kendo-spacing--1px, -1px) !important}.k-mr--0\.5{margin-right:var(--kendo-spacing--0\.5, -0.125rem)}.\!k-mr--0\.5{margin-right:var(--kendo-spacing--0\.5, -0.125rem) !important}.k-mr--1{margin-right:var(--kendo-spacing--1, -0.25rem)}.\!k-mr--1{margin-right:var(--kendo-spacing--1, -0.25rem) !important}.k-mr--1\.5{margin-right:var(--kendo-spacing--1\.5, -0.375rem)}.\!k-mr--1\.5{margin-right:var(--kendo-spacing--1\.5, -0.375rem) !important}.k-mr--2{margin-right:var(--kendo-spacing--2, -0.5rem)}.\!k-mr--2{margin-right:var(--kendo-spacing--2, -0.5rem) !important}.k-mr--2\.5{margin-right:var(--kendo-spacing--2\.5, -0.625rem)}.\!k-mr--2\.5{margin-right:var(--kendo-spacing--2\.5, -0.625rem) !important}.k-mr--3{margin-right:var(--kendo-spacing--3, -0.75rem)}.\!k-mr--3{margin-right:var(--kendo-spacing--3, -0.75rem) !important}.k-mr--3\.5{margin-right:var(--kendo-spacing--3\.5, -0.875rem)}.\!k-mr--3\.5{margin-right:var(--kendo-spacing--3\.5, -0.875rem) !important}.k-mr--4{margin-right:var(--kendo-spacing--4, -1rem)}.\!k-mr--4{margin-right:var(--kendo-spacing--4, -1rem) !important}.k-mr--4\.5{margin-right:var(--kendo-spacing--4\.5, -1.125rem)}.\!k-mr--4\.5{margin-right:var(--kendo-spacing--4\.5, -1.125rem) !important}.k-mr--5{margin-right:var(--kendo-spacing--5, -1.25rem)}.\!k-mr--5{margin-right:var(--kendo-spacing--5, -1.25rem) !important}.k-mr--5\.5{margin-right:var(--kendo-spacing--5\.5, -1.375rem)}.\!k-mr--5\.5{margin-right:var(--kendo-spacing--5\.5, -1.375rem) !important}.k-mr--6{margin-right:var(--kendo-spacing--6, -1.5rem)}.\!k-mr--6{margin-right:var(--kendo-spacing--6, -1.5rem) !important}.k-mr--6\.5{margin-right:var(--kendo-spacing--6\.5, -1.625rem)}.\!k-mr--6\.5{margin-right:var(--kendo-spacing--6\.5, -1.625rem) !important}.k-mr--7{margin-right:var(--kendo-spacing--7, -1.75rem)}.\!k-mr--7{margin-right:var(--kendo-spacing--7, -1.75rem) !important}.k-mr--7\.5{margin-right:var(--kendo-spacing--7\.5, -1.875rem)}.\!k-mr--7\.5{margin-right:var(--kendo-spacing--7\.5, -1.875rem) !important}.k-mr--8{margin-right:var(--kendo-spacing--8, -2rem)}.\!k-mr--8{margin-right:var(--kendo-spacing--8, -2rem) !important}.k-mr--9{margin-right:var(--kendo-spacing--9, -2.25rem)}.\!k-mr--9{margin-right:var(--kendo-spacing--9, -2.25rem) !important}.k-mr--10{margin-right:var(--kendo-spacing--10, -2.5rem)}.\!k-mr--10{margin-right:var(--kendo-spacing--10, -2.5rem) !important}.k-mr--11{margin-right:var(--kendo-spacing--11, -2.75rem)}.\!k-mr--11{margin-right:var(--kendo-spacing--11, -2.75rem) !important}.k-mr--12{margin-right:var(--kendo-spacing--12, -3rem)}.\!k-mr--12{margin-right:var(--kendo-spacing--12, -3rem) !important}.k-mr--13{margin-right:var(--kendo-spacing--13, -3.25rem)}.\!k-mr--13{margin-right:var(--kendo-spacing--13, -3.25rem) !important}.k-mr--14{margin-right:var(--kendo-spacing--14, -3.5rem)}.\!k-mr--14{margin-right:var(--kendo-spacing--14, -3.5rem) !important}.k-mr--15{margin-right:var(--kendo-spacing--15, -3.75rem)}.\!k-mr--15{margin-right:var(--kendo-spacing--15, -3.75rem) !important}.k-mr--16{margin-right:var(--kendo-spacing--16, -4rem)}.\!k-mr--16{margin-right:var(--kendo-spacing--16, -4rem) !important}.k-mr--17{margin-right:var(--kendo-spacing--17, -4.25rem)}.\!k-mr--17{margin-right:var(--kendo-spacing--17, -4.25rem) !important}.k-mr--18{margin-right:var(--kendo-spacing--18, -4.5rem)}.\!k-mr--18{margin-right:var(--kendo-spacing--18, -4.5rem) !important}.k-mr--19{margin-right:var(--kendo-spacing--19, -4.75rem)}.\!k-mr--19{margin-right:var(--kendo-spacing--19, -4.75rem) !important}.k-mr--20{margin-right:var(--kendo-spacing--20, -5rem)}.\!k-mr--20{margin-right:var(--kendo-spacing--20, -5rem) !important}.k-mr--21{margin-right:var(--kendo-spacing--21, -5.25rem)}.\!k-mr--21{margin-right:var(--kendo-spacing--21, -5.25rem) !important}.k-mr--22{margin-right:var(--kendo-spacing--22, -5.5rem)}.\!k-mr--22{margin-right:var(--kendo-spacing--22, -5.5rem) !important}.k-mr--23{margin-right:var(--kendo-spacing--23, -5.75rem)}.\!k-mr--23{margin-right:var(--kendo-spacing--23, -5.75rem) !important}.k-mr--24{margin-right:var(--kendo-spacing--24, -6rem)}.\!k-mr--24{margin-right:var(--kendo-spacing--24, -6rem) !important}.k-mr--25{margin-right:var(--kendo-spacing--25, -7rem)}.\!k-mr--25{margin-right:var(--kendo-spacing--25, -7rem) !important}.k-mr--26{margin-right:var(--kendo-spacing--26, -8rem)}.\!k-mr--26{margin-right:var(--kendo-spacing--26, -8rem) !important}.k-mr--27{margin-right:var(--kendo-spacing--27, -9rem)}.\!k-mr--27{margin-right:var(--kendo-spacing--27, -9rem) !important}.k-mr--28{margin-right:var(--kendo-spacing--28, -10rem)}.\!k-mr--28{margin-right:var(--kendo-spacing--28, -10rem) !important}.k-mr--29{margin-right:var(--kendo-spacing--29, -11rem)}.\!k-mr--29{margin-right:var(--kendo-spacing--29, -11rem) !important}.k-mr--30{margin-right:var(--kendo-spacing--30, -12rem)}.\!k-mr--30{margin-right:var(--kendo-spacing--30, -12rem) !important}.k-mr-xs{margin-right:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-mr-xs{margin-right:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-mr-sm{margin-right:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-mr-sm{margin-right:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-mr-md{margin-right:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-mr-md{margin-right:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-mr-lg{margin-right:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-mr-lg{margin-right:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-mr-xl{margin-right:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-mr-xl{margin-right:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-mr-thin{margin-right:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-mr-thin{margin-right:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-mr-hair{margin-right:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-mr-hair{margin-right:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-mr-auto{margin-right:var(--kendo-spacing-auto, auto)}.\!k-mr-auto{margin-right:var(--kendo-spacing-auto, auto) !important}.k-mb-0{margin-bottom:var(--kendo-spacing-0, 0px)}.\!k-mb-0{margin-bottom:var(--kendo-spacing-0, 0px) !important}.k-mb-1px{margin-bottom:var(--kendo-spacing-1px, 1px)}.\!k-mb-1px{margin-bottom:var(--kendo-spacing-1px, 1px) !important}.k-mb-0\.5{margin-bottom:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-mb-0\.5{margin-bottom:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-mb-1{margin-bottom:var(--kendo-spacing-1, 0.25rem)}.\!k-mb-1{margin-bottom:var(--kendo-spacing-1, 0.25rem) !important}.k-mb-1\.5{margin-bottom:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-mb-1\.5{margin-bottom:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-mb-2{margin-bottom:var(--kendo-spacing-2, 0.5rem)}.\!k-mb-2{margin-bottom:var(--kendo-spacing-2, 0.5rem) !important}.k-mb-2\.5{margin-bottom:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-mb-2\.5{margin-bottom:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-mb-3{margin-bottom:var(--kendo-spacing-3, 0.75rem)}.\!k-mb-3{margin-bottom:var(--kendo-spacing-3, 0.75rem) !important}.k-mb-3\.5{margin-bottom:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-mb-3\.5{margin-bottom:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-mb-4{margin-bottom:var(--kendo-spacing-4, 1rem)}.\!k-mb-4{margin-bottom:var(--kendo-spacing-4, 1rem) !important}.k-mb-4\.5{margin-bottom:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-mb-4\.5{margin-bottom:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-mb-5{margin-bottom:var(--kendo-spacing-5, 1.25rem)}.\!k-mb-5{margin-bottom:var(--kendo-spacing-5, 1.25rem) !important}.k-mb-5\.5{margin-bottom:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-mb-5\.5{margin-bottom:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-mb-6{margin-bottom:var(--kendo-spacing-6, 1.5rem)}.\!k-mb-6{margin-bottom:var(--kendo-spacing-6, 1.5rem) !important}.k-mb-6\.5{margin-bottom:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-mb-6\.5{margin-bottom:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-mb-7{margin-bottom:var(--kendo-spacing-7, 1.75rem)}.\!k-mb-7{margin-bottom:var(--kendo-spacing-7, 1.75rem) !important}.k-mb-7\.5{margin-bottom:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-mb-7\.5{margin-bottom:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-mb-8{margin-bottom:var(--kendo-spacing-8, 2rem)}.\!k-mb-8{margin-bottom:var(--kendo-spacing-8, 2rem) !important}.k-mb-9{margin-bottom:var(--kendo-spacing-9, 2.25rem)}.\!k-mb-9{margin-bottom:var(--kendo-spacing-9, 2.25rem) !important}.k-mb-10{margin-bottom:var(--kendo-spacing-10, 2.5rem)}.\!k-mb-10{margin-bottom:var(--kendo-spacing-10, 2.5rem) !important}.k-mb-11{margin-bottom:var(--kendo-spacing-11, 2.75rem)}.\!k-mb-11{margin-bottom:var(--kendo-spacing-11, 2.75rem) !important}.k-mb-12{margin-bottom:var(--kendo-spacing-12, 3rem)}.\!k-mb-12{margin-bottom:var(--kendo-spacing-12, 3rem) !important}.k-mb-13{margin-bottom:var(--kendo-spacing-13, 3.25rem)}.\!k-mb-13{margin-bottom:var(--kendo-spacing-13, 3.25rem) !important}.k-mb-14{margin-bottom:var(--kendo-spacing-14, 3.5rem)}.\!k-mb-14{margin-bottom:var(--kendo-spacing-14, 3.5rem) !important}.k-mb-15{margin-bottom:var(--kendo-spacing-15, 3.75rem)}.\!k-mb-15{margin-bottom:var(--kendo-spacing-15, 3.75rem) !important}.k-mb-16{margin-bottom:var(--kendo-spacing-16, 4rem)}.\!k-mb-16{margin-bottom:var(--kendo-spacing-16, 4rem) !important}.k-mb-17{margin-bottom:var(--kendo-spacing-17, 4.25rem)}.\!k-mb-17{margin-bottom:var(--kendo-spacing-17, 4.25rem) !important}.k-mb-18{margin-bottom:var(--kendo-spacing-18, 4.5rem)}.\!k-mb-18{margin-bottom:var(--kendo-spacing-18, 4.5rem) !important}.k-mb-19{margin-bottom:var(--kendo-spacing-19, 4.75rem)}.\!k-mb-19{margin-bottom:var(--kendo-spacing-19, 4.75rem) !important}.k-mb-20{margin-bottom:var(--kendo-spacing-20, 5rem)}.\!k-mb-20{margin-bottom:var(--kendo-spacing-20, 5rem) !important}.k-mb-21{margin-bottom:var(--kendo-spacing-21, 5.25rem)}.\!k-mb-21{margin-bottom:var(--kendo-spacing-21, 5.25rem) !important}.k-mb-22{margin-bottom:var(--kendo-spacing-22, 5.5rem)}.\!k-mb-22{margin-bottom:var(--kendo-spacing-22, 5.5rem) !important}.k-mb-23{margin-bottom:var(--kendo-spacing-23, 5.75rem)}.\!k-mb-23{margin-bottom:var(--kendo-spacing-23, 5.75rem) !important}.k-mb-24{margin-bottom:var(--kendo-spacing-24, 6rem)}.\!k-mb-24{margin-bottom:var(--kendo-spacing-24, 6rem) !important}.k-mb-25{margin-bottom:var(--kendo-spacing-25, 7rem)}.\!k-mb-25{margin-bottom:var(--kendo-spacing-25, 7rem) !important}.k-mb-26{margin-bottom:var(--kendo-spacing-26, 8rem)}.\!k-mb-26{margin-bottom:var(--kendo-spacing-26, 8rem) !important}.k-mb-27{margin-bottom:var(--kendo-spacing-27, 9rem)}.\!k-mb-27{margin-bottom:var(--kendo-spacing-27, 9rem) !important}.k-mb-28{margin-bottom:var(--kendo-spacing-28, 10rem)}.\!k-mb-28{margin-bottom:var(--kendo-spacing-28, 10rem) !important}.k-mb-29{margin-bottom:var(--kendo-spacing-29, 11rem)}.\!k-mb-29{margin-bottom:var(--kendo-spacing-29, 11rem) !important}.k-mb-30{margin-bottom:var(--kendo-spacing-30, 12rem)}.\!k-mb-30{margin-bottom:var(--kendo-spacing-30, 12rem) !important}.k-mb--0{margin-bottom:var(--kendo-spacing--0, 0px)}.\!k-mb--0{margin-bottom:var(--kendo-spacing--0, 0px) !important}.k-mb--1px{margin-bottom:var(--kendo-spacing--1px, -1px)}.\!k-mb--1px{margin-bottom:var(--kendo-spacing--1px, -1px) !important}.k-mb--0\.5{margin-bottom:var(--kendo-spacing--0\.5, -0.125rem)}.\!k-mb--0\.5{margin-bottom:var(--kendo-spacing--0\.5, -0.125rem) !important}.k-mb--1{margin-bottom:var(--kendo-spacing--1, -0.25rem)}.\!k-mb--1{margin-bottom:var(--kendo-spacing--1, -0.25rem) !important}.k-mb--1\.5{margin-bottom:var(--kendo-spacing--1\.5, -0.375rem)}.\!k-mb--1\.5{margin-bottom:var(--kendo-spacing--1\.5, -0.375rem) !important}.k-mb--2{margin-bottom:var(--kendo-spacing--2, -0.5rem)}.\!k-mb--2{margin-bottom:var(--kendo-spacing--2, -0.5rem) !important}.k-mb--2\.5{margin-bottom:var(--kendo-spacing--2\.5, -0.625rem)}.\!k-mb--2\.5{margin-bottom:var(--kendo-spacing--2\.5, -0.625rem) !important}.k-mb--3{margin-bottom:var(--kendo-spacing--3, -0.75rem)}.\!k-mb--3{margin-bottom:var(--kendo-spacing--3, -0.75rem) !important}.k-mb--3\.5{margin-bottom:var(--kendo-spacing--3\.5, -0.875rem)}.\!k-mb--3\.5{margin-bottom:var(--kendo-spacing--3\.5, -0.875rem) !important}.k-mb--4{margin-bottom:var(--kendo-spacing--4, -1rem)}.\!k-mb--4{margin-bottom:var(--kendo-spacing--4, -1rem) !important}.k-mb--4\.5{margin-bottom:var(--kendo-spacing--4\.5, -1.125rem)}.\!k-mb--4\.5{margin-bottom:var(--kendo-spacing--4\.5, -1.125rem) !important}.k-mb--5{margin-bottom:var(--kendo-spacing--5, -1.25rem)}.\!k-mb--5{margin-bottom:var(--kendo-spacing--5, -1.25rem) !important}.k-mb--5\.5{margin-bottom:var(--kendo-spacing--5\.5, -1.375rem)}.\!k-mb--5\.5{margin-bottom:var(--kendo-spacing--5\.5, -1.375rem) !important}.k-mb--6{margin-bottom:var(--kendo-spacing--6, -1.5rem)}.\!k-mb--6{margin-bottom:var(--kendo-spacing--6, -1.5rem) !important}.k-mb--6\.5{margin-bottom:var(--kendo-spacing--6\.5, -1.625rem)}.\!k-mb--6\.5{margin-bottom:var(--kendo-spacing--6\.5, -1.625rem) !important}.k-mb--7{margin-bottom:var(--kendo-spacing--7, -1.75rem)}.\!k-mb--7{margin-bottom:var(--kendo-spacing--7, -1.75rem) !important}.k-mb--7\.5{margin-bottom:var(--kendo-spacing--7\.5, -1.875rem)}.\!k-mb--7\.5{margin-bottom:var(--kendo-spacing--7\.5, -1.875rem) !important}.k-mb--8{margin-bottom:var(--kendo-spacing--8, -2rem)}.\!k-mb--8{margin-bottom:var(--kendo-spacing--8, -2rem) !important}.k-mb--9{margin-bottom:var(--kendo-spacing--9, -2.25rem)}.\!k-mb--9{margin-bottom:var(--kendo-spacing--9, -2.25rem) !important}.k-mb--10{margin-bottom:var(--kendo-spacing--10, -2.5rem)}.\!k-mb--10{margin-bottom:var(--kendo-spacing--10, -2.5rem) !important}.k-mb--11{margin-bottom:var(--kendo-spacing--11, -2.75rem)}.\!k-mb--11{margin-bottom:var(--kendo-spacing--11, -2.75rem) !important}.k-mb--12{margin-bottom:var(--kendo-spacing--12, -3rem)}.\!k-mb--12{margin-bottom:var(--kendo-spacing--12, -3rem) !important}.k-mb--13{margin-bottom:var(--kendo-spacing--13, -3.25rem)}.\!k-mb--13{margin-bottom:var(--kendo-spacing--13, -3.25rem) !important}.k-mb--14{margin-bottom:var(--kendo-spacing--14, -3.5rem)}.\!k-mb--14{margin-bottom:var(--kendo-spacing--14, -3.5rem) !important}.k-mb--15{margin-bottom:var(--kendo-spacing--15, -3.75rem)}.\!k-mb--15{margin-bottom:var(--kendo-spacing--15, -3.75rem) !important}.k-mb--16{margin-bottom:var(--kendo-spacing--16, -4rem)}.\!k-mb--16{margin-bottom:var(--kendo-spacing--16, -4rem) !important}.k-mb--17{margin-bottom:var(--kendo-spacing--17, -4.25rem)}.\!k-mb--17{margin-bottom:var(--kendo-spacing--17, -4.25rem) !important}.k-mb--18{margin-bottom:var(--kendo-spacing--18, -4.5rem)}.\!k-mb--18{margin-bottom:var(--kendo-spacing--18, -4.5rem) !important}.k-mb--19{margin-bottom:var(--kendo-spacing--19, -4.75rem)}.\!k-mb--19{margin-bottom:var(--kendo-spacing--19, -4.75rem) !important}.k-mb--20{margin-bottom:var(--kendo-spacing--20, -5rem)}.\!k-mb--20{margin-bottom:var(--kendo-spacing--20, -5rem) !important}.k-mb--21{margin-bottom:var(--kendo-spacing--21, -5.25rem)}.\!k-mb--21{margin-bottom:var(--kendo-spacing--21, -5.25rem) !important}.k-mb--22{margin-bottom:var(--kendo-spacing--22, -5.5rem)}.\!k-mb--22{margin-bottom:var(--kendo-spacing--22, -5.5rem) !important}.k-mb--23{margin-bottom:var(--kendo-spacing--23, -5.75rem)}.\!k-mb--23{margin-bottom:var(--kendo-spacing--23, -5.75rem) !important}.k-mb--24{margin-bottom:var(--kendo-spacing--24, -6rem)}.\!k-mb--24{margin-bottom:var(--kendo-spacing--24, -6rem) !important}.k-mb--25{margin-bottom:var(--kendo-spacing--25, -7rem)}.\!k-mb--25{margin-bottom:var(--kendo-spacing--25, -7rem) !important}.k-mb--26{margin-bottom:var(--kendo-spacing--26, -8rem)}.\!k-mb--26{margin-bottom:var(--kendo-spacing--26, -8rem) !important}.k-mb--27{margin-bottom:var(--kendo-spacing--27, -9rem)}.\!k-mb--27{margin-bottom:var(--kendo-spacing--27, -9rem) !important}.k-mb--28{margin-bottom:var(--kendo-spacing--28, -10rem)}.\!k-mb--28{margin-bottom:var(--kendo-spacing--28, -10rem) !important}.k-mb--29{margin-bottom:var(--kendo-spacing--29, -11rem)}.\!k-mb--29{margin-bottom:var(--kendo-spacing--29, -11rem) !important}.k-mb--30{margin-bottom:var(--kendo-spacing--30, -12rem)}.\!k-mb--30{margin-bottom:var(--kendo-spacing--30, -12rem) !important}.k-mb-xs{margin-bottom:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-mb-xs{margin-bottom:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-mb-sm{margin-bottom:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-mb-sm{margin-bottom:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-mb-md{margin-bottom:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-mb-md{margin-bottom:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-mb-lg{margin-bottom:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-mb-lg{margin-bottom:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-mb-xl{margin-bottom:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-mb-xl{margin-bottom:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-mb-thin{margin-bottom:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-mb-thin{margin-bottom:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-mb-hair{margin-bottom:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-mb-hair{margin-bottom:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-mb-auto{margin-bottom:var(--kendo-spacing-auto, auto)}.\!k-mb-auto{margin-bottom:var(--kendo-spacing-auto, auto) !important}.k-ml-0{margin-left:var(--kendo-spacing-0, 0px)}.\!k-ml-0{margin-left:var(--kendo-spacing-0, 0px) !important}.k-ml-1px{margin-left:var(--kendo-spacing-1px, 1px)}.\!k-ml-1px{margin-left:var(--kendo-spacing-1px, 1px) !important}.k-ml-0\.5{margin-left:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-ml-0\.5{margin-left:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-ml-1{margin-left:var(--kendo-spacing-1, 0.25rem)}.\!k-ml-1{margin-left:var(--kendo-spacing-1, 0.25rem) !important}.k-ml-1\.5{margin-left:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-ml-1\.5{margin-left:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-ml-2{margin-left:var(--kendo-spacing-2, 0.5rem)}.\!k-ml-2{margin-left:var(--kendo-spacing-2, 0.5rem) !important}.k-ml-2\.5{margin-left:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-ml-2\.5{margin-left:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-ml-3{margin-left:var(--kendo-spacing-3, 0.75rem)}.\!k-ml-3{margin-left:var(--kendo-spacing-3, 0.75rem) !important}.k-ml-3\.5{margin-left:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-ml-3\.5{margin-left:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-ml-4{margin-left:var(--kendo-spacing-4, 1rem)}.\!k-ml-4{margin-left:var(--kendo-spacing-4, 1rem) !important}.k-ml-4\.5{margin-left:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-ml-4\.5{margin-left:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-ml-5{margin-left:var(--kendo-spacing-5, 1.25rem)}.\!k-ml-5{margin-left:var(--kendo-spacing-5, 1.25rem) !important}.k-ml-5\.5{margin-left:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-ml-5\.5{margin-left:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-ml-6{margin-left:var(--kendo-spacing-6, 1.5rem)}.\!k-ml-6{margin-left:var(--kendo-spacing-6, 1.5rem) !important}.k-ml-6\.5{margin-left:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-ml-6\.5{margin-left:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-ml-7{margin-left:var(--kendo-spacing-7, 1.75rem)}.\!k-ml-7{margin-left:var(--kendo-spacing-7, 1.75rem) !important}.k-ml-7\.5{margin-left:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-ml-7\.5{margin-left:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-ml-8{margin-left:var(--kendo-spacing-8, 2rem)}.\!k-ml-8{margin-left:var(--kendo-spacing-8, 2rem) !important}.k-ml-9{margin-left:var(--kendo-spacing-9, 2.25rem)}.\!k-ml-9{margin-left:var(--kendo-spacing-9, 2.25rem) !important}.k-ml-10{margin-left:var(--kendo-spacing-10, 2.5rem)}.\!k-ml-10{margin-left:var(--kendo-spacing-10, 2.5rem) !important}.k-ml-11{margin-left:var(--kendo-spacing-11, 2.75rem)}.\!k-ml-11{margin-left:var(--kendo-spacing-11, 2.75rem) !important}.k-ml-12{margin-left:var(--kendo-spacing-12, 3rem)}.\!k-ml-12{margin-left:var(--kendo-spacing-12, 3rem) !important}.k-ml-13{margin-left:var(--kendo-spacing-13, 3.25rem)}.\!k-ml-13{margin-left:var(--kendo-spacing-13, 3.25rem) !important}.k-ml-14{margin-left:var(--kendo-spacing-14, 3.5rem)}.\!k-ml-14{margin-left:var(--kendo-spacing-14, 3.5rem) !important}.k-ml-15{margin-left:var(--kendo-spacing-15, 3.75rem)}.\!k-ml-15{margin-left:var(--kendo-spacing-15, 3.75rem) !important}.k-ml-16{margin-left:var(--kendo-spacing-16, 4rem)}.\!k-ml-16{margin-left:var(--kendo-spacing-16, 4rem) !important}.k-ml-17{margin-left:var(--kendo-spacing-17, 4.25rem)}.\!k-ml-17{margin-left:var(--kendo-spacing-17, 4.25rem) !important}.k-ml-18{margin-left:var(--kendo-spacing-18, 4.5rem)}.\!k-ml-18{margin-left:var(--kendo-spacing-18, 4.5rem) !important}.k-ml-19{margin-left:var(--kendo-spacing-19, 4.75rem)}.\!k-ml-19{margin-left:var(--kendo-spacing-19, 4.75rem) !important}.k-ml-20{margin-left:var(--kendo-spacing-20, 5rem)}.\!k-ml-20{margin-left:var(--kendo-spacing-20, 5rem) !important}.k-ml-21{margin-left:var(--kendo-spacing-21, 5.25rem)}.\!k-ml-21{margin-left:var(--kendo-spacing-21, 5.25rem) !important}.k-ml-22{margin-left:var(--kendo-spacing-22, 5.5rem)}.\!k-ml-22{margin-left:var(--kendo-spacing-22, 5.5rem) !important}.k-ml-23{margin-left:var(--kendo-spacing-23, 5.75rem)}.\!k-ml-23{margin-left:var(--kendo-spacing-23, 5.75rem) !important}.k-ml-24{margin-left:var(--kendo-spacing-24, 6rem)}.\!k-ml-24{margin-left:var(--kendo-spacing-24, 6rem) !important}.k-ml-25{margin-left:var(--kendo-spacing-25, 7rem)}.\!k-ml-25{margin-left:var(--kendo-spacing-25, 7rem) !important}.k-ml-26{margin-left:var(--kendo-spacing-26, 8rem)}.\!k-ml-26{margin-left:var(--kendo-spacing-26, 8rem) !important}.k-ml-27{margin-left:var(--kendo-spacing-27, 9rem)}.\!k-ml-27{margin-left:var(--kendo-spacing-27, 9rem) !important}.k-ml-28{margin-left:var(--kendo-spacing-28, 10rem)}.\!k-ml-28{margin-left:var(--kendo-spacing-28, 10rem) !important}.k-ml-29{margin-left:var(--kendo-spacing-29, 11rem)}.\!k-ml-29{margin-left:var(--kendo-spacing-29, 11rem) !important}.k-ml-30{margin-left:var(--kendo-spacing-30, 12rem)}.\!k-ml-30{margin-left:var(--kendo-spacing-30, 12rem) !important}.k-ml--0{margin-left:var(--kendo-spacing--0, 0px)}.\!k-ml--0{margin-left:var(--kendo-spacing--0, 0px) !important}.k-ml--1px{margin-left:var(--kendo-spacing--1px, -1px)}.\!k-ml--1px{margin-left:var(--kendo-spacing--1px, -1px) !important}.k-ml--0\.5{margin-left:var(--kendo-spacing--0\.5, -0.125rem)}.\!k-ml--0\.5{margin-left:var(--kendo-spacing--0\.5, -0.125rem) !important}.k-ml--1{margin-left:var(--kendo-spacing--1, -0.25rem)}.\!k-ml--1{margin-left:var(--kendo-spacing--1, -0.25rem) !important}.k-ml--1\.5{margin-left:var(--kendo-spacing--1\.5, -0.375rem)}.\!k-ml--1\.5{margin-left:var(--kendo-spacing--1\.5, -0.375rem) !important}.k-ml--2{margin-left:var(--kendo-spacing--2, -0.5rem)}.\!k-ml--2{margin-left:var(--kendo-spacing--2, -0.5rem) !important}.k-ml--2\.5{margin-left:var(--kendo-spacing--2\.5, -0.625rem)}.\!k-ml--2\.5{margin-left:var(--kendo-spacing--2\.5, -0.625rem) !important}.k-ml--3{margin-left:var(--kendo-spacing--3, -0.75rem)}.\!k-ml--3{margin-left:var(--kendo-spacing--3, -0.75rem) !important}.k-ml--3\.5{margin-left:var(--kendo-spacing--3\.5, -0.875rem)}.\!k-ml--3\.5{margin-left:var(--kendo-spacing--3\.5, -0.875rem) !important}.k-ml--4{margin-left:var(--kendo-spacing--4, -1rem)}.\!k-ml--4{margin-left:var(--kendo-spacing--4, -1rem) !important}.k-ml--4\.5{margin-left:var(--kendo-spacing--4\.5, -1.125rem)}.\!k-ml--4\.5{margin-left:var(--kendo-spacing--4\.5, -1.125rem) !important}.k-ml--5{margin-left:var(--kendo-spacing--5, -1.25rem)}.\!k-ml--5{margin-left:var(--kendo-spacing--5, -1.25rem) !important}.k-ml--5\.5{margin-left:var(--kendo-spacing--5\.5, -1.375rem)}.\!k-ml--5\.5{margin-left:var(--kendo-spacing--5\.5, -1.375rem) !important}.k-ml--6{margin-left:var(--kendo-spacing--6, -1.5rem)}.\!k-ml--6{margin-left:var(--kendo-spacing--6, -1.5rem) !important}.k-ml--6\.5{margin-left:var(--kendo-spacing--6\.5, -1.625rem)}.\!k-ml--6\.5{margin-left:var(--kendo-spacing--6\.5, -1.625rem) !important}.k-ml--7{margin-left:var(--kendo-spacing--7, -1.75rem)}.\!k-ml--7{margin-left:var(--kendo-spacing--7, -1.75rem) !important}.k-ml--7\.5{margin-left:var(--kendo-spacing--7\.5, -1.875rem)}.\!k-ml--7\.5{margin-left:var(--kendo-spacing--7\.5, -1.875rem) !important}.k-ml--8{margin-left:var(--kendo-spacing--8, -2rem)}.\!k-ml--8{margin-left:var(--kendo-spacing--8, -2rem) !important}.k-ml--9{margin-left:var(--kendo-spacing--9, -2.25rem)}.\!k-ml--9{margin-left:var(--kendo-spacing--9, -2.25rem) !important}.k-ml--10{margin-left:var(--kendo-spacing--10, -2.5rem)}.\!k-ml--10{margin-left:var(--kendo-spacing--10, -2.5rem) !important}.k-ml--11{margin-left:var(--kendo-spacing--11, -2.75rem)}.\!k-ml--11{margin-left:var(--kendo-spacing--11, -2.75rem) !important}.k-ml--12{margin-left:var(--kendo-spacing--12, -3rem)}.\!k-ml--12{margin-left:var(--kendo-spacing--12, -3rem) !important}.k-ml--13{margin-left:var(--kendo-spacing--13, -3.25rem)}.\!k-ml--13{margin-left:var(--kendo-spacing--13, -3.25rem) !important}.k-ml--14{margin-left:var(--kendo-spacing--14, -3.5rem)}.\!k-ml--14{margin-left:var(--kendo-spacing--14, -3.5rem) !important}.k-ml--15{margin-left:var(--kendo-spacing--15, -3.75rem)}.\!k-ml--15{margin-left:var(--kendo-spacing--15, -3.75rem) !important}.k-ml--16{margin-left:var(--kendo-spacing--16, -4rem)}.\!k-ml--16{margin-left:var(--kendo-spacing--16, -4rem) !important}.k-ml--17{margin-left:var(--kendo-spacing--17, -4.25rem)}.\!k-ml--17{margin-left:var(--kendo-spacing--17, -4.25rem) !important}.k-ml--18{margin-left:var(--kendo-spacing--18, -4.5rem)}.\!k-ml--18{margin-left:var(--kendo-spacing--18, -4.5rem) !important}.k-ml--19{margin-left:var(--kendo-spacing--19, -4.75rem)}.\!k-ml--19{margin-left:var(--kendo-spacing--19, -4.75rem) !important}.k-ml--20{margin-left:var(--kendo-spacing--20, -5rem)}.\!k-ml--20{margin-left:var(--kendo-spacing--20, -5rem) !important}.k-ml--21{margin-left:var(--kendo-spacing--21, -5.25rem)}.\!k-ml--21{margin-left:var(--kendo-spacing--21, -5.25rem) !important}.k-ml--22{margin-left:var(--kendo-spacing--22, -5.5rem)}.\!k-ml--22{margin-left:var(--kendo-spacing--22, -5.5rem) !important}.k-ml--23{margin-left:var(--kendo-spacing--23, -5.75rem)}.\!k-ml--23{margin-left:var(--kendo-spacing--23, -5.75rem) !important}.k-ml--24{margin-left:var(--kendo-spacing--24, -6rem)}.\!k-ml--24{margin-left:var(--kendo-spacing--24, -6rem) !important}.k-ml--25{margin-left:var(--kendo-spacing--25, -7rem)}.\!k-ml--25{margin-left:var(--kendo-spacing--25, -7rem) !important}.k-ml--26{margin-left:var(--kendo-spacing--26, -8rem)}.\!k-ml--26{margin-left:var(--kendo-spacing--26, -8rem) !important}.k-ml--27{margin-left:var(--kendo-spacing--27, -9rem)}.\!k-ml--27{margin-left:var(--kendo-spacing--27, -9rem) !important}.k-ml--28{margin-left:var(--kendo-spacing--28, -10rem)}.\!k-ml--28{margin-left:var(--kendo-spacing--28, -10rem) !important}.k-ml--29{margin-left:var(--kendo-spacing--29, -11rem)}.\!k-ml--29{margin-left:var(--kendo-spacing--29, -11rem) !important}.k-ml--30{margin-left:var(--kendo-spacing--30, -12rem)}.\!k-ml--30{margin-left:var(--kendo-spacing--30, -12rem) !important}.k-ml-xs{margin-left:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-ml-xs{margin-left:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-ml-sm{margin-left:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-ml-sm{margin-left:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-ml-md{margin-left:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-ml-md{margin-left:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-ml-lg{margin-left:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-ml-lg{margin-left:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-ml-xl{margin-left:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-ml-xl{margin-left:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-ml-thin{margin-left:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-ml-thin{margin-left:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-ml-hair{margin-left:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-ml-hair{margin-left:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-ml-auto{margin-left:var(--kendo-spacing-auto, auto)}.\!k-ml-auto{margin-left:var(--kendo-spacing-auto, auto) !important}.k-mx-0{margin-inline:var(--kendo-spacing-0, 0px)}.\!k-mx-0{margin-inline:var(--kendo-spacing-0, 0px) !important}.k-mx-1px{margin-inline:var(--kendo-spacing-1px, 1px)}.\!k-mx-1px{margin-inline:var(--kendo-spacing-1px, 1px) !important}.k-mx-0\.5{margin-inline:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-mx-0\.5{margin-inline:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-mx-1{margin-inline:var(--kendo-spacing-1, 0.25rem)}.\!k-mx-1{margin-inline:var(--kendo-spacing-1, 0.25rem) !important}.k-mx-1\.5{margin-inline:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-mx-1\.5{margin-inline:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-mx-2{margin-inline:var(--kendo-spacing-2, 0.5rem)}.\!k-mx-2{margin-inline:var(--kendo-spacing-2, 0.5rem) !important}.k-mx-2\.5{margin-inline:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-mx-2\.5{margin-inline:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-mx-3{margin-inline:var(--kendo-spacing-3, 0.75rem)}.\!k-mx-3{margin-inline:var(--kendo-spacing-3, 0.75rem) !important}.k-mx-3\.5{margin-inline:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-mx-3\.5{margin-inline:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-mx-4{margin-inline:var(--kendo-spacing-4, 1rem)}.\!k-mx-4{margin-inline:var(--kendo-spacing-4, 1rem) !important}.k-mx-4\.5{margin-inline:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-mx-4\.5{margin-inline:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-mx-5{margin-inline:var(--kendo-spacing-5, 1.25rem)}.\!k-mx-5{margin-inline:var(--kendo-spacing-5, 1.25rem) !important}.k-mx-5\.5{margin-inline:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-mx-5\.5{margin-inline:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-mx-6{margin-inline:var(--kendo-spacing-6, 1.5rem)}.\!k-mx-6{margin-inline:var(--kendo-spacing-6, 1.5rem) !important}.k-mx-6\.5{margin-inline:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-mx-6\.5{margin-inline:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-mx-7{margin-inline:var(--kendo-spacing-7, 1.75rem)}.\!k-mx-7{margin-inline:var(--kendo-spacing-7, 1.75rem) !important}.k-mx-7\.5{margin-inline:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-mx-7\.5{margin-inline:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-mx-8{margin-inline:var(--kendo-spacing-8, 2rem)}.\!k-mx-8{margin-inline:var(--kendo-spacing-8, 2rem) !important}.k-mx-9{margin-inline:var(--kendo-spacing-9, 2.25rem)}.\!k-mx-9{margin-inline:var(--kendo-spacing-9, 2.25rem) !important}.k-mx-10{margin-inline:var(--kendo-spacing-10, 2.5rem)}.\!k-mx-10{margin-inline:var(--kendo-spacing-10, 2.5rem) !important}.k-mx-11{margin-inline:var(--kendo-spacing-11, 2.75rem)}.\!k-mx-11{margin-inline:var(--kendo-spacing-11, 2.75rem) !important}.k-mx-12{margin-inline:var(--kendo-spacing-12, 3rem)}.\!k-mx-12{margin-inline:var(--kendo-spacing-12, 3rem) !important}.k-mx-13{margin-inline:var(--kendo-spacing-13, 3.25rem)}.\!k-mx-13{margin-inline:var(--kendo-spacing-13, 3.25rem) !important}.k-mx-14{margin-inline:var(--kendo-spacing-14, 3.5rem)}.\!k-mx-14{margin-inline:var(--kendo-spacing-14, 3.5rem) !important}.k-mx-15{margin-inline:var(--kendo-spacing-15, 3.75rem)}.\!k-mx-15{margin-inline:var(--kendo-spacing-15, 3.75rem) !important}.k-mx-16{margin-inline:var(--kendo-spacing-16, 4rem)}.\!k-mx-16{margin-inline:var(--kendo-spacing-16, 4rem) !important}.k-mx-17{margin-inline:var(--kendo-spacing-17, 4.25rem)}.\!k-mx-17{margin-inline:var(--kendo-spacing-17, 4.25rem) !important}.k-mx-18{margin-inline:var(--kendo-spacing-18, 4.5rem)}.\!k-mx-18{margin-inline:var(--kendo-spacing-18, 4.5rem) !important}.k-mx-19{margin-inline:var(--kendo-spacing-19, 4.75rem)}.\!k-mx-19{margin-inline:var(--kendo-spacing-19, 4.75rem) !important}.k-mx-20{margin-inline:var(--kendo-spacing-20, 5rem)}.\!k-mx-20{margin-inline:var(--kendo-spacing-20, 5rem) !important}.k-mx-21{margin-inline:var(--kendo-spacing-21, 5.25rem)}.\!k-mx-21{margin-inline:var(--kendo-spacing-21, 5.25rem) !important}.k-mx-22{margin-inline:var(--kendo-spacing-22, 5.5rem)}.\!k-mx-22{margin-inline:var(--kendo-spacing-22, 5.5rem) !important}.k-mx-23{margin-inline:var(--kendo-spacing-23, 5.75rem)}.\!k-mx-23{margin-inline:var(--kendo-spacing-23, 5.75rem) !important}.k-mx-24{margin-inline:var(--kendo-spacing-24, 6rem)}.\!k-mx-24{margin-inline:var(--kendo-spacing-24, 6rem) !important}.k-mx-25{margin-inline:var(--kendo-spacing-25, 7rem)}.\!k-mx-25{margin-inline:var(--kendo-spacing-25, 7rem) !important}.k-mx-26{margin-inline:var(--kendo-spacing-26, 8rem)}.\!k-mx-26{margin-inline:var(--kendo-spacing-26, 8rem) !important}.k-mx-27{margin-inline:var(--kendo-spacing-27, 9rem)}.\!k-mx-27{margin-inline:var(--kendo-spacing-27, 9rem) !important}.k-mx-28{margin-inline:var(--kendo-spacing-28, 10rem)}.\!k-mx-28{margin-inline:var(--kendo-spacing-28, 10rem) !important}.k-mx-29{margin-inline:var(--kendo-spacing-29, 11rem)}.\!k-mx-29{margin-inline:var(--kendo-spacing-29, 11rem) !important}.k-mx-30{margin-inline:var(--kendo-spacing-30, 12rem)}.\!k-mx-30{margin-inline:var(--kendo-spacing-30, 12rem) !important}.k-mx--0{margin-inline:var(--kendo-spacing--0, 0px)}.\!k-mx--0{margin-inline:var(--kendo-spacing--0, 0px) !important}.k-mx--1px{margin-inline:var(--kendo-spacing--1px, -1px)}.\!k-mx--1px{margin-inline:var(--kendo-spacing--1px, -1px) !important}.k-mx--0\.5{margin-inline:var(--kendo-spacing--0\.5, -0.125rem)}.\!k-mx--0\.5{margin-inline:var(--kendo-spacing--0\.5, -0.125rem) !important}.k-mx--1{margin-inline:var(--kendo-spacing--1, -0.25rem)}.\!k-mx--1{margin-inline:var(--kendo-spacing--1, -0.25rem) !important}.k-mx--1\.5{margin-inline:var(--kendo-spacing--1\.5, -0.375rem)}.\!k-mx--1\.5{margin-inline:var(--kendo-spacing--1\.5, -0.375rem) !important}.k-mx--2{margin-inline:var(--kendo-spacing--2, -0.5rem)}.\!k-mx--2{margin-inline:var(--kendo-spacing--2, -0.5rem) !important}.k-mx--2\.5{margin-inline:var(--kendo-spacing--2\.5, -0.625rem)}.\!k-mx--2\.5{margin-inline:var(--kendo-spacing--2\.5, -0.625rem) !important}.k-mx--3{margin-inline:var(--kendo-spacing--3, -0.75rem)}.\!k-mx--3{margin-inline:var(--kendo-spacing--3, -0.75rem) !important}.k-mx--3\.5{margin-inline:var(--kendo-spacing--3\.5, -0.875rem)}.\!k-mx--3\.5{margin-inline:var(--kendo-spacing--3\.5, -0.875rem) !important}.k-mx--4{margin-inline:var(--kendo-spacing--4, -1rem)}.\!k-mx--4{margin-inline:var(--kendo-spacing--4, -1rem) !important}.k-mx--4\.5{margin-inline:var(--kendo-spacing--4\.5, -1.125rem)}.\!k-mx--4\.5{margin-inline:var(--kendo-spacing--4\.5, -1.125rem) !important}.k-mx--5{margin-inline:var(--kendo-spacing--5, -1.25rem)}.\!k-mx--5{margin-inline:var(--kendo-spacing--5, -1.25rem) !important}.k-mx--5\.5{margin-inline:var(--kendo-spacing--5\.5, -1.375rem)}.\!k-mx--5\.5{margin-inline:var(--kendo-spacing--5\.5, -1.375rem) !important}.k-mx--6{margin-inline:var(--kendo-spacing--6, -1.5rem)}.\!k-mx--6{margin-inline:var(--kendo-spacing--6, -1.5rem) !important}.k-mx--6\.5{margin-inline:var(--kendo-spacing--6\.5, -1.625rem)}.\!k-mx--6\.5{margin-inline:var(--kendo-spacing--6\.5, -1.625rem) !important}.k-mx--7{margin-inline:var(--kendo-spacing--7, -1.75rem)}.\!k-mx--7{margin-inline:var(--kendo-spacing--7, -1.75rem) !important}.k-mx--7\.5{margin-inline:var(--kendo-spacing--7\.5, -1.875rem)}.\!k-mx--7\.5{margin-inline:var(--kendo-spacing--7\.5, -1.875rem) !important}.k-mx--8{margin-inline:var(--kendo-spacing--8, -2rem)}.\!k-mx--8{margin-inline:var(--kendo-spacing--8, -2rem) !important}.k-mx--9{margin-inline:var(--kendo-spacing--9, -2.25rem)}.\!k-mx--9{margin-inline:var(--kendo-spacing--9, -2.25rem) !important}.k-mx--10{margin-inline:var(--kendo-spacing--10, -2.5rem)}.\!k-mx--10{margin-inline:var(--kendo-spacing--10, -2.5rem) !important}.k-mx--11{margin-inline:var(--kendo-spacing--11, -2.75rem)}.\!k-mx--11{margin-inline:var(--kendo-spacing--11, -2.75rem) !important}.k-mx--12{margin-inline:var(--kendo-spacing--12, -3rem)}.\!k-mx--12{margin-inline:var(--kendo-spacing--12, -3rem) !important}.k-mx--13{margin-inline:var(--kendo-spacing--13, -3.25rem)}.\!k-mx--13{margin-inline:var(--kendo-spacing--13, -3.25rem) !important}.k-mx--14{margin-inline:var(--kendo-spacing--14, -3.5rem)}.\!k-mx--14{margin-inline:var(--kendo-spacing--14, -3.5rem) !important}.k-mx--15{margin-inline:var(--kendo-spacing--15, -3.75rem)}.\!k-mx--15{margin-inline:var(--kendo-spacing--15, -3.75rem) !important}.k-mx--16{margin-inline:var(--kendo-spacing--16, -4rem)}.\!k-mx--16{margin-inline:var(--kendo-spacing--16, -4rem) !important}.k-mx--17{margin-inline:var(--kendo-spacing--17, -4.25rem)}.\!k-mx--17{margin-inline:var(--kendo-spacing--17, -4.25rem) !important}.k-mx--18{margin-inline:var(--kendo-spacing--18, -4.5rem)}.\!k-mx--18{margin-inline:var(--kendo-spacing--18, -4.5rem) !important}.k-mx--19{margin-inline:var(--kendo-spacing--19, -4.75rem)}.\!k-mx--19{margin-inline:var(--kendo-spacing--19, -4.75rem) !important}.k-mx--20{margin-inline:var(--kendo-spacing--20, -5rem)}.\!k-mx--20{margin-inline:var(--kendo-spacing--20, -5rem) !important}.k-mx--21{margin-inline:var(--kendo-spacing--21, -5.25rem)}.\!k-mx--21{margin-inline:var(--kendo-spacing--21, -5.25rem) !important}.k-mx--22{margin-inline:var(--kendo-spacing--22, -5.5rem)}.\!k-mx--22{margin-inline:var(--kendo-spacing--22, -5.5rem) !important}.k-mx--23{margin-inline:var(--kendo-spacing--23, -5.75rem)}.\!k-mx--23{margin-inline:var(--kendo-spacing--23, -5.75rem) !important}.k-mx--24{margin-inline:var(--kendo-spacing--24, -6rem)}.\!k-mx--24{margin-inline:var(--kendo-spacing--24, -6rem) !important}.k-mx--25{margin-inline:var(--kendo-spacing--25, -7rem)}.\!k-mx--25{margin-inline:var(--kendo-spacing--25, -7rem) !important}.k-mx--26{margin-inline:var(--kendo-spacing--26, -8rem)}.\!k-mx--26{margin-inline:var(--kendo-spacing--26, -8rem) !important}.k-mx--27{margin-inline:var(--kendo-spacing--27, -9rem)}.\!k-mx--27{margin-inline:var(--kendo-spacing--27, -9rem) !important}.k-mx--28{margin-inline:var(--kendo-spacing--28, -10rem)}.\!k-mx--28{margin-inline:var(--kendo-spacing--28, -10rem) !important}.k-mx--29{margin-inline:var(--kendo-spacing--29, -11rem)}.\!k-mx--29{margin-inline:var(--kendo-spacing--29, -11rem) !important}.k-mx--30{margin-inline:var(--kendo-spacing--30, -12rem)}.\!k-mx--30{margin-inline:var(--kendo-spacing--30, -12rem) !important}.k-mx-xs{margin-inline:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-mx-xs{margin-inline:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-mx-sm{margin-inline:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-mx-sm{margin-inline:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-mx-md{margin-inline:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-mx-md{margin-inline:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-mx-lg{margin-inline:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-mx-lg{margin-inline:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-mx-xl{margin-inline:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-mx-xl{margin-inline:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-mx-thin{margin-inline:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-mx-thin{margin-inline:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-mx-hair{margin-inline:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-mx-hair{margin-inline:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-mx-auto{margin-inline:var(--kendo-spacing-auto, auto)}.\!k-mx-auto{margin-inline:var(--kendo-spacing-auto, auto) !important}.k-my-0{margin-block:var(--kendo-spacing-0, 0px)}.\!k-my-0{margin-block:var(--kendo-spacing-0, 0px) !important}.k-my-1px{margin-block:var(--kendo-spacing-1px, 1px)}.\!k-my-1px{margin-block:var(--kendo-spacing-1px, 1px) !important}.k-my-0\.5{margin-block:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-my-0\.5{margin-block:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-my-1{margin-block:var(--kendo-spacing-1, 0.25rem)}.\!k-my-1{margin-block:var(--kendo-spacing-1, 0.25rem) !important}.k-my-1\.5{margin-block:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-my-1\.5{margin-block:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-my-2{margin-block:var(--kendo-spacing-2, 0.5rem)}.\!k-my-2{margin-block:var(--kendo-spacing-2, 0.5rem) !important}.k-my-2\.5{margin-block:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-my-2\.5{margin-block:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-my-3{margin-block:var(--kendo-spacing-3, 0.75rem)}.\!k-my-3{margin-block:var(--kendo-spacing-3, 0.75rem) !important}.k-my-3\.5{margin-block:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-my-3\.5{margin-block:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-my-4{margin-block:var(--kendo-spacing-4, 1rem)}.\!k-my-4{margin-block:var(--kendo-spacing-4, 1rem) !important}.k-my-4\.5{margin-block:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-my-4\.5{margin-block:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-my-5{margin-block:var(--kendo-spacing-5, 1.25rem)}.\!k-my-5{margin-block:var(--kendo-spacing-5, 1.25rem) !important}.k-my-5\.5{margin-block:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-my-5\.5{margin-block:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-my-6{margin-block:var(--kendo-spacing-6, 1.5rem)}.\!k-my-6{margin-block:var(--kendo-spacing-6, 1.5rem) !important}.k-my-6\.5{margin-block:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-my-6\.5{margin-block:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-my-7{margin-block:var(--kendo-spacing-7, 1.75rem)}.\!k-my-7{margin-block:var(--kendo-spacing-7, 1.75rem) !important}.k-my-7\.5{margin-block:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-my-7\.5{margin-block:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-my-8{margin-block:var(--kendo-spacing-8, 2rem)}.\!k-my-8{margin-block:var(--kendo-spacing-8, 2rem) !important}.k-my-9{margin-block:var(--kendo-spacing-9, 2.25rem)}.\!k-my-9{margin-block:var(--kendo-spacing-9, 2.25rem) !important}.k-my-10{margin-block:var(--kendo-spacing-10, 2.5rem)}.\!k-my-10{margin-block:var(--kendo-spacing-10, 2.5rem) !important}.k-my-11{margin-block:var(--kendo-spacing-11, 2.75rem)}.\!k-my-11{margin-block:var(--kendo-spacing-11, 2.75rem) !important}.k-my-12{margin-block:var(--kendo-spacing-12, 3rem)}.\!k-my-12{margin-block:var(--kendo-spacing-12, 3rem) !important}.k-my-13{margin-block:var(--kendo-spacing-13, 3.25rem)}.\!k-my-13{margin-block:var(--kendo-spacing-13, 3.25rem) !important}.k-my-14{margin-block:var(--kendo-spacing-14, 3.5rem)}.\!k-my-14{margin-block:var(--kendo-spacing-14, 3.5rem) !important}.k-my-15{margin-block:var(--kendo-spacing-15, 3.75rem)}.\!k-my-15{margin-block:var(--kendo-spacing-15, 3.75rem) !important}.k-my-16{margin-block:var(--kendo-spacing-16, 4rem)}.\!k-my-16{margin-block:var(--kendo-spacing-16, 4rem) !important}.k-my-17{margin-block:var(--kendo-spacing-17, 4.25rem)}.\!k-my-17{margin-block:var(--kendo-spacing-17, 4.25rem) !important}.k-my-18{margin-block:var(--kendo-spacing-18, 4.5rem)}.\!k-my-18{margin-block:var(--kendo-spacing-18, 4.5rem) !important}.k-my-19{margin-block:var(--kendo-spacing-19, 4.75rem)}.\!k-my-19{margin-block:var(--kendo-spacing-19, 4.75rem) !important}.k-my-20{margin-block:var(--kendo-spacing-20, 5rem)}.\!k-my-20{margin-block:var(--kendo-spacing-20, 5rem) !important}.k-my-21{margin-block:var(--kendo-spacing-21, 5.25rem)}.\!k-my-21{margin-block:var(--kendo-spacing-21, 5.25rem) !important}.k-my-22{margin-block:var(--kendo-spacing-22, 5.5rem)}.\!k-my-22{margin-block:var(--kendo-spacing-22, 5.5rem) !important}.k-my-23{margin-block:var(--kendo-spacing-23, 5.75rem)}.\!k-my-23{margin-block:var(--kendo-spacing-23, 5.75rem) !important}.k-my-24{margin-block:var(--kendo-spacing-24, 6rem)}.\!k-my-24{margin-block:var(--kendo-spacing-24, 6rem) !important}.k-my-25{margin-block:var(--kendo-spacing-25, 7rem)}.\!k-my-25{margin-block:var(--kendo-spacing-25, 7rem) !important}.k-my-26{margin-block:var(--kendo-spacing-26, 8rem)}.\!k-my-26{margin-block:var(--kendo-spacing-26, 8rem) !important}.k-my-27{margin-block:var(--kendo-spacing-27, 9rem)}.\!k-my-27{margin-block:var(--kendo-spacing-27, 9rem) !important}.k-my-28{margin-block:var(--kendo-spacing-28, 10rem)}.\!k-my-28{margin-block:var(--kendo-spacing-28, 10rem) !important}.k-my-29{margin-block:var(--kendo-spacing-29, 11rem)}.\!k-my-29{margin-block:var(--kendo-spacing-29, 11rem) !important}.k-my-30{margin-block:var(--kendo-spacing-30, 12rem)}.\!k-my-30{margin-block:var(--kendo-spacing-30, 12rem) !important}.k-my--0{margin-block:var(--kendo-spacing--0, 0px)}.\!k-my--0{margin-block:var(--kendo-spacing--0, 0px) !important}.k-my--1px{margin-block:var(--kendo-spacing--1px, -1px)}.\!k-my--1px{margin-block:var(--kendo-spacing--1px, -1px) !important}.k-my--0\.5{margin-block:var(--kendo-spacing--0\.5, -0.125rem)}.\!k-my--0\.5{margin-block:var(--kendo-spacing--0\.5, -0.125rem) !important}.k-my--1{margin-block:var(--kendo-spacing--1, -0.25rem)}.\!k-my--1{margin-block:var(--kendo-spacing--1, -0.25rem) !important}.k-my--1\.5{margin-block:var(--kendo-spacing--1\.5, -0.375rem)}.\!k-my--1\.5{margin-block:var(--kendo-spacing--1\.5, -0.375rem) !important}.k-my--2{margin-block:var(--kendo-spacing--2, -0.5rem)}.\!k-my--2{margin-block:var(--kendo-spacing--2, -0.5rem) !important}.k-my--2\.5{margin-block:var(--kendo-spacing--2\.5, -0.625rem)}.\!k-my--2\.5{margin-block:var(--kendo-spacing--2\.5, -0.625rem) !important}.k-my--3{margin-block:var(--kendo-spacing--3, -0.75rem)}.\!k-my--3{margin-block:var(--kendo-spacing--3, -0.75rem) !important}.k-my--3\.5{margin-block:var(--kendo-spacing--3\.5, -0.875rem)}.\!k-my--3\.5{margin-block:var(--kendo-spacing--3\.5, -0.875rem) !important}.k-my--4{margin-block:var(--kendo-spacing--4, -1rem)}.\!k-my--4{margin-block:var(--kendo-spacing--4, -1rem) !important}.k-my--4\.5{margin-block:var(--kendo-spacing--4\.5, -1.125rem)}.\!k-my--4\.5{margin-block:var(--kendo-spacing--4\.5, -1.125rem) !important}.k-my--5{margin-block:var(--kendo-spacing--5, -1.25rem)}.\!k-my--5{margin-block:var(--kendo-spacing--5, -1.25rem) !important}.k-my--5\.5{margin-block:var(--kendo-spacing--5\.5, -1.375rem)}.\!k-my--5\.5{margin-block:var(--kendo-spacing--5\.5, -1.375rem) !important}.k-my--6{margin-block:var(--kendo-spacing--6, -1.5rem)}.\!k-my--6{margin-block:var(--kendo-spacing--6, -1.5rem) !important}.k-my--6\.5{margin-block:var(--kendo-spacing--6\.5, -1.625rem)}.\!k-my--6\.5{margin-block:var(--kendo-spacing--6\.5, -1.625rem) !important}.k-my--7{margin-block:var(--kendo-spacing--7, -1.75rem)}.\!k-my--7{margin-block:var(--kendo-spacing--7, -1.75rem) !important}.k-my--7\.5{margin-block:var(--kendo-spacing--7\.5, -1.875rem)}.\!k-my--7\.5{margin-block:var(--kendo-spacing--7\.5, -1.875rem) !important}.k-my--8{margin-block:var(--kendo-spacing--8, -2rem)}.\!k-my--8{margin-block:var(--kendo-spacing--8, -2rem) !important}.k-my--9{margin-block:var(--kendo-spacing--9, -2.25rem)}.\!k-my--9{margin-block:var(--kendo-spacing--9, -2.25rem) !important}.k-my--10{margin-block:var(--kendo-spacing--10, -2.5rem)}.\!k-my--10{margin-block:var(--kendo-spacing--10, -2.5rem) !important}.k-my--11{margin-block:var(--kendo-spacing--11, -2.75rem)}.\!k-my--11{margin-block:var(--kendo-spacing--11, -2.75rem) !important}.k-my--12{margin-block:var(--kendo-spacing--12, -3rem)}.\!k-my--12{margin-block:var(--kendo-spacing--12, -3rem) !important}.k-my--13{margin-block:var(--kendo-spacing--13, -3.25rem)}.\!k-my--13{margin-block:var(--kendo-spacing--13, -3.25rem) !important}.k-my--14{margin-block:var(--kendo-spacing--14, -3.5rem)}.\!k-my--14{margin-block:var(--kendo-spacing--14, -3.5rem) !important}.k-my--15{margin-block:var(--kendo-spacing--15, -3.75rem)}.\!k-my--15{margin-block:var(--kendo-spacing--15, -3.75rem) !important}.k-my--16{margin-block:var(--kendo-spacing--16, -4rem)}.\!k-my--16{margin-block:var(--kendo-spacing--16, -4rem) !important}.k-my--17{margin-block:var(--kendo-spacing--17, -4.25rem)}.\!k-my--17{margin-block:var(--kendo-spacing--17, -4.25rem) !important}.k-my--18{margin-block:var(--kendo-spacing--18, -4.5rem)}.\!k-my--18{margin-block:var(--kendo-spacing--18, -4.5rem) !important}.k-my--19{margin-block:var(--kendo-spacing--19, -4.75rem)}.\!k-my--19{margin-block:var(--kendo-spacing--19, -4.75rem) !important}.k-my--20{margin-block:var(--kendo-spacing--20, -5rem)}.\!k-my--20{margin-block:var(--kendo-spacing--20, -5rem) !important}.k-my--21{margin-block:var(--kendo-spacing--21, -5.25rem)}.\!k-my--21{margin-block:var(--kendo-spacing--21, -5.25rem) !important}.k-my--22{margin-block:var(--kendo-spacing--22, -5.5rem)}.\!k-my--22{margin-block:var(--kendo-spacing--22, -5.5rem) !important}.k-my--23{margin-block:var(--kendo-spacing--23, -5.75rem)}.\!k-my--23{margin-block:var(--kendo-spacing--23, -5.75rem) !important}.k-my--24{margin-block:var(--kendo-spacing--24, -6rem)}.\!k-my--24{margin-block:var(--kendo-spacing--24, -6rem) !important}.k-my--25{margin-block:var(--kendo-spacing--25, -7rem)}.\!k-my--25{margin-block:var(--kendo-spacing--25, -7rem) !important}.k-my--26{margin-block:var(--kendo-spacing--26, -8rem)}.\!k-my--26{margin-block:var(--kendo-spacing--26, -8rem) !important}.k-my--27{margin-block:var(--kendo-spacing--27, -9rem)}.\!k-my--27{margin-block:var(--kendo-spacing--27, -9rem) !important}.k-my--28{margin-block:var(--kendo-spacing--28, -10rem)}.\!k-my--28{margin-block:var(--kendo-spacing--28, -10rem) !important}.k-my--29{margin-block:var(--kendo-spacing--29, -11rem)}.\!k-my--29{margin-block:var(--kendo-spacing--29, -11rem) !important}.k-my--30{margin-block:var(--kendo-spacing--30, -12rem)}.\!k-my--30{margin-block:var(--kendo-spacing--30, -12rem) !important}.k-my-xs{margin-block:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-my-xs{margin-block:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-my-sm{margin-block:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-my-sm{margin-block:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-my-md{margin-block:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-my-md{margin-block:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-my-lg{margin-block:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-my-lg{margin-block:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-my-xl{margin-block:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-my-xl{margin-block:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-my-thin{margin-block:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-my-thin{margin-block:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-my-hair{margin-block:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-my-hair{margin-block:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-my-auto{margin-block:var(--kendo-spacing-auto, auto)}.\!k-my-auto{margin-block:var(--kendo-spacing-auto, auto) !important}.k-p-0{padding:var(--kendo-spacing-0, 0px)}.\!k-p-0{padding:var(--kendo-spacing-0, 0px) !important}.k-p-1px{padding:var(--kendo-spacing-1px, 1px)}.\!k-p-1px{padding:var(--kendo-spacing-1px, 1px) !important}.k-p-0\.5{padding:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-p-0\.5{padding:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-p-1{padding:var(--kendo-spacing-1, 0.25rem)}.\!k-p-1{padding:var(--kendo-spacing-1, 0.25rem) !important}.k-p-1\.5{padding:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-p-1\.5{padding:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-p-2{padding:var(--kendo-spacing-2, 0.5rem)}.\!k-p-2{padding:var(--kendo-spacing-2, 0.5rem) !important}.k-p-2\.5{padding:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-p-2\.5{padding:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-p-3{padding:var(--kendo-spacing-3, 0.75rem)}.\!k-p-3{padding:var(--kendo-spacing-3, 0.75rem) !important}.k-p-3\.5{padding:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-p-3\.5{padding:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-p-4{padding:var(--kendo-spacing-4, 1rem)}.\!k-p-4{padding:var(--kendo-spacing-4, 1rem) !important}.k-p-4\.5{padding:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-p-4\.5{padding:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-p-5{padding:var(--kendo-spacing-5, 1.25rem)}.\!k-p-5{padding:var(--kendo-spacing-5, 1.25rem) !important}.k-p-5\.5{padding:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-p-5\.5{padding:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-p-6{padding:var(--kendo-spacing-6, 1.5rem)}.\!k-p-6{padding:var(--kendo-spacing-6, 1.5rem) !important}.k-p-6\.5{padding:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-p-6\.5{padding:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-p-7{padding:var(--kendo-spacing-7, 1.75rem)}.\!k-p-7{padding:var(--kendo-spacing-7, 1.75rem) !important}.k-p-7\.5{padding:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-p-7\.5{padding:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-p-8{padding:var(--kendo-spacing-8, 2rem)}.\!k-p-8{padding:var(--kendo-spacing-8, 2rem) !important}.k-p-9{padding:var(--kendo-spacing-9, 2.25rem)}.\!k-p-9{padding:var(--kendo-spacing-9, 2.25rem) !important}.k-p-10{padding:var(--kendo-spacing-10, 2.5rem)}.\!k-p-10{padding:var(--kendo-spacing-10, 2.5rem) !important}.k-p-11{padding:var(--kendo-spacing-11, 2.75rem)}.\!k-p-11{padding:var(--kendo-spacing-11, 2.75rem) !important}.k-p-12{padding:var(--kendo-spacing-12, 3rem)}.\!k-p-12{padding:var(--kendo-spacing-12, 3rem) !important}.k-p-13{padding:var(--kendo-spacing-13, 3.25rem)}.\!k-p-13{padding:var(--kendo-spacing-13, 3.25rem) !important}.k-p-14{padding:var(--kendo-spacing-14, 3.5rem)}.\!k-p-14{padding:var(--kendo-spacing-14, 3.5rem) !important}.k-p-15{padding:var(--kendo-spacing-15, 3.75rem)}.\!k-p-15{padding:var(--kendo-spacing-15, 3.75rem) !important}.k-p-16{padding:var(--kendo-spacing-16, 4rem)}.\!k-p-16{padding:var(--kendo-spacing-16, 4rem) !important}.k-p-17{padding:var(--kendo-spacing-17, 4.25rem)}.\!k-p-17{padding:var(--kendo-spacing-17, 4.25rem) !important}.k-p-18{padding:var(--kendo-spacing-18, 4.5rem)}.\!k-p-18{padding:var(--kendo-spacing-18, 4.5rem) !important}.k-p-19{padding:var(--kendo-spacing-19, 4.75rem)}.\!k-p-19{padding:var(--kendo-spacing-19, 4.75rem) !important}.k-p-20{padding:var(--kendo-spacing-20, 5rem)}.\!k-p-20{padding:var(--kendo-spacing-20, 5rem) !important}.k-p-21{padding:var(--kendo-spacing-21, 5.25rem)}.\!k-p-21{padding:var(--kendo-spacing-21, 5.25rem) !important}.k-p-22{padding:var(--kendo-spacing-22, 5.5rem)}.\!k-p-22{padding:var(--kendo-spacing-22, 5.5rem) !important}.k-p-23{padding:var(--kendo-spacing-23, 5.75rem)}.\!k-p-23{padding:var(--kendo-spacing-23, 5.75rem) !important}.k-p-24{padding:var(--kendo-spacing-24, 6rem)}.\!k-p-24{padding:var(--kendo-spacing-24, 6rem) !important}.k-p-25{padding:var(--kendo-spacing-25, 7rem)}.\!k-p-25{padding:var(--kendo-spacing-25, 7rem) !important}.k-p-26{padding:var(--kendo-spacing-26, 8rem)}.\!k-p-26{padding:var(--kendo-spacing-26, 8rem) !important}.k-p-27{padding:var(--kendo-spacing-27, 9rem)}.\!k-p-27{padding:var(--kendo-spacing-27, 9rem) !important}.k-p-28{padding:var(--kendo-spacing-28, 10rem)}.\!k-p-28{padding:var(--kendo-spacing-28, 10rem) !important}.k-p-29{padding:var(--kendo-spacing-29, 11rem)}.\!k-p-29{padding:var(--kendo-spacing-29, 11rem) !important}.k-p-30{padding:var(--kendo-spacing-30, 12rem)}.\!k-p-30{padding:var(--kendo-spacing-30, 12rem) !important}.k-p-xs{padding:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-p-xs{padding:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-p-sm{padding:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-p-sm{padding:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-p-md{padding:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-p-md{padding:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-p-lg{padding:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-p-lg{padding:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-p-xl{padding:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-p-xl{padding:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-p-thin{padding:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-p-thin{padding:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-p-hair{padding:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-p-hair{padding:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-pt-0{padding-top:var(--kendo-spacing-0, 0px)}.\!k-pt-0{padding-top:var(--kendo-spacing-0, 0px) !important}.k-pt-1px{padding-top:var(--kendo-spacing-1px, 1px)}.\!k-pt-1px{padding-top:var(--kendo-spacing-1px, 1px) !important}.k-pt-0\.5{padding-top:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-pt-0\.5{padding-top:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-pt-1{padding-top:var(--kendo-spacing-1, 0.25rem)}.\!k-pt-1{padding-top:var(--kendo-spacing-1, 0.25rem) !important}.k-pt-1\.5{padding-top:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-pt-1\.5{padding-top:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-pt-2{padding-top:var(--kendo-spacing-2, 0.5rem)}.\!k-pt-2{padding-top:var(--kendo-spacing-2, 0.5rem) !important}.k-pt-2\.5{padding-top:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-pt-2\.5{padding-top:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-pt-3{padding-top:var(--kendo-spacing-3, 0.75rem)}.\!k-pt-3{padding-top:var(--kendo-spacing-3, 0.75rem) !important}.k-pt-3\.5{padding-top:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-pt-3\.5{padding-top:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-pt-4{padding-top:var(--kendo-spacing-4, 1rem)}.\!k-pt-4{padding-top:var(--kendo-spacing-4, 1rem) !important}.k-pt-4\.5{padding-top:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-pt-4\.5{padding-top:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-pt-5{padding-top:var(--kendo-spacing-5, 1.25rem)}.\!k-pt-5{padding-top:var(--kendo-spacing-5, 1.25rem) !important}.k-pt-5\.5{padding-top:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-pt-5\.5{padding-top:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-pt-6{padding-top:var(--kendo-spacing-6, 1.5rem)}.\!k-pt-6{padding-top:var(--kendo-spacing-6, 1.5rem) !important}.k-pt-6\.5{padding-top:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-pt-6\.5{padding-top:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-pt-7{padding-top:var(--kendo-spacing-7, 1.75rem)}.\!k-pt-7{padding-top:var(--kendo-spacing-7, 1.75rem) !important}.k-pt-7\.5{padding-top:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-pt-7\.5{padding-top:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-pt-8{padding-top:var(--kendo-spacing-8, 2rem)}.\!k-pt-8{padding-top:var(--kendo-spacing-8, 2rem) !important}.k-pt-9{padding-top:var(--kendo-spacing-9, 2.25rem)}.\!k-pt-9{padding-top:var(--kendo-spacing-9, 2.25rem) !important}.k-pt-10{padding-top:var(--kendo-spacing-10, 2.5rem)}.\!k-pt-10{padding-top:var(--kendo-spacing-10, 2.5rem) !important}.k-pt-11{padding-top:var(--kendo-spacing-11, 2.75rem)}.\!k-pt-11{padding-top:var(--kendo-spacing-11, 2.75rem) !important}.k-pt-12{padding-top:var(--kendo-spacing-12, 3rem)}.\!k-pt-12{padding-top:var(--kendo-spacing-12, 3rem) !important}.k-pt-13{padding-top:var(--kendo-spacing-13, 3.25rem)}.\!k-pt-13{padding-top:var(--kendo-spacing-13, 3.25rem) !important}.k-pt-14{padding-top:var(--kendo-spacing-14, 3.5rem)}.\!k-pt-14{padding-top:var(--kendo-spacing-14, 3.5rem) !important}.k-pt-15{padding-top:var(--kendo-spacing-15, 3.75rem)}.\!k-pt-15{padding-top:var(--kendo-spacing-15, 3.75rem) !important}.k-pt-16{padding-top:var(--kendo-spacing-16, 4rem)}.\!k-pt-16{padding-top:var(--kendo-spacing-16, 4rem) !important}.k-pt-17{padding-top:var(--kendo-spacing-17, 4.25rem)}.\!k-pt-17{padding-top:var(--kendo-spacing-17, 4.25rem) !important}.k-pt-18{padding-top:var(--kendo-spacing-18, 4.5rem)}.\!k-pt-18{padding-top:var(--kendo-spacing-18, 4.5rem) !important}.k-pt-19{padding-top:var(--kendo-spacing-19, 4.75rem)}.\!k-pt-19{padding-top:var(--kendo-spacing-19, 4.75rem) !important}.k-pt-20{padding-top:var(--kendo-spacing-20, 5rem)}.\!k-pt-20{padding-top:var(--kendo-spacing-20, 5rem) !important}.k-pt-21{padding-top:var(--kendo-spacing-21, 5.25rem)}.\!k-pt-21{padding-top:var(--kendo-spacing-21, 5.25rem) !important}.k-pt-22{padding-top:var(--kendo-spacing-22, 5.5rem)}.\!k-pt-22{padding-top:var(--kendo-spacing-22, 5.5rem) !important}.k-pt-23{padding-top:var(--kendo-spacing-23, 5.75rem)}.\!k-pt-23{padding-top:var(--kendo-spacing-23, 5.75rem) !important}.k-pt-24{padding-top:var(--kendo-spacing-24, 6rem)}.\!k-pt-24{padding-top:var(--kendo-spacing-24, 6rem) !important}.k-pt-25{padding-top:var(--kendo-spacing-25, 7rem)}.\!k-pt-25{padding-top:var(--kendo-spacing-25, 7rem) !important}.k-pt-26{padding-top:var(--kendo-spacing-26, 8rem)}.\!k-pt-26{padding-top:var(--kendo-spacing-26, 8rem) !important}.k-pt-27{padding-top:var(--kendo-spacing-27, 9rem)}.\!k-pt-27{padding-top:var(--kendo-spacing-27, 9rem) !important}.k-pt-28{padding-top:var(--kendo-spacing-28, 10rem)}.\!k-pt-28{padding-top:var(--kendo-spacing-28, 10rem) !important}.k-pt-29{padding-top:var(--kendo-spacing-29, 11rem)}.\!k-pt-29{padding-top:var(--kendo-spacing-29, 11rem) !important}.k-pt-30{padding-top:var(--kendo-spacing-30, 12rem)}.\!k-pt-30{padding-top:var(--kendo-spacing-30, 12rem) !important}.k-pt-xs{padding-top:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-pt-xs{padding-top:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-pt-sm{padding-top:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-pt-sm{padding-top:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-pt-md{padding-top:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-pt-md{padding-top:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-pt-lg{padding-top:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-pt-lg{padding-top:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-pt-xl{padding-top:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-pt-xl{padding-top:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-pt-thin{padding-top:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-pt-thin{padding-top:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-pt-hair{padding-top:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-pt-hair{padding-top:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-pr-0{padding-right:var(--kendo-spacing-0, 0px)}.\!k-pr-0{padding-right:var(--kendo-spacing-0, 0px) !important}.k-pr-1px{padding-right:var(--kendo-spacing-1px, 1px)}.\!k-pr-1px{padding-right:var(--kendo-spacing-1px, 1px) !important}.k-pr-0\.5{padding-right:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-pr-0\.5{padding-right:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-pr-1{padding-right:var(--kendo-spacing-1, 0.25rem)}.\!k-pr-1{padding-right:var(--kendo-spacing-1, 0.25rem) !important}.k-pr-1\.5{padding-right:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-pr-1\.5{padding-right:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-pr-2{padding-right:var(--kendo-spacing-2, 0.5rem)}.\!k-pr-2{padding-right:var(--kendo-spacing-2, 0.5rem) !important}.k-pr-2\.5{padding-right:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-pr-2\.5{padding-right:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-pr-3{padding-right:var(--kendo-spacing-3, 0.75rem)}.\!k-pr-3{padding-right:var(--kendo-spacing-3, 0.75rem) !important}.k-pr-3\.5{padding-right:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-pr-3\.5{padding-right:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-pr-4{padding-right:var(--kendo-spacing-4, 1rem)}.\!k-pr-4{padding-right:var(--kendo-spacing-4, 1rem) !important}.k-pr-4\.5{padding-right:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-pr-4\.5{padding-right:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-pr-5{padding-right:var(--kendo-spacing-5, 1.25rem)}.\!k-pr-5{padding-right:var(--kendo-spacing-5, 1.25rem) !important}.k-pr-5\.5{padding-right:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-pr-5\.5{padding-right:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-pr-6{padding-right:var(--kendo-spacing-6, 1.5rem)}.\!k-pr-6{padding-right:var(--kendo-spacing-6, 1.5rem) !important}.k-pr-6\.5{padding-right:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-pr-6\.5{padding-right:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-pr-7{padding-right:var(--kendo-spacing-7, 1.75rem)}.\!k-pr-7{padding-right:var(--kendo-spacing-7, 1.75rem) !important}.k-pr-7\.5{padding-right:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-pr-7\.5{padding-right:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-pr-8{padding-right:var(--kendo-spacing-8, 2rem)}.\!k-pr-8{padding-right:var(--kendo-spacing-8, 2rem) !important}.k-pr-9{padding-right:var(--kendo-spacing-9, 2.25rem)}.\!k-pr-9{padding-right:var(--kendo-spacing-9, 2.25rem) !important}.k-pr-10{padding-right:var(--kendo-spacing-10, 2.5rem)}.\!k-pr-10{padding-right:var(--kendo-spacing-10, 2.5rem) !important}.k-pr-11{padding-right:var(--kendo-spacing-11, 2.75rem)}.\!k-pr-11{padding-right:var(--kendo-spacing-11, 2.75rem) !important}.k-pr-12{padding-right:var(--kendo-spacing-12, 3rem)}.\!k-pr-12{padding-right:var(--kendo-spacing-12, 3rem) !important}.k-pr-13{padding-right:var(--kendo-spacing-13, 3.25rem)}.\!k-pr-13{padding-right:var(--kendo-spacing-13, 3.25rem) !important}.k-pr-14{padding-right:var(--kendo-spacing-14, 3.5rem)}.\!k-pr-14{padding-right:var(--kendo-spacing-14, 3.5rem) !important}.k-pr-15{padding-right:var(--kendo-spacing-15, 3.75rem)}.\!k-pr-15{padding-right:var(--kendo-spacing-15, 3.75rem) !important}.k-pr-16{padding-right:var(--kendo-spacing-16, 4rem)}.\!k-pr-16{padding-right:var(--kendo-spacing-16, 4rem) !important}.k-pr-17{padding-right:var(--kendo-spacing-17, 4.25rem)}.\!k-pr-17{padding-right:var(--kendo-spacing-17, 4.25rem) !important}.k-pr-18{padding-right:var(--kendo-spacing-18, 4.5rem)}.\!k-pr-18{padding-right:var(--kendo-spacing-18, 4.5rem) !important}.k-pr-19{padding-right:var(--kendo-spacing-19, 4.75rem)}.\!k-pr-19{padding-right:var(--kendo-spacing-19, 4.75rem) !important}.k-pr-20{padding-right:var(--kendo-spacing-20, 5rem)}.\!k-pr-20{padding-right:var(--kendo-spacing-20, 5rem) !important}.k-pr-21{padding-right:var(--kendo-spacing-21, 5.25rem)}.\!k-pr-21{padding-right:var(--kendo-spacing-21, 5.25rem) !important}.k-pr-22{padding-right:var(--kendo-spacing-22, 5.5rem)}.\!k-pr-22{padding-right:var(--kendo-spacing-22, 5.5rem) !important}.k-pr-23{padding-right:var(--kendo-spacing-23, 5.75rem)}.\!k-pr-23{padding-right:var(--kendo-spacing-23, 5.75rem) !important}.k-pr-24{padding-right:var(--kendo-spacing-24, 6rem)}.\!k-pr-24{padding-right:var(--kendo-spacing-24, 6rem) !important}.k-pr-25{padding-right:var(--kendo-spacing-25, 7rem)}.\!k-pr-25{padding-right:var(--kendo-spacing-25, 7rem) !important}.k-pr-26{padding-right:var(--kendo-spacing-26, 8rem)}.\!k-pr-26{padding-right:var(--kendo-spacing-26, 8rem) !important}.k-pr-27{padding-right:var(--kendo-spacing-27, 9rem)}.\!k-pr-27{padding-right:var(--kendo-spacing-27, 9rem) !important}.k-pr-28{padding-right:var(--kendo-spacing-28, 10rem)}.\!k-pr-28{padding-right:var(--kendo-spacing-28, 10rem) !important}.k-pr-29{padding-right:var(--kendo-spacing-29, 11rem)}.\!k-pr-29{padding-right:var(--kendo-spacing-29, 11rem) !important}.k-pr-30{padding-right:var(--kendo-spacing-30, 12rem)}.\!k-pr-30{padding-right:var(--kendo-spacing-30, 12rem) !important}.k-pr-xs{padding-right:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-pr-xs{padding-right:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-pr-sm{padding-right:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-pr-sm{padding-right:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-pr-md{padding-right:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-pr-md{padding-right:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-pr-lg{padding-right:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-pr-lg{padding-right:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-pr-xl{padding-right:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-pr-xl{padding-right:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-pr-thin{padding-right:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-pr-thin{padding-right:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-pr-hair{padding-right:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-pr-hair{padding-right:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-pb-0{padding-bottom:var(--kendo-spacing-0, 0px)}.\!k-pb-0{padding-bottom:var(--kendo-spacing-0, 0px) !important}.k-pb-1px{padding-bottom:var(--kendo-spacing-1px, 1px)}.\!k-pb-1px{padding-bottom:var(--kendo-spacing-1px, 1px) !important}.k-pb-0\.5{padding-bottom:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-pb-0\.5{padding-bottom:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-pb-1{padding-bottom:var(--kendo-spacing-1, 0.25rem)}.\!k-pb-1{padding-bottom:var(--kendo-spacing-1, 0.25rem) !important}.k-pb-1\.5{padding-bottom:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-pb-1\.5{padding-bottom:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-pb-2{padding-bottom:var(--kendo-spacing-2, 0.5rem)}.\!k-pb-2{padding-bottom:var(--kendo-spacing-2, 0.5rem) !important}.k-pb-2\.5{padding-bottom:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-pb-2\.5{padding-bottom:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-pb-3{padding-bottom:var(--kendo-spacing-3, 0.75rem)}.\!k-pb-3{padding-bottom:var(--kendo-spacing-3, 0.75rem) !important}.k-pb-3\.5{padding-bottom:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-pb-3\.5{padding-bottom:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-pb-4{padding-bottom:var(--kendo-spacing-4, 1rem)}.\!k-pb-4{padding-bottom:var(--kendo-spacing-4, 1rem) !important}.k-pb-4\.5{padding-bottom:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-pb-4\.5{padding-bottom:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-pb-5{padding-bottom:var(--kendo-spacing-5, 1.25rem)}.\!k-pb-5{padding-bottom:var(--kendo-spacing-5, 1.25rem) !important}.k-pb-5\.5{padding-bottom:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-pb-5\.5{padding-bottom:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-pb-6{padding-bottom:var(--kendo-spacing-6, 1.5rem)}.\!k-pb-6{padding-bottom:var(--kendo-spacing-6, 1.5rem) !important}.k-pb-6\.5{padding-bottom:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-pb-6\.5{padding-bottom:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-pb-7{padding-bottom:var(--kendo-spacing-7, 1.75rem)}.\!k-pb-7{padding-bottom:var(--kendo-spacing-7, 1.75rem) !important}.k-pb-7\.5{padding-bottom:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-pb-7\.5{padding-bottom:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-pb-8{padding-bottom:var(--kendo-spacing-8, 2rem)}.\!k-pb-8{padding-bottom:var(--kendo-spacing-8, 2rem) !important}.k-pb-9{padding-bottom:var(--kendo-spacing-9, 2.25rem)}.\!k-pb-9{padding-bottom:var(--kendo-spacing-9, 2.25rem) !important}.k-pb-10{padding-bottom:var(--kendo-spacing-10, 2.5rem)}.\!k-pb-10{padding-bottom:var(--kendo-spacing-10, 2.5rem) !important}.k-pb-11{padding-bottom:var(--kendo-spacing-11, 2.75rem)}.\!k-pb-11{padding-bottom:var(--kendo-spacing-11, 2.75rem) !important}.k-pb-12{padding-bottom:var(--kendo-spacing-12, 3rem)}.\!k-pb-12{padding-bottom:var(--kendo-spacing-12, 3rem) !important}.k-pb-13{padding-bottom:var(--kendo-spacing-13, 3.25rem)}.\!k-pb-13{padding-bottom:var(--kendo-spacing-13, 3.25rem) !important}.k-pb-14{padding-bottom:var(--kendo-spacing-14, 3.5rem)}.\!k-pb-14{padding-bottom:var(--kendo-spacing-14, 3.5rem) !important}.k-pb-15{padding-bottom:var(--kendo-spacing-15, 3.75rem)}.\!k-pb-15{padding-bottom:var(--kendo-spacing-15, 3.75rem) !important}.k-pb-16{padding-bottom:var(--kendo-spacing-16, 4rem)}.\!k-pb-16{padding-bottom:var(--kendo-spacing-16, 4rem) !important}.k-pb-17{padding-bottom:var(--kendo-spacing-17, 4.25rem)}.\!k-pb-17{padding-bottom:var(--kendo-spacing-17, 4.25rem) !important}.k-pb-18{padding-bottom:var(--kendo-spacing-18, 4.5rem)}.\!k-pb-18{padding-bottom:var(--kendo-spacing-18, 4.5rem) !important}.k-pb-19{padding-bottom:var(--kendo-spacing-19, 4.75rem)}.\!k-pb-19{padding-bottom:var(--kendo-spacing-19, 4.75rem) !important}.k-pb-20{padding-bottom:var(--kendo-spacing-20, 5rem)}.\!k-pb-20{padding-bottom:var(--kendo-spacing-20, 5rem) !important}.k-pb-21{padding-bottom:var(--kendo-spacing-21, 5.25rem)}.\!k-pb-21{padding-bottom:var(--kendo-spacing-21, 5.25rem) !important}.k-pb-22{padding-bottom:var(--kendo-spacing-22, 5.5rem)}.\!k-pb-22{padding-bottom:var(--kendo-spacing-22, 5.5rem) !important}.k-pb-23{padding-bottom:var(--kendo-spacing-23, 5.75rem)}.\!k-pb-23{padding-bottom:var(--kendo-spacing-23, 5.75rem) !important}.k-pb-24{padding-bottom:var(--kendo-spacing-24, 6rem)}.\!k-pb-24{padding-bottom:var(--kendo-spacing-24, 6rem) !important}.k-pb-25{padding-bottom:var(--kendo-spacing-25, 7rem)}.\!k-pb-25{padding-bottom:var(--kendo-spacing-25, 7rem) !important}.k-pb-26{padding-bottom:var(--kendo-spacing-26, 8rem)}.\!k-pb-26{padding-bottom:var(--kendo-spacing-26, 8rem) !important}.k-pb-27{padding-bottom:var(--kendo-spacing-27, 9rem)}.\!k-pb-27{padding-bottom:var(--kendo-spacing-27, 9rem) !important}.k-pb-28{padding-bottom:var(--kendo-spacing-28, 10rem)}.\!k-pb-28{padding-bottom:var(--kendo-spacing-28, 10rem) !important}.k-pb-29{padding-bottom:var(--kendo-spacing-29, 11rem)}.\!k-pb-29{padding-bottom:var(--kendo-spacing-29, 11rem) !important}.k-pb-30{padding-bottom:var(--kendo-spacing-30, 12rem)}.\!k-pb-30{padding-bottom:var(--kendo-spacing-30, 12rem) !important}.k-pb-xs{padding-bottom:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-pb-xs{padding-bottom:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-pb-sm{padding-bottom:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-pb-sm{padding-bottom:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-pb-md{padding-bottom:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-pb-md{padding-bottom:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-pb-lg{padding-bottom:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-pb-lg{padding-bottom:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-pb-xl{padding-bottom:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-pb-xl{padding-bottom:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-pb-thin{padding-bottom:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-pb-thin{padding-bottom:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-pb-hair{padding-bottom:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-pb-hair{padding-bottom:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-pl-0{padding-left:var(--kendo-spacing-0, 0px)}.\!k-pl-0{padding-left:var(--kendo-spacing-0, 0px) !important}.k-pl-1px{padding-left:var(--kendo-spacing-1px, 1px)}.\!k-pl-1px{padding-left:var(--kendo-spacing-1px, 1px) !important}.k-pl-0\.5{padding-left:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-pl-0\.5{padding-left:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-pl-1{padding-left:var(--kendo-spacing-1, 0.25rem)}.\!k-pl-1{padding-left:var(--kendo-spacing-1, 0.25rem) !important}.k-pl-1\.5{padding-left:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-pl-1\.5{padding-left:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-pl-2{padding-left:var(--kendo-spacing-2, 0.5rem)}.\!k-pl-2{padding-left:var(--kendo-spacing-2, 0.5rem) !important}.k-pl-2\.5{padding-left:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-pl-2\.5{padding-left:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-pl-3{padding-left:var(--kendo-spacing-3, 0.75rem)}.\!k-pl-3{padding-left:var(--kendo-spacing-3, 0.75rem) !important}.k-pl-3\.5{padding-left:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-pl-3\.5{padding-left:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-pl-4{padding-left:var(--kendo-spacing-4, 1rem)}.\!k-pl-4{padding-left:var(--kendo-spacing-4, 1rem) !important}.k-pl-4\.5{padding-left:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-pl-4\.5{padding-left:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-pl-5{padding-left:var(--kendo-spacing-5, 1.25rem)}.\!k-pl-5{padding-left:var(--kendo-spacing-5, 1.25rem) !important}.k-pl-5\.5{padding-left:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-pl-5\.5{padding-left:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-pl-6{padding-left:var(--kendo-spacing-6, 1.5rem)}.\!k-pl-6{padding-left:var(--kendo-spacing-6, 1.5rem) !important}.k-pl-6\.5{padding-left:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-pl-6\.5{padding-left:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-pl-7{padding-left:var(--kendo-spacing-7, 1.75rem)}.\!k-pl-7{padding-left:var(--kendo-spacing-7, 1.75rem) !important}.k-pl-7\.5{padding-left:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-pl-7\.5{padding-left:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-pl-8{padding-left:var(--kendo-spacing-8, 2rem)}.\!k-pl-8{padding-left:var(--kendo-spacing-8, 2rem) !important}.k-pl-9{padding-left:var(--kendo-spacing-9, 2.25rem)}.\!k-pl-9{padding-left:var(--kendo-spacing-9, 2.25rem) !important}.k-pl-10{padding-left:var(--kendo-spacing-10, 2.5rem)}.\!k-pl-10{padding-left:var(--kendo-spacing-10, 2.5rem) !important}.k-pl-11{padding-left:var(--kendo-spacing-11, 2.75rem)}.\!k-pl-11{padding-left:var(--kendo-spacing-11, 2.75rem) !important}.k-pl-12{padding-left:var(--kendo-spacing-12, 3rem)}.\!k-pl-12{padding-left:var(--kendo-spacing-12, 3rem) !important}.k-pl-13{padding-left:var(--kendo-spacing-13, 3.25rem)}.\!k-pl-13{padding-left:var(--kendo-spacing-13, 3.25rem) !important}.k-pl-14{padding-left:var(--kendo-spacing-14, 3.5rem)}.\!k-pl-14{padding-left:var(--kendo-spacing-14, 3.5rem) !important}.k-pl-15{padding-left:var(--kendo-spacing-15, 3.75rem)}.\!k-pl-15{padding-left:var(--kendo-spacing-15, 3.75rem) !important}.k-pl-16{padding-left:var(--kendo-spacing-16, 4rem)}.\!k-pl-16{padding-left:var(--kendo-spacing-16, 4rem) !important}.k-pl-17{padding-left:var(--kendo-spacing-17, 4.25rem)}.\!k-pl-17{padding-left:var(--kendo-spacing-17, 4.25rem) !important}.k-pl-18{padding-left:var(--kendo-spacing-18, 4.5rem)}.\!k-pl-18{padding-left:var(--kendo-spacing-18, 4.5rem) !important}.k-pl-19{padding-left:var(--kendo-spacing-19, 4.75rem)}.\!k-pl-19{padding-left:var(--kendo-spacing-19, 4.75rem) !important}.k-pl-20{padding-left:var(--kendo-spacing-20, 5rem)}.\!k-pl-20{padding-left:var(--kendo-spacing-20, 5rem) !important}.k-pl-21{padding-left:var(--kendo-spacing-21, 5.25rem)}.\!k-pl-21{padding-left:var(--kendo-spacing-21, 5.25rem) !important}.k-pl-22{padding-left:var(--kendo-spacing-22, 5.5rem)}.\!k-pl-22{padding-left:var(--kendo-spacing-22, 5.5rem) !important}.k-pl-23{padding-left:var(--kendo-spacing-23, 5.75rem)}.\!k-pl-23{padding-left:var(--kendo-spacing-23, 5.75rem) !important}.k-pl-24{padding-left:var(--kendo-spacing-24, 6rem)}.\!k-pl-24{padding-left:var(--kendo-spacing-24, 6rem) !important}.k-pl-25{padding-left:var(--kendo-spacing-25, 7rem)}.\!k-pl-25{padding-left:var(--kendo-spacing-25, 7rem) !important}.k-pl-26{padding-left:var(--kendo-spacing-26, 8rem)}.\!k-pl-26{padding-left:var(--kendo-spacing-26, 8rem) !important}.k-pl-27{padding-left:var(--kendo-spacing-27, 9rem)}.\!k-pl-27{padding-left:var(--kendo-spacing-27, 9rem) !important}.k-pl-28{padding-left:var(--kendo-spacing-28, 10rem)}.\!k-pl-28{padding-left:var(--kendo-spacing-28, 10rem) !important}.k-pl-29{padding-left:var(--kendo-spacing-29, 11rem)}.\!k-pl-29{padding-left:var(--kendo-spacing-29, 11rem) !important}.k-pl-30{padding-left:var(--kendo-spacing-30, 12rem)}.\!k-pl-30{padding-left:var(--kendo-spacing-30, 12rem) !important}.k-pl-xs{padding-left:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-pl-xs{padding-left:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-pl-sm{padding-left:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-pl-sm{padding-left:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-pl-md{padding-left:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-pl-md{padding-left:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-pl-lg{padding-left:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-pl-lg{padding-left:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-pl-xl{padding-left:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-pl-xl{padding-left:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-pl-thin{padding-left:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-pl-thin{padding-left:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-pl-hair{padding-left:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-pl-hair{padding-left:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-px-0{padding-inline:var(--kendo-spacing-0, 0px)}.\!k-px-0{padding-inline:var(--kendo-spacing-0, 0px) !important}.k-px-1px{padding-inline:var(--kendo-spacing-1px, 1px)}.\!k-px-1px{padding-inline:var(--kendo-spacing-1px, 1px) !important}.k-px-0\.5{padding-inline:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-px-0\.5{padding-inline:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-px-1{padding-inline:var(--kendo-spacing-1, 0.25rem)}.\!k-px-1{padding-inline:var(--kendo-spacing-1, 0.25rem) !important}.k-px-1\.5{padding-inline:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-px-1\.5{padding-inline:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-px-2{padding-inline:var(--kendo-spacing-2, 0.5rem)}.\!k-px-2{padding-inline:var(--kendo-spacing-2, 0.5rem) !important}.k-px-2\.5{padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-px-2\.5{padding-inline:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-px-3{padding-inline:var(--kendo-spacing-3, 0.75rem)}.\!k-px-3{padding-inline:var(--kendo-spacing-3, 0.75rem) !important}.k-px-3\.5{padding-inline:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-px-3\.5{padding-inline:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-px-4{padding-inline:var(--kendo-spacing-4, 1rem)}.\!k-px-4{padding-inline:var(--kendo-spacing-4, 1rem) !important}.k-px-4\.5{padding-inline:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-px-4\.5{padding-inline:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-px-5{padding-inline:var(--kendo-spacing-5, 1.25rem)}.\!k-px-5{padding-inline:var(--kendo-spacing-5, 1.25rem) !important}.k-px-5\.5{padding-inline:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-px-5\.5{padding-inline:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-px-6{padding-inline:var(--kendo-spacing-6, 1.5rem)}.\!k-px-6{padding-inline:var(--kendo-spacing-6, 1.5rem) !important}.k-px-6\.5{padding-inline:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-px-6\.5{padding-inline:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-px-7{padding-inline:var(--kendo-spacing-7, 1.75rem)}.\!k-px-7{padding-inline:var(--kendo-spacing-7, 1.75rem) !important}.k-px-7\.5{padding-inline:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-px-7\.5{padding-inline:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-px-8{padding-inline:var(--kendo-spacing-8, 2rem)}.\!k-px-8{padding-inline:var(--kendo-spacing-8, 2rem) !important}.k-px-9{padding-inline:var(--kendo-spacing-9, 2.25rem)}.\!k-px-9{padding-inline:var(--kendo-spacing-9, 2.25rem) !important}.k-px-10{padding-inline:var(--kendo-spacing-10, 2.5rem)}.\!k-px-10{padding-inline:var(--kendo-spacing-10, 2.5rem) !important}.k-px-11{padding-inline:var(--kendo-spacing-11, 2.75rem)}.\!k-px-11{padding-inline:var(--kendo-spacing-11, 2.75rem) !important}.k-px-12{padding-inline:var(--kendo-spacing-12, 3rem)}.\!k-px-12{padding-inline:var(--kendo-spacing-12, 3rem) !important}.k-px-13{padding-inline:var(--kendo-spacing-13, 3.25rem)}.\!k-px-13{padding-inline:var(--kendo-spacing-13, 3.25rem) !important}.k-px-14{padding-inline:var(--kendo-spacing-14, 3.5rem)}.\!k-px-14{padding-inline:var(--kendo-spacing-14, 3.5rem) !important}.k-px-15{padding-inline:var(--kendo-spacing-15, 3.75rem)}.\!k-px-15{padding-inline:var(--kendo-spacing-15, 3.75rem) !important}.k-px-16{padding-inline:var(--kendo-spacing-16, 4rem)}.\!k-px-16{padding-inline:var(--kendo-spacing-16, 4rem) !important}.k-px-17{padding-inline:var(--kendo-spacing-17, 4.25rem)}.\!k-px-17{padding-inline:var(--kendo-spacing-17, 4.25rem) !important}.k-px-18{padding-inline:var(--kendo-spacing-18, 4.5rem)}.\!k-px-18{padding-inline:var(--kendo-spacing-18, 4.5rem) !important}.k-px-19{padding-inline:var(--kendo-spacing-19, 4.75rem)}.\!k-px-19{padding-inline:var(--kendo-spacing-19, 4.75rem) !important}.k-px-20{padding-inline:var(--kendo-spacing-20, 5rem)}.\!k-px-20{padding-inline:var(--kendo-spacing-20, 5rem) !important}.k-px-21{padding-inline:var(--kendo-spacing-21, 5.25rem)}.\!k-px-21{padding-inline:var(--kendo-spacing-21, 5.25rem) !important}.k-px-22{padding-inline:var(--kendo-spacing-22, 5.5rem)}.\!k-px-22{padding-inline:var(--kendo-spacing-22, 5.5rem) !important}.k-px-23{padding-inline:var(--kendo-spacing-23, 5.75rem)}.\!k-px-23{padding-inline:var(--kendo-spacing-23, 5.75rem) !important}.k-px-24{padding-inline:var(--kendo-spacing-24, 6rem)}.\!k-px-24{padding-inline:var(--kendo-spacing-24, 6rem) !important}.k-px-25{padding-inline:var(--kendo-spacing-25, 7rem)}.\!k-px-25{padding-inline:var(--kendo-spacing-25, 7rem) !important}.k-px-26{padding-inline:var(--kendo-spacing-26, 8rem)}.\!k-px-26{padding-inline:var(--kendo-spacing-26, 8rem) !important}.k-px-27{padding-inline:var(--kendo-spacing-27, 9rem)}.\!k-px-27{padding-inline:var(--kendo-spacing-27, 9rem) !important}.k-px-28{padding-inline:var(--kendo-spacing-28, 10rem)}.\!k-px-28{padding-inline:var(--kendo-spacing-28, 10rem) !important}.k-px-29{padding-inline:var(--kendo-spacing-29, 11rem)}.\!k-px-29{padding-inline:var(--kendo-spacing-29, 11rem) !important}.k-px-30{padding-inline:var(--kendo-spacing-30, 12rem)}.\!k-px-30{padding-inline:var(--kendo-spacing-30, 12rem) !important}.k-px-xs{padding-inline:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-px-xs{padding-inline:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-px-sm{padding-inline:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-px-sm{padding-inline:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-px-md{padding-inline:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-px-md{padding-inline:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-px-lg{padding-inline:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-px-lg{padding-inline:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-px-xl{padding-inline:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-px-xl{padding-inline:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-px-thin{padding-inline:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-px-thin{padding-inline:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-px-hair{padding-inline:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-px-hair{padding-inline:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-py-0{padding-block:var(--kendo-spacing-0, 0px)}.\!k-py-0{padding-block:var(--kendo-spacing-0, 0px) !important}.k-py-1px{padding-block:var(--kendo-spacing-1px, 1px)}.\!k-py-1px{padding-block:var(--kendo-spacing-1px, 1px) !important}.k-py-0\.5{padding-block:var(--kendo-spacing-0\.5, 0.125rem)}.\!k-py-0\.5{padding-block:var(--kendo-spacing-0\.5, 0.125rem) !important}.k-py-1{padding-block:var(--kendo-spacing-1, 0.25rem)}.\!k-py-1{padding-block:var(--kendo-spacing-1, 0.25rem) !important}.k-py-1\.5{padding-block:var(--kendo-spacing-1\.5, 0.375rem)}.\!k-py-1\.5{padding-block:var(--kendo-spacing-1\.5, 0.375rem) !important}.k-py-2{padding-block:var(--kendo-spacing-2, 0.5rem)}.\!k-py-2{padding-block:var(--kendo-spacing-2, 0.5rem) !important}.k-py-2\.5{padding-block:var(--kendo-spacing-2\.5, 0.625rem)}.\!k-py-2\.5{padding-block:var(--kendo-spacing-2\.5, 0.625rem) !important}.k-py-3{padding-block:var(--kendo-spacing-3, 0.75rem)}.\!k-py-3{padding-block:var(--kendo-spacing-3, 0.75rem) !important}.k-py-3\.5{padding-block:var(--kendo-spacing-3\.5, 0.875rem)}.\!k-py-3\.5{padding-block:var(--kendo-spacing-3\.5, 0.875rem) !important}.k-py-4{padding-block:var(--kendo-spacing-4, 1rem)}.\!k-py-4{padding-block:var(--kendo-spacing-4, 1rem) !important}.k-py-4\.5{padding-block:var(--kendo-spacing-4\.5, 1.125rem)}.\!k-py-4\.5{padding-block:var(--kendo-spacing-4\.5, 1.125rem) !important}.k-py-5{padding-block:var(--kendo-spacing-5, 1.25rem)}.\!k-py-5{padding-block:var(--kendo-spacing-5, 1.25rem) !important}.k-py-5\.5{padding-block:var(--kendo-spacing-5\.5, 1.375rem)}.\!k-py-5\.5{padding-block:var(--kendo-spacing-5\.5, 1.375rem) !important}.k-py-6{padding-block:var(--kendo-spacing-6, 1.5rem)}.\!k-py-6{padding-block:var(--kendo-spacing-6, 1.5rem) !important}.k-py-6\.5{padding-block:var(--kendo-spacing-6\.5, 1.625rem)}.\!k-py-6\.5{padding-block:var(--kendo-spacing-6\.5, 1.625rem) !important}.k-py-7{padding-block:var(--kendo-spacing-7, 1.75rem)}.\!k-py-7{padding-block:var(--kendo-spacing-7, 1.75rem) !important}.k-py-7\.5{padding-block:var(--kendo-spacing-7\.5, 1.875rem)}.\!k-py-7\.5{padding-block:var(--kendo-spacing-7\.5, 1.875rem) !important}.k-py-8{padding-block:var(--kendo-spacing-8, 2rem)}.\!k-py-8{padding-block:var(--kendo-spacing-8, 2rem) !important}.k-py-9{padding-block:var(--kendo-spacing-9, 2.25rem)}.\!k-py-9{padding-block:var(--kendo-spacing-9, 2.25rem) !important}.k-py-10{padding-block:var(--kendo-spacing-10, 2.5rem)}.\!k-py-10{padding-block:var(--kendo-spacing-10, 2.5rem) !important}.k-py-11{padding-block:var(--kendo-spacing-11, 2.75rem)}.\!k-py-11{padding-block:var(--kendo-spacing-11, 2.75rem) !important}.k-py-12{padding-block:var(--kendo-spacing-12, 3rem)}.\!k-py-12{padding-block:var(--kendo-spacing-12, 3rem) !important}.k-py-13{padding-block:var(--kendo-spacing-13, 3.25rem)}.\!k-py-13{padding-block:var(--kendo-spacing-13, 3.25rem) !important}.k-py-14{padding-block:var(--kendo-spacing-14, 3.5rem)}.\!k-py-14{padding-block:var(--kendo-spacing-14, 3.5rem) !important}.k-py-15{padding-block:var(--kendo-spacing-15, 3.75rem)}.\!k-py-15{padding-block:var(--kendo-spacing-15, 3.75rem) !important}.k-py-16{padding-block:var(--kendo-spacing-16, 4rem)}.\!k-py-16{padding-block:var(--kendo-spacing-16, 4rem) !important}.k-py-17{padding-block:var(--kendo-spacing-17, 4.25rem)}.\!k-py-17{padding-block:var(--kendo-spacing-17, 4.25rem) !important}.k-py-18{padding-block:var(--kendo-spacing-18, 4.5rem)}.\!k-py-18{padding-block:var(--kendo-spacing-18, 4.5rem) !important}.k-py-19{padding-block:var(--kendo-spacing-19, 4.75rem)}.\!k-py-19{padding-block:var(--kendo-spacing-19, 4.75rem) !important}.k-py-20{padding-block:var(--kendo-spacing-20, 5rem)}.\!k-py-20{padding-block:var(--kendo-spacing-20, 5rem) !important}.k-py-21{padding-block:var(--kendo-spacing-21, 5.25rem)}.\!k-py-21{padding-block:var(--kendo-spacing-21, 5.25rem) !important}.k-py-22{padding-block:var(--kendo-spacing-22, 5.5rem)}.\!k-py-22{padding-block:var(--kendo-spacing-22, 5.5rem) !important}.k-py-23{padding-block:var(--kendo-spacing-23, 5.75rem)}.\!k-py-23{padding-block:var(--kendo-spacing-23, 5.75rem) !important}.k-py-24{padding-block:var(--kendo-spacing-24, 6rem)}.\!k-py-24{padding-block:var(--kendo-spacing-24, 6rem) !important}.k-py-25{padding-block:var(--kendo-spacing-25, 7rem)}.\!k-py-25{padding-block:var(--kendo-spacing-25, 7rem) !important}.k-py-26{padding-block:var(--kendo-spacing-26, 8rem)}.\!k-py-26{padding-block:var(--kendo-spacing-26, 8rem) !important}.k-py-27{padding-block:var(--kendo-spacing-27, 9rem)}.\!k-py-27{padding-block:var(--kendo-spacing-27, 9rem) !important}.k-py-28{padding-block:var(--kendo-spacing-28, 10rem)}.\!k-py-28{padding-block:var(--kendo-spacing-28, 10rem) !important}.k-py-29{padding-block:var(--kendo-spacing-29, 11rem)}.\!k-py-29{padding-block:var(--kendo-spacing-29, 11rem) !important}.k-py-30{padding-block:var(--kendo-spacing-30, 12rem)}.\!k-py-30{padding-block:var(--kendo-spacing-30, 12rem) !important}.k-py-xs{padding-block:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem))}.\!k-py-xs{padding-block:var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important}.k-py-sm{padding-block:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem))}.\!k-py-sm{padding-block:var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important}.k-py-md{padding-block:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem))}.\!k-py-md{padding-block:var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important}.k-py-lg{padding-block:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem))}.\!k-py-lg{padding-block:var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important}.k-py-xl{padding-block:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem))}.\!k-py-xl{padding-block:var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important}.k-py-thin{padding-block:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem))}.\!k-py-thin{padding-block:var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important}.k-py-hair{padding-block:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px))}.\!k-py-hair{padding-block:var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important}.k-h-0{height:0px}.\!k-h-0{height:0px !important}.k-h-1px{height:1px}.\!k-h-1px{height:1px !important}.k-h-0\.5{height:.125rem}.\!k-h-0\.5{height:.125rem !important}.k-h-1{height:.25rem}.\!k-h-1{height:.25rem !important}.k-h-1\.5{height:.375rem}.\!k-h-1\.5{height:.375rem !important}.k-h-2{height:.5rem}.\!k-h-2{height:.5rem !important}.k-h-2\.5{height:.625rem}.\!k-h-2\.5{height:.625rem !important}.k-h-3{height:.75rem}.\!k-h-3{height:.75rem !important}.k-h-3\.5{height:.875rem}.\!k-h-3\.5{height:.875rem !important}.k-h-4{height:1rem}.\!k-h-4{height:1rem !important}.k-h-4\.5{height:1.125rem}.\!k-h-4\.5{height:1.125rem !important}.k-h-5{height:1.25rem}.\!k-h-5{height:1.25rem !important}.k-h-5\.5{height:1.375rem}.\!k-h-5\.5{height:1.375rem !important}.k-h-6{height:1.5rem}.\!k-h-6{height:1.5rem !important}.k-h-6\.5{height:1.625rem}.\!k-h-6\.5{height:1.625rem !important}.k-h-7{height:1.75rem}.\!k-h-7{height:1.75rem !important}.k-h-7\.5{height:1.875rem}.\!k-h-7\.5{height:1.875rem !important}.k-h-8{height:2rem}.\!k-h-8{height:2rem !important}.k-h-9{height:2.25rem}.\!k-h-9{height:2.25rem !important}.k-h-10{height:2.5rem}.\!k-h-10{height:2.5rem !important}.k-h-11{height:2.75rem}.\!k-h-11{height:2.75rem !important}.k-h-12{height:3rem}.\!k-h-12{height:3rem !important}.k-h-13{height:3.25rem}.\!k-h-13{height:3.25rem !important}.k-h-14{height:3.5rem}.\!k-h-14{height:3.5rem !important}.k-h-15{height:3.75rem}.\!k-h-15{height:3.75rem !important}.k-h-16{height:4rem}.\!k-h-16{height:4rem !important}.k-h-17{height:4.25rem}.\!k-h-17{height:4.25rem !important}.k-h-18{height:4.5rem}.\!k-h-18{height:4.5rem !important}.k-h-19{height:4.75rem}.\!k-h-19{height:4.75rem !important}.k-h-20{height:5rem}.\!k-h-20{height:5rem !important}.k-h-21{height:5.25rem}.\!k-h-21{height:5.25rem !important}.k-h-22{height:5.5rem}.\!k-h-22{height:5.5rem !important}.k-h-23{height:5.75rem}.\!k-h-23{height:5.75rem !important}.k-h-24{height:6rem}.\!k-h-24{height:6rem !important}.k-h-25{height:7rem}.\!k-h-25{height:7rem !important}.k-h-26{height:8rem}.\!k-h-26{height:8rem !important}.k-h-27{height:9rem}.\!k-h-27{height:9rem !important}.k-h-28{height:10rem}.\!k-h-28{height:10rem !important}.k-h-29{height:11rem}.\!k-h-29{height:11rem !important}.k-h-30{height:12rem}.\!k-h-30{height:12rem !important}.k-h-auto{height:auto}.\!k-h-auto{height:auto !important}.k-h-1\/2{height:50%}.\!k-h-1\/2{height:50% !important}.k-h-1\/3{height:33.333333%}.\!k-h-1\/3{height:33.333333% !important}.k-h-2\/3{height:66.666667%}.\!k-h-2\/3{height:66.666667% !important}.k-h-1\/4{height:25%}.\!k-h-1\/4{height:25% !important}.k-h-2\/4{height:50%}.\!k-h-2\/4{height:50% !important}.k-h-3\/4{height:75%}.\!k-h-3\/4{height:75% !important}.k-h-1\/5{height:20%}.\!k-h-1\/5{height:20% !important}.k-h-2\/5{height:40%}.\!k-h-2\/5{height:40% !important}.k-h-3\/5{height:60%}.\!k-h-3\/5{height:60% !important}.k-h-4\/5{height:80%}.\!k-h-4\/5{height:80% !important}.k-h-1\/6{height:16.666667%}.\!k-h-1\/6{height:16.666667% !important}.k-h-2\/6{height:33.333333%}.\!k-h-2\/6{height:33.333333% !important}.k-h-3\/6{height:50%}.\!k-h-3\/6{height:50% !important}.k-h-4\/6{height:66.666667%}.\!k-h-4\/6{height:66.666667% !important}.k-h-5\/6{height:83.333333%}.\!k-h-5\/6{height:83.333333% !important}.k-h-1\/12{height:8.333333%}.\!k-h-1\/12{height:8.333333% !important}.k-h-2\/12{height:16.666667%}.\!k-h-2\/12{height:16.666667% !important}.k-h-3\/12{height:25%}.\!k-h-3\/12{height:25% !important}.k-h-4\/12{height:33.333333%}.\!k-h-4\/12{height:33.333333% !important}.k-h-5\/12{height:41.666667%}.\!k-h-5\/12{height:41.666667% !important}.k-h-6\/12{height:50%}.\!k-h-6\/12{height:50% !important}.k-h-7\/12{height:58.333333%}.\!k-h-7\/12{height:58.333333% !important}.k-h-8\/12{height:66.666667%}.\!k-h-8\/12{height:66.666667% !important}.k-h-9\/12{height:75%}.\!k-h-9\/12{height:75% !important}.k-h-10\/12{height:83.333333%}.\!k-h-10\/12{height:83.333333% !important}.k-h-11\/12{height:91.666667%}.\!k-h-11\/12{height:91.666667% !important}.k-h-full{height:100%}.\!k-h-full{height:100% !important}.k-h-min{height:min-content}.\!k-h-min{height:min-content !important}.k-h-max{height:max-content}.\!k-h-max{height:max-content !important}.k-h-fit{height:fit-content}.\!k-h-fit{height:fit-content !important}.k-h-screen{height:100vh}.\!k-h-screen{height:100vh !important}.k-min-h-0{min-height:0}.\!k-min-h-0{min-height:0 !important}.k-min-h-full{min-height:100%}.\!k-min-h-full{min-height:100% !important}.k-min-h-screen{min-height:100vh}.\!k-min-h-screen{min-height:100vh !important}.k-min-h-min{min-height:min-content}.\!k-min-h-min{min-height:min-content !important}.k-min-h-max{min-height:max-content}.\!k-min-h-max{min-height:max-content !important}.k-min-h-fit{min-height:fit-content}.\!k-min-h-fit{min-height:fit-content !important}.k-max-h-none{max-height:none}.\!k-max-h-none{max-height:none !important}.k-max-h-0{max-height:0}.\!k-max-h-0{max-height:0 !important}.k-max-h-full{max-height:100%}.\!k-max-h-full{max-height:100% !important}.k-max-h-screen{max-height:100vh}.\!k-max-h-screen{max-height:100vh !important}.k-max-h-min{max-height:min-content}.\!k-max-h-min{max-height:min-content !important}.k-max-h-max{max-height:max-content}.\!k-max-h-max{max-height:max-content !important}.k-max-h-fit{max-height:fit-content}.\!k-max-h-fit{max-height:fit-content !important}.k-w-0{width:0px}.\!k-w-0{width:0px !important}.k-w-1px{width:1px}.\!k-w-1px{width:1px !important}.k-w-0\.5{width:.125rem}.\!k-w-0\.5{width:.125rem !important}.k-w-1{width:.25rem}.\!k-w-1{width:.25rem !important}.k-w-1\.5{width:.375rem}.\!k-w-1\.5{width:.375rem !important}.k-w-2{width:.5rem}.\!k-w-2{width:.5rem !important}.k-w-2\.5{width:.625rem}.\!k-w-2\.5{width:.625rem !important}.k-w-3{width:.75rem}.\!k-w-3{width:.75rem !important}.k-w-3\.5{width:.875rem}.\!k-w-3\.5{width:.875rem !important}.k-w-4{width:1rem}.\!k-w-4{width:1rem !important}.k-w-4\.5{width:1.125rem}.\!k-w-4\.5{width:1.125rem !important}.k-w-5{width:1.25rem}.\!k-w-5{width:1.25rem !important}.k-w-5\.5{width:1.375rem}.\!k-w-5\.5{width:1.375rem !important}.k-w-6{width:1.5rem}.\!k-w-6{width:1.5rem !important}.k-w-6\.5{width:1.625rem}.\!k-w-6\.5{width:1.625rem !important}.k-w-7{width:1.75rem}.\!k-w-7{width:1.75rem !important}.k-w-7\.5{width:1.875rem}.\!k-w-7\.5{width:1.875rem !important}.k-w-8{width:2rem}.\!k-w-8{width:2rem !important}.k-w-9{width:2.25rem}.\!k-w-9{width:2.25rem !important}.k-w-10{width:2.5rem}.\!k-w-10{width:2.5rem !important}.k-w-11{width:2.75rem}.\!k-w-11{width:2.75rem !important}.k-w-12{width:3rem}.\!k-w-12{width:3rem !important}.k-w-13{width:3.25rem}.\!k-w-13{width:3.25rem !important}.k-w-14{width:3.5rem}.\!k-w-14{width:3.5rem !important}.k-w-15{width:3.75rem}.\!k-w-15{width:3.75rem !important}.k-w-16{width:4rem}.\!k-w-16{width:4rem !important}.k-w-17{width:4.25rem}.\!k-w-17{width:4.25rem !important}.k-w-18{width:4.5rem}.\!k-w-18{width:4.5rem !important}.k-w-19{width:4.75rem}.\!k-w-19{width:4.75rem !important}.k-w-20{width:5rem}.\!k-w-20{width:5rem !important}.k-w-21{width:5.25rem}.\!k-w-21{width:5.25rem !important}.k-w-22{width:5.5rem}.\!k-w-22{width:5.5rem !important}.k-w-23{width:5.75rem}.\!k-w-23{width:5.75rem !important}.k-w-24{width:6rem}.\!k-w-24{width:6rem !important}.k-w-25{width:7rem}.\!k-w-25{width:7rem !important}.k-w-26{width:8rem}.\!k-w-26{width:8rem !important}.k-w-27{width:9rem}.\!k-w-27{width:9rem !important}.k-w-28{width:10rem}.\!k-w-28{width:10rem !important}.k-w-29{width:11rem}.\!k-w-29{width:11rem !important}.k-w-30{width:12rem}.\!k-w-30{width:12rem !important}.k-w-auto{width:auto}.\!k-w-auto{width:auto !important}.k-w-1\/2{width:50%}.\!k-w-1\/2{width:50% !important}.k-w-1\/3{width:33.333333%}.\!k-w-1\/3{width:33.333333% !important}.k-w-2\/3{width:66.666667%}.\!k-w-2\/3{width:66.666667% !important}.k-w-1\/4{width:25%}.\!k-w-1\/4{width:25% !important}.k-w-2\/4{width:50%}.\!k-w-2\/4{width:50% !important}.k-w-3\/4{width:75%}.\!k-w-3\/4{width:75% !important}.k-w-1\/5{width:20%}.\!k-w-1\/5{width:20% !important}.k-w-2\/5{width:40%}.\!k-w-2\/5{width:40% !important}.k-w-3\/5{width:60%}.\!k-w-3\/5{width:60% !important}.k-w-4\/5{width:80%}.\!k-w-4\/5{width:80% !important}.k-w-1\/6{width:16.666667%}.\!k-w-1\/6{width:16.666667% !important}.k-w-2\/6{width:33.333333%}.\!k-w-2\/6{width:33.333333% !important}.k-w-3\/6{width:50%}.\!k-w-3\/6{width:50% !important}.k-w-4\/6{width:66.666667%}.\!k-w-4\/6{width:66.666667% !important}.k-w-5\/6{width:83.333333%}.\!k-w-5\/6{width:83.333333% !important}.k-w-1\/12{width:8.333333%}.\!k-w-1\/12{width:8.333333% !important}.k-w-2\/12{width:16.666667%}.\!k-w-2\/12{width:16.666667% !important}.k-w-3\/12{width:25%}.\!k-w-3\/12{width:25% !important}.k-w-4\/12{width:33.333333%}.\!k-w-4\/12{width:33.333333% !important}.k-w-5\/12{width:41.666667%}.\!k-w-5\/12{width:41.666667% !important}.k-w-6\/12{width:50%}.\!k-w-6\/12{width:50% !important}.k-w-7\/12{width:58.333333%}.\!k-w-7\/12{width:58.333333% !important}.k-w-8\/12{width:66.666667%}.\!k-w-8\/12{width:66.666667% !important}.k-w-9\/12{width:75%}.\!k-w-9\/12{width:75% !important}.k-w-10\/12{width:83.333333%}.\!k-w-10\/12{width:83.333333% !important}.k-w-11\/12{width:91.666667%}.\!k-w-11\/12{width:91.666667% !important}.k-w-full{width:100%}.\!k-w-full{width:100% !important}.k-w-min{width:min-content}.\!k-w-min{width:min-content !important}.k-w-max{width:max-content}.\!k-w-max{width:max-content !important}.k-w-fit{width:fit-content}.\!k-w-fit{width:fit-content !important}.k-w-screen{width:100vw}.\!k-w-screen{width:100vw !important}.k-min-w-0{min-width:0}.\!k-min-w-0{min-width:0 !important}.k-min-w-full{min-width:100%}.\!k-min-w-full{min-width:100% !important}.k-min-w-screen{min-width:100vw}.\!k-min-w-screen{min-width:100vw !important}.k-min-w-min{min-width:min-content}.\!k-min-w-min{min-width:min-content !important}.k-min-w-max{min-width:max-content}.\!k-min-w-max{min-width:max-content !important}.k-min-w-fit{min-width:fit-content}.\!k-min-w-fit{min-width:fit-content !important}.k-max-w-none{max-width:none}.\!k-max-w-none{max-width:none !important}.k-max-w-0{max-width:0}.\!k-max-w-0{max-width:0 !important}.k-max-w-full{max-width:100%}.\!k-max-w-full{max-width:100% !important}.k-max-w-screen{max-width:100vw}.\!k-max-w-screen{max-width:100vw !important}.k-max-w-min{max-width:min-content}.\!k-max-w-min{max-width:min-content !important}.k-max-w-max{max-width:max-content}.\!k-max-w-max{max-width:max-content !important}.k-max-w-fit{max-width:fit-content}.\!k-max-w-fit{max-width:fit-content !important}.k-font-family-sans-serif{font-family:var(--kendo-font-family-sans-serif, Roboto, Helvetica Neue, sans-serif)}.\!k-font-family-sans-serif{font-family:var(--kendo-font-family-sans-serif, Roboto, Helvetica Neue, sans-serif) !important}.k-font-family-monospace{font-family:var(--kendo-font-family-monospace, Consolas, Ubuntu Mono, Lucida Console, Courier New, monospace)}.\!k-font-family-monospace{font-family:var(--kendo-font-family-monospace, Consolas, Ubuntu Mono, Lucida Console, Courier New, monospace) !important}.k-font-size-xs{font-size:var(--kendo-font-size-xs, 0.625rem)}.\!k-font-size-xs{font-size:var(--kendo-font-size-xs, 0.625rem) !important}.k-font-size-sm{font-size:var(--kendo-font-size-sm, 0.75rem)}.\!k-font-size-sm{font-size:var(--kendo-font-size-sm, 0.75rem) !important}.k-font-size-md{font-size:var(--kendo-font-size-md, 0.875rem)}.\!k-font-size-md{font-size:var(--kendo-font-size-md, 0.875rem) !important}.k-font-size-lg{font-size:var(--kendo-font-size-lg, 1rem)}.\!k-font-size-lg{font-size:var(--kendo-font-size-lg, 1rem) !important}.k-font-size-xl{font-size:var(--kendo-font-size-xl, 1.25rem)}.\!k-font-size-xl{font-size:var(--kendo-font-size-xl, 1.25rem) !important}.k-fs-xs{font-size:var(--kendo-fs-xs, 0.625rem)}.\!k-fs-xs{font-size:var(--kendo-fs-xs, 0.625rem) !important}.k-fs-sm{font-size:var(--kendo-fs-sm, 0.75rem)}.\!k-fs-sm{font-size:var(--kendo-fs-sm, 0.75rem) !important}.k-fs-md{font-size:var(--kendo-fs-md, 0.875rem)}.\!k-fs-md{font-size:var(--kendo-fs-md, 0.875rem) !important}.k-fs-lg{font-size:var(--kendo-fs-lg, 1rem)}.\!k-fs-lg{font-size:var(--kendo-fs-lg, 1rem) !important}.k-fs-xl{font-size:var(--kendo-fs-xl, 1.25rem)}.\!k-fs-xl{font-size:var(--kendo-fs-xl, 1.25rem) !important}.k-font-style-italic{font-style:var(--kendo-font-style-italic, italic)}.\!k-font-style-italic{font-style:var(--kendo-font-style-italic, italic) !important}.k-font-style-non-italic{font-style:var(--kendo-font-style-non-italic, normal)}.\!k-font-style-non-italic{font-style:var(--kendo-font-style-non-italic, normal) !important}.k-font-style-oblique{font-style:var(--kendo-font-style-oblique, oblique)}.\!k-font-style-oblique{font-style:var(--kendo-font-style-oblique, oblique) !important}.k-font-thin{font-weight:var(--kendo-font-weight-thin, 100)}.\!k-font-thin{font-weight:var(--kendo-font-weight-thin, 100) !important}.k-font-extra-light{font-weight:var(--kendo-font-weight-extra-light, 200)}.\!k-font-extra-light{font-weight:var(--kendo-font-weight-extra-light, 200) !important}.k-font-light{font-weight:var(--kendo-font-weight-light, 300)}.\!k-font-light{font-weight:var(--kendo-font-weight-light, 300) !important}.k-font-normal{font-weight:var(--kendo-font-weight-normal, 400)}.\!k-font-normal{font-weight:var(--kendo-font-weight-normal, 400) !important}.k-font-medium{font-weight:var(--kendo-font-weight-medium, 500)}.\!k-font-medium{font-weight:var(--kendo-font-weight-medium, 500) !important}.k-font-semibold{font-weight:var(--kendo-font-weight-semibold, 600)}.\!k-font-semibold{font-weight:var(--kendo-font-weight-semibold, 600) !important}.k-font-bold{font-weight:var(--kendo-font-weight-bold, 700)}.\!k-font-bold{font-weight:var(--kendo-font-weight-bold, 700) !important}.k-font-weight-thin{font-weight:var(--kendo-font-weight-thin, 100)}.\!k-font-weight-thin{font-weight:var(--kendo-font-weight-thin, 100) !important}.k-font-weight-extra-light{font-weight:var(--kendo-font-weight-extra-light, 200)}.\!k-font-weight-extra-light{font-weight:var(--kendo-font-weight-extra-light, 200) !important}.k-font-weight-light{font-weight:var(--kendo-font-weight-light, 300)}.\!k-font-weight-light{font-weight:var(--kendo-font-weight-light, 300) !important}.k-font-weight-normal{font-weight:var(--kendo-font-weight-normal, 400)}.\!k-font-weight-normal{font-weight:var(--kendo-font-weight-normal, 400) !important}.k-font-weight-medium{font-weight:var(--kendo-font-weight-medium, 500)}.\!k-font-weight-medium{font-weight:var(--kendo-font-weight-medium, 500) !important}.k-font-weight-semibold{font-weight:var(--kendo-font-weight-semibold, 600)}.\!k-font-weight-semibold{font-weight:var(--kendo-font-weight-semibold, 600) !important}.k-font-weight-bold{font-weight:var(--kendo-font-weight-bold, 700)}.\!k-font-weight-bold{font-weight:var(--kendo-font-weight-bold, 700) !important}.k-letter-spacing-tightest{letter-spacing:var(--kendo-letter-spacing-tightest, -2.5px)}.\!k-letter-spacing-tightest{letter-spacing:var(--kendo-letter-spacing-tightest, -2.5px) !important}.k-letter-spacing-tighter{letter-spacing:var(--kendo-letter-spacing-tighter, -1.5px)}.\!k-letter-spacing-tighter{letter-spacing:var(--kendo-letter-spacing-tighter, -1.5px) !important}.k-letter-spacing-tight{letter-spacing:var(--kendo-letter-spacing-tight, -0.5px)}.\!k-letter-spacing-tight{letter-spacing:var(--kendo-letter-spacing-tight, -0.5px) !important}.k-letter-spacing-normal{letter-spacing:var(--kendo-letter-spacing-normal, 0px)}.\!k-letter-spacing-normal{letter-spacing:var(--kendo-letter-spacing-normal, 0px) !important}.k-letter-spacing-wide{letter-spacing:var(--kendo-letter-spacing-wide, 0.15px)}.\!k-letter-spacing-wide{letter-spacing:var(--kendo-letter-spacing-wide, 0.15px) !important}.k-letter-spacing-wider{letter-spacing:var(--kendo-letter-spacing-wider, 0.25px)}.\!k-letter-spacing-wider{letter-spacing:var(--kendo-letter-spacing-wider, 0.25px) !important}.k-letter-spacing-widest{letter-spacing:var(--kendo-letter-spacing-widest, 0.35px)}.\!k-letter-spacing-widest{letter-spacing:var(--kendo-letter-spacing-widest, 0.35px) !important}.k-line-height-xs{line-height:var(--kendo-line-height-xs, 1)}.\!k-line-height-xs{line-height:var(--kendo-line-height-xs, 1) !important}.k-line-height-sm{line-height:var(--kendo-line-height-sm, 1.2)}.\!k-line-height-sm{line-height:var(--kendo-line-height-sm, 1.2) !important}.k-line-height-md{line-height:var(--kendo-line-height-md, 2)}.\!k-line-height-md{line-height:var(--kendo-line-height-md, 2) !important}.k-line-height-lg{line-height:var(--kendo-line-height-lg, 1.5)}.\!k-line-height-lg{line-height:var(--kendo-line-height-lg, 1.5) !important}.k-list-none{list-style-type:none}.\!k-list-none{list-style-type:none !important}.k-list-disc{list-style-type:disc}.\!k-list-disc{list-style-type:disc !important}.k-list-decimal{list-style-type:decimal}.\!k-list-decimal{list-style-type:decimal !important}.k-text-left{text-align:left}.\!k-text-left{text-align:left !important}.k-text-right{text-align:right}.\!k-text-right{text-align:right !important}.k-text-center{text-align:center}.\!k-text-center{text-align:center !important}.k-text-justify{text-align:justify}.\!k-text-justify{text-align:justify !important}.k-text-start{text-align:start}.\!k-text-start{text-align:start !important}.k-text-end{text-align:end}.\!k-text-end{text-align:end !important}.k-text-app-surface{color:var(--kendo-color-app-surface, #ffffff)}.\!k-text-app-surface{color:var(--kendo-color-app-surface, #ffffff) !important}.k-text-on-app-surface{color:var(--kendo-color-on-app-surface, #212121)}.\!k-text-on-app-surface{color:var(--kendo-color-on-app-surface, #212121) !important}.k-text-subtle{color:var(--kendo-color-subtle, #757575)}.\!k-text-subtle{color:var(--kendo-color-subtle, #757575) !important}.k-text-surface{color:var(--kendo-color-surface, #f5f5f5)}.\!k-text-surface{color:var(--kendo-color-surface, #f5f5f5) !important}.k-text-surface-alt{color:var(--kendo-color-surface-alt, #ffffff)}.\!k-text-surface-alt{color:var(--kendo-color-surface-alt, #ffffff) !important}.k-text-border{color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.\!k-text-border{color:var(--kendo-color-border, rgba(0, 0, 0, 0.12)) !important}.k-text-border-alt{color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15))}.\!k-text-border-alt{color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15)) !important}.k-text-base-subtle{color:var(--kendo-color-base-subtle, #ebebeb)}.\!k-text-base-subtle{color:var(--kendo-color-base-subtle, #ebebeb) !important}.k-text-base-emphasis{color:var(--kendo-color-base-emphasis, #adadad)}.\!k-text-base-emphasis{color:var(--kendo-color-base-emphasis, #adadad) !important}.k-text-primary-subtle{color:var(--kendo-color-primary-subtle, #d1d5ee)}.\!k-text-primary-subtle{color:var(--kendo-color-primary-subtle, #d1d5ee) !important}.k-text-primary{color:var(--kendo-color-primary, #3f51b5)}.\!k-text-primary{color:var(--kendo-color-primary, #3f51b5) !important}.k-text-primary-emphasis{color:var(--kendo-color-primary-emphasis, #97a0d7)}.\!k-text-primary-emphasis{color:var(--kendo-color-primary-emphasis, #97a0d7) !important}.k-text-secondary-subtle{color:var(--kendo-color-secondary-subtle, #fbcdd9)}.\!k-text-secondary-subtle{color:var(--kendo-color-secondary-subtle, #fbcdd9) !important}.k-text-secondary{color:var(--kendo-color-secondary, #e51a5f)}.\!k-text-secondary{color:var(--kendo-color-secondary, #e51a5f) !important}.k-text-secondary-emphasis{color:var(--kendo-color-secondary-emphasis, #f58da9)}.\!k-text-secondary-emphasis{color:var(--kendo-color-secondary-emphasis, #f58da9) !important}.k-text-tertiary-subtle{color:var(--kendo-color-tertiary-subtle, #c9dbd8)}.\!k-text-tertiary-subtle{color:var(--kendo-color-tertiary-subtle, #c9dbd8) !important}.k-text-tertiary{color:var(--kendo-color-tertiary, #00695c)}.\!k-text-tertiary{color:var(--kendo-color-tertiary, #00695c) !important}.k-text-tertiary-emphasis{color:var(--kendo-color-tertiary-emphasis, #84aea7)}.\!k-text-tertiary-emphasis{color:var(--kendo-color-tertiary-emphasis, #84aea7) !important}.k-text-info-subtle{color:var(--kendo-color-info-subtle, #c8d7fb)}.\!k-text-info-subtle{color:var(--kendo-color-info-subtle, #c8d7fb) !important}.k-text-info{color:var(--kendo-color-info, #0058e9)}.\!k-text-info{color:var(--kendo-color-info, #0058e9) !important}.k-text-info-emphasis{color:var(--kendo-color-info-emphasis, #80a5f4)}.\!k-text-info-emphasis{color:var(--kendo-color-info-emphasis, #80a5f4) !important}.k-text-success-subtle{color:var(--kendo-color-success-subtle, #d7f0cc)}.\!k-text-success-subtle{color:var(--kendo-color-success-subtle, #d7f0cc) !important}.k-text-success{color:var(--kendo-color-success, #37b400)}.\!k-text-success{color:var(--kendo-color-success, #37b400) !important}.k-text-success-emphasis{color:var(--kendo-color-success-emphasis, #93d775)}.\!k-text-success-emphasis{color:var(--kendo-color-success-emphasis, #93d775) !important}.k-text-warning-subtle{color:var(--kendo-color-warning-subtle, #fff0ce)}.\!k-text-warning-subtle{color:var(--kendo-color-warning-subtle, #fff0ce) !important}.k-text-warning{color:var(--kendo-color-warning, #ffc000)}.\!k-text-warning{color:var(--kendo-color-warning, #ffc000) !important}.k-text-warning-emphasis{color:var(--kendo-color-warning-emphasis, #ffdd8f)}.\!k-text-warning-emphasis{color:var(--kendo-color-warning-emphasis, #ffdd8f) !important}.k-text-error-subtle{color:var(--kendo-color-error-subtle, #fcc7c2)}.\!k-text-error-subtle{color:var(--kendo-color-error-subtle, #fcc7c2) !important}.k-text-error{color:var(--kendo-color-error, #f31700)}.\!k-text-error{color:var(--kendo-color-error, #f31700) !important}.k-text-error-emphasis{color:var(--kendo-color-error-emphasis, #fc8d83)}.\!k-text-error-emphasis{color:var(--kendo-color-error-emphasis, #fc8d83) !important}.k-text-light-subtle{color:var(--kendo-color-light-subtle, #fafafa)}.\!k-text-light-subtle{color:var(--kendo-color-light-subtle, #fafafa) !important}.k-text-light{color:var(--kendo-color-light, #f5f5f5)}.\!k-text-light{color:var(--kendo-color-light, #f5f5f5) !important}.k-text-light-emphasis{color:var(--kendo-color-light-emphasis, #e0e0e0)}.\!k-text-light-emphasis{color:var(--kendo-color-light-emphasis, #e0e0e0) !important}.k-text-dark-subtle{color:var(--kendo-color-dark-subtle, #c7c7c7)}.\!k-text-dark-subtle{color:var(--kendo-color-dark-subtle, #c7c7c7) !important}.k-text-dark{color:var(--kendo-color-dark, #424242)}.\!k-text-dark{color:var(--kendo-color-dark, #424242) !important}.k-text-dark-emphasis{color:var(--kendo-color-dark-emphasis, #9e9e9e)}.\!k-text-dark-emphasis{color:var(--kendo-color-dark-emphasis, #9e9e9e) !important}.k-text-inherit{color:var(--kendo-color-inherit, inherit)}.\!k-text-inherit{color:var(--kendo-color-inherit, inherit) !important}.k-text-current{color:var(--kendo-color-current, currentColor)}.\!k-text-current{color:var(--kendo-color-current, currentColor) !important}.k-text-transparent{color:var(--kendo-color-transparent, transparent)}.\!k-text-transparent{color:var(--kendo-color-transparent, transparent) !important}.k-text-black{color:var(--kendo-color-black, black)}.\!k-text-black{color:var(--kendo-color-black, black) !important}.k-text-white{color:var(--kendo-color-white, white)}.\!k-text-white{color:var(--kendo-color-white, white) !important}.k-color-app-surface{color:var(--kendo-color-app-surface, #ffffff)}.\!k-color-app-surface{color:var(--kendo-color-app-surface, #ffffff) !important}.k-color-on-app-surface{color:var(--kendo-color-on-app-surface, #212121)}.\!k-color-on-app-surface{color:var(--kendo-color-on-app-surface, #212121) !important}.k-color-subtle{color:var(--kendo-color-subtle, #757575)}.\!k-color-subtle{color:var(--kendo-color-subtle, #757575) !important}.k-color-surface{color:var(--kendo-color-surface, #f5f5f5)}.\!k-color-surface{color:var(--kendo-color-surface, #f5f5f5) !important}.k-color-surface-alt{color:var(--kendo-color-surface-alt, #ffffff)}.\!k-color-surface-alt{color:var(--kendo-color-surface-alt, #ffffff) !important}.k-color-border{color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.\!k-color-border{color:var(--kendo-color-border, rgba(0, 0, 0, 0.12)) !important}.k-color-border-alt{color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15))}.\!k-color-border-alt{color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15)) !important}.k-color-base-subtle{color:var(--kendo-color-base-subtle, #ebebeb)}.\!k-color-base-subtle{color:var(--kendo-color-base-subtle, #ebebeb) !important}.k-color-base-emphasis{color:var(--kendo-color-base-emphasis, #adadad)}.\!k-color-base-emphasis{color:var(--kendo-color-base-emphasis, #adadad) !important}.k-color-primary-subtle{color:var(--kendo-color-primary-subtle, #d1d5ee)}.\!k-color-primary-subtle{color:var(--kendo-color-primary-subtle, #d1d5ee) !important}.k-color-primary{color:var(--kendo-color-primary, #3f51b5)}.\!k-color-primary{color:var(--kendo-color-primary, #3f51b5) !important}.k-color-primary-emphasis{color:var(--kendo-color-primary-emphasis, #97a0d7)}.\!k-color-primary-emphasis{color:var(--kendo-color-primary-emphasis, #97a0d7) !important}.k-color-secondary-subtle{color:var(--kendo-color-secondary-subtle, #fbcdd9)}.\!k-color-secondary-subtle{color:var(--kendo-color-secondary-subtle, #fbcdd9) !important}.k-color-secondary{color:var(--kendo-color-secondary, #e51a5f)}.\!k-color-secondary{color:var(--kendo-color-secondary, #e51a5f) !important}.k-color-secondary-emphasis{color:var(--kendo-color-secondary-emphasis, #f58da9)}.\!k-color-secondary-emphasis{color:var(--kendo-color-secondary-emphasis, #f58da9) !important}.k-color-tertiary-subtle{color:var(--kendo-color-tertiary-subtle, #c9dbd8)}.\!k-color-tertiary-subtle{color:var(--kendo-color-tertiary-subtle, #c9dbd8) !important}.k-color-tertiary{color:var(--kendo-color-tertiary, #00695c)}.\!k-color-tertiary{color:var(--kendo-color-tertiary, #00695c) !important}.k-color-tertiary-emphasis{color:var(--kendo-color-tertiary-emphasis, #84aea7)}.\!k-color-tertiary-emphasis{color:var(--kendo-color-tertiary-emphasis, #84aea7) !important}.k-color-info-subtle{color:var(--kendo-color-info-subtle, #c8d7fb)}.\!k-color-info-subtle{color:var(--kendo-color-info-subtle, #c8d7fb) !important}.k-color-info{color:var(--kendo-color-info, #0058e9)}.\!k-color-info{color:var(--kendo-color-info, #0058e9) !important}.k-color-info-emphasis{color:var(--kendo-color-info-emphasis, #80a5f4)}.\!k-color-info-emphasis{color:var(--kendo-color-info-emphasis, #80a5f4) !important}.k-color-success-subtle{color:var(--kendo-color-success-subtle, #d7f0cc)}.\!k-color-success-subtle{color:var(--kendo-color-success-subtle, #d7f0cc) !important}.k-color-success{color:var(--kendo-color-success, #37b400)}.\!k-color-success{color:var(--kendo-color-success, #37b400) !important}.k-color-success-emphasis{color:var(--kendo-color-success-emphasis, #93d775)}.\!k-color-success-emphasis{color:var(--kendo-color-success-emphasis, #93d775) !important}.k-color-warning-subtle{color:var(--kendo-color-warning-subtle, #fff0ce)}.\!k-color-warning-subtle{color:var(--kendo-color-warning-subtle, #fff0ce) !important}.k-color-warning{color:var(--kendo-color-warning, #ffc000)}.\!k-color-warning{color:var(--kendo-color-warning, #ffc000) !important}.k-color-warning-emphasis{color:var(--kendo-color-warning-emphasis, #ffdd8f)}.\!k-color-warning-emphasis{color:var(--kendo-color-warning-emphasis, #ffdd8f) !important}.k-color-error-subtle{color:var(--kendo-color-error-subtle, #fcc7c2)}.\!k-color-error-subtle{color:var(--kendo-color-error-subtle, #fcc7c2) !important}.k-color-error{color:var(--kendo-color-error, #f31700)}.\!k-color-error{color:var(--kendo-color-error, #f31700) !important}.k-color-error-emphasis{color:var(--kendo-color-error-emphasis, #fc8d83)}.\!k-color-error-emphasis{color:var(--kendo-color-error-emphasis, #fc8d83) !important}.k-color-light-subtle{color:var(--kendo-color-light-subtle, #fafafa)}.\!k-color-light-subtle{color:var(--kendo-color-light-subtle, #fafafa) !important}.k-color-light{color:var(--kendo-color-light, #f5f5f5)}.\!k-color-light{color:var(--kendo-color-light, #f5f5f5) !important}.k-color-light-emphasis{color:var(--kendo-color-light-emphasis, #e0e0e0)}.\!k-color-light-emphasis{color:var(--kendo-color-light-emphasis, #e0e0e0) !important}.k-color-dark-subtle{color:var(--kendo-color-dark-subtle, #c7c7c7)}.\!k-color-dark-subtle{color:var(--kendo-color-dark-subtle, #c7c7c7) !important}.k-color-dark{color:var(--kendo-color-dark, #424242)}.\!k-color-dark{color:var(--kendo-color-dark, #424242) !important}.k-color-dark-emphasis{color:var(--kendo-color-dark-emphasis, #9e9e9e)}.\!k-color-dark-emphasis{color:var(--kendo-color-dark-emphasis, #9e9e9e) !important}.k-color-inherit{color:var(--kendo-color-inherit, inherit)}.\!k-color-inherit{color:var(--kendo-color-inherit, inherit) !important}.k-color-current{color:var(--kendo-color-current, currentColor)}.\!k-color-current{color:var(--kendo-color-current, currentColor) !important}.k-color-transparent{color:var(--kendo-color-transparent, transparent)}.\!k-color-transparent{color:var(--kendo-color-transparent, transparent) !important}.k-color-black{color:var(--kendo-color-black, black)}.\!k-color-black{color:var(--kendo-color-black, black) !important}.k-color-white{color:var(--kendo-color-white, white)}.\!k-color-white{color:var(--kendo-color-white, white) !important}.k-text-underline{text-decoration:underline}.\!k-text-underline{text-decoration:underline !important}.k-text-overline{text-decoration:overline}.\!k-text-overline{text-decoration:overline !important}.k-text-line-through{text-decoration:line-through}.\!k-text-line-through{text-decoration:line-through !important}.k-text-no-underline{text-decoration:none}.\!k-text-no-underline{text-decoration:none !important}.k-text-clip{text-overflow:clip}.\!k-text-clip{text-overflow:clip !important}.k-text-ellipsis{text-overflow:ellipsis}.\!k-text-ellipsis{text-overflow:ellipsis !important}.k-text-truncate,.k-text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.\!k-text-truncate,.\!k-text-ellipsis{white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}.k-text-uppercase{text-transform:uppercase}.\!k-text-uppercase{text-transform:uppercase !important}.k-text-lowercase{text-transform:lowercase}.\!k-text-lowercase{text-transform:lowercase !important}.k-text-capitalize{text-transform:capitalize}.\!k-text-capitalize{text-transform:capitalize !important}.k-text-normal-case{text-transform:none}.\!k-text-normal-case{text-transform:none !important}.k-align-baseline{vertical-align:baseline}.\!k-align-baseline{vertical-align:baseline !important}.k-align-top{vertical-align:top}.\!k-align-top{vertical-align:top !important}.k-align-middle{vertical-align:middle}.\!k-align-middle{vertical-align:middle !important}.k-align-bottom{vertical-align:bottom}.\!k-align-bottom{vertical-align:bottom !important}.k-align-text-top{vertical-align:text-top}.\!k-align-text-top{vertical-align:text-top !important}.k-align-text-bottom{vertical-align:text-bottom}.\!k-align-text-bottom{vertical-align:text-bottom !important}.k-align-sub{vertical-align:sub}.\!k-align-sub{vertical-align:sub !important}.k-align-super{vertical-align:super}.\!k-align-super{vertical-align:super !important}.k-white-space-normal{white-space:normal}.\!k-white-space-normal{white-space:normal !important}.k-white-space-nowrap,.k-text-nowrap{white-space:nowrap}.\!k-white-space-nowrap{white-space:nowrap !important}.k-white-space-pre{white-space:pre}.\!k-white-space-pre{white-space:pre !important}.k-white-space-pre-line{white-space:pre-line}.\!k-white-space-pre-line{white-space:pre-line !important}.k-white-space-pre-wrap{white-space:pre-wrap}.\!k-white-space-pre-wrap{white-space:pre-wrap !important}.k-white-space-break-spaces{white-space:break-spaces}.\!k-white-space-break-spaces{white-space:break-spaces !important}.k-whitespace-normal{white-space:normal}.\!k-whitespace-normal{white-space:normal !important}.k-whitespace-nowrap{white-space:nowrap}.\!k-whitespace-nowrap{white-space:nowrap !important}.k-whitespace-pre{white-space:pre}.\!k-whitespace-pre{white-space:pre !important}.k-whitespace-pre-line{white-space:pre-line}.\!k-whitespace-pre-line{white-space:pre-line !important}.k-whitespace-pre-wrap{white-space:pre-wrap}.\!k-whitespace-pre-wrap{white-space:pre-wrap !important}.k-whitespace-break-spaces{white-space:break-spaces}.\!k-whitespace-break-spaces{white-space:break-spaces !important}.k-bg-clip-border{background-clip:border-box}.\!k-bg-clip-border{background-clip:border-box !important}.k-bg-clip-padding{background-clip:padding-box}.\!k-bg-clip-padding{background-clip:padding-box !important}.k-bg-clip-content{background-clip:content-box}.\!k-bg-clip-content{background-clip:content-box !important}.k-bg-clip-text{background-clip:text}.\!k-bg-clip-text{background-clip:text !important}.k-bg-app-surface{background-color:var(--kendo-color-app-surface, #ffffff)}.\!k-bg-app-surface{background-color:var(--kendo-color-app-surface, #ffffff) !important}.k-bg-on-app-surface{background-color:var(--kendo-color-on-app-surface, #212121)}.\!k-bg-on-app-surface{background-color:var(--kendo-color-on-app-surface, #212121) !important}.k-bg-subtle{background-color:var(--kendo-color-subtle, #757575)}.\!k-bg-subtle{background-color:var(--kendo-color-subtle, #757575) !important}.k-bg-surface{background-color:var(--kendo-color-surface, #f5f5f5)}.\!k-bg-surface{background-color:var(--kendo-color-surface, #f5f5f5) !important}.k-bg-surface-alt{background-color:var(--kendo-color-surface-alt, #ffffff)}.\!k-bg-surface-alt{background-color:var(--kendo-color-surface-alt, #ffffff) !important}.k-bg-border{background-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.\!k-bg-border{background-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12)) !important}.k-bg-border-alt{background-color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15))}.\!k-bg-border-alt{background-color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15)) !important}.k-bg-base-subtle{background-color:var(--kendo-color-base-subtle, #ebebeb)}.\!k-bg-base-subtle{background-color:var(--kendo-color-base-subtle, #ebebeb) !important}.k-bg-base-emphasis{background-color:var(--kendo-color-base-emphasis, #adadad)}.\!k-bg-base-emphasis{background-color:var(--kendo-color-base-emphasis, #adadad) !important}.k-bg-primary-subtle{background-color:var(--kendo-color-primary-subtle, #d1d5ee)}.\!k-bg-primary-subtle{background-color:var(--kendo-color-primary-subtle, #d1d5ee) !important}.k-bg-primary{background-color:var(--kendo-color-primary, #3f51b5)}.\!k-bg-primary{background-color:var(--kendo-color-primary, #3f51b5) !important}.k-bg-primary-emphasis{background-color:var(--kendo-color-primary-emphasis, #97a0d7)}.\!k-bg-primary-emphasis{background-color:var(--kendo-color-primary-emphasis, #97a0d7) !important}.k-bg-secondary-subtle{background-color:var(--kendo-color-secondary-subtle, #fbcdd9)}.\!k-bg-secondary-subtle{background-color:var(--kendo-color-secondary-subtle, #fbcdd9) !important}.k-bg-secondary{background-color:var(--kendo-color-secondary, #e51a5f)}.\!k-bg-secondary{background-color:var(--kendo-color-secondary, #e51a5f) !important}.k-bg-secondary-emphasis{background-color:var(--kendo-color-secondary-emphasis, #f58da9)}.\!k-bg-secondary-emphasis{background-color:var(--kendo-color-secondary-emphasis, #f58da9) !important}.k-bg-tertiary-subtle{background-color:var(--kendo-color-tertiary-subtle, #c9dbd8)}.\!k-bg-tertiary-subtle{background-color:var(--kendo-color-tertiary-subtle, #c9dbd8) !important}.k-bg-tertiary{background-color:var(--kendo-color-tertiary, #00695c)}.\!k-bg-tertiary{background-color:var(--kendo-color-tertiary, #00695c) !important}.k-bg-tertiary-emphasis{background-color:var(--kendo-color-tertiary-emphasis, #84aea7)}.\!k-bg-tertiary-emphasis{background-color:var(--kendo-color-tertiary-emphasis, #84aea7) !important}.k-bg-info-subtle{background-color:var(--kendo-color-info-subtle, #c8d7fb)}.\!k-bg-info-subtle{background-color:var(--kendo-color-info-subtle, #c8d7fb) !important}.k-bg-info{background-color:var(--kendo-color-info, #0058e9)}.\!k-bg-info{background-color:var(--kendo-color-info, #0058e9) !important}.k-bg-info-emphasis{background-color:var(--kendo-color-info-emphasis, #80a5f4)}.\!k-bg-info-emphasis{background-color:var(--kendo-color-info-emphasis, #80a5f4) !important}.k-bg-success-subtle{background-color:var(--kendo-color-success-subtle, #d7f0cc)}.\!k-bg-success-subtle{background-color:var(--kendo-color-success-subtle, #d7f0cc) !important}.k-bg-success{background-color:var(--kendo-color-success, #37b400)}.\!k-bg-success{background-color:var(--kendo-color-success, #37b400) !important}.k-bg-success-emphasis{background-color:var(--kendo-color-success-emphasis, #93d775)}.\!k-bg-success-emphasis{background-color:var(--kendo-color-success-emphasis, #93d775) !important}.k-bg-warning-subtle{background-color:var(--kendo-color-warning-subtle, #fff0ce)}.\!k-bg-warning-subtle{background-color:var(--kendo-color-warning-subtle, #fff0ce) !important}.k-bg-warning{background-color:var(--kendo-color-warning, #ffc000)}.\!k-bg-warning{background-color:var(--kendo-color-warning, #ffc000) !important}.k-bg-warning-emphasis{background-color:var(--kendo-color-warning-emphasis, #ffdd8f)}.\!k-bg-warning-emphasis{background-color:var(--kendo-color-warning-emphasis, #ffdd8f) !important}.k-bg-error-subtle{background-color:var(--kendo-color-error-subtle, #fcc7c2)}.\!k-bg-error-subtle{background-color:var(--kendo-color-error-subtle, #fcc7c2) !important}.k-bg-error{background-color:var(--kendo-color-error, #f31700)}.\!k-bg-error{background-color:var(--kendo-color-error, #f31700) !important}.k-bg-error-emphasis{background-color:var(--kendo-color-error-emphasis, #fc8d83)}.\!k-bg-error-emphasis{background-color:var(--kendo-color-error-emphasis, #fc8d83) !important}.k-bg-light-subtle{background-color:var(--kendo-color-light-subtle, #fafafa)}.\!k-bg-light-subtle{background-color:var(--kendo-color-light-subtle, #fafafa) !important}.k-bg-light{background-color:var(--kendo-color-light, #f5f5f5)}.\!k-bg-light{background-color:var(--kendo-color-light, #f5f5f5) !important}.k-bg-light-emphasis{background-color:var(--kendo-color-light-emphasis, #e0e0e0)}.\!k-bg-light-emphasis{background-color:var(--kendo-color-light-emphasis, #e0e0e0) !important}.k-bg-dark-subtle{background-color:var(--kendo-color-dark-subtle, #c7c7c7)}.\!k-bg-dark-subtle{background-color:var(--kendo-color-dark-subtle, #c7c7c7) !important}.k-bg-dark{background-color:var(--kendo-color-dark, #424242)}.\!k-bg-dark{background-color:var(--kendo-color-dark, #424242) !important}.k-bg-dark-emphasis{background-color:var(--kendo-color-dark-emphasis, #9e9e9e)}.\!k-bg-dark-emphasis{background-color:var(--kendo-color-dark-emphasis, #9e9e9e) !important}.k-bg-inherit{background-color:var(--kendo-color-inherit, inherit)}.\!k-bg-inherit{background-color:var(--kendo-color-inherit, inherit) !important}.k-bg-transparent{background-color:var(--kendo-color-transparent, transparent)}.\!k-bg-transparent{background-color:var(--kendo-color-transparent, transparent) !important}.k-bg-black{background-color:var(--kendo-color-black, black)}.\!k-bg-black{background-color:var(--kendo-color-black, black) !important}.k-bg-white{background-color:var(--kendo-color-white, white)}.\!k-bg-white{background-color:var(--kendo-color-white, white) !important}.k-bg-center{background-position:center}.\!k-bg-center{background-position:center !important}.k-bg-top{background-position:top}.\!k-bg-top{background-position:top !important}.k-bg-right{background-position:right}.\!k-bg-right{background-position:right !important}.k-bg-bottom{background-position:bottom}.\!k-bg-bottom{background-position:bottom !important}.k-bg-left{background-position:left}.\!k-bg-left{background-position:left !important}.k-bg-top-left{background-position:top left}.\!k-bg-top-left{background-position:top left !important}.k-bg-top-right{background-position:top right}.\!k-bg-top-right{background-position:top right !important}.k-bg-bottom-left{background-position:bottom left}.\!k-bg-bottom-left{background-position:bottom left !important}.k-bg-bottom-right{background-position:bottom right}.\!k-bg-bottom-right{background-position:bottom right !important}.k-bg-auto{background-size:auto}.\!k-bg-auto{background-size:auto !important}.k-bg-cover{background-size:cover}.\!k-bg-cover{background-size:cover !important}.k-bg-contain{background-size:contain}.\!k-bg-contain{background-size:contain !important}.k-border-app-surface{border-color:var(--kendo-color-app-surface, #ffffff)}.\!k-border-app-surface{border-color:var(--kendo-color-app-surface, #ffffff) !important}.k-border-on-app-surface{border-color:var(--kendo-color-on-app-surface, #212121)}.\!k-border-on-app-surface{border-color:var(--kendo-color-on-app-surface, #212121) !important}.k-border-subtle{border-color:var(--kendo-color-subtle, #757575)}.\!k-border-subtle{border-color:var(--kendo-color-subtle, #757575) !important}.k-border-surface{border-color:var(--kendo-color-surface, #f5f5f5)}.\!k-border-surface{border-color:var(--kendo-color-surface, #f5f5f5) !important}.k-border-surface-alt{border-color:var(--kendo-color-surface-alt, #ffffff)}.\!k-border-surface-alt{border-color:var(--kendo-color-surface-alt, #ffffff) !important}.k-border-border{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.\!k-border-border{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12)) !important}.k-border-border-alt{border-color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15))}.\!k-border-border-alt{border-color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15)) !important}.k-border-base-subtle{border-color:var(--kendo-color-base-subtle, #ebebeb)}.\!k-border-base-subtle{border-color:var(--kendo-color-base-subtle, #ebebeb) !important}.k-border-base-emphasis{border-color:var(--kendo-color-base-emphasis, #adadad)}.\!k-border-base-emphasis{border-color:var(--kendo-color-base-emphasis, #adadad) !important}.k-border-primary-subtle{border-color:var(--kendo-color-primary-subtle, #d1d5ee)}.\!k-border-primary-subtle{border-color:var(--kendo-color-primary-subtle, #d1d5ee) !important}.k-border-primary{border-color:var(--kendo-color-primary, #3f51b5)}.\!k-border-primary{border-color:var(--kendo-color-primary, #3f51b5) !important}.k-border-primary-emphasis{border-color:var(--kendo-color-primary-emphasis, #97a0d7)}.\!k-border-primary-emphasis{border-color:var(--kendo-color-primary-emphasis, #97a0d7) !important}.k-border-secondary-subtle{border-color:var(--kendo-color-secondary-subtle, #fbcdd9)}.\!k-border-secondary-subtle{border-color:var(--kendo-color-secondary-subtle, #fbcdd9) !important}.k-border-secondary{border-color:var(--kendo-color-secondary, #e51a5f)}.\!k-border-secondary{border-color:var(--kendo-color-secondary, #e51a5f) !important}.k-border-secondary-emphasis{border-color:var(--kendo-color-secondary-emphasis, #f58da9)}.\!k-border-secondary-emphasis{border-color:var(--kendo-color-secondary-emphasis, #f58da9) !important}.k-border-tertiary-subtle{border-color:var(--kendo-color-tertiary-subtle, #c9dbd8)}.\!k-border-tertiary-subtle{border-color:var(--kendo-color-tertiary-subtle, #c9dbd8) !important}.k-border-tertiary{border-color:var(--kendo-color-tertiary, #00695c)}.\!k-border-tertiary{border-color:var(--kendo-color-tertiary, #00695c) !important}.k-border-tertiary-emphasis{border-color:var(--kendo-color-tertiary-emphasis, #84aea7)}.\!k-border-tertiary-emphasis{border-color:var(--kendo-color-tertiary-emphasis, #84aea7) !important}.k-border-info-subtle{border-color:var(--kendo-color-info-subtle, #c8d7fb)}.\!k-border-info-subtle{border-color:var(--kendo-color-info-subtle, #c8d7fb) !important}.k-border-info{border-color:var(--kendo-color-info, #0058e9)}.\!k-border-info{border-color:var(--kendo-color-info, #0058e9) !important}.k-border-info-emphasis{border-color:var(--kendo-color-info-emphasis, #80a5f4)}.\!k-border-info-emphasis{border-color:var(--kendo-color-info-emphasis, #80a5f4) !important}.k-border-success-subtle{border-color:var(--kendo-color-success-subtle, #d7f0cc)}.\!k-border-success-subtle{border-color:var(--kendo-color-success-subtle, #d7f0cc) !important}.k-border-success{border-color:var(--kendo-color-success, #37b400)}.\!k-border-success{border-color:var(--kendo-color-success, #37b400) !important}.k-border-success-emphasis{border-color:var(--kendo-color-success-emphasis, #93d775)}.\!k-border-success-emphasis{border-color:var(--kendo-color-success-emphasis, #93d775) !important}.k-border-warning-subtle{border-color:var(--kendo-color-warning-subtle, #fff0ce)}.\!k-border-warning-subtle{border-color:var(--kendo-color-warning-subtle, #fff0ce) !important}.k-border-warning{border-color:var(--kendo-color-warning, #ffc000)}.\!k-border-warning{border-color:var(--kendo-color-warning, #ffc000) !important}.k-border-warning-emphasis{border-color:var(--kendo-color-warning-emphasis, #ffdd8f)}.\!k-border-warning-emphasis{border-color:var(--kendo-color-warning-emphasis, #ffdd8f) !important}.k-border-error-subtle{border-color:var(--kendo-color-error-subtle, #fcc7c2)}.\!k-border-error-subtle{border-color:var(--kendo-color-error-subtle, #fcc7c2) !important}.k-border-error{border-color:var(--kendo-color-error, #f31700)}.\!k-border-error{border-color:var(--kendo-color-error, #f31700) !important}.k-border-error-emphasis{border-color:var(--kendo-color-error-emphasis, #fc8d83)}.\!k-border-error-emphasis{border-color:var(--kendo-color-error-emphasis, #fc8d83) !important}.k-border-light-subtle{border-color:var(--kendo-color-light-subtle, #fafafa)}.\!k-border-light-subtle{border-color:var(--kendo-color-light-subtle, #fafafa) !important}.k-border-light{border-color:var(--kendo-color-light, #f5f5f5)}.\!k-border-light{border-color:var(--kendo-color-light, #f5f5f5) !important}.k-border-light-emphasis{border-color:var(--kendo-color-light-emphasis, #e0e0e0)}.\!k-border-light-emphasis{border-color:var(--kendo-color-light-emphasis, #e0e0e0) !important}.k-border-dark-subtle{border-color:var(--kendo-color-dark-subtle, #c7c7c7)}.\!k-border-dark-subtle{border-color:var(--kendo-color-dark-subtle, #c7c7c7) !important}.k-border-dark{border-color:var(--kendo-color-dark, #424242)}.\!k-border-dark{border-color:var(--kendo-color-dark, #424242) !important}.k-border-dark-emphasis{border-color:var(--kendo-color-dark-emphasis, #9e9e9e)}.\!k-border-dark-emphasis{border-color:var(--kendo-color-dark-emphasis, #9e9e9e) !important}.k-border-inherit{border-color:var(--kendo-color-inherit, inherit)}.\!k-border-inherit{border-color:var(--kendo-color-inherit, inherit) !important}.k-border-current{border-color:var(--kendo-color-current, currentColor)}.\!k-border-current{border-color:var(--kendo-color-current, currentColor) !important}.k-border-transparent{border-color:var(--kendo-color-transparent, transparent)}.\!k-border-transparent{border-color:var(--kendo-color-transparent, transparent) !important}.k-border-black{border-color:var(--kendo-color-black, black)}.\!k-border-black{border-color:var(--kendo-color-black, black) !important}.k-border-white{border-color:var(--kendo-color-white, white)}.\!k-border-white{border-color:var(--kendo-color-white, white) !important}.k-rounded-none{border-radius:var(--kendo-border-radius-none, 0px)}.\!k-rounded-none{border-radius:var(--kendo-border-radius-none, 0px) !important}.k-rounded-xs{border-radius:var(--kendo-border-radius-xs, 1px)}.\!k-rounded-xs{border-radius:var(--kendo-border-radius-xs, 1px) !important}.k-rounded-sm{border-radius:var(--kendo-border-radius-sm, 0.125rem)}.\!k-rounded-sm{border-radius:var(--kendo-border-radius-sm, 0.125rem) !important}.k-rounded-md{border-radius:var(--kendo-border-radius-md, 0.25rem)}.\!k-rounded-md{border-radius:var(--kendo-border-radius-md, 0.25rem) !important}.k-rounded-lg{border-radius:var(--kendo-border-radius-lg, 0.5rem)}.\!k-rounded-lg{border-radius:var(--kendo-border-radius-lg, 0.5rem) !important}.k-rounded-xl{border-radius:var(--kendo-border-radius-xl, 0.75rem)}.\!k-rounded-xl{border-radius:var(--kendo-border-radius-xl, 0.75rem) !important}.k-rounded-xxl{border-radius:var(--kendo-border-radius-xxl, 1rem)}.\!k-rounded-xxl{border-radius:var(--kendo-border-radius-xxl, 1rem) !important}.k-rounded-xxxl{border-radius:var(--kendo-border-radius-xxxl, 1.25rem)}.\!k-rounded-xxxl{border-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important}.k-rounded-full{border-radius:var(--kendo-border-radius-full, 9999px)}.\!k-rounded-full{border-radius:var(--kendo-border-radius-full, 9999px) !important}.k-rounded-tl-none{border-top-left-radius:var(--kendo-border-radius-none, 0px)}.\!k-rounded-tl-none{border-top-left-radius:var(--kendo-border-radius-none, 0px) !important}.k-rounded-tl-xs{border-top-left-radius:var(--kendo-border-radius-xs, 1px)}.\!k-rounded-tl-xs{border-top-left-radius:var(--kendo-border-radius-xs, 1px) !important}.k-rounded-tl-sm{border-top-left-radius:var(--kendo-border-radius-sm, 0.125rem)}.\!k-rounded-tl-sm{border-top-left-radius:var(--kendo-border-radius-sm, 0.125rem) !important}.k-rounded-tl-md{border-top-left-radius:var(--kendo-border-radius-md, 0.25rem)}.\!k-rounded-tl-md{border-top-left-radius:var(--kendo-border-radius-md, 0.25rem) !important}.k-rounded-tl-lg{border-top-left-radius:var(--kendo-border-radius-lg, 0.5rem)}.\!k-rounded-tl-lg{border-top-left-radius:var(--kendo-border-radius-lg, 0.5rem) !important}.k-rounded-tl-xl{border-top-left-radius:var(--kendo-border-radius-xl, 0.75rem)}.\!k-rounded-tl-xl{border-top-left-radius:var(--kendo-border-radius-xl, 0.75rem) !important}.k-rounded-tl-xxl{border-top-left-radius:var(--kendo-border-radius-xxl, 1rem)}.\!k-rounded-tl-xxl{border-top-left-radius:var(--kendo-border-radius-xxl, 1rem) !important}.k-rounded-tl-xxxl{border-top-left-radius:var(--kendo-border-radius-xxxl, 1.25rem)}.\!k-rounded-tl-xxxl{border-top-left-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important}.k-rounded-tl-full{border-top-left-radius:var(--kendo-border-radius-full, 9999px)}.\!k-rounded-tl-full{border-top-left-radius:var(--kendo-border-radius-full, 9999px) !important}.k-rounded-tr-none{border-top-right-radius:var(--kendo-border-radius-none, 0px)}.\!k-rounded-tr-none{border-top-right-radius:var(--kendo-border-radius-none, 0px) !important}.k-rounded-tr-xs{border-top-right-radius:var(--kendo-border-radius-xs, 1px)}.\!k-rounded-tr-xs{border-top-right-radius:var(--kendo-border-radius-xs, 1px) !important}.k-rounded-tr-sm{border-top-right-radius:var(--kendo-border-radius-sm, 0.125rem)}.\!k-rounded-tr-sm{border-top-right-radius:var(--kendo-border-radius-sm, 0.125rem) !important}.k-rounded-tr-md{border-top-right-radius:var(--kendo-border-radius-md, 0.25rem)}.\!k-rounded-tr-md{border-top-right-radius:var(--kendo-border-radius-md, 0.25rem) !important}.k-rounded-tr-lg{border-top-right-radius:var(--kendo-border-radius-lg, 0.5rem)}.\!k-rounded-tr-lg{border-top-right-radius:var(--kendo-border-radius-lg, 0.5rem) !important}.k-rounded-tr-xl{border-top-right-radius:var(--kendo-border-radius-xl, 0.75rem)}.\!k-rounded-tr-xl{border-top-right-radius:var(--kendo-border-radius-xl, 0.75rem) !important}.k-rounded-tr-xxl{border-top-right-radius:var(--kendo-border-radius-xxl, 1rem)}.\!k-rounded-tr-xxl{border-top-right-radius:var(--kendo-border-radius-xxl, 1rem) !important}.k-rounded-tr-xxxl{border-top-right-radius:var(--kendo-border-radius-xxxl, 1.25rem)}.\!k-rounded-tr-xxxl{border-top-right-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important}.k-rounded-tr-full{border-top-right-radius:var(--kendo-border-radius-full, 9999px)}.\!k-rounded-tr-full{border-top-right-radius:var(--kendo-border-radius-full, 9999px) !important}.k-rounded-br-none{border-bottom-right-radius:var(--kendo-border-radius-none, 0px)}.\!k-rounded-br-none{border-bottom-right-radius:var(--kendo-border-radius-none, 0px) !important}.k-rounded-br-xs{border-bottom-right-radius:var(--kendo-border-radius-xs, 1px)}.\!k-rounded-br-xs{border-bottom-right-radius:var(--kendo-border-radius-xs, 1px) !important}.k-rounded-br-sm{border-bottom-right-radius:var(--kendo-border-radius-sm, 0.125rem)}.\!k-rounded-br-sm{border-bottom-right-radius:var(--kendo-border-radius-sm, 0.125rem) !important}.k-rounded-br-md{border-bottom-right-radius:var(--kendo-border-radius-md, 0.25rem)}.\!k-rounded-br-md{border-bottom-right-radius:var(--kendo-border-radius-md, 0.25rem) !important}.k-rounded-br-lg{border-bottom-right-radius:var(--kendo-border-radius-lg, 0.5rem)}.\!k-rounded-br-lg{border-bottom-right-radius:var(--kendo-border-radius-lg, 0.5rem) !important}.k-rounded-br-xl{border-bottom-right-radius:var(--kendo-border-radius-xl, 0.75rem)}.\!k-rounded-br-xl{border-bottom-right-radius:var(--kendo-border-radius-xl, 0.75rem) !important}.k-rounded-br-xxl{border-bottom-right-radius:var(--kendo-border-radius-xxl, 1rem)}.\!k-rounded-br-xxl{border-bottom-right-radius:var(--kendo-border-radius-xxl, 1rem) !important}.k-rounded-br-xxxl{border-bottom-right-radius:var(--kendo-border-radius-xxxl, 1.25rem)}.\!k-rounded-br-xxxl{border-bottom-right-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important}.k-rounded-br-full{border-bottom-right-radius:var(--kendo-border-radius-full, 9999px)}.\!k-rounded-br-full{border-bottom-right-radius:var(--kendo-border-radius-full, 9999px) !important}.k-rounded-bl-none{border-bottom-left-radius:var(--kendo-border-radius-none, 0px)}.\!k-rounded-bl-none{border-bottom-left-radius:var(--kendo-border-radius-none, 0px) !important}.k-rounded-bl-xs{border-bottom-left-radius:var(--kendo-border-radius-xs, 1px)}.\!k-rounded-bl-xs{border-bottom-left-radius:var(--kendo-border-radius-xs, 1px) !important}.k-rounded-bl-sm{border-bottom-left-radius:var(--kendo-border-radius-sm, 0.125rem)}.\!k-rounded-bl-sm{border-bottom-left-radius:var(--kendo-border-radius-sm, 0.125rem) !important}.k-rounded-bl-md{border-bottom-left-radius:var(--kendo-border-radius-md, 0.25rem)}.\!k-rounded-bl-md{border-bottom-left-radius:var(--kendo-border-radius-md, 0.25rem) !important}.k-rounded-bl-lg{border-bottom-left-radius:var(--kendo-border-radius-lg, 0.5rem)}.\!k-rounded-bl-lg{border-bottom-left-radius:var(--kendo-border-radius-lg, 0.5rem) !important}.k-rounded-bl-xl{border-bottom-left-radius:var(--kendo-border-radius-xl, 0.75rem)}.\!k-rounded-bl-xl{border-bottom-left-radius:var(--kendo-border-radius-xl, 0.75rem) !important}.k-rounded-bl-xxl{border-bottom-left-radius:var(--kendo-border-radius-xxl, 1rem)}.\!k-rounded-bl-xxl{border-bottom-left-radius:var(--kendo-border-radius-xxl, 1rem) !important}.k-rounded-bl-xxxl{border-bottom-left-radius:var(--kendo-border-radius-xxxl, 1.25rem)}.\!k-rounded-bl-xxxl{border-bottom-left-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important}.k-rounded-bl-full{border-bottom-left-radius:var(--kendo-border-radius-full, 9999px)}.\!k-rounded-bl-full{border-bottom-left-radius:var(--kendo-border-radius-full, 9999px) !important}.k-rounded-t-none{border-top-left-radius:var(--kendo-border-radius-none, 0px);border-top-right-radius:var(--kendo-border-radius-none, 0px)}.\!k-rounded-t-none{border-top-left-radius:var(--kendo-border-radius-none, 0px) !important;border-top-right-radius:var(--kendo-border-radius-none, 0px) !important}.k-rounded-t-xs{border-top-left-radius:var(--kendo-border-radius-xs, 1px);border-top-right-radius:var(--kendo-border-radius-xs, 1px)}.\!k-rounded-t-xs{border-top-left-radius:var(--kendo-border-radius-xs, 1px) !important;border-top-right-radius:var(--kendo-border-radius-xs, 1px) !important}.k-rounded-t-sm{border-top-left-radius:var(--kendo-border-radius-sm, 0.125rem);border-top-right-radius:var(--kendo-border-radius-sm, 0.125rem)}.\!k-rounded-t-sm{border-top-left-radius:var(--kendo-border-radius-sm, 0.125rem) !important;border-top-right-radius:var(--kendo-border-radius-sm, 0.125rem) !important}.k-rounded-t-md{border-top-left-radius:var(--kendo-border-radius-md, 0.25rem);border-top-right-radius:var(--kendo-border-radius-md, 0.25rem)}.\!k-rounded-t-md{border-top-left-radius:var(--kendo-border-radius-md, 0.25rem) !important;border-top-right-radius:var(--kendo-border-radius-md, 0.25rem) !important}.k-rounded-t-lg{border-top-left-radius:var(--kendo-border-radius-lg, 0.5rem);border-top-right-radius:var(--kendo-border-radius-lg, 0.5rem)}.\!k-rounded-t-lg{border-top-left-radius:var(--kendo-border-radius-lg, 0.5rem) !important;border-top-right-radius:var(--kendo-border-radius-lg, 0.5rem) !important}.k-rounded-t-xl{border-top-left-radius:var(--kendo-border-radius-xl, 0.75rem);border-top-right-radius:var(--kendo-border-radius-xl, 0.75rem)}.\!k-rounded-t-xl{border-top-left-radius:var(--kendo-border-radius-xl, 0.75rem) !important;border-top-right-radius:var(--kendo-border-radius-xl, 0.75rem) !important}.k-rounded-t-xxl{border-top-left-radius:var(--kendo-border-radius-xxl, 1rem);border-top-right-radius:var(--kendo-border-radius-xxl, 1rem)}.\!k-rounded-t-xxl{border-top-left-radius:var(--kendo-border-radius-xxl, 1rem) !important;border-top-right-radius:var(--kendo-border-radius-xxl, 1rem) !important}.k-rounded-t-xxxl{border-top-left-radius:var(--kendo-border-radius-xxxl, 1.25rem);border-top-right-radius:var(--kendo-border-radius-xxxl, 1.25rem)}.\!k-rounded-t-xxxl{border-top-left-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important;border-top-right-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important}.k-rounded-t-full{border-top-left-radius:var(--kendo-border-radius-full, 9999px);border-top-right-radius:var(--kendo-border-radius-full, 9999px)}.\!k-rounded-t-full{border-top-left-radius:var(--kendo-border-radius-full, 9999px) !important;border-top-right-radius:var(--kendo-border-radius-full, 9999px) !important}.k-rounded-r-none{border-top-right-radius:var(--kendo-border-radius-none, 0px);border-bottom-right-radius:var(--kendo-border-radius-none, 0px)}.\!k-rounded-r-none{border-top-right-radius:var(--kendo-border-radius-none, 0px) !important;border-bottom-right-radius:var(--kendo-border-radius-none, 0px) !important}.k-rounded-r-xs{border-top-right-radius:var(--kendo-border-radius-xs, 1px);border-bottom-right-radius:var(--kendo-border-radius-xs, 1px)}.\!k-rounded-r-xs{border-top-right-radius:var(--kendo-border-radius-xs, 1px) !important;border-bottom-right-radius:var(--kendo-border-radius-xs, 1px) !important}.k-rounded-r-sm{border-top-right-radius:var(--kendo-border-radius-sm, 0.125rem);border-bottom-right-radius:var(--kendo-border-radius-sm, 0.125rem)}.\!k-rounded-r-sm{border-top-right-radius:var(--kendo-border-radius-sm, 0.125rem) !important;border-bottom-right-radius:var(--kendo-border-radius-sm, 0.125rem) !important}.k-rounded-r-md{border-top-right-radius:var(--kendo-border-radius-md, 0.25rem);border-bottom-right-radius:var(--kendo-border-radius-md, 0.25rem)}.\!k-rounded-r-md{border-top-right-radius:var(--kendo-border-radius-md, 0.25rem) !important;border-bottom-right-radius:var(--kendo-border-radius-md, 0.25rem) !important}.k-rounded-r-lg{border-top-right-radius:var(--kendo-border-radius-lg, 0.5rem);border-bottom-right-radius:var(--kendo-border-radius-lg, 0.5rem)}.\!k-rounded-r-lg{border-top-right-radius:var(--kendo-border-radius-lg, 0.5rem) !important;border-bottom-right-radius:var(--kendo-border-radius-lg, 0.5rem) !important}.k-rounded-r-xl{border-top-right-radius:var(--kendo-border-radius-xl, 0.75rem);border-bottom-right-radius:var(--kendo-border-radius-xl, 0.75rem)}.\!k-rounded-r-xl{border-top-right-radius:var(--kendo-border-radius-xl, 0.75rem) !important;border-bottom-right-radius:var(--kendo-border-radius-xl, 0.75rem) !important}.k-rounded-r-xxl{border-top-right-radius:var(--kendo-border-radius-xxl, 1rem);border-bottom-right-radius:var(--kendo-border-radius-xxl, 1rem)}.\!k-rounded-r-xxl{border-top-right-radius:var(--kendo-border-radius-xxl, 1rem) !important;border-bottom-right-radius:var(--kendo-border-radius-xxl, 1rem) !important}.k-rounded-r-xxxl{border-top-right-radius:var(--kendo-border-radius-xxxl, 1.25rem);border-bottom-right-radius:var(--kendo-border-radius-xxxl, 1.25rem)}.\!k-rounded-r-xxxl{border-top-right-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important;border-bottom-right-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important}.k-rounded-r-full{border-top-right-radius:var(--kendo-border-radius-full, 9999px);border-bottom-right-radius:var(--kendo-border-radius-full, 9999px)}.\!k-rounded-r-full{border-top-right-radius:var(--kendo-border-radius-full, 9999px) !important;border-bottom-right-radius:var(--kendo-border-radius-full, 9999px) !important}.k-rounded-b-none{border-bottom-left-radius:var(--kendo-border-radius-none, 0px);border-bottom-right-radius:var(--kendo-border-radius-none, 0px)}.\!k-rounded-b-none{border-bottom-left-radius:var(--kendo-border-radius-none, 0px) !important;border-bottom-right-radius:var(--kendo-border-radius-none, 0px) !important}.k-rounded-b-xs{border-bottom-left-radius:var(--kendo-border-radius-xs, 1px);border-bottom-right-radius:var(--kendo-border-radius-xs, 1px)}.\!k-rounded-b-xs{border-bottom-left-radius:var(--kendo-border-radius-xs, 1px) !important;border-bottom-right-radius:var(--kendo-border-radius-xs, 1px) !important}.k-rounded-b-sm{border-bottom-left-radius:var(--kendo-border-radius-sm, 0.125rem);border-bottom-right-radius:var(--kendo-border-radius-sm, 0.125rem)}.\!k-rounded-b-sm{border-bottom-left-radius:var(--kendo-border-radius-sm, 0.125rem) !important;border-bottom-right-radius:var(--kendo-border-radius-sm, 0.125rem) !important}.k-rounded-b-md{border-bottom-left-radius:var(--kendo-border-radius-md, 0.25rem);border-bottom-right-radius:var(--kendo-border-radius-md, 0.25rem)}.\!k-rounded-b-md{border-bottom-left-radius:var(--kendo-border-radius-md, 0.25rem) !important;border-bottom-right-radius:var(--kendo-border-radius-md, 0.25rem) !important}.k-rounded-b-lg{border-bottom-left-radius:var(--kendo-border-radius-lg, 0.5rem);border-bottom-right-radius:var(--kendo-border-radius-lg, 0.5rem)}.\!k-rounded-b-lg{border-bottom-left-radius:var(--kendo-border-radius-lg, 0.5rem) !important;border-bottom-right-radius:var(--kendo-border-radius-lg, 0.5rem) !important}.k-rounded-b-xl{border-bottom-left-radius:var(--kendo-border-radius-xl, 0.75rem);border-bottom-right-radius:var(--kendo-border-radius-xl, 0.75rem)}.\!k-rounded-b-xl{border-bottom-left-radius:var(--kendo-border-radius-xl, 0.75rem) !important;border-bottom-right-radius:var(--kendo-border-radius-xl, 0.75rem) !important}.k-rounded-b-xxl{border-bottom-left-radius:var(--kendo-border-radius-xxl, 1rem);border-bottom-right-radius:var(--kendo-border-radius-xxl, 1rem)}.\!k-rounded-b-xxl{border-bottom-left-radius:var(--kendo-border-radius-xxl, 1rem) !important;border-bottom-right-radius:var(--kendo-border-radius-xxl, 1rem) !important}.k-rounded-b-xxxl{border-bottom-left-radius:var(--kendo-border-radius-xxxl, 1.25rem);border-bottom-right-radius:var(--kendo-border-radius-xxxl, 1.25rem)}.\!k-rounded-b-xxxl{border-bottom-left-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important;border-bottom-right-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important}.k-rounded-b-full{border-bottom-left-radius:var(--kendo-border-radius-full, 9999px);border-bottom-right-radius:var(--kendo-border-radius-full, 9999px)}.\!k-rounded-b-full{border-bottom-left-radius:var(--kendo-border-radius-full, 9999px) !important;border-bottom-right-radius:var(--kendo-border-radius-full, 9999px) !important}.k-rounded-l-none{border-top-left-radius:var(--kendo-border-radius-none, 0px);border-bottom-left-radius:var(--kendo-border-radius-none, 0px)}.\!k-rounded-l-none{border-top-left-radius:var(--kendo-border-radius-none, 0px) !important;border-bottom-left-radius:var(--kendo-border-radius-none, 0px) !important}.k-rounded-l-xs{border-top-left-radius:var(--kendo-border-radius-xs, 1px);border-bottom-left-radius:var(--kendo-border-radius-xs, 1px)}.\!k-rounded-l-xs{border-top-left-radius:var(--kendo-border-radius-xs, 1px) !important;border-bottom-left-radius:var(--kendo-border-radius-xs, 1px) !important}.k-rounded-l-sm{border-top-left-radius:var(--kendo-border-radius-sm, 0.125rem);border-bottom-left-radius:var(--kendo-border-radius-sm, 0.125rem)}.\!k-rounded-l-sm{border-top-left-radius:var(--kendo-border-radius-sm, 0.125rem) !important;border-bottom-left-radius:var(--kendo-border-radius-sm, 0.125rem) !important}.k-rounded-l-md{border-top-left-radius:var(--kendo-border-radius-md, 0.25rem);border-bottom-left-radius:var(--kendo-border-radius-md, 0.25rem)}.\!k-rounded-l-md{border-top-left-radius:var(--kendo-border-radius-md, 0.25rem) !important;border-bottom-left-radius:var(--kendo-border-radius-md, 0.25rem) !important}.k-rounded-l-lg{border-top-left-radius:var(--kendo-border-radius-lg, 0.5rem);border-bottom-left-radius:var(--kendo-border-radius-lg, 0.5rem)}.\!k-rounded-l-lg{border-top-left-radius:var(--kendo-border-radius-lg, 0.5rem) !important;border-bottom-left-radius:var(--kendo-border-radius-lg, 0.5rem) !important}.k-rounded-l-xl{border-top-left-radius:var(--kendo-border-radius-xl, 0.75rem);border-bottom-left-radius:var(--kendo-border-radius-xl, 0.75rem)}.\!k-rounded-l-xl{border-top-left-radius:var(--kendo-border-radius-xl, 0.75rem) !important;border-bottom-left-radius:var(--kendo-border-radius-xl, 0.75rem) !important}.k-rounded-l-xxl{border-top-left-radius:var(--kendo-border-radius-xxl, 1rem);border-bottom-left-radius:var(--kendo-border-radius-xxl, 1rem)}.\!k-rounded-l-xxl{border-top-left-radius:var(--kendo-border-radius-xxl, 1rem) !important;border-bottom-left-radius:var(--kendo-border-radius-xxl, 1rem) !important}.k-rounded-l-xxxl{border-top-left-radius:var(--kendo-border-radius-xxxl, 1.25rem);border-bottom-left-radius:var(--kendo-border-radius-xxxl, 1.25rem)}.\!k-rounded-l-xxxl{border-top-left-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important;border-bottom-left-radius:var(--kendo-border-radius-xxxl, 1.25rem) !important}.k-rounded-l-full{border-top-left-radius:var(--kendo-border-radius-full, 9999px);border-bottom-left-radius:var(--kendo-border-radius-full, 9999px)}.\!k-rounded-l-full{border-top-left-radius:var(--kendo-border-radius-full, 9999px) !important;border-bottom-left-radius:var(--kendo-border-radius-full, 9999px) !important}.k-border-solid{border-style:solid}.\!k-border-solid{border-style:solid !important}.k-border-dashed{border-style:dashed}.\!k-border-dashed{border-style:dashed !important}.k-border-dotted{border-style:dotted}.\!k-border-dotted{border-style:dotted !important}.k-border-double{border-style:double}.\!k-border-double{border-style:double !important}.k-border-inset{border-style:inset}.\!k-border-inset{border-style:inset !important}.k-border-outset{border-style:outset}.\!k-border-outset{border-style:outset !important}.k-border-hidden{border-style:hidden}.\!k-border-hidden{border-style:hidden !important}.k-border-none{border-style:none}.\!k-border-none{border-style:none !important}.k-border-t-solid{border-top-style:solid}.\!k-border-t-solid{border-top-style:solid !important}.k-border-t-dashed{border-top-style:dashed}.\!k-border-t-dashed{border-top-style:dashed !important}.k-border-t-dotted{border-top-style:dotted}.\!k-border-t-dotted{border-top-style:dotted !important}.k-border-t-double{border-top-style:double}.\!k-border-t-double{border-top-style:double !important}.k-border-t-inset{border-top-style:inset}.\!k-border-t-inset{border-top-style:inset !important}.k-border-t-outset{border-top-style:outset}.\!k-border-t-outset{border-top-style:outset !important}.k-border-t-hidden{border-top-style:hidden}.\!k-border-t-hidden{border-top-style:hidden !important}.k-border-t-none{border-top-style:none}.\!k-border-t-none{border-top-style:none !important}.k-border-r-solid{border-right-style:solid}.\!k-border-r-solid{border-right-style:solid !important}.k-border-r-dashed{border-right-style:dashed}.\!k-border-r-dashed{border-right-style:dashed !important}.k-border-r-dotted{border-right-style:dotted}.\!k-border-r-dotted{border-right-style:dotted !important}.k-border-r-double{border-right-style:double}.\!k-border-r-double{border-right-style:double !important}.k-border-r-inset{border-right-style:inset}.\!k-border-r-inset{border-right-style:inset !important}.k-border-r-outset{border-right-style:outset}.\!k-border-r-outset{border-right-style:outset !important}.k-border-r-hidden{border-right-style:hidden}.\!k-border-r-hidden{border-right-style:hidden !important}.k-border-r-none{border-right-style:none}.\!k-border-r-none{border-right-style:none !important}.k-border-b-solid{border-bottom-style:solid}.\!k-border-b-solid{border-bottom-style:solid !important}.k-border-b-dashed{border-bottom-style:dashed}.\!k-border-b-dashed{border-bottom-style:dashed !important}.k-border-b-dotted{border-bottom-style:dotted}.\!k-border-b-dotted{border-bottom-style:dotted !important}.k-border-b-double{border-bottom-style:double}.\!k-border-b-double{border-bottom-style:double !important}.k-border-b-inset{border-bottom-style:inset}.\!k-border-b-inset{border-bottom-style:inset !important}.k-border-b-outset{border-bottom-style:outset}.\!k-border-b-outset{border-bottom-style:outset !important}.k-border-b-hidden{border-bottom-style:hidden}.\!k-border-b-hidden{border-bottom-style:hidden !important}.k-border-b-none{border-bottom-style:none}.\!k-border-b-none{border-bottom-style:none !important}.k-border-l-solid{border-left-style:solid}.\!k-border-l-solid{border-left-style:solid !important}.k-border-l-dashed{border-left-style:dashed}.\!k-border-l-dashed{border-left-style:dashed !important}.k-border-l-dotted{border-left-style:dotted}.\!k-border-l-dotted{border-left-style:dotted !important}.k-border-l-double{border-left-style:double}.\!k-border-l-double{border-left-style:double !important}.k-border-l-inset{border-left-style:inset}.\!k-border-l-inset{border-left-style:inset !important}.k-border-l-outset{border-left-style:outset}.\!k-border-l-outset{border-left-style:outset !important}.k-border-l-hidden{border-left-style:hidden}.\!k-border-l-hidden{border-left-style:hidden !important}.k-border-l-none{border-left-style:none}.\!k-border-l-none{border-left-style:none !important}.k-border-x-solid{border-inline-style:solid}.\!k-border-x-solid{border-inline-style:solid !important}.k-border-x-dashed{border-inline-style:dashed}.\!k-border-x-dashed{border-inline-style:dashed !important}.k-border-x-dotted{border-inline-style:dotted}.\!k-border-x-dotted{border-inline-style:dotted !important}.k-border-x-double{border-inline-style:double}.\!k-border-x-double{border-inline-style:double !important}.k-border-x-inset{border-inline-style:inset}.\!k-border-x-inset{border-inline-style:inset !important}.k-border-x-outset{border-inline-style:outset}.\!k-border-x-outset{border-inline-style:outset !important}.k-border-x-hidden{border-inline-style:hidden}.\!k-border-x-hidden{border-inline-style:hidden !important}.k-border-x-none{border-inline-style:none}.\!k-border-x-none{border-inline-style:none !important}.k-border-y-solid{border-block-style:solid}.\!k-border-y-solid{border-block-style:solid !important}.k-border-y-dashed{border-block-style:dashed}.\!k-border-y-dashed{border-block-style:dashed !important}.k-border-y-dotted{border-block-style:dotted}.\!k-border-y-dotted{border-block-style:dotted !important}.k-border-y-double{border-block-style:double}.\!k-border-y-double{border-block-style:double !important}.k-border-y-inset{border-block-style:inset}.\!k-border-y-inset{border-block-style:inset !important}.k-border-y-outset{border-block-style:outset}.\!k-border-y-outset{border-block-style:outset !important}.k-border-y-hidden{border-block-style:hidden}.\!k-border-y-hidden{border-block-style:hidden !important}.k-border-y-none{border-block-style:none}.\!k-border-y-none{border-block-style:none !important}.k-border{border-width:1px}.\!k-border{border-width:1px !important}.k-border-0{border-width:0}.\!k-border-0{border-width:0 !important}.k-border-2{border-width:2px}.\!k-border-2{border-width:2px !important}.k-border-4{border-width:4px}.\!k-border-4{border-width:4px !important}.k-border-8{border-width:8px}.\!k-border-8{border-width:8px !important}.k-border-t{border-top-width:1px}.\!k-border-t{border-top-width:1px !important}.k-border-t-0{border-top-width:0}.\!k-border-t-0{border-top-width:0 !important}.k-border-t-2{border-top-width:2px}.\!k-border-t-2{border-top-width:2px !important}.k-border-t-4{border-top-width:4px}.\!k-border-t-4{border-top-width:4px !important}.k-border-t-8{border-top-width:8px}.\!k-border-t-8{border-top-width:8px !important}.k-border-r{border-right-width:1px}.\!k-border-r{border-right-width:1px !important}.k-border-r-0{border-right-width:0}.\!k-border-r-0{border-right-width:0 !important}.k-border-r-2{border-right-width:2px}.\!k-border-r-2{border-right-width:2px !important}.k-border-r-4{border-right-width:4px}.\!k-border-r-4{border-right-width:4px !important}.k-border-r-8{border-right-width:8px}.\!k-border-r-8{border-right-width:8px !important}.k-border-b{border-bottom-width:1px}.\!k-border-b{border-bottom-width:1px !important}.k-border-b-0{border-bottom-width:0}.\!k-border-b-0{border-bottom-width:0 !important}.k-border-b-2{border-bottom-width:2px}.\!k-border-b-2{border-bottom-width:2px !important}.k-border-b-4{border-bottom-width:4px}.\!k-border-b-4{border-bottom-width:4px !important}.k-border-b-8{border-bottom-width:8px}.\!k-border-b-8{border-bottom-width:8px !important}.k-border-l{border-left-width:1px}.\!k-border-l{border-left-width:1px !important}.k-border-l-0{border-left-width:0}.\!k-border-l-0{border-left-width:0 !important}.k-border-l-2{border-left-width:2px}.\!k-border-l-2{border-left-width:2px !important}.k-border-l-4{border-left-width:4px}.\!k-border-l-4{border-left-width:4px !important}.k-border-l-8{border-left-width:8px}.\!k-border-l-8{border-left-width:8px !important}.k-border-x{border-inline-width:1px}.\!k-border-x{border-inline-width:1px !important}.k-border-x-0{border-inline-width:0}.\!k-border-x-0{border-inline-width:0 !important}.k-border-x-2{border-inline-width:2px}.\!k-border-x-2{border-inline-width:2px !important}.k-border-x-4{border-inline-width:4px}.\!k-border-x-4{border-inline-width:4px !important}.k-border-x-8{border-inline-width:8px}.\!k-border-x-8{border-inline-width:8px !important}.k-border-y{border-block-width:1px}.\!k-border-y{border-block-width:1px !important}.k-border-y-0{border-block-width:0}.\!k-border-y-0{border-block-width:0 !important}.k-border-y-2{border-block-width:2px}.\!k-border-y-2{border-block-width:2px !important}.k-border-y-4{border-block-width:4px}.\!k-border-y-4{border-block-width:4px !important}.k-border-y-8{border-block-width:8px}.\!k-border-y-8{border-block-width:8px !important}.k-border-top{border-top-width:1px}.\!k-border-top{border-top-width:1px !important}.k-border-top-0{border-top-width:0}.\!k-border-top-0{border-top-width:0 !important}.k-border-top-2{border-top-width:2px}.\!k-border-top-2{border-top-width:2px !important}.k-border-top-4{border-top-width:4px}.\!k-border-top-4{border-top-width:4px !important}.k-border-top-8{border-top-width:8px}.\!k-border-top-8{border-top-width:8px !important}.k-border-right{border-right-width:1px}.\!k-border-right{border-right-width:1px !important}.k-border-right-0{border-right-width:0}.\!k-border-right-0{border-right-width:0 !important}.k-border-right-2{border-right-width:2px}.\!k-border-right-2{border-right-width:2px !important}.k-border-right-4{border-right-width:4px}.\!k-border-right-4{border-right-width:4px !important}.k-border-right-8{border-right-width:8px}.\!k-border-right-8{border-right-width:8px !important}.k-border-bottom{border-bottom-width:1px}.\!k-border-bottom{border-bottom-width:1px !important}.k-border-bottom-0{border-bottom-width:0}.\!k-border-bottom-0{border-bottom-width:0 !important}.k-border-bottom-2{border-bottom-width:2px}.\!k-border-bottom-2{border-bottom-width:2px !important}.k-border-bottom-4{border-bottom-width:4px}.\!k-border-bottom-4{border-bottom-width:4px !important}.k-border-bottom-8{border-bottom-width:8px}.\!k-border-bottom-8{border-bottom-width:8px !important}.k-border-left{border-left-width:1px}.\!k-border-left{border-left-width:1px !important}.k-border-left-0{border-left-width:0}.\!k-border-left-0{border-left-width:0 !important}.k-border-left-2{border-left-width:2px}.\!k-border-left-2{border-left-width:2px !important}.k-border-left-4{border-left-width:4px}.\!k-border-left-4{border-left-width:4px !important}.k-border-left-8{border-left-width:8px}.\!k-border-left-8{border-left-width:8px !important}.k-outline-app-surface{outline-color:var(--kendo-color-app-surface, #ffffff)}.\!k-outline-app-surface{outline-color:var(--kendo-color-app-surface, #ffffff) !important}.k-outline-on-app-surface{outline-color:var(--kendo-color-on-app-surface, #212121)}.\!k-outline-on-app-surface{outline-color:var(--kendo-color-on-app-surface, #212121) !important}.k-outline-subtle{outline-color:var(--kendo-color-subtle, #757575)}.\!k-outline-subtle{outline-color:var(--kendo-color-subtle, #757575) !important}.k-outline-surface{outline-color:var(--kendo-color-surface, #f5f5f5)}.\!k-outline-surface{outline-color:var(--kendo-color-surface, #f5f5f5) !important}.k-outline-surface-alt{outline-color:var(--kendo-color-surface-alt, #ffffff)}.\!k-outline-surface-alt{outline-color:var(--kendo-color-surface-alt, #ffffff) !important}.k-outline-border{outline-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.\!k-outline-border{outline-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12)) !important}.k-outline-border-alt{outline-color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15))}.\!k-outline-border-alt{outline-color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15)) !important}.k-outline-base-subtle{outline-color:var(--kendo-color-base-subtle, #ebebeb)}.\!k-outline-base-subtle{outline-color:var(--kendo-color-base-subtle, #ebebeb) !important}.k-outline-base-emphasis{outline-color:var(--kendo-color-base-emphasis, #adadad)}.\!k-outline-base-emphasis{outline-color:var(--kendo-color-base-emphasis, #adadad) !important}.k-outline-primary-subtle{outline-color:var(--kendo-color-primary-subtle, #d1d5ee)}.\!k-outline-primary-subtle{outline-color:var(--kendo-color-primary-subtle, #d1d5ee) !important}.k-outline-primary{outline-color:var(--kendo-color-primary, #3f51b5)}.\!k-outline-primary{outline-color:var(--kendo-color-primary, #3f51b5) !important}.k-outline-primary-emphasis{outline-color:var(--kendo-color-primary-emphasis, #97a0d7)}.\!k-outline-primary-emphasis{outline-color:var(--kendo-color-primary-emphasis, #97a0d7) !important}.k-outline-secondary-subtle{outline-color:var(--kendo-color-secondary-subtle, #fbcdd9)}.\!k-outline-secondary-subtle{outline-color:var(--kendo-color-secondary-subtle, #fbcdd9) !important}.k-outline-secondary{outline-color:var(--kendo-color-secondary, #e51a5f)}.\!k-outline-secondary{outline-color:var(--kendo-color-secondary, #e51a5f) !important}.k-outline-secondary-emphasis{outline-color:var(--kendo-color-secondary-emphasis, #f58da9)}.\!k-outline-secondary-emphasis{outline-color:var(--kendo-color-secondary-emphasis, #f58da9) !important}.k-outline-tertiary-subtle{outline-color:var(--kendo-color-tertiary-subtle, #c9dbd8)}.\!k-outline-tertiary-subtle{outline-color:var(--kendo-color-tertiary-subtle, #c9dbd8) !important}.k-outline-tertiary{outline-color:var(--kendo-color-tertiary, #00695c)}.\!k-outline-tertiary{outline-color:var(--kendo-color-tertiary, #00695c) !important}.k-outline-tertiary-emphasis{outline-color:var(--kendo-color-tertiary-emphasis, #84aea7)}.\!k-outline-tertiary-emphasis{outline-color:var(--kendo-color-tertiary-emphasis, #84aea7) !important}.k-outline-info-subtle{outline-color:var(--kendo-color-info-subtle, #c8d7fb)}.\!k-outline-info-subtle{outline-color:var(--kendo-color-info-subtle, #c8d7fb) !important}.k-outline-info{outline-color:var(--kendo-color-info, #0058e9)}.\!k-outline-info{outline-color:var(--kendo-color-info, #0058e9) !important}.k-outline-info-emphasis{outline-color:var(--kendo-color-info-emphasis, #80a5f4)}.\!k-outline-info-emphasis{outline-color:var(--kendo-color-info-emphasis, #80a5f4) !important}.k-outline-success-subtle{outline-color:var(--kendo-color-success-subtle, #d7f0cc)}.\!k-outline-success-subtle{outline-color:var(--kendo-color-success-subtle, #d7f0cc) !important}.k-outline-success{outline-color:var(--kendo-color-success, #37b400)}.\!k-outline-success{outline-color:var(--kendo-color-success, #37b400) !important}.k-outline-success-emphasis{outline-color:var(--kendo-color-success-emphasis, #93d775)}.\!k-outline-success-emphasis{outline-color:var(--kendo-color-success-emphasis, #93d775) !important}.k-outline-warning-subtle{outline-color:var(--kendo-color-warning-subtle, #fff0ce)}.\!k-outline-warning-subtle{outline-color:var(--kendo-color-warning-subtle, #fff0ce) !important}.k-outline-warning{outline-color:var(--kendo-color-warning, #ffc000)}.\!k-outline-warning{outline-color:var(--kendo-color-warning, #ffc000) !important}.k-outline-warning-emphasis{outline-color:var(--kendo-color-warning-emphasis, #ffdd8f)}.\!k-outline-warning-emphasis{outline-color:var(--kendo-color-warning-emphasis, #ffdd8f) !important}.k-outline-error-subtle{outline-color:var(--kendo-color-error-subtle, #fcc7c2)}.\!k-outline-error-subtle{outline-color:var(--kendo-color-error-subtle, #fcc7c2) !important}.k-outline-error{outline-color:var(--kendo-color-error, #f31700)}.\!k-outline-error{outline-color:var(--kendo-color-error, #f31700) !important}.k-outline-error-emphasis{outline-color:var(--kendo-color-error-emphasis, #fc8d83)}.\!k-outline-error-emphasis{outline-color:var(--kendo-color-error-emphasis, #fc8d83) !important}.k-outline-light-subtle{outline-color:var(--kendo-color-light-subtle, #fafafa)}.\!k-outline-light-subtle{outline-color:var(--kendo-color-light-subtle, #fafafa) !important}.k-outline-light{outline-color:var(--kendo-color-light, #f5f5f5)}.\!k-outline-light{outline-color:var(--kendo-color-light, #f5f5f5) !important}.k-outline-light-emphasis{outline-color:var(--kendo-color-light-emphasis, #e0e0e0)}.\!k-outline-light-emphasis{outline-color:var(--kendo-color-light-emphasis, #e0e0e0) !important}.k-outline-dark-subtle{outline-color:var(--kendo-color-dark-subtle, #c7c7c7)}.\!k-outline-dark-subtle{outline-color:var(--kendo-color-dark-subtle, #c7c7c7) !important}.k-outline-dark{outline-color:var(--kendo-color-dark, #424242)}.\!k-outline-dark{outline-color:var(--kendo-color-dark, #424242) !important}.k-outline-dark-emphasis{outline-color:var(--kendo-color-dark-emphasis, #9e9e9e)}.\!k-outline-dark-emphasis{outline-color:var(--kendo-color-dark-emphasis, #9e9e9e) !important}.k-outline-inherit{outline-color:var(--kendo-color-inherit, inherit)}.\!k-outline-inherit{outline-color:var(--kendo-color-inherit, inherit) !important}.k-outline-current{outline-color:var(--kendo-color-current, currentColor)}.\!k-outline-current{outline-color:var(--kendo-color-current, currentColor) !important}.k-outline-transparent{outline-color:var(--kendo-color-transparent, transparent)}.\!k-outline-transparent{outline-color:var(--kendo-color-transparent, transparent) !important}.k-outline-black{outline-color:var(--kendo-color-black, black)}.\!k-outline-black{outline-color:var(--kendo-color-black, black) !important}.k-outline-white{outline-color:var(--kendo-color-white, white)}.\!k-outline-white{outline-color:var(--kendo-color-white, white) !important}.k-outline-offset-0{outline-offset:0}.\!k-outline-offset-0{outline-offset:0 !important}.k-outline-offset-1{outline-offset:1px}.\!k-outline-offset-1{outline-offset:1px !important}.k-outline-offset-2{outline-offset:2px}.\!k-outline-offset-2{outline-offset:2px !important}.k-outline-offset-4{outline-offset:4px}.\!k-outline-offset-4{outline-offset:4px !important}.k-outline-offset-8{outline-offset:8px}.\!k-outline-offset-8{outline-offset:8px !important}.k-outline-solid{outline-style:solid}.\!k-outline-solid{outline-style:solid !important}.k-outline-dashed{outline-style:dashed}.\!k-outline-dashed{outline-style:dashed !important}.k-outline-dotted{outline-style:dotted}.\!k-outline-dotted{outline-style:dotted !important}.k-outline-double{outline-style:double}.\!k-outline-double{outline-style:double !important}.k-outline-inset{outline-style:inset}.\!k-outline-inset{outline-style:inset !important}.k-outline-outset{outline-style:outset}.\!k-outline-outset{outline-style:outset !important}.k-outline-none{outline-style:none}.\!k-outline-none{outline-style:none !important}.k-outline{outline-width:1px}.\!k-outline{outline-width:1px !important}.k-outline-0{outline-width:0}.\!k-outline-0{outline-width:0 !important}.k-outline-2{outline-width:2px}.\!k-outline-2{outline-width:2px !important}.k-outline-4{outline-width:4px}.\!k-outline-4{outline-width:4px !important}.k-outline-8{outline-width:8px}.\!k-outline-8{outline-width:8px !important}.k-opacity-0{opacity:0}.\!k-opacity-0{opacity:0 !important}.k-opacity-5{opacity:.05}.\!k-opacity-5{opacity:.05 !important}.k-opacity-10{opacity:.1}.\!k-opacity-10{opacity:.1 !important}.k-opacity-20{opacity:.2}.\!k-opacity-20{opacity:.2 !important}.k-opacity-30{opacity:.3}.\!k-opacity-30{opacity:.3 !important}.k-opacity-40{opacity:.4}.\!k-opacity-40{opacity:.4 !important}.k-opacity-50{opacity:.5}.\!k-opacity-50{opacity:.5 !important}.k-opacity-60{opacity:.6}.\!k-opacity-60{opacity:.6 !important}.k-opacity-70{opacity:.7}.\!k-opacity-70{opacity:.7 !important}.k-opacity-80{opacity:.8}.\!k-opacity-80{opacity:.8 !important}.k-opacity-90{opacity:.9}.\!k-opacity-90{opacity:.9 !important}.k-opacity-100{opacity:1}.\!k-opacity-100{opacity:1 !important}.k-backdrop-blur{backdrop-filter:blur(8px)}.\!k-backdrop-blur{backdrop-filter:blur(8px) !important}.k-backdrop-blur-none{backdrop-filter:blur(0)}.\!k-backdrop-blur-none{backdrop-filter:blur(0) !important}.k-backdrop-blur-sm{backdrop-filter:blur(4px)}.\!k-backdrop-blur-sm{backdrop-filter:blur(4px) !important}.k-backdrop-blur-md{backdrop-filter:blur(6px)}.\!k-backdrop-blur-md{backdrop-filter:blur(6px) !important}.k-backdrop-blur-lg{backdrop-filter:blur(12px)}.\!k-backdrop-blur-lg{backdrop-filter:blur(12px) !important}.k-border-collapse{border-collapse:collapse}.\!k-border-collapse{border-collapse:collapse !important}.k-border-separate{border-collapse:separate}.\!k-border-separate{border-collapse:separate !important}.k-table-auto{table-layout:auto}.\!k-table-auto{table-layout:auto !important}.k-table-fixed{table-layout:fixed}.\!k-table-fixed{table-layout:fixed !important}.k-table-layout-auto{table-layout:auto}.\!k-table-layout-auto{table-layout:auto !important}.k-table-layout-fixed{table-layout:fixed}.\!k-table-layout-fixed{table-layout:fixed !important}.k-flip-h,.k-flip-x{transform:scaleX(-1)}.\!k-flip-h,.\!k-flip-x{transform:scaleX(-1) !important}.k-flip-v,.k-flip-y{transform:scaleY(-1)}.\!k-flip-v,.\!k-flip-y{transform:scaleY(-1) !important}.k-flip-h.k-flip-v,.k-flip-h.k-flip-y,.k-flip-v.k-flip-x,.k-flip-x.k-flip-y{transform:scale(-1, -1)}.\!k-flip-h.\!k-flip-v,.\!k-flip-h.\!k-flip-y,.\!k-flip-v.\!k-flip-x,.\!k-flip-x.\!k-flip-y{transform:scale(-1, -1) !important}.k-origin-center{transform-origin:center}.\!k-origin-center{transform-origin:center !important}.k-origin-top{transform-origin:top}.\!k-origin-top{transform-origin:top !important}.k-origin-right{transform-origin:right}.\!k-origin-right{transform-origin:right !important}.k-origin-bottom{transform-origin:bottom}.\!k-origin-bottom{transform-origin:bottom !important}.k-origin-left{transform-origin:left}.\!k-origin-left{transform-origin:left !important}.k-origin-top-left{transform-origin:top left}.\!k-origin-top-left{transform-origin:top left !important}.k-origin-top-right{transform-origin:top right}.\!k-origin-top-right{transform-origin:top right !important}.k-origin-bottom-left{transform-origin:bottom left}.\!k-origin-bottom-left{transform-origin:bottom left !important}.k-origin-bottom-right{transform-origin:bottom right}.\!k-origin-bottom-right{transform-origin:bottom right !important}.k-rotate-0{transform:rotate(0deg)}.\!k-rotate-0{transform:rotate(0deg) !important}.k-rotate-45{transform:rotate(45deg)}.\!k-rotate-45{transform:rotate(45deg) !important}.k-rotate-90{transform:rotate(90deg)}.\!k-rotate-90{transform:rotate(90deg) !important}.k-rotate-135{transform:rotate(135deg)}.\!k-rotate-135{transform:rotate(135deg) !important}.k-rotate-180{transform:rotate(180deg)}.\!k-rotate-180{transform:rotate(180deg) !important}.k-rotate-225{transform:rotate(225deg)}.\!k-rotate-225{transform:rotate(225deg) !important}.k-rotate-270{transform:rotate(270deg)}.\!k-rotate-270{transform:rotate(270deg) !important}.k-rotate-315{transform:rotate(315deg)}.\!k-rotate-315{transform:rotate(315deg) !important}.k-scale-0{transform:scale(0)}.\!k-scale-0{transform:scale(0) !important}.k-scale-0\.25{transform:scale(0.25)}.\!k-scale-0\.25{transform:scale(0.25) !important}.k-scale-0\.5{transform:scale(0.5)}.\!k-scale-0\.5{transform:scale(0.5) !important}.k-scale-0\.75{transform:scale(0.75)}.\!k-scale-0\.75{transform:scale(0.75) !important}.k-scale-1{transform:scale(1)}.\!k-scale-1{transform:scale(1) !important}.k-scale-1\.25{transform:scale(1.25)}.\!k-scale-1\.25{transform:scale(1.25) !important}.k-scale-1\.5{transform:scale(1.5)}.\!k-scale-1\.5{transform:scale(1.5) !important}.k-scale-2{transform:scale(2)}.\!k-scale-2{transform:scale(2) !important}.k-scale-x-0{transform:scaleX(0)}.\!k-scale-x-0{transform:scaleX(0) !important}.k-scale-x-0\.25{transform:scaleX(0.25)}.\!k-scale-x-0\.25{transform:scaleX(0.25) !important}.k-scale-x-0\.5{transform:scaleX(0.5)}.\!k-scale-x-0\.5{transform:scaleX(0.5) !important}.k-scale-x-0\.75{transform:scaleX(0.75)}.\!k-scale-x-0\.75{transform:scaleX(0.75) !important}.k-scale-x-1{transform:scaleX(1)}.\!k-scale-x-1{transform:scaleX(1) !important}.k-scale-x-1\.25{transform:scaleX(1.25)}.\!k-scale-x-1\.25{transform:scaleX(1.25) !important}.k-scale-x-1\.5{transform:scaleX(1.5)}.\!k-scale-x-1\.5{transform:scaleX(1.5) !important}.k-scale-x-2{transform:scaleX(2)}.\!k-scale-x-2{transform:scaleX(2) !important}.k-scale-y-0{transform:scaleY(0)}.\!k-scale-y-0{transform:scaleY(0) !important}.k-scale-y-0\.25{transform:scaleY(0.25)}.\!k-scale-y-0\.25{transform:scaleY(0.25) !important}.k-scale-y-0\.5{transform:scaleY(0.5)}.\!k-scale-y-0\.5{transform:scaleY(0.5) !important}.k-scale-y-0\.75{transform:scaleY(0.75)}.\!k-scale-y-0\.75{transform:scaleY(0.75) !important}.k-scale-y-1{transform:scaleY(1)}.\!k-scale-y-1{transform:scaleY(1) !important}.k-scale-y-1\.25{transform:scaleY(1.25)}.\!k-scale-y-1\.25{transform:scaleY(1.25) !important}.k-scale-y-1\.5{transform:scaleY(1.5)}.\!k-scale-y-1\.5{transform:scaleY(1.5) !important}.k-scale-y-2{transform:scaleY(2)}.\!k-scale-y-2{transform:scaleY(2) !important}.k-skew-x-0{transform:skewX(0deg)}.\!k-skew-x-0{transform:skewX(0deg) !important}.k-skew-x-1{transform:skewX(1deg)}.\!k-skew-x-1{transform:skewX(1deg) !important}.k-skew-x-2{transform:skewX(2deg)}.\!k-skew-x-2{transform:skewX(2deg) !important}.k-skew-x-3{transform:skewX(3deg)}.\!k-skew-x-3{transform:skewX(3deg) !important}.k-skew-x-4{transform:skewX(4deg)}.\!k-skew-x-4{transform:skewX(4deg) !important}.k-skew-x-5{transform:skewX(5deg)}.\!k-skew-x-5{transform:skewX(5deg) !important}.k-skew-x-6{transform:skewX(6deg)}.\!k-skew-x-6{transform:skewX(6deg) !important}.k-skew-x-7{transform:skewX(7deg)}.\!k-skew-x-7{transform:skewX(7deg) !important}.k-skew-x-8{transform:skewX(8deg)}.\!k-skew-x-8{transform:skewX(8deg) !important}.k-skew-x-9{transform:skewX(9deg)}.\!k-skew-x-9{transform:skewX(9deg) !important}.k-skew-x-10{transform:skewX(10deg)}.\!k-skew-x-10{transform:skewX(10deg) !important}.k-skew-x-11{transform:skewX(11deg)}.\!k-skew-x-11{transform:skewX(11deg) !important}.k-skew-x-12{transform:skewX(12deg)}.\!k-skew-x-12{transform:skewX(12deg) !important}.k-skew-y-0{transform:skewY(0deg)}.\!k-skew-y-0{transform:skewY(0deg) !important}.k-skew-y-1{transform:skewY(1deg)}.\!k-skew-y-1{transform:skewY(1deg) !important}.k-skew-y-2{transform:skewY(2deg)}.\!k-skew-y-2{transform:skewY(2deg) !important}.k-skew-y-3{transform:skewY(3deg)}.\!k-skew-y-3{transform:skewY(3deg) !important}.k-skew-y-4{transform:skewY(4deg)}.\!k-skew-y-4{transform:skewY(4deg) !important}.k-skew-y-5{transform:skewY(5deg)}.\!k-skew-y-5{transform:skewY(5deg) !important}.k-skew-y-6{transform:skewY(6deg)}.\!k-skew-y-6{transform:skewY(6deg) !important}.k-skew-y-7{transform:skewY(7deg)}.\!k-skew-y-7{transform:skewY(7deg) !important}.k-skew-y-8{transform:skewY(8deg)}.\!k-skew-y-8{transform:skewY(8deg) !important}.k-skew-y-9{transform:skewY(9deg)}.\!k-skew-y-9{transform:skewY(9deg) !important}.k-skew-y-10{transform:skewY(10deg)}.\!k-skew-y-10{transform:skewY(10deg) !important}.k-skew-y-11{transform:skewY(11deg)}.\!k-skew-y-11{transform:skewY(11deg) !important}.k-skew-y-12{transform:skewY(12deg)}.\!k-skew-y-12{transform:skewY(12deg) !important}.k-translate-0{transform:translate(0, 0)}.\!k-translate-0{transform:translate(0, 0) !important}.k-translate-0-50{transform:translate(0, 50%)}.\!k-translate-0-50{transform:translate(0, 50%) !important}.k-translate-0-100{transform:translate(0, 100%)}.\!k-translate-0-100{transform:translate(0, 100%) !important}.k-translate-50-0{transform:translate(50%, 0)}.\!k-translate-50-0{transform:translate(50%, 0) !important}.k-translate-50-50{transform:translate(50%, 50%)}.\!k-translate-50-50{transform:translate(50%, 50%) !important}.k-translate-50-100{transform:translate(50%, 100%)}.\!k-translate-50-100{transform:translate(50%, 100%) !important}.k-translate-100-0{transform:translate(100%, 0)}.\!k-translate-100-0{transform:translate(100%, 0) !important}.k-translate-100-50{transform:translate(100%, 50%)}.\!k-translate-100-50{transform:translate(100%, 50%) !important}.k-translate-100-100{transform:translate(100%, 100%)}.\!k-translate-100-100{transform:translate(100%, 100%) !important}.k-translate-x-0{transform:translateX(0px)}.\!k-translate-x-0{transform:translateX(0px) !important}.k-translate-x-1px{transform:translateX(1px)}.\!k-translate-x-1px{transform:translateX(1px) !important}.k-translate-x-0\.5{transform:translateX(0.125rem)}.\!k-translate-x-0\.5{transform:translateX(0.125rem) !important}.k-translate-x-1{transform:translateX(0.25rem)}.\!k-translate-x-1{transform:translateX(0.25rem) !important}.k-translate-x-1\.5{transform:translateX(0.375rem)}.\!k-translate-x-1\.5{transform:translateX(0.375rem) !important}.k-translate-x-2{transform:translateX(0.5rem)}.\!k-translate-x-2{transform:translateX(0.5rem) !important}.k-translate-x-2\.5{transform:translateX(0.625rem)}.\!k-translate-x-2\.5{transform:translateX(0.625rem) !important}.k-translate-x-3{transform:translateX(0.75rem)}.\!k-translate-x-3{transform:translateX(0.75rem) !important}.k-translate-x-3\.5{transform:translateX(0.875rem)}.\!k-translate-x-3\.5{transform:translateX(0.875rem) !important}.k-translate-x-4{transform:translateX(1rem)}.\!k-translate-x-4{transform:translateX(1rem) !important}.k-translate-x-4\.5{transform:translateX(1.125rem)}.\!k-translate-x-4\.5{transform:translateX(1.125rem) !important}.k-translate-x-5{transform:translateX(1.25rem)}.\!k-translate-x-5{transform:translateX(1.25rem) !important}.k-translate-x-5\.5{transform:translateX(1.375rem)}.\!k-translate-x-5\.5{transform:translateX(1.375rem) !important}.k-translate-x-6{transform:translateX(1.5rem)}.\!k-translate-x-6{transform:translateX(1.5rem) !important}.k-translate-x-6\.5{transform:translateX(1.625rem)}.\!k-translate-x-6\.5{transform:translateX(1.625rem) !important}.k-translate-x-7{transform:translateX(1.75rem)}.\!k-translate-x-7{transform:translateX(1.75rem) !important}.k-translate-x-7\.5{transform:translateX(1.875rem)}.\!k-translate-x-7\.5{transform:translateX(1.875rem) !important}.k-translate-x-8{transform:translateX(2rem)}.\!k-translate-x-8{transform:translateX(2rem) !important}.k-translate-x-9{transform:translateX(2.25rem)}.\!k-translate-x-9{transform:translateX(2.25rem) !important}.k-translate-x-10{transform:translateX(2.5rem)}.\!k-translate-x-10{transform:translateX(2.5rem) !important}.k-translate-x-11{transform:translateX(2.75rem)}.\!k-translate-x-11{transform:translateX(2.75rem) !important}.k-translate-x-12{transform:translateX(3rem)}.\!k-translate-x-12{transform:translateX(3rem) !important}.k-translate-x-13{transform:translateX(3.25rem)}.\!k-translate-x-13{transform:translateX(3.25rem) !important}.k-translate-x-14{transform:translateX(3.5rem)}.\!k-translate-x-14{transform:translateX(3.5rem) !important}.k-translate-x-15{transform:translateX(3.75rem)}.\!k-translate-x-15{transform:translateX(3.75rem) !important}.k-translate-x-16{transform:translateX(4rem)}.\!k-translate-x-16{transform:translateX(4rem) !important}.k-translate-x-17{transform:translateX(4.25rem)}.\!k-translate-x-17{transform:translateX(4.25rem) !important}.k-translate-x-18{transform:translateX(4.5rem)}.\!k-translate-x-18{transform:translateX(4.5rem) !important}.k-translate-x-19{transform:translateX(4.75rem)}.\!k-translate-x-19{transform:translateX(4.75rem) !important}.k-translate-x-20{transform:translateX(5rem)}.\!k-translate-x-20{transform:translateX(5rem) !important}.k-translate-x-21{transform:translateX(5.25rem)}.\!k-translate-x-21{transform:translateX(5.25rem) !important}.k-translate-x-22{transform:translateX(5.5rem)}.\!k-translate-x-22{transform:translateX(5.5rem) !important}.k-translate-x-23{transform:translateX(5.75rem)}.\!k-translate-x-23{transform:translateX(5.75rem) !important}.k-translate-x-24{transform:translateX(6rem)}.\!k-translate-x-24{transform:translateX(6rem) !important}.k-translate-x-25{transform:translateX(7rem)}.\!k-translate-x-25{transform:translateX(7rem) !important}.k-translate-x-26{transform:translateX(8rem)}.\!k-translate-x-26{transform:translateX(8rem) !important}.k-translate-x-27{transform:translateX(9rem)}.\!k-translate-x-27{transform:translateX(9rem) !important}.k-translate-x-28{transform:translateX(10rem)}.\!k-translate-x-28{transform:translateX(10rem) !important}.k-translate-x-29{transform:translateX(11rem)}.\!k-translate-x-29{transform:translateX(11rem) !important}.k-translate-x-30{transform:translateX(12rem)}.\!k-translate-x-30{transform:translateX(12rem) !important}.k-translate-x-1\/2{transform:translateX(50%)}.\!k-translate-x-1\/2{transform:translateX(50%) !important}.k-translate-x-1\/3{transform:translateX(33.333333%)}.\!k-translate-x-1\/3{transform:translateX(33.333333%) !important}.k-translate-x-2\/3{transform:translateX(66.666667%)}.\!k-translate-x-2\/3{transform:translateX(66.666667%) !important}.k-translate-x-1\/4{transform:translateX(25%)}.\!k-translate-x-1\/4{transform:translateX(25%) !important}.k-translate-x-2\/4{transform:translateX(50%)}.\!k-translate-x-2\/4{transform:translateX(50%) !important}.k-translate-x-3\/4{transform:translateX(75%)}.\!k-translate-x-3\/4{transform:translateX(75%) !important}.k-translate-x-1\/5{transform:translateX(20%)}.\!k-translate-x-1\/5{transform:translateX(20%) !important}.k-translate-x-2\/5{transform:translateX(40%)}.\!k-translate-x-2\/5{transform:translateX(40%) !important}.k-translate-x-3\/5{transform:translateX(60%)}.\!k-translate-x-3\/5{transform:translateX(60%) !important}.k-translate-x-4\/5{transform:translateX(80%)}.\!k-translate-x-4\/5{transform:translateX(80%) !important}.k-translate-x-1\/6{transform:translateX(16.666667%)}.\!k-translate-x-1\/6{transform:translateX(16.666667%) !important}.k-translate-x-2\/6{transform:translateX(33.333333%)}.\!k-translate-x-2\/6{transform:translateX(33.333333%) !important}.k-translate-x-3\/6{transform:translateX(50%)}.\!k-translate-x-3\/6{transform:translateX(50%) !important}.k-translate-x-4\/6{transform:translateX(66.666667%)}.\!k-translate-x-4\/6{transform:translateX(66.666667%) !important}.k-translate-x-5\/6{transform:translateX(83.333333%)}.\!k-translate-x-5\/6{transform:translateX(83.333333%) !important}.k-translate-x-1\/12{transform:translateX(8.333333%)}.\!k-translate-x-1\/12{transform:translateX(8.333333%) !important}.k-translate-x-2\/12{transform:translateX(16.666667%)}.\!k-translate-x-2\/12{transform:translateX(16.666667%) !important}.k-translate-x-3\/12{transform:translateX(25%)}.\!k-translate-x-3\/12{transform:translateX(25%) !important}.k-translate-x-4\/12{transform:translateX(33.333333%)}.\!k-translate-x-4\/12{transform:translateX(33.333333%) !important}.k-translate-x-5\/12{transform:translateX(41.666667%)}.\!k-translate-x-5\/12{transform:translateX(41.666667%) !important}.k-translate-x-6\/12{transform:translateX(50%)}.\!k-translate-x-6\/12{transform:translateX(50%) !important}.k-translate-x-7\/12{transform:translateX(58.333333%)}.\!k-translate-x-7\/12{transform:translateX(58.333333%) !important}.k-translate-x-8\/12{transform:translateX(66.666667%)}.\!k-translate-x-8\/12{transform:translateX(66.666667%) !important}.k-translate-x-9\/12{transform:translateX(75%)}.\!k-translate-x-9\/12{transform:translateX(75%) !important}.k-translate-x-10\/12{transform:translateX(83.333333%)}.\!k-translate-x-10\/12{transform:translateX(83.333333%) !important}.k-translate-x-11\/12{transform:translateX(91.666667%)}.\!k-translate-x-11\/12{transform:translateX(91.666667%) !important}.k-translate-x-full{transform:translateX(100%)}.\!k-translate-x-full{transform:translateX(100%) !important}.k-translate-y-0{transform:translateY(0px)}.\!k-translate-y-0{transform:translateY(0px) !important}.k-translate-y-1px{transform:translateY(1px)}.\!k-translate-y-1px{transform:translateY(1px) !important}.k-translate-y-0\.5{transform:translateY(0.125rem)}.\!k-translate-y-0\.5{transform:translateY(0.125rem) !important}.k-translate-y-1{transform:translateY(0.25rem)}.\!k-translate-y-1{transform:translateY(0.25rem) !important}.k-translate-y-1\.5{transform:translateY(0.375rem)}.\!k-translate-y-1\.5{transform:translateY(0.375rem) !important}.k-translate-y-2{transform:translateY(0.5rem)}.\!k-translate-y-2{transform:translateY(0.5rem) !important}.k-translate-y-2\.5{transform:translateY(0.625rem)}.\!k-translate-y-2\.5{transform:translateY(0.625rem) !important}.k-translate-y-3{transform:translateY(0.75rem)}.\!k-translate-y-3{transform:translateY(0.75rem) !important}.k-translate-y-3\.5{transform:translateY(0.875rem)}.\!k-translate-y-3\.5{transform:translateY(0.875rem) !important}.k-translate-y-4{transform:translateY(1rem)}.\!k-translate-y-4{transform:translateY(1rem) !important}.k-translate-y-4\.5{transform:translateY(1.125rem)}.\!k-translate-y-4\.5{transform:translateY(1.125rem) !important}.k-translate-y-5{transform:translateY(1.25rem)}.\!k-translate-y-5{transform:translateY(1.25rem) !important}.k-translate-y-5\.5{transform:translateY(1.375rem)}.\!k-translate-y-5\.5{transform:translateY(1.375rem) !important}.k-translate-y-6{transform:translateY(1.5rem)}.\!k-translate-y-6{transform:translateY(1.5rem) !important}.k-translate-y-6\.5{transform:translateY(1.625rem)}.\!k-translate-y-6\.5{transform:translateY(1.625rem) !important}.k-translate-y-7{transform:translateY(1.75rem)}.\!k-translate-y-7{transform:translateY(1.75rem) !important}.k-translate-y-7\.5{transform:translateY(1.875rem)}.\!k-translate-y-7\.5{transform:translateY(1.875rem) !important}.k-translate-y-8{transform:translateY(2rem)}.\!k-translate-y-8{transform:translateY(2rem) !important}.k-translate-y-9{transform:translateY(2.25rem)}.\!k-translate-y-9{transform:translateY(2.25rem) !important}.k-translate-y-10{transform:translateY(2.5rem)}.\!k-translate-y-10{transform:translateY(2.5rem) !important}.k-translate-y-11{transform:translateY(2.75rem)}.\!k-translate-y-11{transform:translateY(2.75rem) !important}.k-translate-y-12{transform:translateY(3rem)}.\!k-translate-y-12{transform:translateY(3rem) !important}.k-translate-y-13{transform:translateY(3.25rem)}.\!k-translate-y-13{transform:translateY(3.25rem) !important}.k-translate-y-14{transform:translateY(3.5rem)}.\!k-translate-y-14{transform:translateY(3.5rem) !important}.k-translate-y-15{transform:translateY(3.75rem)}.\!k-translate-y-15{transform:translateY(3.75rem) !important}.k-translate-y-16{transform:translateY(4rem)}.\!k-translate-y-16{transform:translateY(4rem) !important}.k-translate-y-17{transform:translateY(4.25rem)}.\!k-translate-y-17{transform:translateY(4.25rem) !important}.k-translate-y-18{transform:translateY(4.5rem)}.\!k-translate-y-18{transform:translateY(4.5rem) !important}.k-translate-y-19{transform:translateY(4.75rem)}.\!k-translate-y-19{transform:translateY(4.75rem) !important}.k-translate-y-20{transform:translateY(5rem)}.\!k-translate-y-20{transform:translateY(5rem) !important}.k-translate-y-21{transform:translateY(5.25rem)}.\!k-translate-y-21{transform:translateY(5.25rem) !important}.k-translate-y-22{transform:translateY(5.5rem)}.\!k-translate-y-22{transform:translateY(5.5rem) !important}.k-translate-y-23{transform:translateY(5.75rem)}.\!k-translate-y-23{transform:translateY(5.75rem) !important}.k-translate-y-24{transform:translateY(6rem)}.\!k-translate-y-24{transform:translateY(6rem) !important}.k-translate-y-25{transform:translateY(7rem)}.\!k-translate-y-25{transform:translateY(7rem) !important}.k-translate-y-26{transform:translateY(8rem)}.\!k-translate-y-26{transform:translateY(8rem) !important}.k-translate-y-27{transform:translateY(9rem)}.\!k-translate-y-27{transform:translateY(9rem) !important}.k-translate-y-28{transform:translateY(10rem)}.\!k-translate-y-28{transform:translateY(10rem) !important}.k-translate-y-29{transform:translateY(11rem)}.\!k-translate-y-29{transform:translateY(11rem) !important}.k-translate-y-30{transform:translateY(12rem)}.\!k-translate-y-30{transform:translateY(12rem) !important}.k-translate-y-1\/2{transform:translateY(50%)}.\!k-translate-y-1\/2{transform:translateY(50%) !important}.k-translate-y-1\/3{transform:translateY(33.333333%)}.\!k-translate-y-1\/3{transform:translateY(33.333333%) !important}.k-translate-y-2\/3{transform:translateY(66.666667%)}.\!k-translate-y-2\/3{transform:translateY(66.666667%) !important}.k-translate-y-1\/4{transform:translateY(25%)}.\!k-translate-y-1\/4{transform:translateY(25%) !important}.k-translate-y-2\/4{transform:translateY(50%)}.\!k-translate-y-2\/4{transform:translateY(50%) !important}.k-translate-y-3\/4{transform:translateY(75%)}.\!k-translate-y-3\/4{transform:translateY(75%) !important}.k-translate-y-1\/5{transform:translateY(20%)}.\!k-translate-y-1\/5{transform:translateY(20%) !important}.k-translate-y-2\/5{transform:translateY(40%)}.\!k-translate-y-2\/5{transform:translateY(40%) !important}.k-translate-y-3\/5{transform:translateY(60%)}.\!k-translate-y-3\/5{transform:translateY(60%) !important}.k-translate-y-4\/5{transform:translateY(80%)}.\!k-translate-y-4\/5{transform:translateY(80%) !important}.k-translate-y-1\/6{transform:translateY(16.666667%)}.\!k-translate-y-1\/6{transform:translateY(16.666667%) !important}.k-translate-y-2\/6{transform:translateY(33.333333%)}.\!k-translate-y-2\/6{transform:translateY(33.333333%) !important}.k-translate-y-3\/6{transform:translateY(50%)}.\!k-translate-y-3\/6{transform:translateY(50%) !important}.k-translate-y-4\/6{transform:translateY(66.666667%)}.\!k-translate-y-4\/6{transform:translateY(66.666667%) !important}.k-translate-y-5\/6{transform:translateY(83.333333%)}.\!k-translate-y-5\/6{transform:translateY(83.333333%) !important}.k-translate-y-1\/12{transform:translateY(8.333333%)}.\!k-translate-y-1\/12{transform:translateY(8.333333%) !important}.k-translate-y-2\/12{transform:translateY(16.666667%)}.\!k-translate-y-2\/12{transform:translateY(16.666667%) !important}.k-translate-y-3\/12{transform:translateY(25%)}.\!k-translate-y-3\/12{transform:translateY(25%) !important}.k-translate-y-4\/12{transform:translateY(33.333333%)}.\!k-translate-y-4\/12{transform:translateY(33.333333%) !important}.k-translate-y-5\/12{transform:translateY(41.666667%)}.\!k-translate-y-5\/12{transform:translateY(41.666667%) !important}.k-translate-y-6\/12{transform:translateY(50%)}.\!k-translate-y-6\/12{transform:translateY(50%) !important}.k-translate-y-7\/12{transform:translateY(58.333333%)}.\!k-translate-y-7\/12{transform:translateY(58.333333%) !important}.k-translate-y-8\/12{transform:translateY(66.666667%)}.\!k-translate-y-8\/12{transform:translateY(66.666667%) !important}.k-translate-y-9\/12{transform:translateY(75%)}.\!k-translate-y-9\/12{transform:translateY(75%) !important}.k-translate-y-10\/12{transform:translateY(83.333333%)}.\!k-translate-y-10\/12{transform:translateY(83.333333%) !important}.k-translate-y-11\/12{transform:translateY(91.666667%)}.\!k-translate-y-11\/12{transform:translateY(91.666667%) !important}.k-translate-y-full{transform:translateY(100%)}.\!k-translate-y-full{transform:translateY(100%) !important}.k-appearance-none{appearance:none}.\!k-appearance-none{appearance:none !important}.k-appearance-auto{appearance:auto}.\!k-appearance-auto{appearance:auto !important}.k-cursor-none{cursor:none}.\!k-cursor-none{cursor:none !important}.k-cursor-auto{cursor:auto}.\!k-cursor-auto{cursor:auto !important}.k-cursor-default{cursor:default}.\!k-cursor-default{cursor:default !important}.k-cursor-context-menu{cursor:context-menu}.\!k-cursor-context-menu{cursor:context-menu !important}.k-cursor-help{cursor:help}.\!k-cursor-help{cursor:help !important}.k-cursor-pointer{cursor:pointer}.\!k-cursor-pointer{cursor:pointer !important}.k-cursor-progress{cursor:progress}.\!k-cursor-progress{cursor:progress !important}.k-cursor-wait{cursor:wait}.\!k-cursor-wait{cursor:wait !important}.k-cursor-cell{cursor:cell}.\!k-cursor-cell{cursor:cell !important}.k-cursor-crosshair{cursor:crosshair}.\!k-cursor-crosshair{cursor:crosshair !important}.k-cursor-text{cursor:text}.\!k-cursor-text{cursor:text !important}.k-cursor-vertical-text{cursor:vertical-text}.\!k-cursor-vertical-text{cursor:vertical-text !important}.k-cursor-alias{cursor:alias}.\!k-cursor-alias{cursor:alias !important}.k-cursor-copy{cursor:copy}.\!k-cursor-copy{cursor:copy !important}.k-cursor-move{cursor:move}.\!k-cursor-move{cursor:move !important}.k-cursor-no-drop{cursor:no-drop}.\!k-cursor-no-drop{cursor:no-drop !important}.k-cursor-not-allowed{cursor:not-allowed}.\!k-cursor-not-allowed{cursor:not-allowed !important}.k-cursor-e-resize{cursor:e-resize}.\!k-cursor-e-resize{cursor:e-resize !important}.k-cursor-n-resize{cursor:n-resize}.\!k-cursor-n-resize{cursor:n-resize !important}.k-cursor-ne-resize{cursor:ne-resize}.\!k-cursor-ne-resize{cursor:ne-resize !important}.k-cursor-nw-resize{cursor:nw-resize}.\!k-cursor-nw-resize{cursor:nw-resize !important}.k-cursor-s-resize{cursor:s-resize}.\!k-cursor-s-resize{cursor:s-resize !important}.k-cursor-se-resize{cursor:se-resize}.\!k-cursor-se-resize{cursor:se-resize !important}.k-cursor-sw-resize{cursor:sw-resize}.\!k-cursor-sw-resize{cursor:sw-resize !important}.k-cursor-w-resize{cursor:w-resize}.\!k-cursor-w-resize{cursor:w-resize !important}.k-cursor-ew-resize{cursor:ew-resize}.\!k-cursor-ew-resize{cursor:ew-resize !important}.k-cursor-ns-resize{cursor:ns-resize}.\!k-cursor-ns-resize{cursor:ns-resize !important}.k-cursor-nesw-resize{cursor:nesw-resize}.\!k-cursor-nesw-resize{cursor:nesw-resize !important}.k-cursor-nwse-resize{cursor:nwse-resize}.\!k-cursor-nwse-resize{cursor:nwse-resize !important}.k-cursor-col-resize{cursor:col-resize}.\!k-cursor-col-resize{cursor:col-resize !important}.k-cursor-row-resize{cursor:row-resize}.\!k-cursor-row-resize{cursor:row-resize !important}.k-cursor-all-scroll{cursor:all-scroll}.\!k-cursor-all-scroll{cursor:all-scroll !important}.k-cursor-zoom-in{cursor:zoom-in}.\!k-cursor-zoom-in{cursor:zoom-in !important}.k-cursor-zoom-out{cursor:zoom-out}.\!k-cursor-zoom-out{cursor:zoom-out !important}.k-cursor-grab{cursor:grab}.\!k-cursor-grab{cursor:grab !important}.k-cursor-grabbing{cursor:grabbing}.\!k-cursor-grabbing{cursor:grabbing !important}.k-pointer-events-none{pointer-events:none}.\!k-pointer-events-none{pointer-events:none !important}.k-pointer-events-auto{pointer-events:auto}.\!k-pointer-events-auto{pointer-events:auto !important}.k-resize{resize:both}.\!k-resize{resize:both !important}.k-resize-none{resize:none}.\!k-resize-none{resize:none !important}.k-resize-x{resize:horizontal}.\!k-resize-x{resize:horizontal !important}.k-resize-y{resize:vertical}.\!k-resize-y{resize:vertical !important}.k-scroll-auto{scroll-behavior:auto}.\!k-scroll-auto{scroll-behavior:auto !important}.k-scroll-smooth{scroll-behavior:smooth}.\!k-scroll-smooth{scroll-behavior:smooth !important}.k-scroll-snap-none{scroll-snap-type:none}.\!k-scroll-snap-none{scroll-snap-type:none !important}.k-scroll-snap-snap-x{scroll-snap-type:x var(--k-scroll-snap-strictness)}.\!k-scroll-snap-snap-x{scroll-snap-type:x var(--k-scroll-snap-strictness) !important}.k-scroll-snap-snap-y{scroll-snap-type:y var(--k-scroll-snap-strictness)}.\!k-scroll-snap-snap-y{scroll-snap-type:y var(--k-scroll-snap-strictness) !important}.k-scroll-snap-snap-both{scroll-snap-type:both var(--k-scroll-snap-strictness)}.\!k-scroll-snap-snap-both{scroll-snap-type:both var(--k-scroll-snap-strictness) !important}.k-scroll-snap-mandatory{--k-scroll-snap-strictness:mandatory}.k-scroll-snap-proximity{--k-scroll-snap-strictness:proximity}.k-scroll-snap-stop-normal{scroll-snap-stop:normal}.\!k-scroll-snap-stop-normal{scroll-snap-stop:normal !important}.k-scroll-snap-stop-always{scroll-snap-stop:always}.\!k-scroll-snap-stop-always{scroll-snap-stop:always !important}.k-scroll-snap-align-start{scroll-snap-align:start}.\!k-scroll-snap-align-start{scroll-snap-align:start !important}.k-scroll-snap-align-end{scroll-snap-align:end}.\!k-scroll-snap-align-end{scroll-snap-align:end !important}.k-scroll-snap-align-center{scroll-snap-align:center}.\!k-scroll-snap-align-center{scroll-snap-align:center !important}.k-scroll-snap-align-none{scroll-snap-align:none}.\!k-scroll-snap-align-none{scroll-snap-align:none !important}.k-scroll-m-0{scroll-margin:0px}.\!k-scroll-m-0{scroll-margin:0px !important}.k-scroll-m-1px{scroll-margin:1px}.\!k-scroll-m-1px{scroll-margin:1px !important}.k-scroll-m-0\.5{scroll-margin:.125rem}.\!k-scroll-m-0\.5{scroll-margin:.125rem !important}.k-scroll-m-1{scroll-margin:.25rem}.\!k-scroll-m-1{scroll-margin:.25rem !important}.k-scroll-m-1\.5{scroll-margin:.375rem}.\!k-scroll-m-1\.5{scroll-margin:.375rem !important}.k-scroll-m-2{scroll-margin:.5rem}.\!k-scroll-m-2{scroll-margin:.5rem !important}.k-scroll-m-2\.5{scroll-margin:.625rem}.\!k-scroll-m-2\.5{scroll-margin:.625rem !important}.k-scroll-m-3{scroll-margin:.75rem}.\!k-scroll-m-3{scroll-margin:.75rem !important}.k-scroll-m-3\.5{scroll-margin:.875rem}.\!k-scroll-m-3\.5{scroll-margin:.875rem !important}.k-scroll-m-4{scroll-margin:1rem}.\!k-scroll-m-4{scroll-margin:1rem !important}.k-scroll-m-4\.5{scroll-margin:1.125rem}.\!k-scroll-m-4\.5{scroll-margin:1.125rem !important}.k-scroll-m-5{scroll-margin:1.25rem}.\!k-scroll-m-5{scroll-margin:1.25rem !important}.k-scroll-m-5\.5{scroll-margin:1.375rem}.\!k-scroll-m-5\.5{scroll-margin:1.375rem !important}.k-scroll-m-6{scroll-margin:1.5rem}.\!k-scroll-m-6{scroll-margin:1.5rem !important}.k-scroll-m-6\.5{scroll-margin:1.625rem}.\!k-scroll-m-6\.5{scroll-margin:1.625rem !important}.k-scroll-m-7{scroll-margin:1.75rem}.\!k-scroll-m-7{scroll-margin:1.75rem !important}.k-scroll-m-7\.5{scroll-margin:1.875rem}.\!k-scroll-m-7\.5{scroll-margin:1.875rem !important}.k-scroll-m-8{scroll-margin:2rem}.\!k-scroll-m-8{scroll-margin:2rem !important}.k-scroll-m-9{scroll-margin:2.25rem}.\!k-scroll-m-9{scroll-margin:2.25rem !important}.k-scroll-m-10{scroll-margin:2.5rem}.\!k-scroll-m-10{scroll-margin:2.5rem !important}.k-scroll-m-11{scroll-margin:2.75rem}.\!k-scroll-m-11{scroll-margin:2.75rem !important}.k-scroll-m-12{scroll-margin:3rem}.\!k-scroll-m-12{scroll-margin:3rem !important}.k-scroll-m-13{scroll-margin:3.25rem}.\!k-scroll-m-13{scroll-margin:3.25rem !important}.k-scroll-m-14{scroll-margin:3.5rem}.\!k-scroll-m-14{scroll-margin:3.5rem !important}.k-scroll-m-15{scroll-margin:3.75rem}.\!k-scroll-m-15{scroll-margin:3.75rem !important}.k-scroll-m-16{scroll-margin:4rem}.\!k-scroll-m-16{scroll-margin:4rem !important}.k-scroll-m-17{scroll-margin:4.25rem}.\!k-scroll-m-17{scroll-margin:4.25rem !important}.k-scroll-m-18{scroll-margin:4.5rem}.\!k-scroll-m-18{scroll-margin:4.5rem !important}.k-scroll-m-19{scroll-margin:4.75rem}.\!k-scroll-m-19{scroll-margin:4.75rem !important}.k-scroll-m-20{scroll-margin:5rem}.\!k-scroll-m-20{scroll-margin:5rem !important}.k-scroll-m-21{scroll-margin:5.25rem}.\!k-scroll-m-21{scroll-margin:5.25rem !important}.k-scroll-m-22{scroll-margin:5.5rem}.\!k-scroll-m-22{scroll-margin:5.5rem !important}.k-scroll-m-23{scroll-margin:5.75rem}.\!k-scroll-m-23{scroll-margin:5.75rem !important}.k-scroll-m-24{scroll-margin:6rem}.\!k-scroll-m-24{scroll-margin:6rem !important}.k-scroll-m-25{scroll-margin:7rem}.\!k-scroll-m-25{scroll-margin:7rem !important}.k-scroll-m-26{scroll-margin:8rem}.\!k-scroll-m-26{scroll-margin:8rem !important}.k-scroll-m-27{scroll-margin:9rem}.\!k-scroll-m-27{scroll-margin:9rem !important}.k-scroll-m-28{scroll-margin:10rem}.\!k-scroll-m-28{scroll-margin:10rem !important}.k-scroll-m-29{scroll-margin:11rem}.\!k-scroll-m-29{scroll-margin:11rem !important}.k-scroll-m-30{scroll-margin:12rem}.\!k-scroll-m-30{scroll-margin:12rem !important}.k-scroll-mt-0{scroll-margin-top:0px}.\!k-scroll-mt-0{scroll-margin-top:0px !important}.k-scroll-mt-1px{scroll-margin-top:1px}.\!k-scroll-mt-1px{scroll-margin-top:1px !important}.k-scroll-mt-0\.5{scroll-margin-top:.125rem}.\!k-scroll-mt-0\.5{scroll-margin-top:.125rem !important}.k-scroll-mt-1{scroll-margin-top:.25rem}.\!k-scroll-mt-1{scroll-margin-top:.25rem !important}.k-scroll-mt-1\.5{scroll-margin-top:.375rem}.\!k-scroll-mt-1\.5{scroll-margin-top:.375rem !important}.k-scroll-mt-2{scroll-margin-top:.5rem}.\!k-scroll-mt-2{scroll-margin-top:.5rem !important}.k-scroll-mt-2\.5{scroll-margin-top:.625rem}.\!k-scroll-mt-2\.5{scroll-margin-top:.625rem !important}.k-scroll-mt-3{scroll-margin-top:.75rem}.\!k-scroll-mt-3{scroll-margin-top:.75rem !important}.k-scroll-mt-3\.5{scroll-margin-top:.875rem}.\!k-scroll-mt-3\.5{scroll-margin-top:.875rem !important}.k-scroll-mt-4{scroll-margin-top:1rem}.\!k-scroll-mt-4{scroll-margin-top:1rem !important}.k-scroll-mt-4\.5{scroll-margin-top:1.125rem}.\!k-scroll-mt-4\.5{scroll-margin-top:1.125rem !important}.k-scroll-mt-5{scroll-margin-top:1.25rem}.\!k-scroll-mt-5{scroll-margin-top:1.25rem !important}.k-scroll-mt-5\.5{scroll-margin-top:1.375rem}.\!k-scroll-mt-5\.5{scroll-margin-top:1.375rem !important}.k-scroll-mt-6{scroll-margin-top:1.5rem}.\!k-scroll-mt-6{scroll-margin-top:1.5rem !important}.k-scroll-mt-6\.5{scroll-margin-top:1.625rem}.\!k-scroll-mt-6\.5{scroll-margin-top:1.625rem !important}.k-scroll-mt-7{scroll-margin-top:1.75rem}.\!k-scroll-mt-7{scroll-margin-top:1.75rem !important}.k-scroll-mt-7\.5{scroll-margin-top:1.875rem}.\!k-scroll-mt-7\.5{scroll-margin-top:1.875rem !important}.k-scroll-mt-8{scroll-margin-top:2rem}.\!k-scroll-mt-8{scroll-margin-top:2rem !important}.k-scroll-mt-9{scroll-margin-top:2.25rem}.\!k-scroll-mt-9{scroll-margin-top:2.25rem !important}.k-scroll-mt-10{scroll-margin-top:2.5rem}.\!k-scroll-mt-10{scroll-margin-top:2.5rem !important}.k-scroll-mt-11{scroll-margin-top:2.75rem}.\!k-scroll-mt-11{scroll-margin-top:2.75rem !important}.k-scroll-mt-12{scroll-margin-top:3rem}.\!k-scroll-mt-12{scroll-margin-top:3rem !important}.k-scroll-mt-13{scroll-margin-top:3.25rem}.\!k-scroll-mt-13{scroll-margin-top:3.25rem !important}.k-scroll-mt-14{scroll-margin-top:3.5rem}.\!k-scroll-mt-14{scroll-margin-top:3.5rem !important}.k-scroll-mt-15{scroll-margin-top:3.75rem}.\!k-scroll-mt-15{scroll-margin-top:3.75rem !important}.k-scroll-mt-16{scroll-margin-top:4rem}.\!k-scroll-mt-16{scroll-margin-top:4rem !important}.k-scroll-mt-17{scroll-margin-top:4.25rem}.\!k-scroll-mt-17{scroll-margin-top:4.25rem !important}.k-scroll-mt-18{scroll-margin-top:4.5rem}.\!k-scroll-mt-18{scroll-margin-top:4.5rem !important}.k-scroll-mt-19{scroll-margin-top:4.75rem}.\!k-scroll-mt-19{scroll-margin-top:4.75rem !important}.k-scroll-mt-20{scroll-margin-top:5rem}.\!k-scroll-mt-20{scroll-margin-top:5rem !important}.k-scroll-mt-21{scroll-margin-top:5.25rem}.\!k-scroll-mt-21{scroll-margin-top:5.25rem !important}.k-scroll-mt-22{scroll-margin-top:5.5rem}.\!k-scroll-mt-22{scroll-margin-top:5.5rem !important}.k-scroll-mt-23{scroll-margin-top:5.75rem}.\!k-scroll-mt-23{scroll-margin-top:5.75rem !important}.k-scroll-mt-24{scroll-margin-top:6rem}.\!k-scroll-mt-24{scroll-margin-top:6rem !important}.k-scroll-mt-25{scroll-margin-top:7rem}.\!k-scroll-mt-25{scroll-margin-top:7rem !important}.k-scroll-mt-26{scroll-margin-top:8rem}.\!k-scroll-mt-26{scroll-margin-top:8rem !important}.k-scroll-mt-27{scroll-margin-top:9rem}.\!k-scroll-mt-27{scroll-margin-top:9rem !important}.k-scroll-mt-28{scroll-margin-top:10rem}.\!k-scroll-mt-28{scroll-margin-top:10rem !important}.k-scroll-mt-29{scroll-margin-top:11rem}.\!k-scroll-mt-29{scroll-margin-top:11rem !important}.k-scroll-mt-30{scroll-margin-top:12rem}.\!k-scroll-mt-30{scroll-margin-top:12rem !important}.k-scroll-mr-0{scroll-margin-right:0px}.\!k-scroll-mr-0{scroll-margin-right:0px !important}.k-scroll-mr-1px{scroll-margin-right:1px}.\!k-scroll-mr-1px{scroll-margin-right:1px !important}.k-scroll-mr-0\.5{scroll-margin-right:.125rem}.\!k-scroll-mr-0\.5{scroll-margin-right:.125rem !important}.k-scroll-mr-1{scroll-margin-right:.25rem}.\!k-scroll-mr-1{scroll-margin-right:.25rem !important}.k-scroll-mr-1\.5{scroll-margin-right:.375rem}.\!k-scroll-mr-1\.5{scroll-margin-right:.375rem !important}.k-scroll-mr-2{scroll-margin-right:.5rem}.\!k-scroll-mr-2{scroll-margin-right:.5rem !important}.k-scroll-mr-2\.5{scroll-margin-right:.625rem}.\!k-scroll-mr-2\.5{scroll-margin-right:.625rem !important}.k-scroll-mr-3{scroll-margin-right:.75rem}.\!k-scroll-mr-3{scroll-margin-right:.75rem !important}.k-scroll-mr-3\.5{scroll-margin-right:.875rem}.\!k-scroll-mr-3\.5{scroll-margin-right:.875rem !important}.k-scroll-mr-4{scroll-margin-right:1rem}.\!k-scroll-mr-4{scroll-margin-right:1rem !important}.k-scroll-mr-4\.5{scroll-margin-right:1.125rem}.\!k-scroll-mr-4\.5{scroll-margin-right:1.125rem !important}.k-scroll-mr-5{scroll-margin-right:1.25rem}.\!k-scroll-mr-5{scroll-margin-right:1.25rem !important}.k-scroll-mr-5\.5{scroll-margin-right:1.375rem}.\!k-scroll-mr-5\.5{scroll-margin-right:1.375rem !important}.k-scroll-mr-6{scroll-margin-right:1.5rem}.\!k-scroll-mr-6{scroll-margin-right:1.5rem !important}.k-scroll-mr-6\.5{scroll-margin-right:1.625rem}.\!k-scroll-mr-6\.5{scroll-margin-right:1.625rem !important}.k-scroll-mr-7{scroll-margin-right:1.75rem}.\!k-scroll-mr-7{scroll-margin-right:1.75rem !important}.k-scroll-mr-7\.5{scroll-margin-right:1.875rem}.\!k-scroll-mr-7\.5{scroll-margin-right:1.875rem !important}.k-scroll-mr-8{scroll-margin-right:2rem}.\!k-scroll-mr-8{scroll-margin-right:2rem !important}.k-scroll-mr-9{scroll-margin-right:2.25rem}.\!k-scroll-mr-9{scroll-margin-right:2.25rem !important}.k-scroll-mr-10{scroll-margin-right:2.5rem}.\!k-scroll-mr-10{scroll-margin-right:2.5rem !important}.k-scroll-mr-11{scroll-margin-right:2.75rem}.\!k-scroll-mr-11{scroll-margin-right:2.75rem !important}.k-scroll-mr-12{scroll-margin-right:3rem}.\!k-scroll-mr-12{scroll-margin-right:3rem !important}.k-scroll-mr-13{scroll-margin-right:3.25rem}.\!k-scroll-mr-13{scroll-margin-right:3.25rem !important}.k-scroll-mr-14{scroll-margin-right:3.5rem}.\!k-scroll-mr-14{scroll-margin-right:3.5rem !important}.k-scroll-mr-15{scroll-margin-right:3.75rem}.\!k-scroll-mr-15{scroll-margin-right:3.75rem !important}.k-scroll-mr-16{scroll-margin-right:4rem}.\!k-scroll-mr-16{scroll-margin-right:4rem !important}.k-scroll-mr-17{scroll-margin-right:4.25rem}.\!k-scroll-mr-17{scroll-margin-right:4.25rem !important}.k-scroll-mr-18{scroll-margin-right:4.5rem}.\!k-scroll-mr-18{scroll-margin-right:4.5rem !important}.k-scroll-mr-19{scroll-margin-right:4.75rem}.\!k-scroll-mr-19{scroll-margin-right:4.75rem !important}.k-scroll-mr-20{scroll-margin-right:5rem}.\!k-scroll-mr-20{scroll-margin-right:5rem !important}.k-scroll-mr-21{scroll-margin-right:5.25rem}.\!k-scroll-mr-21{scroll-margin-right:5.25rem !important}.k-scroll-mr-22{scroll-margin-right:5.5rem}.\!k-scroll-mr-22{scroll-margin-right:5.5rem !important}.k-scroll-mr-23{scroll-margin-right:5.75rem}.\!k-scroll-mr-23{scroll-margin-right:5.75rem !important}.k-scroll-mr-24{scroll-margin-right:6rem}.\!k-scroll-mr-24{scroll-margin-right:6rem !important}.k-scroll-mr-25{scroll-margin-right:7rem}.\!k-scroll-mr-25{scroll-margin-right:7rem !important}.k-scroll-mr-26{scroll-margin-right:8rem}.\!k-scroll-mr-26{scroll-margin-right:8rem !important}.k-scroll-mr-27{scroll-margin-right:9rem}.\!k-scroll-mr-27{scroll-margin-right:9rem !important}.k-scroll-mr-28{scroll-margin-right:10rem}.\!k-scroll-mr-28{scroll-margin-right:10rem !important}.k-scroll-mr-29{scroll-margin-right:11rem}.\!k-scroll-mr-29{scroll-margin-right:11rem !important}.k-scroll-mr-30{scroll-margin-right:12rem}.\!k-scroll-mr-30{scroll-margin-right:12rem !important}.k-scroll-mb-0{scroll-margin-bottom:0px}.\!k-scroll-mb-0{scroll-margin-bottom:0px !important}.k-scroll-mb-1px{scroll-margin-bottom:1px}.\!k-scroll-mb-1px{scroll-margin-bottom:1px !important}.k-scroll-mb-0\.5{scroll-margin-bottom:.125rem}.\!k-scroll-mb-0\.5{scroll-margin-bottom:.125rem !important}.k-scroll-mb-1{scroll-margin-bottom:.25rem}.\!k-scroll-mb-1{scroll-margin-bottom:.25rem !important}.k-scroll-mb-1\.5{scroll-margin-bottom:.375rem}.\!k-scroll-mb-1\.5{scroll-margin-bottom:.375rem !important}.k-scroll-mb-2{scroll-margin-bottom:.5rem}.\!k-scroll-mb-2{scroll-margin-bottom:.5rem !important}.k-scroll-mb-2\.5{scroll-margin-bottom:.625rem}.\!k-scroll-mb-2\.5{scroll-margin-bottom:.625rem !important}.k-scroll-mb-3{scroll-margin-bottom:.75rem}.\!k-scroll-mb-3{scroll-margin-bottom:.75rem !important}.k-scroll-mb-3\.5{scroll-margin-bottom:.875rem}.\!k-scroll-mb-3\.5{scroll-margin-bottom:.875rem !important}.k-scroll-mb-4{scroll-margin-bottom:1rem}.\!k-scroll-mb-4{scroll-margin-bottom:1rem !important}.k-scroll-mb-4\.5{scroll-margin-bottom:1.125rem}.\!k-scroll-mb-4\.5{scroll-margin-bottom:1.125rem !important}.k-scroll-mb-5{scroll-margin-bottom:1.25rem}.\!k-scroll-mb-5{scroll-margin-bottom:1.25rem !important}.k-scroll-mb-5\.5{scroll-margin-bottom:1.375rem}.\!k-scroll-mb-5\.5{scroll-margin-bottom:1.375rem !important}.k-scroll-mb-6{scroll-margin-bottom:1.5rem}.\!k-scroll-mb-6{scroll-margin-bottom:1.5rem !important}.k-scroll-mb-6\.5{scroll-margin-bottom:1.625rem}.\!k-scroll-mb-6\.5{scroll-margin-bottom:1.625rem !important}.k-scroll-mb-7{scroll-margin-bottom:1.75rem}.\!k-scroll-mb-7{scroll-margin-bottom:1.75rem !important}.k-scroll-mb-7\.5{scroll-margin-bottom:1.875rem}.\!k-scroll-mb-7\.5{scroll-margin-bottom:1.875rem !important}.k-scroll-mb-8{scroll-margin-bottom:2rem}.\!k-scroll-mb-8{scroll-margin-bottom:2rem !important}.k-scroll-mb-9{scroll-margin-bottom:2.25rem}.\!k-scroll-mb-9{scroll-margin-bottom:2.25rem !important}.k-scroll-mb-10{scroll-margin-bottom:2.5rem}.\!k-scroll-mb-10{scroll-margin-bottom:2.5rem !important}.k-scroll-mb-11{scroll-margin-bottom:2.75rem}.\!k-scroll-mb-11{scroll-margin-bottom:2.75rem !important}.k-scroll-mb-12{scroll-margin-bottom:3rem}.\!k-scroll-mb-12{scroll-margin-bottom:3rem !important}.k-scroll-mb-13{scroll-margin-bottom:3.25rem}.\!k-scroll-mb-13{scroll-margin-bottom:3.25rem !important}.k-scroll-mb-14{scroll-margin-bottom:3.5rem}.\!k-scroll-mb-14{scroll-margin-bottom:3.5rem !important}.k-scroll-mb-15{scroll-margin-bottom:3.75rem}.\!k-scroll-mb-15{scroll-margin-bottom:3.75rem !important}.k-scroll-mb-16{scroll-margin-bottom:4rem}.\!k-scroll-mb-16{scroll-margin-bottom:4rem !important}.k-scroll-mb-17{scroll-margin-bottom:4.25rem}.\!k-scroll-mb-17{scroll-margin-bottom:4.25rem !important}.k-scroll-mb-18{scroll-margin-bottom:4.5rem}.\!k-scroll-mb-18{scroll-margin-bottom:4.5rem !important}.k-scroll-mb-19{scroll-margin-bottom:4.75rem}.\!k-scroll-mb-19{scroll-margin-bottom:4.75rem !important}.k-scroll-mb-20{scroll-margin-bottom:5rem}.\!k-scroll-mb-20{scroll-margin-bottom:5rem !important}.k-scroll-mb-21{scroll-margin-bottom:5.25rem}.\!k-scroll-mb-21{scroll-margin-bottom:5.25rem !important}.k-scroll-mb-22{scroll-margin-bottom:5.5rem}.\!k-scroll-mb-22{scroll-margin-bottom:5.5rem !important}.k-scroll-mb-23{scroll-margin-bottom:5.75rem}.\!k-scroll-mb-23{scroll-margin-bottom:5.75rem !important}.k-scroll-mb-24{scroll-margin-bottom:6rem}.\!k-scroll-mb-24{scroll-margin-bottom:6rem !important}.k-scroll-mb-25{scroll-margin-bottom:7rem}.\!k-scroll-mb-25{scroll-margin-bottom:7rem !important}.k-scroll-mb-26{scroll-margin-bottom:8rem}.\!k-scroll-mb-26{scroll-margin-bottom:8rem !important}.k-scroll-mb-27{scroll-margin-bottom:9rem}.\!k-scroll-mb-27{scroll-margin-bottom:9rem !important}.k-scroll-mb-28{scroll-margin-bottom:10rem}.\!k-scroll-mb-28{scroll-margin-bottom:10rem !important}.k-scroll-mb-29{scroll-margin-bottom:11rem}.\!k-scroll-mb-29{scroll-margin-bottom:11rem !important}.k-scroll-mb-30{scroll-margin-bottom:12rem}.\!k-scroll-mb-30{scroll-margin-bottom:12rem !important}.k-scroll-ml-0{scroll-margin-left:0px}.\!k-scroll-ml-0{scroll-margin-left:0px !important}.k-scroll-ml-1px{scroll-margin-left:1px}.\!k-scroll-ml-1px{scroll-margin-left:1px !important}.k-scroll-ml-0\.5{scroll-margin-left:.125rem}.\!k-scroll-ml-0\.5{scroll-margin-left:.125rem !important}.k-scroll-ml-1{scroll-margin-left:.25rem}.\!k-scroll-ml-1{scroll-margin-left:.25rem !important}.k-scroll-ml-1\.5{scroll-margin-left:.375rem}.\!k-scroll-ml-1\.5{scroll-margin-left:.375rem !important}.k-scroll-ml-2{scroll-margin-left:.5rem}.\!k-scroll-ml-2{scroll-margin-left:.5rem !important}.k-scroll-ml-2\.5{scroll-margin-left:.625rem}.\!k-scroll-ml-2\.5{scroll-margin-left:.625rem !important}.k-scroll-ml-3{scroll-margin-left:.75rem}.\!k-scroll-ml-3{scroll-margin-left:.75rem !important}.k-scroll-ml-3\.5{scroll-margin-left:.875rem}.\!k-scroll-ml-3\.5{scroll-margin-left:.875rem !important}.k-scroll-ml-4{scroll-margin-left:1rem}.\!k-scroll-ml-4{scroll-margin-left:1rem !important}.k-scroll-ml-4\.5{scroll-margin-left:1.125rem}.\!k-scroll-ml-4\.5{scroll-margin-left:1.125rem !important}.k-scroll-ml-5{scroll-margin-left:1.25rem}.\!k-scroll-ml-5{scroll-margin-left:1.25rem !important}.k-scroll-ml-5\.5{scroll-margin-left:1.375rem}.\!k-scroll-ml-5\.5{scroll-margin-left:1.375rem !important}.k-scroll-ml-6{scroll-margin-left:1.5rem}.\!k-scroll-ml-6{scroll-margin-left:1.5rem !important}.k-scroll-ml-6\.5{scroll-margin-left:1.625rem}.\!k-scroll-ml-6\.5{scroll-margin-left:1.625rem !important}.k-scroll-ml-7{scroll-margin-left:1.75rem}.\!k-scroll-ml-7{scroll-margin-left:1.75rem !important}.k-scroll-ml-7\.5{scroll-margin-left:1.875rem}.\!k-scroll-ml-7\.5{scroll-margin-left:1.875rem !important}.k-scroll-ml-8{scroll-margin-left:2rem}.\!k-scroll-ml-8{scroll-margin-left:2rem !important}.k-scroll-ml-9{scroll-margin-left:2.25rem}.\!k-scroll-ml-9{scroll-margin-left:2.25rem !important}.k-scroll-ml-10{scroll-margin-left:2.5rem}.\!k-scroll-ml-10{scroll-margin-left:2.5rem !important}.k-scroll-ml-11{scroll-margin-left:2.75rem}.\!k-scroll-ml-11{scroll-margin-left:2.75rem !important}.k-scroll-ml-12{scroll-margin-left:3rem}.\!k-scroll-ml-12{scroll-margin-left:3rem !important}.k-scroll-ml-13{scroll-margin-left:3.25rem}.\!k-scroll-ml-13{scroll-margin-left:3.25rem !important}.k-scroll-ml-14{scroll-margin-left:3.5rem}.\!k-scroll-ml-14{scroll-margin-left:3.5rem !important}.k-scroll-ml-15{scroll-margin-left:3.75rem}.\!k-scroll-ml-15{scroll-margin-left:3.75rem !important}.k-scroll-ml-16{scroll-margin-left:4rem}.\!k-scroll-ml-16{scroll-margin-left:4rem !important}.k-scroll-ml-17{scroll-margin-left:4.25rem}.\!k-scroll-ml-17{scroll-margin-left:4.25rem !important}.k-scroll-ml-18{scroll-margin-left:4.5rem}.\!k-scroll-ml-18{scroll-margin-left:4.5rem !important}.k-scroll-ml-19{scroll-margin-left:4.75rem}.\!k-scroll-ml-19{scroll-margin-left:4.75rem !important}.k-scroll-ml-20{scroll-margin-left:5rem}.\!k-scroll-ml-20{scroll-margin-left:5rem !important}.k-scroll-ml-21{scroll-margin-left:5.25rem}.\!k-scroll-ml-21{scroll-margin-left:5.25rem !important}.k-scroll-ml-22{scroll-margin-left:5.5rem}.\!k-scroll-ml-22{scroll-margin-left:5.5rem !important}.k-scroll-ml-23{scroll-margin-left:5.75rem}.\!k-scroll-ml-23{scroll-margin-left:5.75rem !important}.k-scroll-ml-24{scroll-margin-left:6rem}.\!k-scroll-ml-24{scroll-margin-left:6rem !important}.k-scroll-ml-25{scroll-margin-left:7rem}.\!k-scroll-ml-25{scroll-margin-left:7rem !important}.k-scroll-ml-26{scroll-margin-left:8rem}.\!k-scroll-ml-26{scroll-margin-left:8rem !important}.k-scroll-ml-27{scroll-margin-left:9rem}.\!k-scroll-ml-27{scroll-margin-left:9rem !important}.k-scroll-ml-28{scroll-margin-left:10rem}.\!k-scroll-ml-28{scroll-margin-left:10rem !important}.k-scroll-ml-29{scroll-margin-left:11rem}.\!k-scroll-ml-29{scroll-margin-left:11rem !important}.k-scroll-ml-30{scroll-margin-left:12rem}.\!k-scroll-ml-30{scroll-margin-left:12rem !important}.k-scroll-mx-0{scroll-margin-inline:0px}.\!k-scroll-mx-0{scroll-margin-inline:0px !important}.k-scroll-mx-1px{scroll-margin-inline:1px}.\!k-scroll-mx-1px{scroll-margin-inline:1px !important}.k-scroll-mx-0\.5{scroll-margin-inline:.125rem}.\!k-scroll-mx-0\.5{scroll-margin-inline:.125rem !important}.k-scroll-mx-1{scroll-margin-inline:.25rem}.\!k-scroll-mx-1{scroll-margin-inline:.25rem !important}.k-scroll-mx-1\.5{scroll-margin-inline:.375rem}.\!k-scroll-mx-1\.5{scroll-margin-inline:.375rem !important}.k-scroll-mx-2{scroll-margin-inline:.5rem}.\!k-scroll-mx-2{scroll-margin-inline:.5rem !important}.k-scroll-mx-2\.5{scroll-margin-inline:.625rem}.\!k-scroll-mx-2\.5{scroll-margin-inline:.625rem !important}.k-scroll-mx-3{scroll-margin-inline:.75rem}.\!k-scroll-mx-3{scroll-margin-inline:.75rem !important}.k-scroll-mx-3\.5{scroll-margin-inline:.875rem}.\!k-scroll-mx-3\.5{scroll-margin-inline:.875rem !important}.k-scroll-mx-4{scroll-margin-inline:1rem}.\!k-scroll-mx-4{scroll-margin-inline:1rem !important}.k-scroll-mx-4\.5{scroll-margin-inline:1.125rem}.\!k-scroll-mx-4\.5{scroll-margin-inline:1.125rem !important}.k-scroll-mx-5{scroll-margin-inline:1.25rem}.\!k-scroll-mx-5{scroll-margin-inline:1.25rem !important}.k-scroll-mx-5\.5{scroll-margin-inline:1.375rem}.\!k-scroll-mx-5\.5{scroll-margin-inline:1.375rem !important}.k-scroll-mx-6{scroll-margin-inline:1.5rem}.\!k-scroll-mx-6{scroll-margin-inline:1.5rem !important}.k-scroll-mx-6\.5{scroll-margin-inline:1.625rem}.\!k-scroll-mx-6\.5{scroll-margin-inline:1.625rem !important}.k-scroll-mx-7{scroll-margin-inline:1.75rem}.\!k-scroll-mx-7{scroll-margin-inline:1.75rem !important}.k-scroll-mx-7\.5{scroll-margin-inline:1.875rem}.\!k-scroll-mx-7\.5{scroll-margin-inline:1.875rem !important}.k-scroll-mx-8{scroll-margin-inline:2rem}.\!k-scroll-mx-8{scroll-margin-inline:2rem !important}.k-scroll-mx-9{scroll-margin-inline:2.25rem}.\!k-scroll-mx-9{scroll-margin-inline:2.25rem !important}.k-scroll-mx-10{scroll-margin-inline:2.5rem}.\!k-scroll-mx-10{scroll-margin-inline:2.5rem !important}.k-scroll-mx-11{scroll-margin-inline:2.75rem}.\!k-scroll-mx-11{scroll-margin-inline:2.75rem !important}.k-scroll-mx-12{scroll-margin-inline:3rem}.\!k-scroll-mx-12{scroll-margin-inline:3rem !important}.k-scroll-mx-13{scroll-margin-inline:3.25rem}.\!k-scroll-mx-13{scroll-margin-inline:3.25rem !important}.k-scroll-mx-14{scroll-margin-inline:3.5rem}.\!k-scroll-mx-14{scroll-margin-inline:3.5rem !important}.k-scroll-mx-15{scroll-margin-inline:3.75rem}.\!k-scroll-mx-15{scroll-margin-inline:3.75rem !important}.k-scroll-mx-16{scroll-margin-inline:4rem}.\!k-scroll-mx-16{scroll-margin-inline:4rem !important}.k-scroll-mx-17{scroll-margin-inline:4.25rem}.\!k-scroll-mx-17{scroll-margin-inline:4.25rem !important}.k-scroll-mx-18{scroll-margin-inline:4.5rem}.\!k-scroll-mx-18{scroll-margin-inline:4.5rem !important}.k-scroll-mx-19{scroll-margin-inline:4.75rem}.\!k-scroll-mx-19{scroll-margin-inline:4.75rem !important}.k-scroll-mx-20{scroll-margin-inline:5rem}.\!k-scroll-mx-20{scroll-margin-inline:5rem !important}.k-scroll-mx-21{scroll-margin-inline:5.25rem}.\!k-scroll-mx-21{scroll-margin-inline:5.25rem !important}.k-scroll-mx-22{scroll-margin-inline:5.5rem}.\!k-scroll-mx-22{scroll-margin-inline:5.5rem !important}.k-scroll-mx-23{scroll-margin-inline:5.75rem}.\!k-scroll-mx-23{scroll-margin-inline:5.75rem !important}.k-scroll-mx-24{scroll-margin-inline:6rem}.\!k-scroll-mx-24{scroll-margin-inline:6rem !important}.k-scroll-mx-25{scroll-margin-inline:7rem}.\!k-scroll-mx-25{scroll-margin-inline:7rem !important}.k-scroll-mx-26{scroll-margin-inline:8rem}.\!k-scroll-mx-26{scroll-margin-inline:8rem !important}.k-scroll-mx-27{scroll-margin-inline:9rem}.\!k-scroll-mx-27{scroll-margin-inline:9rem !important}.k-scroll-mx-28{scroll-margin-inline:10rem}.\!k-scroll-mx-28{scroll-margin-inline:10rem !important}.k-scroll-mx-29{scroll-margin-inline:11rem}.\!k-scroll-mx-29{scroll-margin-inline:11rem !important}.k-scroll-mx-30{scroll-margin-inline:12rem}.\!k-scroll-mx-30{scroll-margin-inline:12rem !important}.k-scroll-my-0{scroll-margin-block:0px}.\!k-scroll-my-0{scroll-margin-block:0px !important}.k-scroll-my-1px{scroll-margin-block:1px}.\!k-scroll-my-1px{scroll-margin-block:1px !important}.k-scroll-my-0\.5{scroll-margin-block:.125rem}.\!k-scroll-my-0\.5{scroll-margin-block:.125rem !important}.k-scroll-my-1{scroll-margin-block:.25rem}.\!k-scroll-my-1{scroll-margin-block:.25rem !important}.k-scroll-my-1\.5{scroll-margin-block:.375rem}.\!k-scroll-my-1\.5{scroll-margin-block:.375rem !important}.k-scroll-my-2{scroll-margin-block:.5rem}.\!k-scroll-my-2{scroll-margin-block:.5rem !important}.k-scroll-my-2\.5{scroll-margin-block:.625rem}.\!k-scroll-my-2\.5{scroll-margin-block:.625rem !important}.k-scroll-my-3{scroll-margin-block:.75rem}.\!k-scroll-my-3{scroll-margin-block:.75rem !important}.k-scroll-my-3\.5{scroll-margin-block:.875rem}.\!k-scroll-my-3\.5{scroll-margin-block:.875rem !important}.k-scroll-my-4{scroll-margin-block:1rem}.\!k-scroll-my-4{scroll-margin-block:1rem !important}.k-scroll-my-4\.5{scroll-margin-block:1.125rem}.\!k-scroll-my-4\.5{scroll-margin-block:1.125rem !important}.k-scroll-my-5{scroll-margin-block:1.25rem}.\!k-scroll-my-5{scroll-margin-block:1.25rem !important}.k-scroll-my-5\.5{scroll-margin-block:1.375rem}.\!k-scroll-my-5\.5{scroll-margin-block:1.375rem !important}.k-scroll-my-6{scroll-margin-block:1.5rem}.\!k-scroll-my-6{scroll-margin-block:1.5rem !important}.k-scroll-my-6\.5{scroll-margin-block:1.625rem}.\!k-scroll-my-6\.5{scroll-margin-block:1.625rem !important}.k-scroll-my-7{scroll-margin-block:1.75rem}.\!k-scroll-my-7{scroll-margin-block:1.75rem !important}.k-scroll-my-7\.5{scroll-margin-block:1.875rem}.\!k-scroll-my-7\.5{scroll-margin-block:1.875rem !important}.k-scroll-my-8{scroll-margin-block:2rem}.\!k-scroll-my-8{scroll-margin-block:2rem !important}.k-scroll-my-9{scroll-margin-block:2.25rem}.\!k-scroll-my-9{scroll-margin-block:2.25rem !important}.k-scroll-my-10{scroll-margin-block:2.5rem}.\!k-scroll-my-10{scroll-margin-block:2.5rem !important}.k-scroll-my-11{scroll-margin-block:2.75rem}.\!k-scroll-my-11{scroll-margin-block:2.75rem !important}.k-scroll-my-12{scroll-margin-block:3rem}.\!k-scroll-my-12{scroll-margin-block:3rem !important}.k-scroll-my-13{scroll-margin-block:3.25rem}.\!k-scroll-my-13{scroll-margin-block:3.25rem !important}.k-scroll-my-14{scroll-margin-block:3.5rem}.\!k-scroll-my-14{scroll-margin-block:3.5rem !important}.k-scroll-my-15{scroll-margin-block:3.75rem}.\!k-scroll-my-15{scroll-margin-block:3.75rem !important}.k-scroll-my-16{scroll-margin-block:4rem}.\!k-scroll-my-16{scroll-margin-block:4rem !important}.k-scroll-my-17{scroll-margin-block:4.25rem}.\!k-scroll-my-17{scroll-margin-block:4.25rem !important}.k-scroll-my-18{scroll-margin-block:4.5rem}.\!k-scroll-my-18{scroll-margin-block:4.5rem !important}.k-scroll-my-19{scroll-margin-block:4.75rem}.\!k-scroll-my-19{scroll-margin-block:4.75rem !important}.k-scroll-my-20{scroll-margin-block:5rem}.\!k-scroll-my-20{scroll-margin-block:5rem !important}.k-scroll-my-21{scroll-margin-block:5.25rem}.\!k-scroll-my-21{scroll-margin-block:5.25rem !important}.k-scroll-my-22{scroll-margin-block:5.5rem}.\!k-scroll-my-22{scroll-margin-block:5.5rem !important}.k-scroll-my-23{scroll-margin-block:5.75rem}.\!k-scroll-my-23{scroll-margin-block:5.75rem !important}.k-scroll-my-24{scroll-margin-block:6rem}.\!k-scroll-my-24{scroll-margin-block:6rem !important}.k-scroll-my-25{scroll-margin-block:7rem}.\!k-scroll-my-25{scroll-margin-block:7rem !important}.k-scroll-my-26{scroll-margin-block:8rem}.\!k-scroll-my-26{scroll-margin-block:8rem !important}.k-scroll-my-27{scroll-margin-block:9rem}.\!k-scroll-my-27{scroll-margin-block:9rem !important}.k-scroll-my-28{scroll-margin-block:10rem}.\!k-scroll-my-28{scroll-margin-block:10rem !important}.k-scroll-my-29{scroll-margin-block:11rem}.\!k-scroll-my-29{scroll-margin-block:11rem !important}.k-scroll-my-30{scroll-margin-block:12rem}.\!k-scroll-my-30{scroll-margin-block:12rem !important}.k-scroll-p-0{scroll-padding:0px}.\!k-scroll-p-0{scroll-padding:0px !important}.k-scroll-p-1px{scroll-padding:1px}.\!k-scroll-p-1px{scroll-padding:1px !important}.k-scroll-p-0\.5{scroll-padding:.125rem}.\!k-scroll-p-0\.5{scroll-padding:.125rem !important}.k-scroll-p-1{scroll-padding:.25rem}.\!k-scroll-p-1{scroll-padding:.25rem !important}.k-scroll-p-1\.5{scroll-padding:.375rem}.\!k-scroll-p-1\.5{scroll-padding:.375rem !important}.k-scroll-p-2{scroll-padding:.5rem}.\!k-scroll-p-2{scroll-padding:.5rem !important}.k-scroll-p-2\.5{scroll-padding:.625rem}.\!k-scroll-p-2\.5{scroll-padding:.625rem !important}.k-scroll-p-3{scroll-padding:.75rem}.\!k-scroll-p-3{scroll-padding:.75rem !important}.k-scroll-p-3\.5{scroll-padding:.875rem}.\!k-scroll-p-3\.5{scroll-padding:.875rem !important}.k-scroll-p-4{scroll-padding:1rem}.\!k-scroll-p-4{scroll-padding:1rem !important}.k-scroll-p-4\.5{scroll-padding:1.125rem}.\!k-scroll-p-4\.5{scroll-padding:1.125rem !important}.k-scroll-p-5{scroll-padding:1.25rem}.\!k-scroll-p-5{scroll-padding:1.25rem !important}.k-scroll-p-5\.5{scroll-padding:1.375rem}.\!k-scroll-p-5\.5{scroll-padding:1.375rem !important}.k-scroll-p-6{scroll-padding:1.5rem}.\!k-scroll-p-6{scroll-padding:1.5rem !important}.k-scroll-p-6\.5{scroll-padding:1.625rem}.\!k-scroll-p-6\.5{scroll-padding:1.625rem !important}.k-scroll-p-7{scroll-padding:1.75rem}.\!k-scroll-p-7{scroll-padding:1.75rem !important}.k-scroll-p-7\.5{scroll-padding:1.875rem}.\!k-scroll-p-7\.5{scroll-padding:1.875rem !important}.k-scroll-p-8{scroll-padding:2rem}.\!k-scroll-p-8{scroll-padding:2rem !important}.k-scroll-p-9{scroll-padding:2.25rem}.\!k-scroll-p-9{scroll-padding:2.25rem !important}.k-scroll-p-10{scroll-padding:2.5rem}.\!k-scroll-p-10{scroll-padding:2.5rem !important}.k-scroll-p-11{scroll-padding:2.75rem}.\!k-scroll-p-11{scroll-padding:2.75rem !important}.k-scroll-p-12{scroll-padding:3rem}.\!k-scroll-p-12{scroll-padding:3rem !important}.k-scroll-p-13{scroll-padding:3.25rem}.\!k-scroll-p-13{scroll-padding:3.25rem !important}.k-scroll-p-14{scroll-padding:3.5rem}.\!k-scroll-p-14{scroll-padding:3.5rem !important}.k-scroll-p-15{scroll-padding:3.75rem}.\!k-scroll-p-15{scroll-padding:3.75rem !important}.k-scroll-p-16{scroll-padding:4rem}.\!k-scroll-p-16{scroll-padding:4rem !important}.k-scroll-p-17{scroll-padding:4.25rem}.\!k-scroll-p-17{scroll-padding:4.25rem !important}.k-scroll-p-18{scroll-padding:4.5rem}.\!k-scroll-p-18{scroll-padding:4.5rem !important}.k-scroll-p-19{scroll-padding:4.75rem}.\!k-scroll-p-19{scroll-padding:4.75rem !important}.k-scroll-p-20{scroll-padding:5rem}.\!k-scroll-p-20{scroll-padding:5rem !important}.k-scroll-p-21{scroll-padding:5.25rem}.\!k-scroll-p-21{scroll-padding:5.25rem !important}.k-scroll-p-22{scroll-padding:5.5rem}.\!k-scroll-p-22{scroll-padding:5.5rem !important}.k-scroll-p-23{scroll-padding:5.75rem}.\!k-scroll-p-23{scroll-padding:5.75rem !important}.k-scroll-p-24{scroll-padding:6rem}.\!k-scroll-p-24{scroll-padding:6rem !important}.k-scroll-p-25{scroll-padding:7rem}.\!k-scroll-p-25{scroll-padding:7rem !important}.k-scroll-p-26{scroll-padding:8rem}.\!k-scroll-p-26{scroll-padding:8rem !important}.k-scroll-p-27{scroll-padding:9rem}.\!k-scroll-p-27{scroll-padding:9rem !important}.k-scroll-p-28{scroll-padding:10rem}.\!k-scroll-p-28{scroll-padding:10rem !important}.k-scroll-p-29{scroll-padding:11rem}.\!k-scroll-p-29{scroll-padding:11rem !important}.k-scroll-p-30{scroll-padding:12rem}.\!k-scroll-p-30{scroll-padding:12rem !important}.k-scroll-pt-0{scroll-padding-top:0px}.\!k-scroll-pt-0{scroll-padding-top:0px !important}.k-scroll-pt-1px{scroll-padding-top:1px}.\!k-scroll-pt-1px{scroll-padding-top:1px !important}.k-scroll-pt-0\.5{scroll-padding-top:.125rem}.\!k-scroll-pt-0\.5{scroll-padding-top:.125rem !important}.k-scroll-pt-1{scroll-padding-top:.25rem}.\!k-scroll-pt-1{scroll-padding-top:.25rem !important}.k-scroll-pt-1\.5{scroll-padding-top:.375rem}.\!k-scroll-pt-1\.5{scroll-padding-top:.375rem !important}.k-scroll-pt-2{scroll-padding-top:.5rem}.\!k-scroll-pt-2{scroll-padding-top:.5rem !important}.k-scroll-pt-2\.5{scroll-padding-top:.625rem}.\!k-scroll-pt-2\.5{scroll-padding-top:.625rem !important}.k-scroll-pt-3{scroll-padding-top:.75rem}.\!k-scroll-pt-3{scroll-padding-top:.75rem !important}.k-scroll-pt-3\.5{scroll-padding-top:.875rem}.\!k-scroll-pt-3\.5{scroll-padding-top:.875rem !important}.k-scroll-pt-4{scroll-padding-top:1rem}.\!k-scroll-pt-4{scroll-padding-top:1rem !important}.k-scroll-pt-4\.5{scroll-padding-top:1.125rem}.\!k-scroll-pt-4\.5{scroll-padding-top:1.125rem !important}.k-scroll-pt-5{scroll-padding-top:1.25rem}.\!k-scroll-pt-5{scroll-padding-top:1.25rem !important}.k-scroll-pt-5\.5{scroll-padding-top:1.375rem}.\!k-scroll-pt-5\.5{scroll-padding-top:1.375rem !important}.k-scroll-pt-6{scroll-padding-top:1.5rem}.\!k-scroll-pt-6{scroll-padding-top:1.5rem !important}.k-scroll-pt-6\.5{scroll-padding-top:1.625rem}.\!k-scroll-pt-6\.5{scroll-padding-top:1.625rem !important}.k-scroll-pt-7{scroll-padding-top:1.75rem}.\!k-scroll-pt-7{scroll-padding-top:1.75rem !important}.k-scroll-pt-7\.5{scroll-padding-top:1.875rem}.\!k-scroll-pt-7\.5{scroll-padding-top:1.875rem !important}.k-scroll-pt-8{scroll-padding-top:2rem}.\!k-scroll-pt-8{scroll-padding-top:2rem !important}.k-scroll-pt-9{scroll-padding-top:2.25rem}.\!k-scroll-pt-9{scroll-padding-top:2.25rem !important}.k-scroll-pt-10{scroll-padding-top:2.5rem}.\!k-scroll-pt-10{scroll-padding-top:2.5rem !important}.k-scroll-pt-11{scroll-padding-top:2.75rem}.\!k-scroll-pt-11{scroll-padding-top:2.75rem !important}.k-scroll-pt-12{scroll-padding-top:3rem}.\!k-scroll-pt-12{scroll-padding-top:3rem !important}.k-scroll-pt-13{scroll-padding-top:3.25rem}.\!k-scroll-pt-13{scroll-padding-top:3.25rem !important}.k-scroll-pt-14{scroll-padding-top:3.5rem}.\!k-scroll-pt-14{scroll-padding-top:3.5rem !important}.k-scroll-pt-15{scroll-padding-top:3.75rem}.\!k-scroll-pt-15{scroll-padding-top:3.75rem !important}.k-scroll-pt-16{scroll-padding-top:4rem}.\!k-scroll-pt-16{scroll-padding-top:4rem !important}.k-scroll-pt-17{scroll-padding-top:4.25rem}.\!k-scroll-pt-17{scroll-padding-top:4.25rem !important}.k-scroll-pt-18{scroll-padding-top:4.5rem}.\!k-scroll-pt-18{scroll-padding-top:4.5rem !important}.k-scroll-pt-19{scroll-padding-top:4.75rem}.\!k-scroll-pt-19{scroll-padding-top:4.75rem !important}.k-scroll-pt-20{scroll-padding-top:5rem}.\!k-scroll-pt-20{scroll-padding-top:5rem !important}.k-scroll-pt-21{scroll-padding-top:5.25rem}.\!k-scroll-pt-21{scroll-padding-top:5.25rem !important}.k-scroll-pt-22{scroll-padding-top:5.5rem}.\!k-scroll-pt-22{scroll-padding-top:5.5rem !important}.k-scroll-pt-23{scroll-padding-top:5.75rem}.\!k-scroll-pt-23{scroll-padding-top:5.75rem !important}.k-scroll-pt-24{scroll-padding-top:6rem}.\!k-scroll-pt-24{scroll-padding-top:6rem !important}.k-scroll-pt-25{scroll-padding-top:7rem}.\!k-scroll-pt-25{scroll-padding-top:7rem !important}.k-scroll-pt-26{scroll-padding-top:8rem}.\!k-scroll-pt-26{scroll-padding-top:8rem !important}.k-scroll-pt-27{scroll-padding-top:9rem}.\!k-scroll-pt-27{scroll-padding-top:9rem !important}.k-scroll-pt-28{scroll-padding-top:10rem}.\!k-scroll-pt-28{scroll-padding-top:10rem !important}.k-scroll-pt-29{scroll-padding-top:11rem}.\!k-scroll-pt-29{scroll-padding-top:11rem !important}.k-scroll-pt-30{scroll-padding-top:12rem}.\!k-scroll-pt-30{scroll-padding-top:12rem !important}.k-scroll-pr-0{scroll-padding-right:0px}.\!k-scroll-pr-0{scroll-padding-right:0px !important}.k-scroll-pr-1px{scroll-padding-right:1px}.\!k-scroll-pr-1px{scroll-padding-right:1px !important}.k-scroll-pr-0\.5{scroll-padding-right:.125rem}.\!k-scroll-pr-0\.5{scroll-padding-right:.125rem !important}.k-scroll-pr-1{scroll-padding-right:.25rem}.\!k-scroll-pr-1{scroll-padding-right:.25rem !important}.k-scroll-pr-1\.5{scroll-padding-right:.375rem}.\!k-scroll-pr-1\.5{scroll-padding-right:.375rem !important}.k-scroll-pr-2{scroll-padding-right:.5rem}.\!k-scroll-pr-2{scroll-padding-right:.5rem !important}.k-scroll-pr-2\.5{scroll-padding-right:.625rem}.\!k-scroll-pr-2\.5{scroll-padding-right:.625rem !important}.k-scroll-pr-3{scroll-padding-right:.75rem}.\!k-scroll-pr-3{scroll-padding-right:.75rem !important}.k-scroll-pr-3\.5{scroll-padding-right:.875rem}.\!k-scroll-pr-3\.5{scroll-padding-right:.875rem !important}.k-scroll-pr-4{scroll-padding-right:1rem}.\!k-scroll-pr-4{scroll-padding-right:1rem !important}.k-scroll-pr-4\.5{scroll-padding-right:1.125rem}.\!k-scroll-pr-4\.5{scroll-padding-right:1.125rem !important}.k-scroll-pr-5{scroll-padding-right:1.25rem}.\!k-scroll-pr-5{scroll-padding-right:1.25rem !important}.k-scroll-pr-5\.5{scroll-padding-right:1.375rem}.\!k-scroll-pr-5\.5{scroll-padding-right:1.375rem !important}.k-scroll-pr-6{scroll-padding-right:1.5rem}.\!k-scroll-pr-6{scroll-padding-right:1.5rem !important}.k-scroll-pr-6\.5{scroll-padding-right:1.625rem}.\!k-scroll-pr-6\.5{scroll-padding-right:1.625rem !important}.k-scroll-pr-7{scroll-padding-right:1.75rem}.\!k-scroll-pr-7{scroll-padding-right:1.75rem !important}.k-scroll-pr-7\.5{scroll-padding-right:1.875rem}.\!k-scroll-pr-7\.5{scroll-padding-right:1.875rem !important}.k-scroll-pr-8{scroll-padding-right:2rem}.\!k-scroll-pr-8{scroll-padding-right:2rem !important}.k-scroll-pr-9{scroll-padding-right:2.25rem}.\!k-scroll-pr-9{scroll-padding-right:2.25rem !important}.k-scroll-pr-10{scroll-padding-right:2.5rem}.\!k-scroll-pr-10{scroll-padding-right:2.5rem !important}.k-scroll-pr-11{scroll-padding-right:2.75rem}.\!k-scroll-pr-11{scroll-padding-right:2.75rem !important}.k-scroll-pr-12{scroll-padding-right:3rem}.\!k-scroll-pr-12{scroll-padding-right:3rem !important}.k-scroll-pr-13{scroll-padding-right:3.25rem}.\!k-scroll-pr-13{scroll-padding-right:3.25rem !important}.k-scroll-pr-14{scroll-padding-right:3.5rem}.\!k-scroll-pr-14{scroll-padding-right:3.5rem !important}.k-scroll-pr-15{scroll-padding-right:3.75rem}.\!k-scroll-pr-15{scroll-padding-right:3.75rem !important}.k-scroll-pr-16{scroll-padding-right:4rem}.\!k-scroll-pr-16{scroll-padding-right:4rem !important}.k-scroll-pr-17{scroll-padding-right:4.25rem}.\!k-scroll-pr-17{scroll-padding-right:4.25rem !important}.k-scroll-pr-18{scroll-padding-right:4.5rem}.\!k-scroll-pr-18{scroll-padding-right:4.5rem !important}.k-scroll-pr-19{scroll-padding-right:4.75rem}.\!k-scroll-pr-19{scroll-padding-right:4.75rem !important}.k-scroll-pr-20{scroll-padding-right:5rem}.\!k-scroll-pr-20{scroll-padding-right:5rem !important}.k-scroll-pr-21{scroll-padding-right:5.25rem}.\!k-scroll-pr-21{scroll-padding-right:5.25rem !important}.k-scroll-pr-22{scroll-padding-right:5.5rem}.\!k-scroll-pr-22{scroll-padding-right:5.5rem !important}.k-scroll-pr-23{scroll-padding-right:5.75rem}.\!k-scroll-pr-23{scroll-padding-right:5.75rem !important}.k-scroll-pr-24{scroll-padding-right:6rem}.\!k-scroll-pr-24{scroll-padding-right:6rem !important}.k-scroll-pr-25{scroll-padding-right:7rem}.\!k-scroll-pr-25{scroll-padding-right:7rem !important}.k-scroll-pr-26{scroll-padding-right:8rem}.\!k-scroll-pr-26{scroll-padding-right:8rem !important}.k-scroll-pr-27{scroll-padding-right:9rem}.\!k-scroll-pr-27{scroll-padding-right:9rem !important}.k-scroll-pr-28{scroll-padding-right:10rem}.\!k-scroll-pr-28{scroll-padding-right:10rem !important}.k-scroll-pr-29{scroll-padding-right:11rem}.\!k-scroll-pr-29{scroll-padding-right:11rem !important}.k-scroll-pr-30{scroll-padding-right:12rem}.\!k-scroll-pr-30{scroll-padding-right:12rem !important}.k-scroll-pb-0{scroll-padding-bottom:0px}.\!k-scroll-pb-0{scroll-padding-bottom:0px !important}.k-scroll-pb-1px{scroll-padding-bottom:1px}.\!k-scroll-pb-1px{scroll-padding-bottom:1px !important}.k-scroll-pb-0\.5{scroll-padding-bottom:.125rem}.\!k-scroll-pb-0\.5{scroll-padding-bottom:.125rem !important}.k-scroll-pb-1{scroll-padding-bottom:.25rem}.\!k-scroll-pb-1{scroll-padding-bottom:.25rem !important}.k-scroll-pb-1\.5{scroll-padding-bottom:.375rem}.\!k-scroll-pb-1\.5{scroll-padding-bottom:.375rem !important}.k-scroll-pb-2{scroll-padding-bottom:.5rem}.\!k-scroll-pb-2{scroll-padding-bottom:.5rem !important}.k-scroll-pb-2\.5{scroll-padding-bottom:.625rem}.\!k-scroll-pb-2\.5{scroll-padding-bottom:.625rem !important}.k-scroll-pb-3{scroll-padding-bottom:.75rem}.\!k-scroll-pb-3{scroll-padding-bottom:.75rem !important}.k-scroll-pb-3\.5{scroll-padding-bottom:.875rem}.\!k-scroll-pb-3\.5{scroll-padding-bottom:.875rem !important}.k-scroll-pb-4{scroll-padding-bottom:1rem}.\!k-scroll-pb-4{scroll-padding-bottom:1rem !important}.k-scroll-pb-4\.5{scroll-padding-bottom:1.125rem}.\!k-scroll-pb-4\.5{scroll-padding-bottom:1.125rem !important}.k-scroll-pb-5{scroll-padding-bottom:1.25rem}.\!k-scroll-pb-5{scroll-padding-bottom:1.25rem !important}.k-scroll-pb-5\.5{scroll-padding-bottom:1.375rem}.\!k-scroll-pb-5\.5{scroll-padding-bottom:1.375rem !important}.k-scroll-pb-6{scroll-padding-bottom:1.5rem}.\!k-scroll-pb-6{scroll-padding-bottom:1.5rem !important}.k-scroll-pb-6\.5{scroll-padding-bottom:1.625rem}.\!k-scroll-pb-6\.5{scroll-padding-bottom:1.625rem !important}.k-scroll-pb-7{scroll-padding-bottom:1.75rem}.\!k-scroll-pb-7{scroll-padding-bottom:1.75rem !important}.k-scroll-pb-7\.5{scroll-padding-bottom:1.875rem}.\!k-scroll-pb-7\.5{scroll-padding-bottom:1.875rem !important}.k-scroll-pb-8{scroll-padding-bottom:2rem}.\!k-scroll-pb-8{scroll-padding-bottom:2rem !important}.k-scroll-pb-9{scroll-padding-bottom:2.25rem}.\!k-scroll-pb-9{scroll-padding-bottom:2.25rem !important}.k-scroll-pb-10{scroll-padding-bottom:2.5rem}.\!k-scroll-pb-10{scroll-padding-bottom:2.5rem !important}.k-scroll-pb-11{scroll-padding-bottom:2.75rem}.\!k-scroll-pb-11{scroll-padding-bottom:2.75rem !important}.k-scroll-pb-12{scroll-padding-bottom:3rem}.\!k-scroll-pb-12{scroll-padding-bottom:3rem !important}.k-scroll-pb-13{scroll-padding-bottom:3.25rem}.\!k-scroll-pb-13{scroll-padding-bottom:3.25rem !important}.k-scroll-pb-14{scroll-padding-bottom:3.5rem}.\!k-scroll-pb-14{scroll-padding-bottom:3.5rem !important}.k-scroll-pb-15{scroll-padding-bottom:3.75rem}.\!k-scroll-pb-15{scroll-padding-bottom:3.75rem !important}.k-scroll-pb-16{scroll-padding-bottom:4rem}.\!k-scroll-pb-16{scroll-padding-bottom:4rem !important}.k-scroll-pb-17{scroll-padding-bottom:4.25rem}.\!k-scroll-pb-17{scroll-padding-bottom:4.25rem !important}.k-scroll-pb-18{scroll-padding-bottom:4.5rem}.\!k-scroll-pb-18{scroll-padding-bottom:4.5rem !important}.k-scroll-pb-19{scroll-padding-bottom:4.75rem}.\!k-scroll-pb-19{scroll-padding-bottom:4.75rem !important}.k-scroll-pb-20{scroll-padding-bottom:5rem}.\!k-scroll-pb-20{scroll-padding-bottom:5rem !important}.k-scroll-pb-21{scroll-padding-bottom:5.25rem}.\!k-scroll-pb-21{scroll-padding-bottom:5.25rem !important}.k-scroll-pb-22{scroll-padding-bottom:5.5rem}.\!k-scroll-pb-22{scroll-padding-bottom:5.5rem !important}.k-scroll-pb-23{scroll-padding-bottom:5.75rem}.\!k-scroll-pb-23{scroll-padding-bottom:5.75rem !important}.k-scroll-pb-24{scroll-padding-bottom:6rem}.\!k-scroll-pb-24{scroll-padding-bottom:6rem !important}.k-scroll-pb-25{scroll-padding-bottom:7rem}.\!k-scroll-pb-25{scroll-padding-bottom:7rem !important}.k-scroll-pb-26{scroll-padding-bottom:8rem}.\!k-scroll-pb-26{scroll-padding-bottom:8rem !important}.k-scroll-pb-27{scroll-padding-bottom:9rem}.\!k-scroll-pb-27{scroll-padding-bottom:9rem !important}.k-scroll-pb-28{scroll-padding-bottom:10rem}.\!k-scroll-pb-28{scroll-padding-bottom:10rem !important}.k-scroll-pb-29{scroll-padding-bottom:11rem}.\!k-scroll-pb-29{scroll-padding-bottom:11rem !important}.k-scroll-pb-30{scroll-padding-bottom:12rem}.\!k-scroll-pb-30{scroll-padding-bottom:12rem !important}.k-scroll-pl-0{scroll-padding-left:0px}.\!k-scroll-pl-0{scroll-padding-left:0px !important}.k-scroll-pl-1px{scroll-padding-left:1px}.\!k-scroll-pl-1px{scroll-padding-left:1px !important}.k-scroll-pl-0\.5{scroll-padding-left:.125rem}.\!k-scroll-pl-0\.5{scroll-padding-left:.125rem !important}.k-scroll-pl-1{scroll-padding-left:.25rem}.\!k-scroll-pl-1{scroll-padding-left:.25rem !important}.k-scroll-pl-1\.5{scroll-padding-left:.375rem}.\!k-scroll-pl-1\.5{scroll-padding-left:.375rem !important}.k-scroll-pl-2{scroll-padding-left:.5rem}.\!k-scroll-pl-2{scroll-padding-left:.5rem !important}.k-scroll-pl-2\.5{scroll-padding-left:.625rem}.\!k-scroll-pl-2\.5{scroll-padding-left:.625rem !important}.k-scroll-pl-3{scroll-padding-left:.75rem}.\!k-scroll-pl-3{scroll-padding-left:.75rem !important}.k-scroll-pl-3\.5{scroll-padding-left:.875rem}.\!k-scroll-pl-3\.5{scroll-padding-left:.875rem !important}.k-scroll-pl-4{scroll-padding-left:1rem}.\!k-scroll-pl-4{scroll-padding-left:1rem !important}.k-scroll-pl-4\.5{scroll-padding-left:1.125rem}.\!k-scroll-pl-4\.5{scroll-padding-left:1.125rem !important}.k-scroll-pl-5{scroll-padding-left:1.25rem}.\!k-scroll-pl-5{scroll-padding-left:1.25rem !important}.k-scroll-pl-5\.5{scroll-padding-left:1.375rem}.\!k-scroll-pl-5\.5{scroll-padding-left:1.375rem !important}.k-scroll-pl-6{scroll-padding-left:1.5rem}.\!k-scroll-pl-6{scroll-padding-left:1.5rem !important}.k-scroll-pl-6\.5{scroll-padding-left:1.625rem}.\!k-scroll-pl-6\.5{scroll-padding-left:1.625rem !important}.k-scroll-pl-7{scroll-padding-left:1.75rem}.\!k-scroll-pl-7{scroll-padding-left:1.75rem !important}.k-scroll-pl-7\.5{scroll-padding-left:1.875rem}.\!k-scroll-pl-7\.5{scroll-padding-left:1.875rem !important}.k-scroll-pl-8{scroll-padding-left:2rem}.\!k-scroll-pl-8{scroll-padding-left:2rem !important}.k-scroll-pl-9{scroll-padding-left:2.25rem}.\!k-scroll-pl-9{scroll-padding-left:2.25rem !important}.k-scroll-pl-10{scroll-padding-left:2.5rem}.\!k-scroll-pl-10{scroll-padding-left:2.5rem !important}.k-scroll-pl-11{scroll-padding-left:2.75rem}.\!k-scroll-pl-11{scroll-padding-left:2.75rem !important}.k-scroll-pl-12{scroll-padding-left:3rem}.\!k-scroll-pl-12{scroll-padding-left:3rem !important}.k-scroll-pl-13{scroll-padding-left:3.25rem}.\!k-scroll-pl-13{scroll-padding-left:3.25rem !important}.k-scroll-pl-14{scroll-padding-left:3.5rem}.\!k-scroll-pl-14{scroll-padding-left:3.5rem !important}.k-scroll-pl-15{scroll-padding-left:3.75rem}.\!k-scroll-pl-15{scroll-padding-left:3.75rem !important}.k-scroll-pl-16{scroll-padding-left:4rem}.\!k-scroll-pl-16{scroll-padding-left:4rem !important}.k-scroll-pl-17{scroll-padding-left:4.25rem}.\!k-scroll-pl-17{scroll-padding-left:4.25rem !important}.k-scroll-pl-18{scroll-padding-left:4.5rem}.\!k-scroll-pl-18{scroll-padding-left:4.5rem !important}.k-scroll-pl-19{scroll-padding-left:4.75rem}.\!k-scroll-pl-19{scroll-padding-left:4.75rem !important}.k-scroll-pl-20{scroll-padding-left:5rem}.\!k-scroll-pl-20{scroll-padding-left:5rem !important}.k-scroll-pl-21{scroll-padding-left:5.25rem}.\!k-scroll-pl-21{scroll-padding-left:5.25rem !important}.k-scroll-pl-22{scroll-padding-left:5.5rem}.\!k-scroll-pl-22{scroll-padding-left:5.5rem !important}.k-scroll-pl-23{scroll-padding-left:5.75rem}.\!k-scroll-pl-23{scroll-padding-left:5.75rem !important}.k-scroll-pl-24{scroll-padding-left:6rem}.\!k-scroll-pl-24{scroll-padding-left:6rem !important}.k-scroll-pl-25{scroll-padding-left:7rem}.\!k-scroll-pl-25{scroll-padding-left:7rem !important}.k-scroll-pl-26{scroll-padding-left:8rem}.\!k-scroll-pl-26{scroll-padding-left:8rem !important}.k-scroll-pl-27{scroll-padding-left:9rem}.\!k-scroll-pl-27{scroll-padding-left:9rem !important}.k-scroll-pl-28{scroll-padding-left:10rem}.\!k-scroll-pl-28{scroll-padding-left:10rem !important}.k-scroll-pl-29{scroll-padding-left:11rem}.\!k-scroll-pl-29{scroll-padding-left:11rem !important}.k-scroll-pl-30{scroll-padding-left:12rem}.\!k-scroll-pl-30{scroll-padding-left:12rem !important}.k-scroll-px-0{scroll-padding-inline:0px}.\!k-scroll-px-0{scroll-padding-inline:0px !important}.k-scroll-px-1px{scroll-padding-inline:1px}.\!k-scroll-px-1px{scroll-padding-inline:1px !important}.k-scroll-px-0\.5{scroll-padding-inline:.125rem}.\!k-scroll-px-0\.5{scroll-padding-inline:.125rem !important}.k-scroll-px-1{scroll-padding-inline:.25rem}.\!k-scroll-px-1{scroll-padding-inline:.25rem !important}.k-scroll-px-1\.5{scroll-padding-inline:.375rem}.\!k-scroll-px-1\.5{scroll-padding-inline:.375rem !important}.k-scroll-px-2{scroll-padding-inline:.5rem}.\!k-scroll-px-2{scroll-padding-inline:.5rem !important}.k-scroll-px-2\.5{scroll-padding-inline:.625rem}.\!k-scroll-px-2\.5{scroll-padding-inline:.625rem !important}.k-scroll-px-3{scroll-padding-inline:.75rem}.\!k-scroll-px-3{scroll-padding-inline:.75rem !important}.k-scroll-px-3\.5{scroll-padding-inline:.875rem}.\!k-scroll-px-3\.5{scroll-padding-inline:.875rem !important}.k-scroll-px-4{scroll-padding-inline:1rem}.\!k-scroll-px-4{scroll-padding-inline:1rem !important}.k-scroll-px-4\.5{scroll-padding-inline:1.125rem}.\!k-scroll-px-4\.5{scroll-padding-inline:1.125rem !important}.k-scroll-px-5{scroll-padding-inline:1.25rem}.\!k-scroll-px-5{scroll-padding-inline:1.25rem !important}.k-scroll-px-5\.5{scroll-padding-inline:1.375rem}.\!k-scroll-px-5\.5{scroll-padding-inline:1.375rem !important}.k-scroll-px-6{scroll-padding-inline:1.5rem}.\!k-scroll-px-6{scroll-padding-inline:1.5rem !important}.k-scroll-px-6\.5{scroll-padding-inline:1.625rem}.\!k-scroll-px-6\.5{scroll-padding-inline:1.625rem !important}.k-scroll-px-7{scroll-padding-inline:1.75rem}.\!k-scroll-px-7{scroll-padding-inline:1.75rem !important}.k-scroll-px-7\.5{scroll-padding-inline:1.875rem}.\!k-scroll-px-7\.5{scroll-padding-inline:1.875rem !important}.k-scroll-px-8{scroll-padding-inline:2rem}.\!k-scroll-px-8{scroll-padding-inline:2rem !important}.k-scroll-px-9{scroll-padding-inline:2.25rem}.\!k-scroll-px-9{scroll-padding-inline:2.25rem !important}.k-scroll-px-10{scroll-padding-inline:2.5rem}.\!k-scroll-px-10{scroll-padding-inline:2.5rem !important}.k-scroll-px-11{scroll-padding-inline:2.75rem}.\!k-scroll-px-11{scroll-padding-inline:2.75rem !important}.k-scroll-px-12{scroll-padding-inline:3rem}.\!k-scroll-px-12{scroll-padding-inline:3rem !important}.k-scroll-px-13{scroll-padding-inline:3.25rem}.\!k-scroll-px-13{scroll-padding-inline:3.25rem !important}.k-scroll-px-14{scroll-padding-inline:3.5rem}.\!k-scroll-px-14{scroll-padding-inline:3.5rem !important}.k-scroll-px-15{scroll-padding-inline:3.75rem}.\!k-scroll-px-15{scroll-padding-inline:3.75rem !important}.k-scroll-px-16{scroll-padding-inline:4rem}.\!k-scroll-px-16{scroll-padding-inline:4rem !important}.k-scroll-px-17{scroll-padding-inline:4.25rem}.\!k-scroll-px-17{scroll-padding-inline:4.25rem !important}.k-scroll-px-18{scroll-padding-inline:4.5rem}.\!k-scroll-px-18{scroll-padding-inline:4.5rem !important}.k-scroll-px-19{scroll-padding-inline:4.75rem}.\!k-scroll-px-19{scroll-padding-inline:4.75rem !important}.k-scroll-px-20{scroll-padding-inline:5rem}.\!k-scroll-px-20{scroll-padding-inline:5rem !important}.k-scroll-px-21{scroll-padding-inline:5.25rem}.\!k-scroll-px-21{scroll-padding-inline:5.25rem !important}.k-scroll-px-22{scroll-padding-inline:5.5rem}.\!k-scroll-px-22{scroll-padding-inline:5.5rem !important}.k-scroll-px-23{scroll-padding-inline:5.75rem}.\!k-scroll-px-23{scroll-padding-inline:5.75rem !important}.k-scroll-px-24{scroll-padding-inline:6rem}.\!k-scroll-px-24{scroll-padding-inline:6rem !important}.k-scroll-px-25{scroll-padding-inline:7rem}.\!k-scroll-px-25{scroll-padding-inline:7rem !important}.k-scroll-px-26{scroll-padding-inline:8rem}.\!k-scroll-px-26{scroll-padding-inline:8rem !important}.k-scroll-px-27{scroll-padding-inline:9rem}.\!k-scroll-px-27{scroll-padding-inline:9rem !important}.k-scroll-px-28{scroll-padding-inline:10rem}.\!k-scroll-px-28{scroll-padding-inline:10rem !important}.k-scroll-px-29{scroll-padding-inline:11rem}.\!k-scroll-px-29{scroll-padding-inline:11rem !important}.k-scroll-px-30{scroll-padding-inline:12rem}.\!k-scroll-px-30{scroll-padding-inline:12rem !important}.k-scroll-py-0{scroll-padding-block:0px}.\!k-scroll-py-0{scroll-padding-block:0px !important}.k-scroll-py-1px{scroll-padding-block:1px}.\!k-scroll-py-1px{scroll-padding-block:1px !important}.k-scroll-py-0\.5{scroll-padding-block:.125rem}.\!k-scroll-py-0\.5{scroll-padding-block:.125rem !important}.k-scroll-py-1{scroll-padding-block:.25rem}.\!k-scroll-py-1{scroll-padding-block:.25rem !important}.k-scroll-py-1\.5{scroll-padding-block:.375rem}.\!k-scroll-py-1\.5{scroll-padding-block:.375rem !important}.k-scroll-py-2{scroll-padding-block:.5rem}.\!k-scroll-py-2{scroll-padding-block:.5rem !important}.k-scroll-py-2\.5{scroll-padding-block:.625rem}.\!k-scroll-py-2\.5{scroll-padding-block:.625rem !important}.k-scroll-py-3{scroll-padding-block:.75rem}.\!k-scroll-py-3{scroll-padding-block:.75rem !important}.k-scroll-py-3\.5{scroll-padding-block:.875rem}.\!k-scroll-py-3\.5{scroll-padding-block:.875rem !important}.k-scroll-py-4{scroll-padding-block:1rem}.\!k-scroll-py-4{scroll-padding-block:1rem !important}.k-scroll-py-4\.5{scroll-padding-block:1.125rem}.\!k-scroll-py-4\.5{scroll-padding-block:1.125rem !important}.k-scroll-py-5{scroll-padding-block:1.25rem}.\!k-scroll-py-5{scroll-padding-block:1.25rem !important}.k-scroll-py-5\.5{scroll-padding-block:1.375rem}.\!k-scroll-py-5\.5{scroll-padding-block:1.375rem !important}.k-scroll-py-6{scroll-padding-block:1.5rem}.\!k-scroll-py-6{scroll-padding-block:1.5rem !important}.k-scroll-py-6\.5{scroll-padding-block:1.625rem}.\!k-scroll-py-6\.5{scroll-padding-block:1.625rem !important}.k-scroll-py-7{scroll-padding-block:1.75rem}.\!k-scroll-py-7{scroll-padding-block:1.75rem !important}.k-scroll-py-7\.5{scroll-padding-block:1.875rem}.\!k-scroll-py-7\.5{scroll-padding-block:1.875rem !important}.k-scroll-py-8{scroll-padding-block:2rem}.\!k-scroll-py-8{scroll-padding-block:2rem !important}.k-scroll-py-9{scroll-padding-block:2.25rem}.\!k-scroll-py-9{scroll-padding-block:2.25rem !important}.k-scroll-py-10{scroll-padding-block:2.5rem}.\!k-scroll-py-10{scroll-padding-block:2.5rem !important}.k-scroll-py-11{scroll-padding-block:2.75rem}.\!k-scroll-py-11{scroll-padding-block:2.75rem !important}.k-scroll-py-12{scroll-padding-block:3rem}.\!k-scroll-py-12{scroll-padding-block:3rem !important}.k-scroll-py-13{scroll-padding-block:3.25rem}.\!k-scroll-py-13{scroll-padding-block:3.25rem !important}.k-scroll-py-14{scroll-padding-block:3.5rem}.\!k-scroll-py-14{scroll-padding-block:3.5rem !important}.k-scroll-py-15{scroll-padding-block:3.75rem}.\!k-scroll-py-15{scroll-padding-block:3.75rem !important}.k-scroll-py-16{scroll-padding-block:4rem}.\!k-scroll-py-16{scroll-padding-block:4rem !important}.k-scroll-py-17{scroll-padding-block:4.25rem}.\!k-scroll-py-17{scroll-padding-block:4.25rem !important}.k-scroll-py-18{scroll-padding-block:4.5rem}.\!k-scroll-py-18{scroll-padding-block:4.5rem !important}.k-scroll-py-19{scroll-padding-block:4.75rem}.\!k-scroll-py-19{scroll-padding-block:4.75rem !important}.k-scroll-py-20{scroll-padding-block:5rem}.\!k-scroll-py-20{scroll-padding-block:5rem !important}.k-scroll-py-21{scroll-padding-block:5.25rem}.\!k-scroll-py-21{scroll-padding-block:5.25rem !important}.k-scroll-py-22{scroll-padding-block:5.5rem}.\!k-scroll-py-22{scroll-padding-block:5.5rem !important}.k-scroll-py-23{scroll-padding-block:5.75rem}.\!k-scroll-py-23{scroll-padding-block:5.75rem !important}.k-scroll-py-24{scroll-padding-block:6rem}.\!k-scroll-py-24{scroll-padding-block:6rem !important}.k-scroll-py-25{scroll-padding-block:7rem}.\!k-scroll-py-25{scroll-padding-block:7rem !important}.k-scroll-py-26{scroll-padding-block:8rem}.\!k-scroll-py-26{scroll-padding-block:8rem !important}.k-scroll-py-27{scroll-padding-block:9rem}.\!k-scroll-py-27{scroll-padding-block:9rem !important}.k-scroll-py-28{scroll-padding-block:10rem}.\!k-scroll-py-28{scroll-padding-block:10rem !important}.k-scroll-py-29{scroll-padding-block:11rem}.\!k-scroll-py-29{scroll-padding-block:11rem !important}.k-scroll-py-30{scroll-padding-block:12rem}.\!k-scroll-py-30{scroll-padding-block:12rem !important}.k-touch-action-none{touch-action:none}.\!k-touch-action-none{touch-action:none !important}.k-touch-action-auto{touch-action:auto}.\!k-touch-action-auto{touch-action:auto !important}.k-touch-action-pan-x{touch-action:pan-x}.\!k-touch-action-pan-x{touch-action:pan-x !important}.k-touch-action-pan-left{touch-action:pan-left}.\!k-touch-action-pan-left{touch-action:pan-left !important}.k-touch-action-pan-right{touch-action:pan-right}.\!k-touch-action-pan-right{touch-action:pan-right !important}.k-touch-action-pan-y{touch-action:pan-y}.\!k-touch-action-pan-y{touch-action:pan-y !important}.k-touch-action-pan-up{touch-action:pan-up}.\!k-touch-action-pan-up{touch-action:pan-up !important}.k-touch-action-pan-down{touch-action:pan-down}.\!k-touch-action-pan-down{touch-action:pan-down !important}.k-touch-action-pinch-zoom{touch-action:pinch-zoom}.\!k-touch-action-pinch-zoom{touch-action:pinch-zoom !important}.k-touch-action-manipulation{touch-action:manipulation}.\!k-touch-action-manipulation{touch-action:manipulation !important}.k-user-select-none{user-select:none}.\!k-user-select-none{user-select:none !important}.k-user-select-auto{user-select:auto}.\!k-user-select-auto{user-select:auto !important}.k-user-select-text{user-select:text}.\!k-user-select-text{user-select:text !important}.k-user-select-all{user-select:all}.\!k-user-select-all{user-select:all !important}.k-user-select-contain{user-select:contain}.\!k-user-select-contain{user-select:contain !important}.k-will-change-auto{will-change:auto}.\!k-will-change-auto{will-change:auto !important}.k-will-change-scroll{will-change:scroll-position}.\!k-will-change-scroll{will-change:scroll-position !important}.k-will-change-contents{will-change:contents}.\!k-will-change-contents{will-change:contents !important}.k-will-change-transform{will-change:transform}.\!k-will-change-transform{will-change:transform !important}.k-fill-none{fill:none}.\!k-fill-none{fill:none !important}.k-fill-inherit{fill:inherit}.\!k-fill-inherit{fill:inherit !important}.k-fill-current{fill:currentColor}.\!k-fill-current{fill:currentColor !important}.k-fill-transparent{fill:rgba(0,0,0,0)}.\!k-fill-transparent{fill:rgba(0,0,0,0) !important}.k-fill-black{fill:#000}.\!k-fill-black{fill:#000 !important}.k-fill-white{fill:#fff}.\!k-fill-white{fill:#fff !important}.k-stroke-none{stroke:none}.\!k-stroke-none{stroke:none !important}.k-stroke-inherit{stroke:inherit}.\!k-stroke-inherit{stroke:inherit !important}.k-stroke-current{stroke:currentColor}.\!k-stroke-current{stroke:currentColor !important}.k-stroke-transparent{stroke:rgba(0,0,0,0)}.\!k-stroke-transparent{stroke:rgba(0,0,0,0) !important}.k-stroke-black{stroke:#000}.\!k-stroke-black{stroke:#000 !important}.k-stroke-white{stroke:#fff}.\!k-stroke-white{stroke:#fff !important}.k-elevation-1{box-shadow:var(--kendo-elevation-1, 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 2px 1px 0px rgba(0, 0, 0, 0.12), 0px 1px 1px 0px rgba(0, 0, 0, 0.14))}.\!k-elevation-1{box-shadow:var(--kendo-elevation-1, 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 2px 1px 0px rgba(0, 0, 0, 0.12), 0px 1px 1px 0px rgba(0, 0, 0, 0.14)) !important}.k-elevation-2{box-shadow:var(--kendo-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 3px 1px 0px rgba(0, 0, 0, 0.12), 0px 2px 2px 0px rgba(0, 0, 0, 0.14))}.\!k-elevation-2{box-shadow:var(--kendo-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 3px 1px 0px rgba(0, 0, 0, 0.12), 0px 2px 2px 0px rgba(0, 0, 0, 0.14)) !important}.k-elevation-3{box-shadow:var(--kendo-elevation-3, 0px 1px 8px 0px rgba(0, 0, 0, 0.2), 0px 3px 3px 0px rgba(0, 0, 0, 0.12), 0px 3px 4px 0px rgba(0, 0, 0, 0.14))}.\!k-elevation-3{box-shadow:var(--kendo-elevation-3, 0px 1px 8px 0px rgba(0, 0, 0, 0.2), 0px 3px 3px 0px rgba(0, 0, 0, 0.12), 0px 3px 4px 0px rgba(0, 0, 0, 0.14)) !important}.k-elevation-4{box-shadow:var(--kendo-elevation-4, 0px 2px 4px 0px rgba(0, 0, 0, 0.2), 0px 1px 10px 0px rgba(0, 0, 0, 0.12), 0px 4px 5px 0px rgba(0, 0, 0, 0.14))}.\!k-elevation-4{box-shadow:var(--kendo-elevation-4, 0px 2px 4px 0px rgba(0, 0, 0, 0.2), 0px 1px 10px 0px rgba(0, 0, 0, 0.12), 0px 4px 5px 0px rgba(0, 0, 0, 0.14)) !important}.k-elevation-5{box-shadow:var(--kendo-elevation-5, 0px 3px 5px 0px rgba(0, 0, 0, 0.2), 0px 1px 18px 0px rgba(0, 0, 0, 0.12), 0px 6px 10px 0px rgba(0, 0, 0, 0.14))}.\!k-elevation-5{box-shadow:var(--kendo-elevation-5, 0px 3px 5px 0px rgba(0, 0, 0, 0.2), 0px 1px 18px 0px rgba(0, 0, 0, 0.12), 0px 6px 10px 0px rgba(0, 0, 0, 0.14)) !important}.k-elevation-6{box-shadow:var(--kendo-elevation-6, 0px 5px 5px 0px rgba(0, 0, 0, 0.2), 0px 3px 14px 0px rgba(0, 0, 0, 0.12), 0px 8px 10px 0px rgba(0, 0, 0, 0.14))}.\!k-elevation-6{box-shadow:var(--kendo-elevation-6, 0px 5px 5px 0px rgba(0, 0, 0, 0.2), 0px 3px 14px 0px rgba(0, 0, 0, 0.12), 0px 8px 10px 0px rgba(0, 0, 0, 0.14)) !important}.k-elevation-7{box-shadow:var(--kendo-elevation-7, 0px 7px 8px 0px rgba(0, 0, 0, 0.2), 0px 5px 22px 0px rgba(0, 0, 0, 0.12), 0px 12px 17px 0px rgba(0, 0, 0, 0.14))}.\!k-elevation-7{box-shadow:var(--kendo-elevation-7, 0px 7px 8px 0px rgba(0, 0, 0, 0.2), 0px 5px 22px 0px rgba(0, 0, 0, 0.12), 0px 12px 17px 0px rgba(0, 0, 0, 0.14)) !important}.k-elevation-8{box-shadow:var(--kendo-elevation-8, 0px 8px 10px rgba(0, 0, 0, 0.2), 0px 6px 30px rgba(0, 0, 0, 0.12), 0px 16px 24px rgba(0, 0, 0, 0.14))}.\!k-elevation-8{box-shadow:var(--kendo-elevation-8, 0px 8px 10px rgba(0, 0, 0, 0.2), 0px 6px 30px rgba(0, 0, 0, 0.12), 0px 16px 24px rgba(0, 0, 0, 0.14)) !important}.k-elevation-9{box-shadow:var(--kendo-elevation-9, 0px 11px 15px rgba(0, 0, 0, 0.2), 0px 9px 46px rgba(0, 0, 0, 0.12), 0px 24px 38px rgba(0, 0, 0, 0.14))}.\!k-elevation-9{box-shadow:var(--kendo-elevation-9, 0px 11px 15px rgba(0, 0, 0, 0.2), 0px 9px 46px rgba(0, 0, 0, 0.12), 0px 24px 38px rgba(0, 0, 0, 0.14)) !important}.k-body,body,.k-typography{font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:var(--kendo-line-height, normal);font-weight:var(--kendo-font-weight-normal, normal);letter-spacing:var(--kendo-letter-spacing, normal);margin:0}.k-body p,body p,.k-typography p{margin:0 0 12px}.k-h1,h1{font-size:var(--kendo-h1-font-size, 96px);font-family:var(--kendo-h1-font-family, var(--kendo-font-family, inherit));line-height:var(--kendo-h1-line-height, 112px);font-weight:var(--kendo-h1-font-weight, var(--kendo-font-weight-light, normal));letter-spacing:var(--kendo-h1-letter-spacing, var(--kendo-letter-spacing-tighter, normal));margin:var(--kendo-h1-margin, 0 0 12px)}.k-h2,h2{font-size:var(--kendo-h2-font-size, 60px);font-family:var(--kendo-h2-font-family, var(--kendo-font-family, inherit));line-height:var(--kendo-h2-line-height, 72px);font-weight:var(--kendo-h2-font-weight, var(--kendo-font-weight-light, normal));letter-spacing:var(--kendo-h2-letter-spacing, var(--kendo-letter-spacing-tight, normal));margin:var(--kendo-h2-margin, 0 0 12px)}.k-h3,h3{font-size:var(--kendo-h3-font-size, 48px);font-family:var(--kendo-h3-font-family, var(--kendo-font-family, inherit));line-height:var(--kendo-h3-line-height, 56px);font-weight:var(--kendo-h3-font-weight, var(--kendo-font-weight-normal, normal));letter-spacing:var(--kendo-h3-letter-spacing, var(--kendo-letter-spacing-normal, normal));margin:var(--kendo-h3-margin, 0 0 12px)}.k-h4,h4{font-size:var(--kendo-h4-font-size, 34px);font-family:var(--kendo-h4-font-family, var(--kendo-font-family, inherit));line-height:var(--kendo-h4-line-height, 36px);font-weight:var(--kendo-h4-font-weight, var(--kendo-font-weight-normal, normal));letter-spacing:var(--kendo-h4-letter-spacing, var(--kendo-letter-spacing-wider, normal));margin:var(--kendo-h4-margin, 0 0 12px)}.k-h5,h5{font-size:var(--kendo-h5-font-size, 24px);font-family:var(--kendo-h5-font-family, var(--kendo-font-family, inherit));line-height:var(--kendo-h5-line-height, 24px);font-weight:var(--kendo-h5-font-weight, var(--kendo-font-weight-normal, normal));letter-spacing:var(--kendo-h5-letter-spacing, var(--kendo-letter-spacing-normal, normal));margin:var(--kendo-h5-margin, 0 0 12px)}.k-h6,h6{font-size:var(--kendo-h6-font-size, 20px);font-family:var(--kendo-h6-font-family, var(--kendo-font-family, inherit));line-height:var(--kendo-h6-line-height, 24px);font-weight:var(--kendo-h6-font-weight, var(--kendo-font-weight-medium, normal));letter-spacing:var(--kendo-h6-letter-spacing, var(--kendo-letter-spacing-wide, normal));margin:var(--kendo-h6-margin, 0 0 12px)}.k-paragraph,p{font-size:var(--kendo-paragraph-font-size, 1rem);font-family:var(--kendo-paragraph-font-family, var(--kendo-font-family, inherit));line-height:var(--kendo-paragraph-line-height, var(--kendo-line-height-lg, normal));font-weight:var(--kendo-paragraph-font-weight, var(--kendo-font-weight-normal, normal));letter-spacing:var(--kendo-paragraph-letter-spacing, 0.0313em);margin:var(--kendo-paragraph-margin, 0 0 12px)}.k-pre,pre,.k-code,code{font-size:var(--kendo-code-font-size, var(--kendo-font-size, inherit));font-family:var(--kendo-code-font-family, var(--kendo-font-family-monospace, normal));line-height:var(--kendo-code-line-height, var(--kendo-line-height, normal));font-weight:var(--kendo-code-font-weight, var(--kendo-font-weight-normal, normal));letter-spacing:var(--kendo-code-letter-spacing, );border-style:solid;border-width:1px}.k-pre,pre{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-6, 1.5rem);overflow:auto}.k-pre>.k-code,.k-pre>code,pre>.k-code,pre>code{padding:0;border-width:0;border-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0);font-family:inherit;font-size:inherit}.k-code,code{padding-block:var(--kendo-spacing-0, 0px);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-display-1{font-size:var(--kendo-display1-font-size, calc(var(--kendo-font-size, 0.875rem) * 9.5));font-family:var(--kendo-display1-font-family, var(--kendo-font-family, inherit));line-height:var(--kendo-display1-line-height, 1.2);font-weight:var(--kendo-display1-font-weight, var(--kendo-font-weight-light, normal));letter-spacing:var(--kendo-display1-letter-spacing, var(--kendo-letter-spacing-tighter, normal))}.k-display-2{font-size:var(--kendo-display2-font-size, calc(var(--kendo-font-size, 0.875rem) * 8.75));font-family:var(--kendo-display2-font-family, var(--kendo-font-family, inherit));line-height:var(--kendo-display2-line-height, 1.2);font-weight:var(--kendo-display2-font-weight, var(--kendo-font-weight-light, normal));letter-spacing:var(--kendo-display2-letter-spacing, var(--kendo-letter-spacing-tighter, normal))}.k-display-3{font-size:var(--kendo-display3-font-size, calc(var(--kendo-font-size, 0.875rem) * 8));font-family:var(--kendo-display3-font-family, var(--kendo-font-family, inherit));line-height:var(--kendo-display3-line-height, 1.2);font-weight:var(--kendo-display3-font-weight, var(--kendo-font-weight-light, normal));letter-spacing:var(--kendo-display3-letter-spacing, var(--kendo-letter-spacing-tighter, normal))}.k-display-4{font-size:var(--kendo-display4-font-size, calc(var(--kendo-font-size, 0.875rem) * 7.25));font-family:var(--kendo-display4-font-family, var(--kendo-font-family, inherit));line-height:var(--kendo-display4-line-height, 1.2);font-weight:var(--kendo-display4-font-weight, var(--kendo-font-weight-light, normal));letter-spacing:var(--kendo-display4-letter-spacing, var(--kendo-letter-spacing-tighter, normal))}.k-body,body{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-app-surface, #ffffff)}.k-pre,pre,.k-code,code{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-app-surface, #ffffff)}.k-svg-icon{width:16px;height:16px;outline:0;line-height:1;display:inline-flex;flex-flow:row nowrap;align-items:center;justify-content:center;vertical-align:middle;position:relative}.k-svg-icon>svg{fill:currentColor;flex:1 1 auto}.k-svg-icon.k-icon-xs{width:calc(16px*.75);height:calc(16px*.75)}.k-svg-icon.k-icon-sm{width:calc(16px*.875);height:calc(16px*.875)}.k-svg-icon.k-icon-md{width:16px;height:16px}.k-svg-icon.k-icon-lg{width:calc(16px*1.25);height:calc(16px*1.25)}.k-svg-icon.k-icon-xl{width:calc(16px*1.5);height:calc(16px*1.5)}.k-svg-icon.k-icon-xxl{width:calc(16px*2);height:calc(16px*2)}.k-svg-icon.k-icon-xxxl{width:calc(16px*3);height:calc(16px*3)}.k-flip-h.k-svg-icon,.k-svg-icon.k-flip-x,.k-flip-v.k-svg-icon,.k-svg-icon.k-flip-y,.k-flip-h.k-flip-v.k-svg-icon{transform:none}.k-flip-h>svg,.k-flip-x>svg{transform:scaleX(-1)}.k-flip-v>svg,.k-flip-y>svg{transform:scaleY(-1)}.k-flip-h.k-flip-v>svg,.k-flip-v.k-flip-x>svg,.k-flip-h.k-flip-y>svg,.k-flip-x.k-flip-y>svg,.k-flip-both>svg{transform:scale(-1, -1)}.k-rotate-0.k-svg-icon{transform:none}.k-rotate-0>svg{transform:rotate(0deg)}.k-rotate-45.k-svg-icon{transform:none}.k-rotate-45>svg{transform:rotate(45deg)}.k-rotate-90.k-svg-icon{transform:none}.k-rotate-90>svg{transform:rotate(90deg)}.k-rotate-135.k-svg-icon{transform:none}.k-rotate-135>svg{transform:rotate(135deg)}.k-rotate-180.k-svg-icon{transform:none}.k-rotate-180>svg{transform:rotate(180deg)}.k-rotate-225.k-svg-icon{transform:none}.k-rotate-225>svg{transform:rotate(225deg)}.k-rotate-270.k-svg-icon{transform:none}.k-rotate-270>svg{transform:rotate(270deg)}.k-rotate-315.k-svg-icon{transform:none}.k-rotate-315>svg{transform:rotate(315deg)}.k-icon-wrap{flex:none;display:inline-flex;flex-flow:row nowrap;gap:0;align-items:center;align-self:flex-start;vertical-align:middle;position:relative}.k-icon-wrap::before{content:"​";width:0;overflow:hidden;flex:none;display:inline-block;vertical-align:top}.k-icon-wrapper-host{display:contents}.k-icon-with-modifier{position:relative;margin:.25em}.k-icon.k-icon-modifier{width:1em;height:1em;position:absolute;font-size:.5em;bottom:0;right:0;margin:0 -0.5em -0.5em 0}.k-i-none::before{content:"";display:none}.k-icon-action{display:inline-flex;padding:var(--kendo-spacing-1, 0.25rem);line-height:1;align-items:center;vertical-align:middle;cursor:pointer}.k-sprite{display:inline-block;width:16px;height:16px;overflow:hidden;background-repeat:no-repeat;font-size:0;line-height:0;text-align:center}.k-image{display:inline-block}.k-messagebox{margin:0 0 var(--kendo-spacing-4, 1rem) 0;padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-4, 1rem);border-width:0 0 0 4px;border-style:solid;box-sizing:border-box;font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal)}.k-messagebox a{color:inherit;font-style:normal;text-decoration:underline}.k-messagebox-primary{border-color:var(--kendo-color-primary-emphasis, #97a0d7);color:var(--kendo-color-primary-on-subtle, #161c3f);background-color:var(--kendo-color-primary-subtle, #d1d5ee)}.k-messagebox-secondary{border-color:var(--kendo-color-secondary-emphasis, #f58da9);color:var(--kendo-color-secondary-on-subtle, #500c22);background-color:var(--kendo-color-secondary-subtle, #fbcdd9)}.k-messagebox-tertiary{border-color:var(--kendo-color-tertiary-emphasis, #84aea7);color:var(--kendo-color-tertiary-on-subtle, #002520);background-color:var(--kendo-color-tertiary-subtle, #c9dbd8)}.k-messagebox-info{border-color:var(--kendo-color-info-emphasis, #80a5f4);color:var(--kendo-color-info-on-subtle, #071f51);background-color:var(--kendo-color-info-subtle, #c8d7fb)}.k-messagebox-success{border-color:var(--kendo-color-success-emphasis, #93d775);color:var(--kendo-color-success-on-subtle, #163f09);background-color:var(--kendo-color-success-subtle, #d7f0cc)}.k-messagebox-warning{border-color:var(--kendo-color-warning-emphasis, #ffdd8f);color:var(--kendo-color-warning-on-subtle, #59430a);background-color:var(--kendo-color-warning-subtle, #fff0ce)}.k-messagebox-error{border-color:var(--kendo-color-error-emphasis, #fc8d83);color:var(--kendo-color-error-on-subtle, #550c07);background-color:var(--kendo-color-error-subtle, #fcc7c2)}.k-messagebox-dark{border-color:var(--kendo-color-dark-emphasis, #9e9e9e);color:var(--kendo-color-dark-on-subtle, #212121);background-color:var(--kendo-color-dark-subtle, #c7c7c7)}.k-messagebox-light{border-color:var(--kendo-color-light-emphasis, #e0e0e0);color:var(--kendo-color-light-on-subtle, #212121);background-color:var(--kendo-color-light-subtle, #fafafa)}.k-messagebox-inverse{border-color:var(--kendo-color-dark-hover, #212121);color:var(--kendo-color-dark-on-subtle, #212121);background-color:var(--kendo-color-dark-subtle, #c7c7c7)}.k-drag-clue{border-radius:9999px;padding-block:calc(var(--kendo-spacing-4, 1rem)/2);padding-inline:var(--kendo-spacing-4, 1rem);box-sizing:border-box;font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:1.4285714286;display:inline-flex;flex-flow:row nowrap;align-items:center;align-content:center;white-space:nowrap;overflow:hidden;position:absolute;z-index:20000;cursor:move}.k-drag-status,.k-drag-clue .k-drag-status{margin:0;margin-right:.4ex}.k-drop-hint{display:flex;gap:4px;justify-content:space-between;align-items:center;position:absolute;z-index:1000;transform:translate(-50%, -50%)}.k-drop-hint-start,.k-drop-hint-end{flex-shrink:0;border-width:4px;border-style:solid;border-color:rgba(0,0,0,0)}.k-drop-hint-line{flex-grow:1;background-color:var(--kendo-color-primary, #3f51b5)}.k-drop-hint-h .k-drop-hint-start{border-left-width:6.9282032304px;border-left-color:var(--kendo-color-primary, #3f51b5);border-right-width:0}.k-drop-hint-h .k-drop-hint-line{width:20px;height:1px}.k-drop-hint-h .k-drop-hint-end{border-right-width:6.9282032304px;border-right-color:var(--kendo-color-primary, #3f51b5);border-left-width:0}.k-drop-hint-v{flex-direction:column}.k-drop-hint-v .k-drop-hint-start{border-top-width:6.9282032304px;border-top-color:var(--kendo-color-primary, #3f51b5);border-bottom-width:0}.k-drop-hint-v .k-drop-hint-line{width:1px;height:20px}.k-drop-hint-v .k-drop-hint-end{border-bottom-width:6.9282032304px;border-bottom-color:var(--kendo-color-primary, #3f51b5);border-top-width:0}.k-reorder-cue{position:absolute}.k-reorder-cue::before,.k-reorder-cue::after{content:"";width:0;height:0;border:3px solid rgba(0,0,0,0);position:absolute;transform:translateX(-50%)}.k-reorder-cue::before{border-bottom-width:0;border-top-color:currentColor;top:-4px}.k-reorder-cue::after{border-top-width:0;border-bottom-color:currentColor;bottom:-4px}.k-drag-clue{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-subtle, #ebebeb);box-shadow:k-elevation(3)}.k-checkbox{margin:0;padding:0;line-height:initial;border-width:2px;border-style:solid;outline:0;background-position:center;background-repeat:no-repeat;background-size:contain;display:inline-block;flex:none;vertical-align:middle;position:relative;cursor:pointer;-webkit-appearance:none}.k-checkbox:checked,.k-checkbox.k-checked{background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3e%3cpath fill=%27none%27 stroke=%27var%28--kendo-color-on-primary, %23ffffff%29%27 stroke-width=%273%27 d=%27M4.1,12.7 9,17.6 20.3,6.3%27/%3e%3c/svg%3e")}.k-checkbox:indeterminate,.k-checkbox.k-indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27var%28--kendo-color-on-primary, %23ffffff%29%27 stroke-width=%273%27 d=%27M4 10h12%27/%3e%3c/svg%3e")}.k-checkbox:disabled,.k-checkbox.k-disabled{outline:none;cursor:default;color:var(--kendo-color-on-app-surface, #212121);opacity:.6;filter:grayscale(0.1);pointer-events:none;box-shadow:none}.k-checkbox-wrap{flex:none;display:inline-flex;flex-flow:row nowrap;gap:0;align-items:center;align-self:flex-start;vertical-align:middle;position:relative}.k-checkbox-wrap::before{content:"​";width:0px;overflow:hidden;flex:none;display:inline-block;vertical-align:top}.k-checkbox-label{margin:0;padding:0;display:inline-flex;align-items:flex-start;gap:var(--kendo-spacing-1, 0.25rem);vertical-align:middle;position:relative;cursor:pointer}.k-checkbox-label .k-ripple{visibility:hidden !important}.k-checkbox+.k-label,.k-checkbox-wrap+.k-label,.k-checkbox+.k-checkbox-label,.k-checkbox-wrap+.k-checkbox-label{display:inline;margin-inline-start:var(--kendo-spacing-1, 0.25rem)}.k-checkbox-label:empty{display:none !important}.k-checkbox-label.k-no-text{min-width:1px}.k-checkbox-list{margin:0;padding:0;display:flex;flex-flow:column nowrap;gap:0;list-style:none}.k-checkbox-item,.k-checkbox-list-item{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-0, 0px);display:flex;flex-flow:row nowrap;align-items:center;align-content:center;gap:var(--kendo-spacing-1, 0.25rem)}.k-checkbox-item .k-checkbox-label,.k-checkbox-list-item .k-checkbox-label{margin:0}.k-checkbox-list-horizontal,.k-checkbox-list.k-list-horizontal{display:flex;flex-flow:row wrap;gap:var(--kendo-spacing-4, 1rem)}.k-ripple-container .k-checkbox::after{content:"";display:block;position:absolute;left:50%;top:50%;border-radius:100%;z-index:-1;transition:opacity 100ms linear,transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-50%, -50%) scale(0);transform-origin:center center}.k-ripple-container .k-checkbox:focus,.k-ripple-container .k-checkbox.k-focus{box-shadow:none !important}.k-ripple-container .k-checkbox:disabled::after,.k-ripple-container .k-checkbox.k-disabled::after{display:none}.k-checkbox-sm{width:var(--kendo-spacing-3, 0.75rem);height:var(--kendo-spacing-3, 0.75rem)}.k-checkbox-sm::before{font-size:var(--kendo-spacing-2\.5, 0.625rem)}.k-ripple-container .k-checkbox-sm::after{width:300%;height:300%}.k-checkbox-md{width:var(--kendo-spacing-4, 1rem);height:var(--kendo-spacing-4, 1rem)}.k-checkbox-md::before{font-size:var(--kendo-spacing-3\.5, 0.875rem)}.k-ripple-container .k-checkbox-md::after{width:300%;height:300%}.k-checkbox-lg{width:var(--kendo-spacing-5, 1.25rem);height:var(--kendo-spacing-5, 1.25rem)}.k-checkbox-lg::before{font-size:var(--kendo-spacing-4\.5, 1.125rem)}.k-ripple-container .k-checkbox-lg::after{width:300%;height:300%}.k-checkbox{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 44%, transparent)}.k-checkbox:indeterminate,.k-checkbox.k-indeterminate{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-checkbox:checked,.k-checkbox.k-checked{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-checkbox:disabled,.k-checkbox.k-disabled{border-color:var(--kendo-color-base-emphasis, #adadad)}.k-checkbox:checked:disabled,.k-checkbox:indeterminate:disabled,.k-checkbox.k-checked.k-disabled,.k-checkbox.k-indeterminate.k-disabled{border-color:var(--kendo-color-base-emphasis, #adadad);color:var(--kendo-color-on-base, #212121);background-color:var(--kendo-color-base-emphasis, #adadad)}.k-checkbox.k-invalid{border-color:var(--kendo-color-error, #f31700)}.k-checkbox.k-invalid+.k-checkbox-label{color:var(--kendo-color-error, #f31700)}.k-checkbox-wrap .k-ripple-blob{color:var(--kendo-color-primary, #3f51b5);opacity:.2}.k-ripple-container .k-checkbox::after{background:var(--kendo-color-primary, #3f51b5);opacity:.2}.k-checkbox:disabled+.k-checkbox-label{color:var(--kendo-color-subtle, #757575);opacity:1;filter:none}.k-list-container{display:flex;flex-flow:column nowrap}.k-list-container>.k-list{flex:1;height:100%}.k-list{margin:0;padding:0;box-sizing:border-box;font-family:var(--kendo-font-family, inherit);font-size:2rem;display:flex;flex-flow:column nowrap;outline:none;position:relative;overflow:hidden}.k-list *,.k-list *::before,.k-list *::after{box-sizing:border-box}.k-popup>.k-list{height:100%;border-width:0}.k-list-group-sticky-header{border-width:0;border-width:0 0 1px;border-style:solid;font-weight:var(--kendo-font-weight-bold, normal);white-space:nowrap;display:flex;flex-flow:row nowrap;align-items:center;flex:none;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.k-list-content{border-color:inherit;flex:1 1 auto;overflow:hidden;overflow-y:auto;position:relative}.k-list-ul{margin:0;padding:0;border-width:0;border-color:inherit;height:auto;list-style:none}.k-list-item,.k-list-optionlabel{border:0;outline:none;cursor:pointer;display:flex;flex-flow:row nowrap;align-items:center;align-content:center;gap:var(--kendo-spacing-2, 0.5rem);position:relative;transition-property:color,background-color,outline-color,box-shadow;transition-duration:200ms;transition-timing-function:ease}.k-list-item.k-first::before,.k-first.k-list-optionlabel::before{content:"";border-width:1px 0 0;border-style:solid;position:absolute;top:0;left:0;right:0}.k-list-item-text::before,.k-list-header-text::before,.k-list-optionlabel::before{content:"​";width:0px;overflow:hidden}.k-list-optionlabel{column-gap:0}.k-list-group-item{border-width:0;border-width:1px 0 0;border-style:solid;font-weight:var(--kendo-font-weight-bold, normal);cursor:default;display:flex;flex-flow:row nowrap;align-items:center;align-content:center;gap:var(--kendo-spacing-2, 0.5rem);position:relative}.k-list-item-group-label{padding-block:0;padding-inline:.5em;font-size:.75em;position:absolute;top:0;inset-inline-end:0}.k-virtual-content,.k-virtual-list .k-list-content{overflow-y:scroll}.k-virtual-list .k-list-item,.k-virtual-list .k-list-optionlabel,.k-virtual-list .k-list-group-item,.k-virtual-content .k-list-item,.k-virtual-content .k-list-optionlabel,.k-virtual-content .k-list-group-item{position:absolute;width:100%}.k-virtual-list .k-list-item-text,.k-virtual-list .k-list-header-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-virtual-list .k-list-optionlabel{position:relative}.k-list-filter{display:block;position:relative;padding:var(--kendo-spacing-4, 1rem);box-sizing:border-box;flex:none}.k-list-sm{font-size:var(--kendo-font-size, inherit);line-height:1.4285714286}.k-list-sm .k-list-group-sticky-header{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-list-sm .k-list-item,.k-list-sm .k-list-optionlabel{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-list-sm .k-list-group-item{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-list-md{font-size:var(--kendo-font-size, inherit);line-height:1.4285714286}.k-list-md .k-list-group-sticky-header{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-list-md .k-list-item,.k-list-md .k-list-optionlabel{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-list-md .k-list-group-item{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-list-lg{font-size:var(--kendo-font-size-lg, inherit);line-height:1.5}.k-list-lg .k-list-group-sticky-header{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-list-lg .k-list-item,.k-list-lg .k-list-optionlabel{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-list-lg .k-list-group-item{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-no-data,.k-nodata{min-height:140px;display:flex;align-items:center;justify-content:center;font-weight:lighter;text-align:center;white-space:normal}.k-list{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-list-group-sticky-header{border-color:inherit}.k-list-item:hover,.k-list-optionlabel:hover,.k-list-item.k-hover,.k-hover.k-list-optionlabel{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-list-item:focus,.k-list-optionlabel:focus,.k-list-item.k-focus,.k-focus.k-list-optionlabel{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-list-item.k-selected,.k-selected.k-list-optionlabel{color:var(--kendo-color-secondary, #e51a5f);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-list-item.k-selected:hover,.k-selected.k-list-optionlabel:hover,.k-list-item.k-selected.k-hover,.k-selected.k-hover.k-list-optionlabel{color:var(--kendo-color-secondary, #e51a5f);background-color:var(--kendo-color-primary-hover, #3a4ba7)}.k-list-optionlabel,.k-list-optionlabel.k-hover,.k-list-optionlabel:hover{color:var(--kendo-color-subtle, #757575)}.k-list-group-item{border-color:inherit}.k-list-item-group-label{color:var(--kendo-color-surface-alt, #ffffff);background-color:var(--kendo-color-on-app-surface, #212121)}.k-no-data,.k-nodata{color:var(--kendo-color-subtle, #757575)}.k-list-item.k-selected:hover,.k-selected.k-list-optionlabel:hover,.k-list-item.k-selected.k-hover,.k-selected.k-hover.k-list-optionlabel{background-color:var(--kendo-color-base-active, #d6d6d6)}.k-listgroup{border-radius:var(--kendo-border-radius-md, 0.25rem);margin:0;padding:0;border-width:1px;border-style:solid;font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;list-style:none;display:flex;flex-direction:column;position:relative;overflow:hidden}.k-listgroup>ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.k-listgroup .k-listgroup-item+.k-listgroup-item{border-top-width:1px}.k-listgroup-flush{border-radius:0;border-left-width:0;border-right-width:0}.k-listgroup-item{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border-width:0;border-style:solid;border-color:inherit;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex:0 0 auto;position:relative}.k-listgroup-item>.k-link{margin-block:calc(var(--kendo-spacing-2, 0.5rem)*-1);margin-inline:calc(var(--kendo-spacing-2, 0.5rem)*-1);padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);color:inherit;text-decoration:none;outline:0;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex:1 1 auto;position:relative}.k-listgroup-item>.k-link>.k-select{padding:var(--kendo-spacing-2, 0.5rem);display:flex;align-items:center;flex:0 0 auto;position:absolute;top:50%;inset-inline-end:0;transform:translateY(-50%)}.k-listgroup-item-segmented{align-items:stretch}.k-listgroup-item-segmented>.k-link{margin-right:0}.k-listgroup-item-segmented>.k-select{margin:calc(var(--kendo-spacing-2, 0.5rem)*-1) calc(var(--kendo-spacing-2, 0.5rem)*-1) calc(var(--kendo-spacing-2, 0.5rem)*-1) 0;padding:var(--kendo-spacing-2, 0.5rem);border-width:0 0 0 1px;border-style:solid;border-color:inherit;cursor:pointer}.k-listgroup-form-row{margin-block:calc(var(--kendo-spacing-2, 0.5rem)*-1);margin-inline:calc(var(--kendo-spacing-2, 0.5rem)*-1);padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex:1 1 auto;position:relative}.k-listgroup-form-row .k-listgroup-form-field-label{width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-listgroup-form-row .k-listgroup-form-field-wrapper{width:50%;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;text-align:end;position:relative}.k-listgroup-form-row .k-listgroup-form-field-wrapper select,.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=text],.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=password],.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=date],.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=time],.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=datetime-local],.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=number],.k-listgroup-form-row .k-listgroup-form-field-wrapper textarea{width:100%;box-sizing:border-box;flex:1 1 100%}.k-listgroup-form-row .k-listgroup-form-field-wrapper textarea{min-height:4em;resize:vertical}.k-listgroup-item.k-listgroup-form-row{margin:0}[dir=rtl] .k-listgroup-item>.k-link>.k-select{right:auto;left:0}[dir=rtl] .k-listgroup-item-segmented>.k-link{margin-right:calc(var(--kendo-spacing-2, 0.5rem)*-1);margin-left:0}[dir=rtl] .k-listgroup-item-segmented>.k-select{margin-right:0;margin-left:calc(var(--kendo-spacing-2, 0.5rem)*-1);border-right-width:1px;border-left-width:0}.k-noflexbox .k-listgroup,.k-noflexbox .k-listgroup>ul .k-listgroup-item,.k-noflexbox .k-listgroup-item>.k-link{display:block}.k-listgroup{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-overlay{width:100%;height:100%;opacity:.32;position:fixed;top:0;left:0;z-index:10001}.k-overlay{background-color:#000}.k-overlay-primary{background-color:var(--kendo-color-primary, #3f51b5)}.k-overlay-secondary{background-color:var(--kendo-color-secondary, #e51a5f)}.k-overlay-tertiary{background-color:var(--kendo-color-tertiary, #00695c)}.k-overlay-info{background-color:var(--kendo-color-info, #0058e9)}.k-overlay-success{background-color:var(--kendo-color-success, #37b400)}.k-overlay-warning{background-color:var(--kendo-color-warning, #ffc000)}.k-overlay-error{background-color:var(--kendo-color-error, #f31700)}.k-overlay-dark{background-color:var(--kendo-color-dark, #424242)}.k-overlay-light{background-color:var(--kendo-color-light, #f5f5f5)}.k-overlay-inverse{background-color:var(--kendo-color-dark, #424242)}.k-animation-container{position:absolute;overflow:hidden;z-index:100}.k-animation-container-fixed{position:fixed}.k-animation-container-relative{position:relative;display:inline-block}.k-animation-container{border-radius:0 0 .25rem .25rem}.k-animation-container-shown{overflow:visible}.k-popup{margin:0;padding:0;border-width:0px;border-style:solid;box-sizing:border-box;font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-direction:column;align-items:stretch}.k-popup .k-item{outline:none}.k-popup>.k-colorpalette{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem)}.k-popup.k-popup-transparent{border-width:0;background-color:rgba(0,0,0,0);box-shadow:none}.k-popup.k-popup-flush{padding:0}.k-popup>.k-widget,.k-popup>.k-coloreditor{border-width:0}.k-shadow{box-shadow:k-elevation(4)}.k-popup{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff);box-shadow:k-elevation(4)}.k-animation-container{border-radius:0 0 var(--kendo-border-radius-md, 0.25rem) var(--kendo-border-radius-md, 0.25rem)}.k-ripple-target{position:relative}.k-ripple{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;overflow:hidden;pointer-events:none}.k-ripple-blob{pointer-events:none;position:absolute;border-radius:50%;padding:0;transform:translate(-50%, -50%) scale(0);transition:opacity 100ms linear,transform 500ms cubic-bezier(0.4, 0, 0.2, 1);opacity:.1;background-color:currentColor}.k-primary .k-ripple-blob{opacity:.2}.k-ripple-focus::after{visibility:visible;animation:ripple 600ms ease-out}@keyframes ripple{0%{transform:translate(-50%, -50%) scale(0)}20%{transform:translate(-50%, -50%) scale(1)}100%{opacity:0;transform:translate(-50%, -50%) scale(1)}}.k-table{width:100%;max-width:none;border-width:1px;border-style:solid;text-align:start;border-collapse:collapse;border-spacing:0;empty-cells:show;outline:none}.k-data-table{border-width:1px;border-style:solid}.k-data-table .k-table{table-layout:fixed}.k-table-thead,.k-table-tbody,.k-table-tfoot,.k-table-row,.k-table-alt-row{border-color:inherit;text-align:inherit}.k-table-th,.k-table-td{border-width:0 0 1px 1px;border-style:solid;border-color:inherit;box-sizing:border-box;font-weight:normal;text-align:inherit;white-space:nowrap;text-overflow:ellipsis;display:table-cell;overflow:hidden;position:relative}.k-table-th:first-child,.k-table-td:first-child{border-left-width:0}.k-table-th{border-bottom-width:1px}.k-table-header{padding-inline-end:var(--kendo-scrollbar-width);border-width:0 0 1px;border-style:solid;box-sizing:border-box}.k-table-header .k-table{border-width:0}.k-table-header-wrap{margin-right:-1px;width:100%;border-width:0 1px 0 0;border-style:solid;border-color:inherit;overflow:hidden}.k-table-header>.k-table,.k-table-header-wrap>.k-table{margin-bottom:-1px}.k-table-group-sticky-header{flex:none}.k-table-group-sticky-header .k-table-th{display:flex;flex-flow:row nowrap;align-items:center;align-content:center}.k-table-list{margin:0;padding:0;width:100%;max-width:none;border-width:0;display:table;border-collapse:collapse;border-spacing:0;table-layout:fixed;empty-cells:show;list-style:none;outline:none}.k-table-list .k-table-row{position:relative}.k-table-list .k-table-row,.k-table-list .k-table-group-row{width:100%;box-sizing:border-box;display:table-row}.k-table-list .k-table-row.k-first{border-top:1px solid currentColor}.k-table-list .k-table-th,.k-table-list .k-table-td{vertical-align:middle}.k-table-list .k-table-group-row{position:sticky}.k-table-list .k-table-group-row::before{content:"​";padding-inline:0;width:0;display:block;overflow:hidden}.k-table-list .k-table-group-row .k-table-th{width:100%;border-color:inherit;color:inherit;background-color:inherit;position:absolute;top:0}.k-table-list .k-table-spacer-td{padding:0 !important;width:0 !important;border-left-width:0 !important;border-right-width:0 !important}.k-table-list .k-table-group-td{padding:0 !important;width:0 !important;border-left-width:0 !important;border-right-width:0 !important;overflow:visible}.k-table-list .k-table-group-td>span{font-size:.75em;position:absolute;top:0;right:0}.k-virtual-table .k-table-row,.k-virtual-table .k-table-group-row{position:absolute;width:100%}.k-table-scroller{position:relative;overflow:auto}.k-table-scroller>.k-table{border-width:0}.k-table-footer{padding-inline-end:var(--kendo-scrollbar-width);border-width:1px 0 0;border-style:solid;box-sizing:border-box}.k-table-footer .k-table{border-width:0}.k-table-footer-wrap{margin-right:-1px;width:100%;border-width:0 1px 0 0;border-style:solid;border-color:inherit;overflow:hidden}.k-table-sm{font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal)}.k-table-sm .k-table-th,.k-table-sm .k-table-td{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.k-table-sm .k-table-list .k-table-group-td>span{padding-block:0;padding-inline:calc(var(--kendo-spacing-2\.5, 0.625rem)/2)}.k-table-sm .k-table-list .k-table-group-row::before{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:0}.k-table-md{font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal)}.k-table-md .k-table-th,.k-table-md .k-table-td{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-6, 1.5rem)}.k-table-md .k-table-list .k-table-group-td>span{padding-block:0;padding-inline:calc(var(--kendo-spacing-6, 1.5rem)/2)}.k-table-md .k-table-list .k-table-group-row::before{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:0}.k-table-lg{font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal)}.k-table-lg .k-table-th,.k-table-lg .k-table-td{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-6, 1.5rem)}.k-table-lg .k-table-list .k-table-group-td>span{padding-block:0;padding-inline:calc(var(--kendo-spacing-6, 1.5rem)/2)}.k-table-lg .k-table-list .k-table-group-row::before{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:0}.k-rtl.k-table .k-table-th,.k-rtl.k-table .k-table-td,.k-rtl .k-table .k-table-th,.k-rtl .k-table .k-table-td,[dir=rtl].k-table .k-table-th,[dir=rtl].k-table .k-table-td,[dir=rtl] .k-table .k-table-th,[dir=rtl] .k-table .k-table-td{border-left-width:0;border-right-width:1px}.k-rtl.k-table .k-table-th:first-child,.k-rtl.k-table .k-table-td:first-child,.k-rtl .k-table .k-table-th:first-child,.k-rtl .k-table .k-table-td:first-child,[dir=rtl].k-table .k-table-th:first-child,[dir=rtl].k-table .k-table-td:first-child,[dir=rtl] .k-table .k-table-th:first-child,[dir=rtl] .k-table .k-table-td:first-child{border-right-width:0}.k-rtl.k-table .k-table-header-wrap,.k-rtl.k-table .k-table-footer-wrap,.k-rtl .k-table .k-table-header-wrap,.k-rtl .k-table .k-table-footer-wrap,[dir=rtl].k-table .k-table-header-wrap,[dir=rtl].k-table .k-table-footer-wrap,[dir=rtl] .k-table .k-table-header-wrap,[dir=rtl] .k-table .k-table-footer-wrap{margin-right:0;margin-left:-1px;border-left-width:1px;border-right-width:0}.k-rtl .k-table-list .k-table-group-td>span,[dir=rtl] .k-table-list .k-table-group-td>span{left:0;right:auto}.k-table td:focus,.k-table td.k-focus,.k-table th:focus,.k-table th.k-focus{position:relative}.k-table td:focus::after,.k-table td.k-focus::after,.k-table th:focus::after,.k-table th.k-focus::after{content:"";width:100%;height:100%;position:absolute;top:0;left:0;pointer-events:none}.k-table td.k-grid-content-sticky,.k-table td.k-grid-header-sticky{position:sticky}.k-table,.k-data-table{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-table-thead,.k-table-header,.k-table-group-sticky-header{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-subtle, #757575);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-table-tfoot,.k-table-footer{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-subtle, #757575);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-table-group-row{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-subtle, #757575);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-table-group-td>span{color:var(--kendo-color-surface-alt, #ffffff);background-color:var(--kendo-color-on-app-surface, #212121)}.k-table-alt-row{background-color:rgba(0,0,0,0)}.k-table-tbody .k-table-row:hover,.k-table-list .k-table-row:hover,.k-table-tbody .k-table-row.k-hover,.k-table-list .k-table-row.k-hover{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 8%, transparent)}.k-table-tbody .k-table-row.k-selected>.k-table-td,.k-table-list .k-table-row.k-selected{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}.k-table .k-table-tbody td:focus::after,.k-table .k-table-tbody td.k-focus::after,.k-table .k-table-tbody th:focus::after,.k-table .k-table-tbody th.k-focus::after{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 8%, transparent)}.k-virtual-scroller{width:100%;height:100%;flex:1 1 auto;overflow:auto;position:relative}.k-virtual-scroller-wrap{position:relative;z-index:1}.k-virtual-scroller-content{position:absolute;width:100%;top:0;inset-inline-start:0}.k-virtual-scroller-size{position:relative;z-index:0}.k-avatar{border-width:0;border-style:solid;box-sizing:border-box;vertical-align:middle;display:inline-flex;flex-flow:row nowrap;justify-content:center;align-items:center;flex-shrink:0;overflow:hidden}.k-avatar *,.k-avatar *::before,.k-avatar *::after{box-sizing:border-box}.k-avatar-text,.k-avatar-initials{font-size:14px;font-family:var(--kendo-font-family, inherit);line-height:var(--kendo-line-height, normal)}.k-avatar-icon{display:flex;flex-flow:row nowrap;align-items:center}.k-avatar-image{width:100%;height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}.k-avatar-image>img{width:100%;height:100%;object-fit:cover;vertical-align:top}.k-avatar-sm{width:var(--kendo-spacing-4, 1rem);height:var(--kendo-spacing-4, 1rem);flex-basis:var(--kendo-spacing-4, 1rem)}.k-avatar-md{width:var(--kendo-spacing-8, 2rem);height:var(--kendo-spacing-8, 2rem);flex-basis:var(--kendo-spacing-8, 2rem)}.k-avatar-lg{width:var(--kendo-spacing-16, 4rem);height:var(--kendo-spacing-16, 4rem);flex-basis:var(--kendo-spacing-16, 4rem)}.k-avatar-bordered{border-width:1px}.k-avatar-solid-primary{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-avatar-solid-secondary{border-color:var(--kendo-color-secondary, #e51a5f);color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-avatar-solid-tertiary{border-color:var(--kendo-color-tertiary, #00695c);color:var(--kendo-color-on-tertiary, #ffffff);background-color:var(--kendo-color-tertiary, #00695c)}.k-avatar-solid-info{border-color:var(--kendo-color-info, #0058e9);color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info, #0058e9)}.k-avatar-solid-success{border-color:var(--kendo-color-success, #37b400);color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success, #37b400)}.k-avatar-solid-warning{border-color:var(--kendo-color-warning, #ffc000);color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000)}.k-avatar-solid-error{border-color:var(--kendo-color-error, #f31700);color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error, #f31700)}.k-avatar-solid-dark{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-avatar-solid-light{border-color:var(--kendo-color-light, #f5f5f5);color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5)}.k-avatar-solid-inverse{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-inverse, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-avatar-outline{border-color:currentColor}.k-avatar-outline-primary{color:var(--kendo-color-primary, #3f51b5)}.k-avatar-outline-secondary{color:var(--kendo-color-secondary, #e51a5f)}.k-avatar-outline-tertiary{color:var(--kendo-color-tertiary, #00695c)}.k-avatar-outline-info{color:var(--kendo-color-info, #0058e9)}.k-avatar-outline-success{color:var(--kendo-color-success, #37b400)}.k-avatar-outline-warning{color:var(--kendo-color-warning, #ffc000)}.k-avatar-outline-error{color:var(--kendo-color-error, #f31700)}.k-avatar-outline-dark{color:var(--kendo-color-dark, #424242)}.k-avatar-outline-light{color:var(--kendo-color-light, #f5f5f5)}.k-avatar-outline-inverse{color:var(--kendo-color-dark, #424242)}.k-badge{padding:0;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);box-sizing:border-box;color:inherit;background-color:rgba(0,0,0,0);font:inherit;text-align:center;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.k-badge *,.k-badge *::before,.k-badge *::after{box-sizing:border-box}.k-badge>*{color:inherit}a.k-badge,.k-badge>a{text-decoration:none}a.k-badge:hover,.k-badge>a:hover{text-decoration:underline}.k-badge-icon{max-width:1em;max-height:1em;font-size:inherit}.k-badge-icon.k-svg-icon svg{fill:currentColor}.k-badge-sm{padding-block:var(--kendo-spacing-0\.5, 0.125rem);padding-inline:var(--kendo-spacing-0\.5, 0.125rem);font-size:var(--kendo-font-size-xs, inherit);line-height:1;min-width:calc(1em + var(--kendo-spacing-0\.5, 0.125rem)*2 + 2px)}.k-badge-sm:empty{padding:var(--kendo-spacing-0\.5, 0.125rem);min-width:auto}.k-badge-md{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem);font-size:var(--kendo-font-size-xs, inherit);line-height:1;min-width:calc(1em + var(--kendo-spacing-1, 0.25rem)*2 + 2px)}.k-badge-md:empty{padding:var(--kendo-spacing-1, 0.25rem);min-width:auto}.k-badge-lg{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-1\.5, 0.375rem);font-size:var(--kendo-font-size-xs, inherit);line-height:1;min-width:calc(1em + var(--kendo-spacing-1\.5, 0.375rem)*2 + 2px)}.k-badge-lg:empty{padding:var(--kendo-spacing-1\.5, 0.375rem);min-width:auto}kendo-badge-container{display:inline-block}.k-badge-container{position:relative;overflow:visible}.k-badge-inside{position:absolute;z-index:9999}.k-badge-edge{position:absolute;z-index:9999}.k-badge-edge.k-top-start{transform:translate(-50%, -50%)}.k-badge-edge.k-top-end{transform:translate(50%, -50%)}.k-badge-edge.k-bottom-start{transform:translate(-50%, 50%)}.k-badge-edge.k-bottom-end{transform:translate(50%, 50%)}.k-rtl .k-badge-edge.k-top-start,[dir=rtl].k-badge-edge.k-top-start,[dir=rtl] .k-badge-edge.k-top-start{transform:translate(50%, -50%)}.k-rtl .k-badge-edge.k-top-end,[dir=rtl].k-badge-edge.k-top-end,[dir=rtl] .k-badge-edge.k-top-end{transform:translate(-50%, -50%)}.k-rtl .k-badge-edge.k-bottom-start,[dir=rtl].k-badge-edge.k-bottom-start,[dir=rtl] .k-badge-edge.k-bottom-start{transform:translate(50%, 50%)}.k-rtl .k-badge-edge.k-bottom-end,[dir=rtl].k-badge-edge.k-bottom-end,[dir=rtl] .k-badge-edge.k-bottom-end{transform:translate(-50%, 50%)}.k-badge-outside{position:absolute;z-index:9999}.k-badge-outside.k-top-start{transform:translate(-100%, -100%)}.k-badge-outside.k-top-end{transform:translate(100%, -100%)}.k-badge-outside.k-bottom-start{transform:translate(-100%, 100%)}.k-badge-outside.k-bottom-end{transform:translate(100%, 100%)}.k-rtl .k-badge-outside.k-top-start,[dir=rtl].k-badge-outside.k-top-start,[dir=rtl] .k-badge-outside.k-top-start{transform:translate(100%, -100%)}.k-rtl .k-badge-outside.k-top-end,[dir=rtl].k-badge-outside.k-top-end,[dir=rtl] .k-badge-outside.k-top-end{transform:translate(-100%, -100%)}.k-rtl .k-badge-outside.k-bottom-start,[dir=rtl].k-badge-outside.k-bottom-start,[dir=rtl] .k-badge-outside.k-bottom-start{transform:translate(100%, 100%)}.k-rtl .k-badge-outside.k-bottom-end,[dir=rtl].k-badge-outside.k-bottom-end,[dir=rtl] .k-badge-outside.k-bottom-end{transform:translate(-100%, 100%)}.k-badge-border-cutout{box-shadow:0 0 0 2px var(--kendo-color-surface-alt, #ffffff)}.k-badge-solid-primary{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-badge-solid-secondary{border-color:var(--kendo-color-secondary, #e51a5f);color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-badge-solid-tertiary{border-color:var(--kendo-color-tertiary, #00695c);color:var(--kendo-color-on-tertiary, #ffffff);background-color:var(--kendo-color-tertiary, #00695c)}.k-badge-solid-info{border-color:var(--kendo-color-info, #0058e9);color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info, #0058e9)}.k-badge-solid-success{border-color:var(--kendo-color-success, #37b400);color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success, #37b400)}.k-badge-solid-warning{border-color:var(--kendo-color-warning, #ffc000);color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000)}.k-badge-solid-error{border-color:var(--kendo-color-error, #f31700);color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error, #f31700)}.k-badge-solid-dark{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-badge-solid-light{border-color:var(--kendo-color-light, #f5f5f5);color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5)}.k-badge-solid-inverse{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-inverse, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-badge-outline{border-color:currentColor;background-color:rgba(0,0,0,0)}.k-badge-outline-primary{color:var(--kendo-color-primary, #3f51b5)}.k-badge-outline-secondary{color:var(--kendo-color-secondary, #e51a5f)}.k-badge-outline-tertiary{color:var(--kendo-color-tertiary, #00695c)}.k-badge-outline-info{color:var(--kendo-color-info, #0058e9)}.k-badge-outline-success{color:var(--kendo-color-success, #37b400)}.k-badge-outline-warning{color:var(--kendo-color-warning, #ffc000)}.k-badge-outline-error{color:var(--kendo-color-error, #f31700)}.k-badge-outline-dark{color:var(--kendo-color-dark, #424242)}.k-badge-outline-light{color:var(--kendo-color-light, #f5f5f5)}.k-badge-outline-inverse{color:var(--kendo-color-dark, #424242)}.k-chip{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem);border-width:1px;border-style:solid;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:1.2857142857;display:inline-flex;flex-flow:row nowrap;align-items:center;justify-content:center;gap:var(--kendo-spacing-1, 0.25rem);position:relative;overflow:hidden;cursor:pointer;user-select:none}.k-chip *,.k-chip *::before,.k-chip *::after{box-sizing:border-box}.k-chip .k-selected-icon-wrapper{display:none !important}.k-chip-content{padding-block:.5em;padding-inline:0;margin-block:-0.5em;margin-inline:0;min-width:0;display:flex;flex-flow:row nowrap;align-items:center;overflow:hidden;flex:1 1 auto}.k-chip-content .k-icon-wrapper-host{display:initial}.k-chip-content:first-child{margin-inline-start:var(--kendo-spacing-1, 0.25rem)}.k-chip-content:last-child{margin-inline-end:var(--kendo-spacing-1, 0.25rem)}.k-chip-text,.k-chip-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1 1 auto}.k-chip-avatar{border-radius:50%;background-size:cover;background-position:center;flex:none}.k-chip-icon{display:flex;align-items:center;justify-content:center;flex:none}.k-chip-actions{margin-block:-5em;margin-inline:0;flex:none;display:flex;flex-flow:row nowrap;align-items:center;align-self:center}.k-chip-action{flex:none;display:flex;flex-flow:row nowrap;align-items:center;align-self:center}.k-remove-icon{font-size:inherit;display:flex;align-items:center;justify-content:center;flex:none}.k-chip-list{min-width:0px;display:inline-flex;flex-wrap:wrap;align-items:center;position:relative}.k-chip-sm{padding-block:var(--kendo-spacing-0\.5, 0.125rem);padding-inline:var(--kendo-spacing-1, 0.25rem);font-size:var(--kendo-font-size, inherit);line-height:1.2857142857}.k-chip-sm .k-chip-action{padding:var(--kendo-spacing-0\.5, 0.125rem)}.k-chip-avatar{width:1em;height:1em;flex-basis:1em}.k-chip-md{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem);font-size:var(--kendo-font-size, inherit);line-height:1.2857142857}.k-chip-md .k-chip-action{padding:var(--kendo-spacing-1, 0.25rem)}.k-chip-avatar{width:1em;height:1em;flex-basis:1em}.k-chip-lg{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-1, 0.25rem);font-size:var(--kendo-font-size, inherit);line-height:1.2857142857}.k-chip-lg .k-chip-action{padding:var(--kendo-spacing-1\.5, 0.375rem)}.k-chip-avatar{width:1em;height:1em;flex-basis:1em}.k-chip-list-sm{gap:var(--kendo-spacing-1, 0.25rem)}.k-chip-list-md{gap:var(--kendo-spacing-1, 0.25rem)}.k-chip-list-lg{gap:var(--kendo-spacing-1, 0.25rem)}.k-chip-solid-base{border-color:var(--kendo-color-base-subtle, #ebebeb);color:var(--kendo-color-on-base, #212121);background-color:var(--kendo-color-base-subtle, #ebebeb)}.k-chip-solid-base:focus,.k-chip-solid-base.k-focus{background-color:var(--kendo-color-base-subtle-active, #c2c2c2)}.k-chip-solid-base:hover,.k-chip-solid-base.k-hover{background-color:var(--kendo-color-base-subtle-hover, #d6d6d6)}.k-chip-solid-base.k-selected{background-color:var(--kendo-color-base-subtle-active, #c2c2c2)}.k-chip-solid-error{border-color:var(--kendo-color-error-emphasis, #fc8d83);color:var(--kendo-color-error-on-subtle, #550c07);background-color:var(--kendo-color-error-subtle, #fcc7c2)}.k-chip-solid-error:focus,.k-chip-solid-error.k-focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--kendo-color-error, #f31700) 16%, transparent)}.k-chip-solid-error:hover,.k-chip-solid-error.k-hover{background-color:var(--kendo-color-error-subtle-hover, #feafa8)}.k-chip-solid-error.k-selected{background-color:var(--kendo-color-error-subtle-active, #fe9a91)}.k-chip-solid-info{border-color:var(--kendo-color-info-emphasis, #80a5f4);color:var(--kendo-color-info-on-subtle, #071f51);background-color:var(--kendo-color-info-subtle, #c8d7fb)}.k-chip-solid-info:focus,.k-chip-solid-info.k-focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--kendo-color-info, #0058e9) 16%, transparent)}.k-chip-solid-info:hover,.k-chip-solid-info.k-hover{background-color:var(--kendo-color-info-subtle-hover, #a7c0f7)}.k-chip-solid-info.k-selected{background-color:var(--kendo-color-info-subtle-active, #8fb0f6)}.k-chip-solid-warning{border-color:var(--kendo-color-warning-emphasis, #ffdd8f);color:var(--kendo-color-warning-on-subtle, #59430a);background-color:var(--kendo-color-warning-subtle, #fff0ce)}.k-chip-solid-warning:focus,.k-chip-solid-warning.k-focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--kendo-color-warning, #ffc000) 16%, transparent)}.k-chip-solid-warning:hover,.k-chip-solid-warning.k-hover{background-color:var(--kendo-color-warning-subtle-hover, #ffe7b0)}.k-chip-solid-warning.k-selected{background-color:var(--kendo-color-warning-subtle-active, #ffe19c)}.k-chip-solid-success{border-color:var(--kendo-color-success-emphasis, #93d775);color:var(--kendo-color-success-on-subtle, #163f09);background-color:var(--kendo-color-success-subtle, #d7f0cc)}.k-chip-solid-success:focus,.k-chip-solid-success.k-focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--kendo-color-success, #37b400) 16%, transparent)}.k-chip-solid-success:hover,.k-chip-solid-success.k-hover{background-color:var(--kendo-color-success-subtle-hover, #bae2ad)}.k-chip-solid-success.k-selected{background-color:var(--kendo-color-success-subtle-active, #a7db97)}.k-chip-outline-base{border-color:var(--kendo-color-base-on-surface, #212121);color:var(--kendo-color-base-on-surface, #212121);background-color:rgba(0,0,0,0)}.k-chip-outline-base:hover,.k-chip-outline-base.k-hover{color:var(--kendo-color-base-on-subtle, #212121);background-color:var(--kendo-color-base-subtle-hover, #d6d6d6)}.k-chip-outline-base.k-selected{color:var(--kendo-color-base-on-subtle, #212121);background-color:var(--kendo-color-base-subtle-active, #c2c2c2)}.k-chip-outline-error{border-color:var(--kendo-color-error-on-surface, #b91406);color:var(--kendo-color-error-on-surface, #b91406);background-color:rgba(0,0,0,0)}.k-chip-outline-error:focus,.k-chip-outline-error.k-focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--kendo-color-error, #f31700) 16%, transparent)}.k-chip-outline-error:hover,.k-chip-outline-error.k-hover{border-color:var(--kendo-color-error-hover, #e01701);color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error-hover, #e01701)}.k-chip-outline-error.k-selected{border-color:var(--kendo-color-error-active, #cc1505);color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error-active, #cc1505)}.k-chip-outline-info{border-color:var(--kendo-color-info-on-surface, #0443b0);color:var(--kendo-color-info-on-surface, #0443b0);background-color:rgba(0,0,0,0)}.k-chip-outline-info:focus,.k-chip-outline-info.k-focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--kendo-color-info, #0058e9) 16%, transparent)}.k-chip-outline-info:hover,.k-chip-outline-info.k-hover{border-color:var(--kendo-color-info-hover, #0251d6);color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info-hover, #0251d6)}.k-chip-outline-info.k-selected{border-color:var(--kendo-color-info-active, #034ac3);color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info-active, #034ac3)}.k-chip-outline-warning{border-color:var(--kendo-color-warning, #ffc000);color:var(--kendo-color-on-app-surface, #212121);background-color:rgba(0,0,0,0)}.k-chip-outline-warning:focus,.k-chip-outline-warning.k-focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--kendo-color-warning, #ffc000) 16%, transparent)}.k-chip-outline-warning:hover,.k-chip-outline-warning.k-hover{color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000)}.k-chip-outline-warning.k-selected{color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000)}.k-chip-outline-success{border-color:var(--kendo-color-success-on-surface, #2b8906);color:var(--kendo-color-success-on-surface, #2b8906);background-color:rgba(0,0,0,0)}.k-chip-outline-success:focus,.k-chip-outline-success.k-focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--kendo-color-success, #37b400) 16%, transparent)}.k-chip-outline-success:hover,.k-chip-outline-success.k-hover{border-color:var(--kendo-color-success-hover, #33a600);color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success-hover, #33a600)}.k-chip-outline-success.k-selected{border-color:var(--kendo-color-success-active, #2e9704);color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success-active, #2e9704)}.k-chip-solid{border-color:rgba(0,0,0,0)}.k-chip-solid-base:focus,.k-chip-solid-base.k-focus{box-shadow:none}.k-chip-solid-error:focus,.k-chip-solid-error.k-focus{box-shadow:none}.k-chip-solid-info:focus,.k-chip-solid-info.k-focus{box-shadow:none}.k-chip-solid-warning:focus,.k-chip-solid-warning.k-focus{box-shadow:none}.k-chip-solid-success:focus,.k-chip-solid-success.k-focus{box-shadow:none}.k-chip-outline-base:focus,.k-chip-outline-base.k-focus{box-shadow:none;background-color:var(--kendo-color-base-subtle-active, #c2c2c2)}.k-chip-outline-error{color:var(--kendo-color-error-on-surface, #b91406)}.k-chip-outline-error:focus,.k-chip-outline-error.k-focus{box-shadow:none;color:var(--kendo-color-error-on-subtle, #550c07);background-color:var(--kendo-color-error-subtle-active, #fe9a91)}.k-chip-outline-error:hover,.k-chip-outline-error.k-hover{color:var(--kendo-color-error-on-subtle, #550c07);background-color:var(--kendo-color-error-subtle-hover, #feafa8)}.k-chip-outline-error.k-selected{color:var(--kendo-color-error-on-subtle, #550c07);background-color:var(--kendo-color-error-subtle-active, #fe9a91)}.k-chip-outline-info{color:var(--kendo-color-info-on-surface, #0443b0)}.k-chip-outline-info:focus,.k-chip-outline-info.k-focus{box-shadow:none;color:var(--kendo-color-info-on-subtle, #071f51);background-color:var(--kendo-color-info-subtle-active, #8fb0f6)}.k-chip-outline-info:hover,.k-chip-outline-info.k-hover{color:var(--kendo-color-info-on-subtle, #071f51);background-color:var(--kendo-color-info-subtle-hover, #a7c0f7)}.k-chip-outline-info.k-selected{color:var(--kendo-color-info-on-subtle, #071f51);background-color:var(--kendo-color-info-subtle-active, #8fb0f6)}.k-chip-outline-warning{color:var(--kendo-color-on-app-surface, #212121)}.k-chip-outline-warning:focus,.k-chip-outline-warning.k-focus{box-shadow:none;background-color:var(--kendo-color-warning-subtle-active, #ffe19c)}.k-chip-outline-warning:hover,.k-chip-outline-warning.k-hover{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-warning-subtle-hover, #ffe7b0)}.k-chip-outline-warning.k-selected{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-warning-subtle-active, #ffe19c)}.k-chip-outline-success{color:var(--kendo-color-success-on-surface, #2b8906)}.k-chip-outline-success:focus,.k-chip-outline-success.k-focus{box-shadow:none;color:var(--kendo-color-success-on-subtle, #163f09);background-color:var(--kendo-color-success-subtle-active, #a7db97)}.k-chip-outline-success:hover,.k-chip-outline-success.k-hover{color:var(--kendo-color-success-on-subtle, #163f09);background-color:var(--kendo-color-success-subtle-hover, #bae2ad)}.k-chip-outline-success.k-selected{color:var(--kendo-color-success-on-subtle, #163f09);background-color:var(--kendo-color-success-subtle-active, #a7db97)}.k-color-preview{width:100%;height:100%;border-width:1px;border-radius:var(--kendo-border-radius-md, 0.25rem);box-sizing:border-box;border-style:solid;display:inline-flex;flex-flow:row nowrap;position:relative;overflow:hidden}.k-color-preview *,.k-color-preview *::before,.k-color-preview *::after{box-sizing:border-box}.k-coloreditor-current-color{cursor:pointer}.k-icon-color-preview{border-width:0;border-radius:0;display:flex;flex-flow:column nowrap;align-items:center;justify-content:center;gap:2px}.k-icon-color-preview .k-color-preview-mask{width:calc(16px - 2px);height:2px}.k-color-preview-mask{width:100%;height:100%;position:relative}.k-color-preview-mask::before{content:"";width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAuSURBVHgBxYyxDQAwDMJIL+YT+DjtzFRliUfLcklqBCRT4eCTxbD6kdL2/LgYXqpvCbs3kBv/AAAAAElFTkSuQmCC);background-size:contain;background-position:0 0}.k-no-color .k-color-preview-mask::before{content:"";background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2720%27 height=%2720%27 version=%271.1%27%3e%3cline x1=%270%27 x2=%2720%27 y1=%270%27 y2=%2720%27 stroke=%27var%28--kendo-color-error, %23f31700%29%27 stroke-width=%271%27/%3e%3c/svg%3e");background-size:100% 100%;background-position:0 0}.k-color-preview{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-color-preview:hover,.k-color-preview.k-hover{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-loader{position:relative;display:inline-block;vertical-align:middle;box-sizing:border-box;line-height:0}.k-loader-canvas{display:flex;position:relative}.k-loader-segment{border-radius:50%;background-color:currentColor;position:absolute}.k-loader-sm{padding:calc(var(--kendo-spacing-1, 0.25rem)/2)}.k-loader-sm .k-loader-segment{width:var(--kendo-spacing-1, 0.25rem);height:var(--kendo-spacing-1, 0.25rem)}.k-loader-md{padding:calc(var(--kendo-spacing-2, 0.5rem)/2)}.k-loader-md .k-loader-segment{width:var(--kendo-spacing-2, 0.5rem);height:var(--kendo-spacing-2, 0.5rem)}.k-loader-lg{padding:calc(var(--kendo-spacing-4, 1rem)/2)}.k-loader-lg .k-loader-segment{width:var(--kendo-spacing-4, 1rem);height:var(--kendo-spacing-4, 1rem)}@keyframes pulsing-2-segment{0%{transform:scale(1)}50%{transform:scale(1.5)}100%{transform:scale(1)}}.k-loader-pulsing-2 .k-loader-canvas{align-items:center}.k-loader-pulsing-2 .k-loader-segment:nth-child(1){left:0;transform:scale(1.5);transform-origin:0 50%;animation:pulsing-2-segment 1s ease infinite;animation-delay:-0.5s}.k-loader-pulsing-2 .k-loader-segment:nth-child(2){right:0;transform-origin:100% 50%;animation:pulsing-2-segment 1s ease infinite}.k-loader-pulsing-2.k-loader-sm .k-loader-canvas{width:calc(var(--kendo-spacing-1, 0.25rem)*3);height:calc(var(--kendo-spacing-1, 0.25rem)*1.5)}.k-loader-pulsing-2.k-loader-md .k-loader-canvas{width:calc(var(--kendo-spacing-2, 0.5rem)*3);height:calc(var(--kendo-spacing-2, 0.5rem)*1.5)}.k-loader-pulsing-2.k-loader-lg .k-loader-canvas{width:calc(var(--kendo-spacing-4, 1rem)*3);height:calc(var(--kendo-spacing-4, 1rem)*1.5)}@keyframes spinner-3-segment{0%{top:0;left:50%}33.3333%{top:100%;left:0}66.6666%{top:100%;left:100%}100%{top:0;left:50%}}.k-loader-spinner-3 .k-loader-segment{transform:translate(-50%, -50%)}.k-loader-spinner-3 .k-loader-segment:nth-child(1){top:0;left:50%;animation:spinner-3-segment 2s ease infinite}.k-loader-spinner-3 .k-loader-segment:nth-child(2){top:100%;left:0;animation:spinner-3-segment 2s ease infinite;animation-delay:-.6666666667s}.k-loader-spinner-3 .k-loader-segment:nth-child(3){top:100%;left:100%;animation:spinner-3-segment 2s ease infinite;animation-delay:-1.3333333333s}.k-loader-spinner-3.k-loader-sm .k-loader-canvas{margin:calc(var(--kendo-spacing-1, 0.25rem)/2);width:calc(calc(var(--kendo-spacing-1, 0.25rem) * 4) - var(--kendo-spacing-1, 0.25rem));height:calc(calc(calc(var(--kendo-spacing-1, 0.25rem) * 4) * 0.8660254038) - var(--kendo-spacing-1, 0.25rem))}.k-loader-spinner-3.k-loader-md .k-loader-canvas{margin:calc(var(--kendo-spacing-2, 0.5rem)/2);width:calc(calc(var(--kendo-spacing-2, 0.5rem) * 4) - var(--kendo-spacing-2, 0.5rem));height:calc(calc(calc(var(--kendo-spacing-2, 0.5rem) * 4) * 0.8660254038) - var(--kendo-spacing-2, 0.5rem))}.k-loader-spinner-3.k-loader-lg .k-loader-canvas{margin:calc(var(--kendo-spacing-4, 1rem)/2);width:calc(calc(var(--kendo-spacing-4, 1rem) * 4) - var(--kendo-spacing-4, 1rem));height:calc(calc(calc(var(--kendo-spacing-4, 1rem) * 4) * 0.8660254038) - var(--kendo-spacing-4, 1rem))}@keyframes spinner-4-segment-1{0%{top:50%;left:50%;transform:translateX(-50%) translateY(-50%)}33.3%{top:0;left:0;transform:translateX(0) translateY(0)}66.6%{top:0;left:0;transform:translateX(0) translateY(0)}100%{top:50%;left:50%;transform:translateX(-50%) translateY(-50%)}}@keyframes spinner-4-segment-2{0%{top:50%;left:50%;transform:translateX(-50%) translateY(-50%)}33.3%{top:0;left:100%;transform:translateX(-100%) translateY(0)}66.6%{top:0;left:100%;transform:translateX(-100%) translateY(0)}100%{top:50%;left:50%;transform:translateX(-50%) translateY(-50%)}}@keyframes spinner-4-segment-3{0%{top:50%;left:50%;transform:translateX(-50%) translateY(-50%)}33.3%{top:100%;left:100%;transform:translateX(-100%) translateY(-100%)}66.6%{top:100%;left:100%;transform:translateX(-100%) translateY(-100%)}100%{top:50%;left:50%;transform:translateX(-50%) translateY(-50%)}}@keyframes spinner-4-segment-4{0%{top:50%;left:50%;transform:translateX(-50%) translateY(-50%)}33.3%{top:100%;left:0;transform:translateX(0) translateY(-100%)}66.6%{top:100%;left:0;transform:translateX(0) translateY(-100%)}100%{top:50%;left:50%;transform:translateX(-50%) translateY(-50%)}}@keyframes spinner-4{0%{transform:rotate(0)}33.3%{transform:rotate(0)}66.6%{transform:rotate(180deg)}100%{transform:rotate(180deg)}}.k-loader-spinner-4 .k-loader-canvas{animation:spinner-4 1.833s ease infinite}.k-loader-spinner-4 .k-loader-segment{top:50%;left:50%;transform:translateX(-50%) translateY(-50%)}.k-loader-spinner-4 .k-loader-segment:nth-child(1){animation:spinner-4-segment-1 1.833s ease infinite}.k-loader-spinner-4 .k-loader-segment:nth-child(2){animation:spinner-4-segment-2 1.833s ease infinite}.k-loader-spinner-4 .k-loader-segment:nth-child(3){animation:spinner-4-segment-3 1.833s ease infinite}.k-loader-spinner-4 .k-loader-segment:nth-child(4){animation:spinner-4-segment-4 1.833s ease infinite}.k-loader-spinner-4.k-loader-sm .k-loader-canvas{width:calc(var(--kendo-spacing-1, 0.25rem)*4);height:calc(var(--kendo-spacing-1, 0.25rem)*4)}.k-loader-spinner-4.k-loader-md .k-loader-canvas{width:calc(var(--kendo-spacing-2, 0.5rem)*4);height:calc(var(--kendo-spacing-2, 0.5rem)*4)}.k-loader-spinner-4.k-loader-lg .k-loader-canvas{width:calc(var(--kendo-spacing-4, 1rem)*4);height:calc(var(--kendo-spacing-4, 1rem)*4)}.k-loader-container{display:flex;align-items:center;justify-content:center;z-index:20001}.k-loader-container .k-loader{padding:0}.k-loader-container,.k-loader-container-overlay{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.k-loader-container-overlay{opacity:.32}.k-loader-container-inner{display:flex;align-items:center;position:relative;z-index:2}.k-loader-container-panel{border-width:1px;border-style:solid;border-radius:var(--kendo-border-radius-md, 0.25rem)}.k-loader-container-sm .k-loader-container-inner{padding:var(--kendo-spacing-4, 1rem);gap:var(--kendo-spacing-1, 0.25rem)}.k-loader-container-sm .k-loader-container-label{font-size:var(--kendo-font-size-sm, inherit)}.k-loader-container-md .k-loader-container-inner{padding:var(--kendo-spacing-5, 1.25rem);gap:var(--kendo-spacing-2, 0.5rem)}.k-loader-container-md .k-loader-container-label{font-size:var(--kendo-font-size, inherit)}.k-loader-container-lg .k-loader-container-inner{padding:var(--kendo-spacing-6, 1.5rem);gap:var(--kendo-spacing-3, 0.75rem)}.k-loader-container-lg .k-loader-container-label{font-size:var(--kendo-font-size-lg, inherit)}.k-loader-top .k-loader-container-inner{flex-direction:column;text-align:center}.k-loader-end .k-loader-container-label{order:-1}.k-loading-mask,.k-loading-image,.k-loading-color{width:100%;height:100%;box-sizing:border-box;position:absolute;top:0;left:0}.k-loading-mask *,.k-loading-mask *::before,.k-loading-mask *::after,.k-loading-mask::before,.k-loading-mask::after,.k-loading-image *,.k-loading-image *::before,.k-loading-image *::after,.k-loading-image::before,.k-loading-image::after,.k-loading-color *,.k-loading-color *::before,.k-loading-color *::after,.k-loading-color::before,.k-loading-color::after{box-sizing:border-box}.k-loading-mask{z-index:100}.k-loading-mask.k-opaque .k-loading-color{opacity:1}.k-loading-text{text-indent:-4000px;text-align:center;position:absolute;color:currentColor}.k-loading-image{z-index:2;color:currentColor}.k-loading-color{background-color:var(--kendo-color-surface-alt, #ffffff);opacity:.3}.k-i-loading{width:1em;height:1em;line-height:1;display:inline-flex;flex-flow:row nowrap;align-items:center;justify-content:center;vertical-align:middle;position:relative;background-color:rgba(0,0,0,0);box-sizing:border-box;color:currentColor}.k-i-loading::before,.k-i-loading::after{box-sizing:border-box}.k-i-loading::before,.k-i-loading::after,.k-loading-image::before,.k-loading-image::after{position:absolute;top:50%;left:50%;display:inline-block;content:"";box-sizing:inherit;border-radius:50%;border-width:.05em;border-style:solid;border-color:currentColor;border-top-color:rgba(0,0,0,0);border-bottom-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}.k-icon.k-i-loading::before,.k-icon.k-i-loading::after{content:""}.k-i-loading::before,.k-loading-image::before{margin-top:-0.5em;margin-left:-0.5em;width:1em;height:1em;animation:k-loading-animation .7s linear infinite}.k-i-loading::after,.k-loading-image::after{margin-top:-0.25em;margin-left:-0.25em;width:.5em;height:.5em;animation:k-loading-animation reverse 1.4s linear infinite}.k-loading-image::before,.k-loading-image::after{content:"";border-width:1px;border-width:clamp(.015em,1px,1px);font-size:4em}@keyframes k-loading-animation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.k-loader-primary{color:var(--kendo-color-primary, #3f51b5)}.k-loader-secondary{color:#000}.k-loader-tertiary{color:var(--kendo-color-tertiary, #00695c)}.k-loader-info{color:var(--kendo-color-info, #0058e9)}.k-loader-success{color:var(--kendo-color-success, #37b400)}.k-loader-warning{color:var(--kendo-color-warning, #ffc000)}.k-loader-error{color:var(--kendo-color-error, #f31700)}.k-loader-dark{color:var(--kendo-color-dark, #424242)}.k-loader-light{color:var(--kendo-color-light, #f5f5f5)}.k-loader-inverse{color:var(--kendo-color-dark, #424242)}.k-loader-container-panel{background-color:#fff;border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-loader-container-inner .k-text-secondary,.k-loader-container-inner .\!k-text-secondary{color:#000 !important}.k-skeleton,.k-placeholder-line{display:block}.k-skeleton-text,.k-placeholder-line{border-radius:var(--kendo-border-radius-md, 0.25rem);transform:scale(1, 0.6)}.k-skeleton-text:empty::before,.k-placeholder-line:empty::before{content:"​"}.k-skeleton-rect{border-radius:0}.k-skeleton-circle{border-radius:9999px}@keyframes k-skeleton-wave{0%{transform:translateX(-100%)}60%{transform:translateX(100%)}100%{transform:translateX(100%)}}.k-skeleton-wave .k-skeleton,.k-skeleton-wave .k-placeholder-line,.k-skeleton-wave.k-skeleton,.k-skeleton-wave.k-placeholder-line{position:relative;overflow:hidden}.k-skeleton-wave .k-skeleton::after,.k-skeleton-wave .k-placeholder-line::after,.k-skeleton-wave.k-skeleton::after,.k-skeleton-wave.k-placeholder-line::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translateX(-100%);animation:k-skeleton-wave 1.6s linear .5s infinite}@keyframes k-skeleton-pulse{0%{opacity:1}50%{opacity:.4}100%{opacity:1}}.k-skeleton-pulse .k-skeleton,.k-skeleton-pulse .k-placeholder-line,.k-skeleton-pulse.k-skeleton,.k-skeleton-pulse.k-placeholder-line{animation:k-skeleton-pulse 1.5s ease-in-out .5s infinite}.k-skeleton,.k-placeholder-line{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 20%, transparent)}.k-skeleton-wave .k-skeleton::after,.k-skeleton-wave .k-placeholder-line::after,.k-skeleton-wave.k-skeleton::after,.k-skeleton-wave.k-placeholder-line::after{background-image:linear-gradient(to right, transparent, rgba(0, 0, 0, 0.04), transparent)}.k-current-time{width:1px;position:absolute}.k-current-time.k-current-time-arrow-left,.k-current-time.k-current-time-arrow-right,.k-current-time.k-current-time-arrow-down{width:0;height:0;background:rgba(0,0,0,0);border:4px solid rgba(0,0,0,0)}.k-current-time{background:red}.k-current-time.k-current-time-arrow-left{border-right-color:red}.k-current-time.k-current-time-arrow-right{border-left-color:red}.k-current-time.k-current-time-arrow-down{border-top-color:red}.k-button{box-sizing:border-box;border-width:1px;border-style:solid;color:inherit;background:none;font-family:var(--kendo-font-size-sm, inherit);text-align:center;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:var(--kendo-spacing-2, 0.5rem);vertical-align:middle;user-select:none;cursor:pointer;outline:none;-webkit-appearance:none;position:relative;transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.k-button *,.k-button *::before,.k-button *::after{box-sizing:border-box}.k-button:disabled,.k-button.k-disabled{outline:none;cursor:default;color:var(--kendo-color-on-app-surface, #212121);opacity:.6;filter:grayscale(0.1);pointer-events:none;box-shadow:none}.k-button::-moz-focus-inner{padding:0;border:0;outline:0}.k-button:hover,.k-button:focus{text-decoration:none;outline:0}.k-icon-button{gap:0}.k-icon-button .k-icon{display:inline-flex}.k-button-icon{color:inherit;align-self:center;position:relative}.k-button-sm{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-4, 1rem);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286}.k-button-sm.k-icon-button{padding:var(--kendo-spacing-1\.5, 0.375rem)}.k-button-sm.k-icon-button .k-button-icon{min-width:calc(var(--kendo-font-size, inherit)*1.4285714286);min-height:calc(var(--kendo-font-size, inherit)*1.4285714286);display:inline-flex;align-items:center;justify-content:center}.k-button-sm.k-icon-button .k-button-icon.k-svg-icon>svg,.k-button-sm.k-icon-button .k-button-icon.k-icon-md>svg{width:16px;height:16px}.k-button-sm.k-icon-button .k-button-icon.k-icon-xs>svg{width:calc(16px*.75);height:calc(16px*.75)}.k-button-sm.k-icon-button .k-button-icon.k-icon-sm>svg{width:calc(16px*.875);height:calc(16px*.875)}.k-button-sm.k-icon-button .k-button-icon.k-icon-lg>svg{width:calc(16px*1.25);height:calc(16px*1.25)}.k-button-sm.k-icon-button .k-button-icon.k-icon-xl>svg{width:calc(16px*1.5);height:calc(16px*1.5)}.k-button-sm.k-icon-button .k-button-icon.k-icon-xxl>svg{width:calc(16px*2);height:calc(16px*2)}.k-button-sm.k-icon-button .k-button-icon.k-icon-xxxl>svg{width:calc(16px*3);height:calc(16px*3)}.k-button-md{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286}.k-button-md.k-icon-button{padding:var(--kendo-spacing-2, 0.5rem)}.k-button-md.k-icon-button .k-button-icon{min-width:calc(var(--kendo-font-size, inherit)*1.4285714286);min-height:calc(var(--kendo-font-size, inherit)*1.4285714286);display:inline-flex;align-items:center;justify-content:center}.k-button-md.k-icon-button .k-button-icon.k-svg-icon>svg,.k-button-md.k-icon-button .k-button-icon.k-icon-md>svg{width:16px;height:16px}.k-button-md.k-icon-button .k-button-icon.k-icon-xs>svg{width:calc(16px*.75);height:calc(16px*.75)}.k-button-md.k-icon-button .k-button-icon.k-icon-sm>svg{width:calc(16px*.875);height:calc(16px*.875)}.k-button-md.k-icon-button .k-button-icon.k-icon-lg>svg{width:calc(16px*1.25);height:calc(16px*1.25)}.k-button-md.k-icon-button .k-button-icon.k-icon-xl>svg{width:calc(16px*1.5);height:calc(16px*1.5)}.k-button-md.k-icon-button .k-button-icon.k-icon-xxl>svg{width:calc(16px*2);height:calc(16px*2)}.k-button-md.k-icon-button .k-button-icon.k-icon-xxxl>svg{width:calc(16px*3);height:calc(16px*3)}.k-button-lg{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-4, 1rem);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286}.k-button-lg.k-icon-button{padding:var(--kendo-spacing-2\.5, 0.625rem)}.k-button-lg.k-icon-button .k-button-icon{min-width:calc(var(--kendo-font-size, inherit)*1.4285714286);min-height:calc(var(--kendo-font-size, inherit)*1.4285714286);display:inline-flex;align-items:center;justify-content:center}.k-button-lg.k-icon-button .k-button-icon.k-svg-icon>svg,.k-button-lg.k-icon-button .k-button-icon.k-icon-md>svg{width:16px;height:16px}.k-button-lg.k-icon-button .k-button-icon.k-icon-xs>svg{width:calc(16px*.75);height:calc(16px*.75)}.k-button-lg.k-icon-button .k-button-icon.k-icon-sm>svg{width:calc(16px*.875);height:calc(16px*.875)}.k-button-lg.k-icon-button .k-button-icon.k-icon-lg>svg{width:calc(16px*1.25);height:calc(16px*1.25)}.k-button-lg.k-icon-button .k-button-icon.k-icon-xl>svg{width:calc(16px*1.5);height:calc(16px*1.5)}.k-button-lg.k-icon-button .k-button-icon.k-icon-xxl>svg{width:calc(16px*2);height:calc(16px*2)}.k-button-lg.k-icon-button .k-button-icon.k-icon-xxxl>svg{width:calc(16px*3);height:calc(16px*3)}.k-button-square{aspect-ratio:1}.k-button-group{margin:0;padding:0;border-width:0;box-sizing:border-box;list-style:none;outline:0;display:inline-flex;flex-flow:row nowrap;vertical-align:middle;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-button-group>.k-button+.k-button{margin-inline-start:-1px}.k-button-group>.k-button:hover,.k-button-group>.k-button.k-hover,.k-button-group>.k-button:focus,.k-button-group>.k-button.k-focus,.k-button-group>.k-button:active,.k-button-group>.k-button.k-active,.k-button-group>.k-button.k-selected{z-index:2}.k-button-group .k-button:not(:first-child):not(:last-child){border-start-end-radius:0;border-end-end-radius:0;border-start-start-radius:0;border-end-start-radius:0}.k-button-group>.k-button:first-child:not(:only-child){border-start-end-radius:0;border-end-end-radius:0}.k-button-group>.k-button:last-child:not(:only-child){border-start-start-radius:0;border-end-start-radius:0}.k-button-group:disabled,.k-button-group[disabled],.k-button-group.k-disabled{opacity:1;filter:none}.k-button-group-stretched{width:100%}.k-button-group-stretched>*{flex:1 0 0%;overflow:hidden}.k-button-flat{border-color:rgba(0,0,0,0) !important;color:inherit;background:none !important;box-shadow:none !important}.k-button-flat::before{display:block !important}.k-button-flat::after{box-shadow:inset 0 0 0 2px currentColor;display:block !important}.k-button-outline{border-color:currentColor;color:inherit;background:none}.k-button-link{border-color:rgba(0,0,0,0);color:inherit;text-decoration:none;background:none}.k-button-link:hover,.k-button-link.k-hover{text-decoration:underline}.k-button-clear{border-color:rgba(0,0,0,0) !important;color:inherit;background:none !important;box-shadow:none !important}.k-button-overlay,.k-button::before{border-radius:inherit;content:"";background:currentColor;opacity:0;display:none;pointer-events:none;position:absolute;left:-1px;right:-1px;top:-1px;bottom:-1px;z-index:0;transition:opacity .2s ease-in-out}.k-button:hover::before,.k-button.k-hover::before{opacity:.08}.k-button:focus::before,.k-button.k-focus::before{opacity:.12}.k-button.k-no-focus:not(:hover)::before,.k-button.k-no-focus:not(.k-hover)::before{opacity:0}.k-button:active::before,.k-button.k-active::before{opacity:.16}.k-button.k-selected::before{opacity:.22}.k-button::after{border-radius:inherit;content:"";opacity:0;display:none;pointer-events:none;position:absolute;left:-1px;right:-1px;top:-1px;bottom:-1px;z-index:0;transition:opacity .2s ease-in-out}.k-button{text-transform:uppercase;font-weight:500}.k-button::before{display:block;transition:opacity .4s cubic-bezier(0.25, 0.8, 0.25, 1)}.k-button::after{display:none !important}.k-button:disabled,.k-button[disabled],.k-button.k-disabled{opacity:1;filter:none}.k-button-solid::before{display:none}.k-button-outline{background-color:rgba(0,0,0,0) !important;box-shadow:none !important}.k-button-link:hover::before,.k-button-link.k-hover::before,.k-button-link:active::before,.k-button-link.k-active::before,.k-button-link.k-selected::before{opacity:0}.k-button-link:focus::before,.k-button-link.k-focus::before{opacity:.12}.k-button-clear::before,.k-button.k-clear::before{display:none}.k-button-clear:focus::before,.k-button-clear.k-focus::before,.k-button-clear:active::before,.k-button.k-clear:focus::before,.k-button.k-clear.k-focus::before,.k-button.k-clear:active::before{display:block}.k-overflow-button.k-button-group,.k-overflow-group.k-button-group{line-height:inherit}.k-button-solid-base{border-color:var(--kendo-color-base, #ffffff);color:var(--kendo-color-on-base, #212121);background-color:var(--kendo-color-base, #ffffff);box-shadow:k-elevation(2)}.k-button-solid-base:hover,.k-button-solid-base.k-hover{border-color:var(--kendo-color-base-hover, #ebebeb);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-button-solid-base:focus,.k-button-solid-base.k-focus{box-shadow:k-elevation(3)}.k-button-solid-base:active,.k-button-solid-base.k-active{border-color:var(--kendo-color-base-active, #d6d6d6);background-color:var(--kendo-color-base-active, #d6d6d6);box-shadow:k-elevation(6)}.k-button-solid-base.k-selected{border-color:var(--kendo-color-base-active, #d6d6d6);background-color:var(--kendo-color-base-active, #d6d6d6)}.k-button-solid-base:disabled,.k-button-solid-base.k-disabled{border-color:rgba(0,0,0,0);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);box-shadow:none}.k-button-solid-primary{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-button-solid-primary:hover,.k-button-solid-primary.k-hover{border-color:var(--kendo-color-primary-hover, #3a4ba7);background-color:var(--kendo-color-primary-hover, #3a4ba7)}.k-button-solid-primary:active,.k-button-solid-primary.k-active{border-color:var(--kendo-color-primary-active, #354498);background-color:var(--kendo-color-primary-active, #354498)}.k-button-solid-primary.k-selected{border-color:var(--kendo-color-primary-active, #354498);background-color:var(--kendo-color-primary-active, #354498)}.k-button-solid-primary:disabled,.k-button-solid-primary.k-disabled{border-color:rgba(0,0,0,0);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);box-shadow:none}.k-button-solid-secondary{border-color:var(--kendo-color-secondary, #e51a5f);color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-button-solid-secondary:hover,.k-button-solid-secondary.k-hover{border-color:var(--kendo-color-secondary-hover, #d31857);background-color:var(--kendo-color-secondary-hover, #d31857)}.k-button-solid-secondary:active,.k-button-solid-secondary.k-active{border-color:var(--kendo-color-secondary-active, #c01650);background-color:var(--kendo-color-secondary-active, #c01650)}.k-button-solid-secondary.k-selected{border-color:var(--kendo-color-secondary-active, #c01650);background-color:var(--kendo-color-secondary-active, #c01650)}.k-button-solid-secondary:disabled,.k-button-solid-secondary.k-disabled{border-color:rgba(0,0,0,0);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);box-shadow:none}.k-button-solid-tertiary{border-color:var(--kendo-color-tertiary, #00695c);color:var(--kendo-color-on-tertiary, #ffffff);background-color:var(--kendo-color-tertiary, #00695c)}.k-button-solid-tertiary:hover,.k-button-solid-tertiary.k-hover{border-color:var(--kendo-color-tertiary-hover, #006155);background-color:var(--kendo-color-tertiary-hover, #006155)}.k-button-solid-tertiary:active,.k-button-solid-tertiary.k-active{border-color:var(--kendo-color-tertiary-active, #00584d);background-color:var(--kendo-color-tertiary-active, #00584d)}.k-button-solid-tertiary.k-selected{border-color:var(--kendo-color-tertiary-active, #00584d);background-color:var(--kendo-color-tertiary-active, #00584d)}.k-button-solid-tertiary:disabled,.k-button-solid-tertiary.k-disabled{border-color:rgba(0,0,0,0);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);box-shadow:none}.k-button-solid-info{border-color:var(--kendo-color-info, #0058e9);color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info, #0058e9)}.k-button-solid-info:hover,.k-button-solid-info.k-hover{border-color:var(--kendo-color-info-hover, #0251d6);background-color:var(--kendo-color-info-hover, #0251d6)}.k-button-solid-info:active,.k-button-solid-info.k-active{border-color:var(--kendo-color-info-active, #034ac3);background-color:var(--kendo-color-info-active, #034ac3)}.k-button-solid-info.k-selected{border-color:var(--kendo-color-info-active, #034ac3);background-color:var(--kendo-color-info-active, #034ac3)}.k-button-solid-info:disabled,.k-button-solid-info.k-disabled{border-color:rgba(0,0,0,0);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);box-shadow:none}.k-button-solid-success{border-color:var(--kendo-color-success, #37b400);color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success, #37b400)}.k-button-solid-success:hover,.k-button-solid-success.k-hover{border-color:var(--kendo-color-success-hover, #33a600);background-color:var(--kendo-color-success-hover, #33a600)}.k-button-solid-success:active,.k-button-solid-success.k-active{border-color:var(--kendo-color-success-active, #2e9704);background-color:var(--kendo-color-success-active, #2e9704)}.k-button-solid-success.k-selected{border-color:var(--kendo-color-success-active, #2e9704);background-color:var(--kendo-color-success-active, #2e9704)}.k-button-solid-success:disabled,.k-button-solid-success.k-disabled{border-color:rgba(0,0,0,0);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);box-shadow:none}.k-button-solid-warning{border-color:var(--kendo-color-warning, #ffc000);color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000)}.k-button-solid-warning:hover,.k-button-solid-warning.k-hover{border-color:var(--kendo-color-warning-hover, #ebb201);background-color:var(--kendo-color-warning-hover, #ebb201)}.k-button-solid-warning:active,.k-button-solid-warning.k-active{border-color:var(--kendo-color-warning-active, #d6a202);background-color:var(--kendo-color-warning-active, #d6a202)}.k-button-solid-warning.k-selected{border-color:var(--kendo-color-warning-active, #d6a202);background-color:var(--kendo-color-warning-active, #d6a202)}.k-button-solid-warning:disabled,.k-button-solid-warning.k-disabled{border-color:rgba(0,0,0,0);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);box-shadow:none}.k-button-solid-error{border-color:var(--kendo-color-error, #f31700);color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error, #f31700)}.k-button-solid-error:hover,.k-button-solid-error.k-hover{border-color:var(--kendo-color-error-hover, #e01701);background-color:var(--kendo-color-error-hover, #e01701)}.k-button-solid-error:active,.k-button-solid-error.k-active{border-color:var(--kendo-color-error-active, #cc1505);background-color:var(--kendo-color-error-active, #cc1505)}.k-button-solid-error.k-selected{border-color:var(--kendo-color-error-active, #cc1505);background-color:var(--kendo-color-error-active, #cc1505)}.k-button-solid-error:disabled,.k-button-solid-error.k-disabled{border-color:rgba(0,0,0,0);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);box-shadow:none}.k-button-solid-dark{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-button-solid-dark:hover,.k-button-solid-dark.k-hover{border-color:var(--kendo-color-dark-hover, #212121);background-color:var(--kendo-color-dark-hover, #212121)}.k-button-solid-dark:active,.k-button-solid-dark.k-active{border-color:var(--kendo-color-dark-active, #000000);background-color:var(--kendo-color-dark-active, #000000)}.k-button-solid-dark.k-selected{border-color:var(--kendo-color-dark-active, #000000);background-color:var(--kendo-color-dark-active, #000000)}.k-button-solid-dark:disabled,.k-button-solid-dark.k-disabled{border-color:rgba(0,0,0,0);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);box-shadow:none}.k-button-solid-light{border-color:var(--kendo-color-light, #f5f5f5);color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5)}.k-button-solid-light:hover,.k-button-solid-light.k-hover{border-color:var(--kendo-color-light-hover, #ebebeb);background-color:var(--kendo-color-light-hover, #ebebeb)}.k-button-solid-light:active,.k-button-solid-light.k-active{border-color:var(--kendo-color-light-active, #d6d6d6);background-color:var(--kendo-color-light-active, #d6d6d6)}.k-button-solid-light.k-selected{border-color:var(--kendo-color-light-active, #d6d6d6);background-color:var(--kendo-color-light-active, #d6d6d6)}.k-button-solid-light:disabled,.k-button-solid-light.k-disabled{border-color:rgba(0,0,0,0);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);box-shadow:none}.k-button-solid-inverse{border-color:var(--kendo-color-inverse, #424242);color:var(--kendo-color-on-inverse, #ffffff);background-color:var(--kendo-color-inverse, #424242)}.k-button-solid-inverse:hover,.k-button-solid-inverse.k-hover{border-color:var(--kendo-color-inverse-hover, #212121);background-color:var(--kendo-color-inverse-hover, #212121)}.k-button-solid-inverse:active,.k-button-solid-inverse.k-active{border-color:var(--kendo-color-inverse-active, #000000);background-color:var(--kendo-color-inverse-active, #000000)}.k-button-solid-inverse.k-selected{border-color:var(--kendo-color-inverse-active, #000000);background-color:var(--kendo-color-inverse-active, #000000)}.k-button-solid-inverse:disabled,.k-button-solid-inverse.k-disabled{border-color:rgba(0,0,0,0);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);box-shadow:none}.k-button-outline-primary{box-shadow:none;border-color:currentColor;color:var(--kendo-color-primary-on-surface, #3f51b5);background-color:rgba(0,0,0,0)}.k-button-outline-primary:hover,.k-button-outline-primary.k-hover{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-button-outline-primary:active,.k-button-outline-primary.k-active{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-button-outline-primary.k-selected{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-button-outline-primary:disabled,.k-button-outline-primary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-secondary{box-shadow:none;border-color:currentColor;color:var(--kendo-color-secondary-on-surface, #ae1549);background-color:rgba(0,0,0,0)}.k-button-outline-secondary:hover,.k-button-outline-secondary.k-hover{border-color:var(--kendo-color-secondary, #e51a5f);color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-button-outline-secondary:active,.k-button-outline-secondary.k-active{border-color:var(--kendo-color-secondary, #e51a5f);color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-button-outline-secondary.k-selected{border-color:var(--kendo-color-secondary, #e51a5f);color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-button-outline-secondary:disabled,.k-button-outline-secondary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-tertiary{box-shadow:none;border-color:currentColor;color:var(--kendo-color-tertiary-on-surface, #054f46);background-color:rgba(0,0,0,0)}.k-button-outline-tertiary:hover,.k-button-outline-tertiary.k-hover{border-color:var(--kendo-color-tertiary, #00695c);color:var(--kendo-color-on-tertiary, #ffffff);background-color:var(--kendo-color-tertiary, #00695c)}.k-button-outline-tertiary:active,.k-button-outline-tertiary.k-active{border-color:var(--kendo-color-tertiary, #00695c);color:var(--kendo-color-on-tertiary, #ffffff);background-color:var(--kendo-color-tertiary, #00695c)}.k-button-outline-tertiary.k-selected{border-color:var(--kendo-color-tertiary, #00695c);color:var(--kendo-color-on-tertiary, #ffffff);background-color:var(--kendo-color-tertiary, #00695c)}.k-button-outline-tertiary:disabled,.k-button-outline-tertiary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-info{box-shadow:none;border-color:currentColor;color:var(--kendo-color-info-on-surface, #0443b0);background-color:rgba(0,0,0,0)}.k-button-outline-info:hover,.k-button-outline-info.k-hover{border-color:var(--kendo-color-info, #0058e9);color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info, #0058e9)}.k-button-outline-info:active,.k-button-outline-info.k-active{border-color:var(--kendo-color-info, #0058e9);color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info, #0058e9)}.k-button-outline-info.k-selected{border-color:var(--kendo-color-info, #0058e9);color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info, #0058e9)}.k-button-outline-info:disabled,.k-button-outline-info.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-success{box-shadow:none;border-color:currentColor;color:var(--kendo-color-success-on-surface, #2b8906);background-color:rgba(0,0,0,0)}.k-button-outline-success:hover,.k-button-outline-success.k-hover{border-color:var(--kendo-color-success, #37b400);color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success, #37b400)}.k-button-outline-success:active,.k-button-outline-success.k-active{border-color:var(--kendo-color-success, #37b400);color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success, #37b400)}.k-button-outline-success.k-selected{border-color:var(--kendo-color-success, #37b400);color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success, #37b400)}.k-button-outline-success:disabled,.k-button-outline-success.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-warning{box-shadow:none;border-color:currentColor;color:var(--kendo-color-warning-on-surface, #ffc000);background-color:rgba(0,0,0,0)}.k-button-outline-warning:hover,.k-button-outline-warning.k-hover{border-color:var(--kendo-color-warning, #ffc000);color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000)}.k-button-outline-warning:active,.k-button-outline-warning.k-active{border-color:var(--kendo-color-warning, #ffc000);color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000)}.k-button-outline-warning.k-selected{border-color:var(--kendo-color-warning, #ffc000);color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000)}.k-button-outline-warning:disabled,.k-button-outline-warning.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-error{box-shadow:none;border-color:currentColor;color:var(--kendo-color-error-on-surface, #b91406);background-color:rgba(0,0,0,0)}.k-button-outline-error:hover,.k-button-outline-error.k-hover{border-color:var(--kendo-color-error, #f31700);color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error, #f31700)}.k-button-outline-error:active,.k-button-outline-error.k-active{border-color:var(--kendo-color-error, #f31700);color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error, #f31700)}.k-button-outline-error.k-selected{border-color:var(--kendo-color-error, #f31700);color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error, #f31700)}.k-button-outline-error:disabled,.k-button-outline-error.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-dark{box-shadow:none;border-color:currentColor;color:var(--kendo-color-dark-on-surface, #616161);background-color:rgba(0,0,0,0)}.k-button-outline-dark:hover,.k-button-outline-dark.k-hover{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-button-outline-dark:active,.k-button-outline-dark.k-active{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-button-outline-dark.k-selected{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-button-outline-dark:disabled,.k-button-outline-dark.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-light{box-shadow:none;border-color:currentColor;color:var(--kendo-color-light-on-surface, #ebebeb);background-color:rgba(0,0,0,0)}.k-button-outline-light:hover,.k-button-outline-light.k-hover{border-color:var(--kendo-color-light, #f5f5f5);color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5)}.k-button-outline-light:active,.k-button-outline-light.k-active{border-color:var(--kendo-color-light, #f5f5f5);color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5)}.k-button-outline-light.k-selected{border-color:var(--kendo-color-light, #f5f5f5);color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5)}.k-button-outline-light:disabled,.k-button-outline-light.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-inverse{box-shadow:none;border-color:currentColor;color:var(--kendo-color-inverse-on-surface, #616161);background-color:rgba(0,0,0,0)}.k-button-outline-inverse:hover,.k-button-outline-inverse.k-hover{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-inverse, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-button-outline-inverse:active,.k-button-outline-inverse.k-active{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-inverse, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-button-outline-inverse.k-selected{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-inverse, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-button-outline-inverse:disabled,.k-button-outline-inverse.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-base{box-shadow:none;border-color:currentColor;color:var(--kendo-color-base-on-surface, #212121);background-color:rgba(0,0,0,0)}.k-button-outline-base:hover,.k-button-outline-base.k-hover{border-color:var(--kendo-color-on-base, #212121);color:var(--kendo-color-base, #ffffff);background-color:var(--kendo-color-on-base, #212121)}.k-button-outline-base:active,.k-button-outline-base.k-active{border-color:var(--kendo-color-on-base, #212121);color:var(--kendo-color-base, #ffffff);background-color:var(--kendo-color-on-base, #212121)}.k-button-outline-base.k-selected{border-color:var(--kendo-color-on-base, #212121);color:var(--kendo-color-base, #ffffff);background-color:var(--kendo-color-on-base, #212121)}.k-button-outline-base:disabled,.k-button-outline-base.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-flat-primary{color:var(--kendo-color-primary-on-surface, #3f51b5)}.k-button-flat-primary:disabled,.k-button-flat-primary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-flat-secondary{color:var(--kendo-color-secondary-on-surface, #ae1549)}.k-button-flat-secondary:disabled,.k-button-flat-secondary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-flat-tertiary{color:var(--kendo-color-tertiary-on-surface, #054f46)}.k-button-flat-tertiary:disabled,.k-button-flat-tertiary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-flat-info{color:var(--kendo-color-info-on-surface, #0443b0)}.k-button-flat-info:disabled,.k-button-flat-info.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-flat-success{color:var(--kendo-color-success-on-surface, #2b8906)}.k-button-flat-success:disabled,.k-button-flat-success.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-flat-warning{color:var(--kendo-color-warning-on-surface, #ffc000)}.k-button-flat-warning:disabled,.k-button-flat-warning.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-flat-error{color:var(--kendo-color-error-on-surface, #b91406)}.k-button-flat-error:disabled,.k-button-flat-error.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-flat-dark{color:var(--kendo-color-dark-on-surface, #616161)}.k-button-flat-dark:disabled,.k-button-flat-dark.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-flat-light{color:var(--kendo-color-light-on-surface, #ebebeb)}.k-button-flat-light:disabled,.k-button-flat-light.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-flat-inverse{color:var(--kendo-color-inverse-on-surface, #616161)}.k-button-flat-inverse:disabled,.k-button-flat-inverse.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-flat-base{color:inherit}.k-button-flat-base:disabled,.k-button-flat-base.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-primary{color:var(--kendo-color-primary, #3f51b5)}.k-button-link-primary:hover,.k-button-link-primary.k-hover{color:var(--kendo-color-primary-hover, #3a4ba7)}.k-button-link-primary:active,.k-button-link-primary.k-active{color:var(--kendo-color-primary-active, #354498)}.k-button-link-primary.k-selected{color:var(--kendo-color-primary-active, #354498)}.k-button-link-primary:disabled,.k-button-link-primary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-secondary{color:var(--kendo-color-secondary, #e51a5f)}.k-button-link-secondary:hover,.k-button-link-secondary.k-hover{color:var(--kendo-color-secondary-hover, #d31857)}.k-button-link-secondary:active,.k-button-link-secondary.k-active{color:var(--kendo-color-secondary-active, #c01650)}.k-button-link-secondary.k-selected{color:var(--kendo-color-secondary-active, #c01650)}.k-button-link-secondary:disabled,.k-button-link-secondary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-tertiary{color:var(--kendo-color-tertiary, #00695c)}.k-button-link-tertiary:hover,.k-button-link-tertiary.k-hover{color:var(--kendo-color-tertiary-hover, #006155)}.k-button-link-tertiary:active,.k-button-link-tertiary.k-active{color:var(--kendo-color-tertiary-active, #00584d)}.k-button-link-tertiary.k-selected{color:var(--kendo-color-tertiary-active, #00584d)}.k-button-link-tertiary:disabled,.k-button-link-tertiary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-info{color:var(--kendo-color-info, #0058e9)}.k-button-link-info:hover,.k-button-link-info.k-hover{color:var(--kendo-color-info-hover, #0251d6)}.k-button-link-info:active,.k-button-link-info.k-active{color:var(--kendo-color-info-active, #034ac3)}.k-button-link-info.k-selected{color:var(--kendo-color-info-active, #034ac3)}.k-button-link-info:disabled,.k-button-link-info.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-success{color:var(--kendo-color-success, #37b400)}.k-button-link-success:hover,.k-button-link-success.k-hover{color:var(--kendo-color-success-hover, #33a600)}.k-button-link-success:active,.k-button-link-success.k-active{color:var(--kendo-color-success-active, #2e9704)}.k-button-link-success.k-selected{color:var(--kendo-color-success-active, #2e9704)}.k-button-link-success:disabled,.k-button-link-success.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-warning{color:var(--kendo-color-warning, #ffc000)}.k-button-link-warning:hover,.k-button-link-warning.k-hover{color:var(--kendo-color-warning-hover, #ebb201)}.k-button-link-warning:active,.k-button-link-warning.k-active{color:var(--kendo-color-warning-active, #d6a202)}.k-button-link-warning.k-selected{color:var(--kendo-color-warning-active, #d6a202)}.k-button-link-warning:disabled,.k-button-link-warning.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-error{color:var(--kendo-color-error, #f31700)}.k-button-link-error:hover,.k-button-link-error.k-hover{color:var(--kendo-color-error-hover, #e01701)}.k-button-link-error:active,.k-button-link-error.k-active{color:var(--kendo-color-error-active, #cc1505)}.k-button-link-error.k-selected{color:var(--kendo-color-error-active, #cc1505)}.k-button-link-error:disabled,.k-button-link-error.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-dark{color:var(--kendo-color-dark, #424242)}.k-button-link-dark:hover,.k-button-link-dark.k-hover{color:var(--kendo-color-dark-hover, #212121)}.k-button-link-dark:active,.k-button-link-dark.k-active{color:var(--kendo-color-dark-active, #000000)}.k-button-link-dark.k-selected{color:var(--kendo-color-dark-active, #000000)}.k-button-link-dark:disabled,.k-button-link-dark.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-light{color:var(--kendo-color-light, #f5f5f5)}.k-button-link-light:hover,.k-button-link-light.k-hover{color:var(--kendo-color-light-hover, #ebebeb)}.k-button-link-light:active,.k-button-link-light.k-active{color:var(--kendo-color-light-active, #d6d6d6)}.k-button-link-light.k-selected{color:var(--kendo-color-light-active, #d6d6d6)}.k-button-link-light:disabled,.k-button-link-light.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-inverse{color:var(--kendo-color-dark, #424242)}.k-button-link-inverse:hover,.k-button-link-inverse.k-hover{color:var(--kendo-color-inverse-hover, #212121)}.k-button-link-inverse:active,.k-button-link-inverse.k-active{color:var(--kendo-color-inverse-active, #000000)}.k-button-link-inverse.k-selected{color:var(--kendo-color-inverse-active, #000000)}.k-button-link-inverse:disabled,.k-button-link-inverse.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-base{color:var(--kendo-color-on-app-surface, #212121)}.k-button-link-base:hover,.k-button-link-base.k-hover{color:var(--kendo-color-on-app-surface, #212121)}.k-button-link-base:active,.k-button-link-base.k-active{color:var(--kendo-color-on-app-surface, #212121)}.k-button-link-base.k-selected{color:var(--kendo-color-on-app-surface, #212121)}.k-button-link-base:disabled,.k-button-link-base.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-clear-primary{color:var(--kendo-color-primary-on-surface, #3f51b5)}.k-button-clear-primary:focus::after,.k-button-clear-primary.k-focus::after,.k-button-clear-primary:active::after{background-color:currentColor;opacity:.155;display:block}.k-button-clear-primary:disabled,.k-button-clear-primary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-clear-secondary{color:var(--kendo-color-secondary-on-surface, #ae1549)}.k-button-clear-secondary:focus::after,.k-button-clear-secondary.k-focus::after,.k-button-clear-secondary:active::after{background-color:currentColor;opacity:.155;display:block}.k-button-clear-secondary:disabled,.k-button-clear-secondary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-clear-tertiary{color:var(--kendo-color-tertiary-on-surface, #054f46)}.k-button-clear-tertiary:focus::after,.k-button-clear-tertiary.k-focus::after,.k-button-clear-tertiary:active::after{background-color:currentColor;opacity:.155;display:block}.k-button-clear-tertiary:disabled,.k-button-clear-tertiary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-clear-info{color:var(--kendo-color-info-on-surface, #0443b0)}.k-button-clear-info:focus::after,.k-button-clear-info.k-focus::after,.k-button-clear-info:active::after{background-color:currentColor;opacity:.155;display:block}.k-button-clear-info:disabled,.k-button-clear-info.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-clear-success{color:var(--kendo-color-success-on-surface, #2b8906)}.k-button-clear-success:focus::after,.k-button-clear-success.k-focus::after,.k-button-clear-success:active::after{background-color:currentColor;opacity:.155;display:block}.k-button-clear-success:disabled,.k-button-clear-success.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-clear-warning{color:var(--kendo-color-warning-on-surface, #ffc000)}.k-button-clear-warning:focus::after,.k-button-clear-warning.k-focus::after,.k-button-clear-warning:active::after{background-color:currentColor;opacity:.155;display:block}.k-button-clear-warning:disabled,.k-button-clear-warning.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-clear-error{color:var(--kendo-color-error-on-surface, #b91406)}.k-button-clear-error:focus::after,.k-button-clear-error.k-focus::after,.k-button-clear-error:active::after{background-color:currentColor;opacity:.155;display:block}.k-button-clear-error:disabled,.k-button-clear-error.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-clear-dark{color:var(--kendo-color-dark-on-surface, #616161)}.k-button-clear-dark:focus::after,.k-button-clear-dark.k-focus::after,.k-button-clear-dark:active::after{background-color:currentColor;opacity:.155;display:block}.k-button-clear-dark:disabled,.k-button-clear-dark.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-clear-light{color:var(--kendo-color-light-on-surface, #ebebeb)}.k-button-clear-light:focus::after,.k-button-clear-light.k-focus::after,.k-button-clear-light:active::after{background-color:currentColor;opacity:.155;display:block}.k-button-clear-light:disabled,.k-button-clear-light.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-clear-inverse{color:var(--kendo-color-inverse-on-surface, #616161)}.k-button-clear-inverse:focus::after,.k-button-clear-inverse.k-focus::after,.k-button-clear-inverse:active::after{background-color:currentColor;opacity:.155;display:block}.k-button-clear-inverse:disabled,.k-button-clear-inverse.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-clear-base{color:var(--kendo-color-base-on-surface, #212121)}.k-button-clear-base:focus::after,.k-button-clear-base.k-focus::after,.k-button-clear-base:active::after{background-color:currentColor;opacity:.155;display:block}.k-button-clear-base:disabled,.k-button-clear-base.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-solid-primary{box-shadow:k-elevation(2);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5);border-color:var(--kendo-color-primary, #3f51b5)}.k-button-solid-primary:focus,.k-button-solid-primary.k-focus{background-color:var(--kendo-color-primary-hover, #3a4ba7);border-color:var(--kendo-color-primary-hover, #3a4ba7);box-shadow:k-elevation(3)}.k-button-solid-primary:active,.k-button-solid-primary.k-active{box-shadow:k-elevation(6)}.k-button-solid-primary:disabled,.k-button-solid-primary.k-disabled{box-shadow:none}.k-button-solid-secondary{box-shadow:k-elevation(2);color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f);border-color:var(--kendo-color-secondary, #e51a5f)}.k-button-solid-secondary:focus,.k-button-solid-secondary.k-focus{background-color:var(--kendo-color-secondary-hover, #d31857);border-color:var(--kendo-color-secondary-hover, #d31857);box-shadow:k-elevation(3)}.k-button-solid-secondary:active,.k-button-solid-secondary.k-active{box-shadow:k-elevation(6)}.k-button-solid-secondary:disabled,.k-button-solid-secondary.k-disabled{box-shadow:none}.k-button-solid-tertiary{box-shadow:k-elevation(2);color:var(--kendo-color-on-tertiary, #ffffff);background-color:var(--kendo-color-tertiary, #00695c);border-color:var(--kendo-color-tertiary, #00695c)}.k-button-solid-tertiary:focus,.k-button-solid-tertiary.k-focus{background-color:var(--kendo-color-tertiary-hover, #006155);border-color:var(--kendo-color-tertiary-hover, #006155);box-shadow:k-elevation(3)}.k-button-solid-tertiary:active,.k-button-solid-tertiary.k-active{box-shadow:k-elevation(6)}.k-button-solid-tertiary:disabled,.k-button-solid-tertiary.k-disabled{box-shadow:none}.k-button-solid-info{box-shadow:k-elevation(2);color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info, #0058e9);border-color:var(--kendo-color-info, #0058e9)}.k-button-solid-info:focus,.k-button-solid-info.k-focus{background-color:var(--kendo-color-info-hover, #0251d6);border-color:var(--kendo-color-info-hover, #0251d6);box-shadow:k-elevation(3)}.k-button-solid-info:active,.k-button-solid-info.k-active{box-shadow:k-elevation(6)}.k-button-solid-info:disabled,.k-button-solid-info.k-disabled{box-shadow:none}.k-button-solid-success{box-shadow:k-elevation(2);color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success, #37b400);border-color:var(--kendo-color-success, #37b400)}.k-button-solid-success:focus,.k-button-solid-success.k-focus{background-color:var(--kendo-color-success-hover, #33a600);border-color:var(--kendo-color-success-hover, #33a600);box-shadow:k-elevation(3)}.k-button-solid-success:active,.k-button-solid-success.k-active{box-shadow:k-elevation(6)}.k-button-solid-success:disabled,.k-button-solid-success.k-disabled{box-shadow:none}.k-button-solid-warning{box-shadow:k-elevation(2);color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000);border-color:var(--kendo-color-warning, #ffc000)}.k-button-solid-warning:focus,.k-button-solid-warning.k-focus{background-color:var(--kendo-color-warning-hover, #ebb201);border-color:var(--kendo-color-warning-hover, #ebb201);box-shadow:k-elevation(3)}.k-button-solid-warning:active,.k-button-solid-warning.k-active{box-shadow:k-elevation(6)}.k-button-solid-warning:disabled,.k-button-solid-warning.k-disabled{box-shadow:none}.k-button-solid-error{box-shadow:k-elevation(2);color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error, #f31700);border-color:var(--kendo-color-error, #f31700)}.k-button-solid-error:focus,.k-button-solid-error.k-focus{background-color:var(--kendo-color-error-hover, #e01701);border-color:var(--kendo-color-error-hover, #e01701);box-shadow:k-elevation(3)}.k-button-solid-error:active,.k-button-solid-error.k-active{box-shadow:k-elevation(6)}.k-button-solid-error:disabled,.k-button-solid-error.k-disabled{box-shadow:none}.k-button-solid-dark{box-shadow:k-elevation(2);color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242);border-color:var(--kendo-color-dark, #424242)}.k-button-solid-dark:focus,.k-button-solid-dark.k-focus{background-color:var(--kendo-color-dark-hover, #212121);border-color:var(--kendo-color-dark-hover, #212121);box-shadow:k-elevation(3)}.k-button-solid-dark:active,.k-button-solid-dark.k-active{box-shadow:k-elevation(6)}.k-button-solid-dark:disabled,.k-button-solid-dark.k-disabled{box-shadow:none}.k-button-solid-light{box-shadow:k-elevation(2);color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5);border-color:var(--kendo-color-light, #f5f5f5)}.k-button-solid-light:focus,.k-button-solid-light.k-focus{background-color:var(--kendo-color-light-hover, #ebebeb);border-color:var(--kendo-color-light-hover, #ebebeb);box-shadow:k-elevation(3)}.k-button-solid-light:active,.k-button-solid-light.k-active{box-shadow:k-elevation(6)}.k-button-solid-light:disabled,.k-button-solid-light.k-disabled{box-shadow:none}.k-button-solid-inverse{box-shadow:k-elevation(2);color:var(--kendo-color-on-inverse, #ffffff);background-color:var(--kendo-color-inverse, #424242);border-color:var(--kendo-color-inverse, #424242)}.k-button-solid-inverse:focus,.k-button-solid-inverse.k-focus{background-color:var(--kendo-color-inverse-hover, #212121);border-color:var(--kendo-color-inverse-hover, #212121);box-shadow:k-elevation(3)}.k-button-solid-inverse:active,.k-button-solid-inverse.k-active{box-shadow:k-elevation(6)}.k-button-solid-inverse:disabled,.k-button-solid-inverse.k-disabled{box-shadow:none}.k-button-solid-base{box-shadow:k-elevation(2);color:var(--kendo-color-on-base, #212121);background-color:var(--kendo-color-base, #ffffff);border-color:var(--kendo-color-base, #ffffff)}.k-button-solid-base:focus,.k-button-solid-base.k-focus{background-color:var(--kendo-color-base-hover, #ebebeb);border-color:var(--kendo-color-base-hover, #ebebeb);box-shadow:k-elevation(3)}.k-button-solid-base:active,.k-button-solid-base.k-active{box-shadow:k-elevation(6)}.k-button-solid-base:disabled,.k-button-solid-base.k-disabled{box-shadow:none}.k-button-outline-primary{color:var(--kendo-color-primary-on-surface, #3f51b5)}.k-button-outline-primary:hover,.k-button-outline-primary.k-hover,.k-button-outline-primary:focus,.k-button-outline-primary.k-focus,.k-button-outline-primary:active,.k-button-outline-primary.k-active,.k-button-outline-primary.k-selected{color:var(--kendo-color-primary-on-surface, #3f51b5)}.k-button-outline-primary:disabled,.k-button-outline-primary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-secondary{color:var(--kendo-color-secondary-on-surface, #ae1549)}.k-button-outline-secondary:hover,.k-button-outline-secondary.k-hover,.k-button-outline-secondary:focus,.k-button-outline-secondary.k-focus,.k-button-outline-secondary:active,.k-button-outline-secondary.k-active,.k-button-outline-secondary.k-selected{color:var(--kendo-color-secondary-on-surface, #ae1549)}.k-button-outline-secondary:disabled,.k-button-outline-secondary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-tertiary{color:var(--kendo-color-tertiary-on-surface, #054f46)}.k-button-outline-tertiary:hover,.k-button-outline-tertiary.k-hover,.k-button-outline-tertiary:focus,.k-button-outline-tertiary.k-focus,.k-button-outline-tertiary:active,.k-button-outline-tertiary.k-active,.k-button-outline-tertiary.k-selected{color:var(--kendo-color-tertiary-on-surface, #054f46)}.k-button-outline-tertiary:disabled,.k-button-outline-tertiary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-info{color:var(--kendo-color-info-on-surface, #0443b0)}.k-button-outline-info:hover,.k-button-outline-info.k-hover,.k-button-outline-info:focus,.k-button-outline-info.k-focus,.k-button-outline-info:active,.k-button-outline-info.k-active,.k-button-outline-info.k-selected{color:var(--kendo-color-info-on-surface, #0443b0)}.k-button-outline-info:disabled,.k-button-outline-info.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-success{color:var(--kendo-color-success-on-surface, #2b8906)}.k-button-outline-success:hover,.k-button-outline-success.k-hover,.k-button-outline-success:focus,.k-button-outline-success.k-focus,.k-button-outline-success:active,.k-button-outline-success.k-active,.k-button-outline-success.k-selected{color:var(--kendo-color-success-on-surface, #2b8906)}.k-button-outline-success:disabled,.k-button-outline-success.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-warning{color:var(--kendo-color-warning-on-surface, #ffc000)}.k-button-outline-warning:hover,.k-button-outline-warning.k-hover,.k-button-outline-warning:focus,.k-button-outline-warning.k-focus,.k-button-outline-warning:active,.k-button-outline-warning.k-active,.k-button-outline-warning.k-selected{color:var(--kendo-color-warning-on-surface, #ffc000)}.k-button-outline-warning:disabled,.k-button-outline-warning.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-error{color:var(--kendo-color-error-on-surface, #b91406)}.k-button-outline-error:hover,.k-button-outline-error.k-hover,.k-button-outline-error:focus,.k-button-outline-error.k-focus,.k-button-outline-error:active,.k-button-outline-error.k-active,.k-button-outline-error.k-selected{color:var(--kendo-color-error-on-surface, #b91406)}.k-button-outline-error:disabled,.k-button-outline-error.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-dark{color:var(--kendo-color-dark-on-surface, #616161)}.k-button-outline-dark:hover,.k-button-outline-dark.k-hover,.k-button-outline-dark:focus,.k-button-outline-dark.k-focus,.k-button-outline-dark:active,.k-button-outline-dark.k-active,.k-button-outline-dark.k-selected{color:var(--kendo-color-dark-on-surface, #616161)}.k-button-outline-dark:disabled,.k-button-outline-dark.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-light{color:var(--kendo-color-light-on-surface, #ebebeb)}.k-button-outline-light:hover,.k-button-outline-light.k-hover,.k-button-outline-light:focus,.k-button-outline-light.k-focus,.k-button-outline-light:active,.k-button-outline-light.k-active,.k-button-outline-light.k-selected{color:var(--kendo-color-light-on-surface, #ebebeb)}.k-button-outline-light:disabled,.k-button-outline-light.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-inverse{color:var(--kendo-color-inverse-on-surface, #616161)}.k-button-outline-inverse:hover,.k-button-outline-inverse.k-hover,.k-button-outline-inverse:focus,.k-button-outline-inverse.k-focus,.k-button-outline-inverse:active,.k-button-outline-inverse.k-active,.k-button-outline-inverse.k-selected{color:var(--kendo-color-inverse-on-surface, #616161)}.k-button-outline-inverse:disabled,.k-button-outline-inverse.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-outline-base{color:var(--kendo-color-base-on-surface, #212121)}.k-button-outline-base:hover,.k-button-outline-base.k-hover,.k-button-outline-base:focus,.k-button-outline-base.k-focus,.k-button-outline-base:active,.k-button-outline-base.k-active,.k-button-outline-base.k-selected{color:var(--kendo-color-base-on-surface, #212121)}.k-button-outline-base:disabled,.k-button-outline-base.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-primary:disabled,.k-button-link-primary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-secondary:disabled,.k-button-link-secondary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-tertiary:disabled,.k-button-link-tertiary.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-info:disabled,.k-button-link-info.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-success:disabled,.k-button-link-success.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-warning:disabled,.k-button-link-warning.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-error:disabled,.k-button-link-error.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-dark:disabled,.k-button-link-dark.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-light:disabled,.k-button-link-light.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-inverse:disabled,.k-button-link-inverse.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-link-base:disabled,.k-button-link-base.k-disabled{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-button-group{box-shadow:k-elevation(2)}.k-button-group .k-button{box-shadow:none}.k-button-group:disabled,.k-button-group[disabled],.k-button-group.k-disabled{box-shadow:none}.k-button-group-flat,.k-button-group-link,.k-button-group-outline{box-shadow:none}.k-menu-bar,.k-menu{border-width:0px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-wrap:nowrap;align-items:stretch;position:relative;cursor:default;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-menu-bar *,.k-menu *,.k-menu-bar *::before,.k-menu *::before,.k-menu-bar *::after,.k-menu *::after{box-sizing:border-box}.k-menu-item{border-width:0;outline:0;display:flex;flex-flow:column nowrap;flex:none;position:relative;user-select:none}.k-menu-item-content{display:block;height:auto;overflow:visible}.k-menu-item-content .k-actions,.k-menu-item-content .k-form-buttons,.k-menu-item-content .k-edit-buttons,.k-menu-item-content .k-action-buttons,.k-menu-item-content .k-columnmenu-actions{margin-top:0}.k-menu-link{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-4, 1rem);outline:0;color:inherit;display:flex;flex-flow:row nowrap;flex:1 1 auto;gap:var(--kendo-spacing-2, 0.5rem);align-items:center;position:relative;white-space:nowrap;cursor:pointer}.k-menu-link-text{display:flex;flex-flow:row nowrap;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.k-menu-expand-arrow{margin-inline-end:calc(var(--kendo-spacing-2, 0.5rem)*-1);display:inline-flex;flex-flow:row wrap;align-items:center;flex:none;position:relative}.k-menu-horizontal{flex-direction:row}.k-menu-horizontal>.k-menu-item+.k-menu-item{margin-inline-start:var(--kendo-spacing-0\.5, 0.125rem)}.k-menu-horizontal>.k-separator{margin-block:0;margin-inline:var(--kendo-spacing-1, 0.25rem);width:0;height:auto;border-width:0 0 0 1px;border-style:solid}.k-menu-vertical{flex-direction:column}.k-menu-vertical>.k-menu-item+.k-menu-item{margin-top:var(--kendo-spacing-0\.5, 0.125rem)}.k-menu-vertical>.k-menu-item>.k-menu-link{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);padding-inline-end:calc(var(--kendo-spacing-4, 1rem)*2 + 16px)}.k-menu-vertical>.k-menu-item>.k-menu-link>.k-menu-expand-arrow{margin-inline-start:var(--kendo-spacing-4, 1rem);margin-inline-end:calc(-1*(calc(var(--kendo-spacing-4, 1rem) * 2 + 16px) - var(--kendo-spacing-4, 1rem)/2))}.k-menu-vertical>.k-separator{margin-block:var(--kendo-spacing-1, 0.25rem);margin-inline:0;height:0;border-width:1px 0 0;border-style:solid;border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));display:block}.k-menu-popup{box-sizing:border-box;border-width:0px;border-style:solid;overflow:auto;max-height:80vh}.k-menu-popup *,.k-menu-popup *::before,.k-menu-popup *::after{box-sizing:border-box}.k-menu-group{margin:0;padding:0;list-style:none;display:flex;flex-flow:column nowrap;position:absolute}.k-menu-group .k-menu-item+.k-menu-item{margin-top:var(--kendo-spacing-0, 0px)}.k-menu-group .k-separator{margin-block:var(--kendo-spacing-1, 0.25rem);margin-inline:0;height:0;border-width:1px 0 0;border-style:solid;border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));display:block}.k-menu-popup .k-menu-group{position:relative}.k-menu-group-sm{font-size:var(--kendo-font-size-lg, inherit);line-height:1.25}.k-menu-group-sm .k-menu-item{font-size:var(--kendo-font-size-lg, inherit);line-height:1.25}.k-menu-group-sm .k-menu-link{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-4, 1rem);padding-inline-end:calc(var(--kendo-spacing-4, 1rem)*2 + 16px)}.k-menu-group-sm .k-menu-expand-arrow{margin-inline-start:var(--kendo-spacing-4, 1rem);margin-inline-end:calc(-1*(calc(var(--kendo-spacing-4, 1rem) * 2 + 16px) - var(--kendo-spacing-4, 1rem)/2))}.k-menu-group-md{font-size:var(--kendo-font-size-lg, inherit);line-height:1.25}.k-menu-group-md .k-menu-item{font-size:var(--kendo-font-size-lg, inherit);line-height:1.25}.k-menu-group-md .k-menu-link{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);padding-inline-end:calc(var(--kendo-spacing-4, 1rem)*2 + 16px)}.k-menu-group-md .k-menu-expand-arrow{margin-inline-start:var(--kendo-spacing-4, 1rem);margin-inline-end:calc(-1*(calc(var(--kendo-spacing-4, 1rem) * 2 + 16px) - var(--kendo-spacing-4, 1rem)/2))}.k-menu-group-lg{font-size:var(--kendo-font-size-lg, inherit);line-height:1.25}.k-menu-group-lg .k-menu-item{font-size:var(--kendo-font-size-lg, inherit);line-height:1.25}.k-menu-group-lg .k-menu-link{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-4, 1rem);padding-inline-end:calc(var(--kendo-spacing-4, 1rem)*2 + 16px)}.k-menu-group-lg .k-menu-expand-arrow{margin-inline-start:var(--kendo-spacing-4, 1rem);margin-inline-end:calc(-1*(calc(var(--kendo-spacing-4, 1rem) * 2 + 16px) - var(--kendo-spacing-4, 1rem)/2))}.k-popups-wrapper{position:relative;border:0;margin:0;padding:0}.k-context-menu{margin:0;border-width:0px;border-style:solid}.k-animation-container .k-context-menu.k-menu-horizontal{display:flex !important;flex-wrap:nowrap}.k-context-menu-popup{z-index:12000}.k-context-menu-popup .k-context-menu{border-width:0}.k-popup .k-context-menu,.k-context-menu-popup .k-context-menu{border-width:0}.k-menu-scroll-wrapper{margin:0;padding:0;border:0;position:relative}.k-menu-scroll-wrapper .k-menu{overflow:hidden;flex-wrap:nowrap}.k-menu-scroll-wrapper .k-menu-scroll-button{border-radius:0;padding:0;border-width:0;border-color:inherit;color:inherit;background:inherit;position:absolute}.k-menu-scroll-wrapper .k-menu-scroll-button.k-scroll-left{top:0;inset-inline-start:0;height:100%;width:16px;border-right-width:1px}.k-menu-scroll-wrapper .k-menu-scroll-button.k-scroll-right{top:0;inset-inline-end:0;height:100%;width:16px;border-left-width:1px}.k-menu-scroll-wrapper .k-menu-scroll-button.k-scroll-up{top:0;inset-inline-start:0;width:100%;height:16px;border-bottom-width:1px}.k-menu-scroll-wrapper .k-menu-scroll-button.k-scroll-down{bottom:0;inset-inline-start:0;width:100%;height:16px;border-top-width:1px}.k-menu:not(.k-context-menu)>.k-menu-item{transition:color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out}.k-menu-scroll-wrapper .k-menu-scroll-button{box-shadow:none}.k-menu-scroll-wrapper.horizontal .k-menu-scroll-button{width:calc(calc(2 * 1em) + var(--kendo-spacing-1, 0.25rem))}.k-menu-scroll-wrapper.vertical .k-menu-scroll-button{height:calc(calc(2 * 1em) + var(--kendo-spacing-1, 0.25rem))}.k-menu:not(.k-context-menu){color:var(--kendo-color-on-app-surface, #212121);background-color:rgba(0,0,0,0)}.k-menu:not(.k-context-menu)>.k-item{background-color:rgba(var(--kendo-color-on-app-surface, #212121), 0)}.k-menu:not(.k-context-menu)>.k-item:hover,.k-menu:not(.k-context-menu)>.k-item.k-hover{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-menu:not(.k-context-menu)>.k-item:active,.k-menu:not(.k-context-menu)>.k-item.k-active{background-color:var(--kendo-color-base-active, #d6d6d6)}.k-menu-group,.k-menu.k-context-menu{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-menu-group .k-item>.k-link:hover,.k-menu-group .k-item>.k-link.k-hover,.k-menu.k-context-menu .k-item>.k-link:hover,.k-menu.k-context-menu .k-item>.k-link.k-hover{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-menu-group .k-item>.k-link:active,.k-menu-group .k-item>.k-link.k-active,.k-menu-group .k-item>.k-link.k-selected,.k-menu.k-context-menu .k-item>.k-link:active,.k-menu.k-context-menu .k-item>.k-link.k-active,.k-menu.k-context-menu .k-item>.k-link.k-selected{color:var(--kendo-color-secondary, #e51a5f);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-menu-scroll-wrapper .k-menu-scroll-button{border-color:rgba(0,0,0,0);color:var(--kendo-color-subtle, #757575);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-menu-scroll-wrapper .k-menu-scroll-button:hover{color:var(--kendo-color-on-app-surface, #212121)}.k-menu-scroll-wrapper .k-menu-scroll-button:hover::before{opacity:0}.k-menu:not(.k-context-menu)>.k-menu-item:focus,.k-menu:not(.k-context-menu)>.k-menu-item.k-focus{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-menu-group .k-menu-item:focus,.k-menu-group .k-menu-item.k-focus,.k-context-menu .k-menu-item:focus,.k-context-menu .k-menu-item.k-focus{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-menu-scroll-wrapper .k-menu-scroll-button .k-i-arrow-60-up::before{content:""}.k-menu-scroll-wrapper .k-menu-scroll-button .k-i-arrow-60-right::before{content:""}.k-menu-scroll-wrapper .k-menu-scroll-button .k-i-arrow-60-down::before{content:""}.k-menu-scroll-wrapper .k-menu-scroll-button .k-i-arrow-60-left::before{content:""}.k-toolbar{margin:0;border-width:0;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;list-style:none;display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-start;position:relative;overflow:hidden;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-toolbar::before{content:"";height:calc(1.4285714286em + var(--kendo-spacing-2, 0.5rem)*2 + 2px)}.k-toolbar.k-toolbar-resizable{flex-wrap:nowrap}.k-toolbar>*{flex-shrink:0;display:inline-flex;align-content:center;vertical-align:middle}.k-toolbar>*>label{align-self:center}.k-toolbar .k-input,.k-toolbar .k-picker{width:10em}.k-toolbar .k-color-picker,.k-toolbar .k-colorpicker{width:min-content}.k-toolbar .k-toolbar-overflow-button{margin-inline-start:auto}.k-toolbar .k-separator,.k-toolbar .k-toolbar-separator{width:0;height:calc(2*1em);border-width:0 0 0 1px;border-style:solid;align-self:center}.k-toolbar .k-toolbar-spacer{height:calc(2*1em);flex:1 0 0%}.k-toolbar .k-toolbar-item:focus,.k-toolbar .k-toolbar-item.k-focus{text-decoration:none;outline:0}.k-toolbar-group{display:flex;flex-direction:inherit;flex-wrap:nowrap;gap:inherit}.k-toolbar-renderer{display:inline-block;border-color:inherit}.k-toolbar-sm{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem);gap:var(--kendo-spacing-1\.5, 0.375rem)}.k-toolbar-sm::before{margin-inline-start:calc(var(--kendo-spacing-1\.5, 0.375rem)*-1)}.k-toolbar-sm>*>label{margin-inline-end:var(--kendo-spacing-1\.5, 0.375rem)}.k-toolbar-md{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);gap:var(--kendo-spacing-2, 0.5rem)}.k-toolbar-md::before{margin-inline-start:calc(var(--kendo-spacing-2, 0.5rem)*-1)}.k-toolbar-md>*>label{margin-inline-end:var(--kendo-spacing-2, 0.5rem)}.k-toolbar-lg{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem);gap:var(--kendo-spacing-2\.5, 0.625rem)}.k-toolbar-lg::before{margin-inline-start:calc(var(--kendo-spacing-2\.5, 0.625rem)*-1)}.k-toolbar-lg>*>label{margin-inline-end:var(--kendo-spacing-2\.5, 0.625rem)}.k-toolbar-sm::before{height:calc(1.4285714286em + var(--kendo-spacing-1\.5, 0.375rem)*2 + 2px)}.k-toolbar-md::before{height:calc(1.4285714286em + var(--kendo-spacing-2, 0.5rem)*2 + 2px)}.k-toolbar-lg::before{height:calc(1.4285714286em + var(--kendo-spacing-2\.5, 0.625rem)*2 + 2px)}.k-floating-toolbar,.editorToolbarWindow.k-window-content{padding-block:var(--kendo-spacing-2, 0.5rem) !important;padding-inline:var(--kendo-spacing-2, 0.5rem) !important;border-width:0;border-style:solid;display:flex;flex-flow:row nowrap;gap:var(--kendo-spacing-2, 0.5rem);align-items:center}.k-floating-toolbar .k-toolbar,.editorToolbarWindow.k-window-content .k-toolbar{padding:0;border-width:0;flex-shrink:1;color:inherit;background:none}.k-editortoolbar-dragHandle{cursor:move;display:flex;align-items:center;align-self:stretch;flex-shrink:0}.k-overflow-container{font-size:var(--kendo-font-size-lg, inherit);line-height:1.25}.k-overflow-container>.k-item{border-color:inherit}.k-overflow-container .k-separator{margin:var(--kendo-spacing-1, 0.25rem) 0}.k-overflow-container .k-overflow-tool-group{display:block}.k-overflow-container .k-overflow-button{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);width:100%;height:auto;border-width:0;border-radius:0;aspect-ratio:auto;color:inherit;background-color:rgba(0,0,0,0);background-image:none;font:inherit;cursor:pointer;display:flex;flex-flow:row nowrap;align-items:center;align-content:center;gap:var(--kendo-spacing-2, 0.5rem);justify-content:flex-start;position:relative}.k-overflow-container .k-button-group{box-shadow:none;display:flex;flex-flow:column nowrap}.k-overflow-container .k-button-group .k-button{margin:0}.k-overflow-container .k-split-button{display:flex;flex-direction:column}.k-overflow-container .k-overflow-hidden{display:none}.k-toolbar.k-toolbar-flat{border-width:1px 0;border-top-color:rgba(0,0,0,0) !important;border-bottom-color:inherit;color:inherit;background:none !important;box-shadow:none}.k-toolbar .k-button{box-shadow:none}.k-toolbar .k-button-group{box-shadow:none}.k-toolbar .k-split-button{box-shadow:none}.k-overflow-container .k-button{box-shadow:none;font-weight:normal;text-transform:unset}.k-overflow-container .k-button::before{display:none}.k-overflow-container .k-button:disabled,.k-overflow-container .k-button.k-disabled{opacity:.6;filter:grayscale(0.1)}.k-toolbar{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff);box-shadow:k-elevation(4)}.k-toolbar .k-separator,.k-toolbar .k-toolbar-separator{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-toolbar .k-toolbar-item:focus,.k-toolbar .k-toolbar-item.k-focus{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px rgba(0,0,0,.14),0 1px 10px rgba(0,0,0,.12)}.k-floating-toolbar,.editorToolbarWindow.k-window-content{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-overflow-container .k-button:hover,.k-overflow-container .k-button.k-hover{color:var(--kendo-color-on-app-surface, #212121);background:var(--kendo-color-base-hover, #ebebeb)}.k-overflow-container .k-button:active,.k-overflow-container .k-button.k-active{color:var(--kendo-color-on-app-surface, #212121);background:var(--kendo-color-base-hover, #ebebeb)}.k-overflow-container .k-button.k-selected{color:var(--kendo-color-secondary, #e51a5f);background:var(--kendo-color-surface-alt, #ffffff)}.k-overflow-container .k-button:disabled,.k-overflow-container .k-button.k-disabled{color:inherit}.k-toolbar .k-button-solid-base{background-color:var(--kendo-color-base-subtle, #ebebeb);border-color:var(--kendo-color-base-subtle, #ebebeb)}.k-toolbar .k-button-solid-base:hover,.k-toolbar .k-button-solid-base.k-hover{background-color:var(--kendo-color-base-subtle-hover, #d6d6d6);border-color:var(--kendo-color-base-subtle-hover, #d6d6d6)}.k-toolbar .k-button-solid-base:focus,.k-toolbar .k-button-solid-base.k-focus{background-color:var(--kendo-color-base-subtle-hover, #d6d6d6);border-color:var(--kendo-color-base-subtle-hover, #d6d6d6)}.k-toolbar .k-button-solid-base:active,.k-toolbar .k-button-solid-base.k-active{background-color:var(--kendo-color-base-subtle-active, #c2c2c2);border-color:var(--kendo-color-base-subtle-active, #c2c2c2)}.k-toolbar .k-button-solid-base.k-selected{background-color:var(--kendo-color-base-subtle-active, #c2c2c2);border-color:var(--kendo-color-base-subtle-active, #c2c2c2)}.k-toolbar .k-button-solid-base.k-input-button,.k-toolbar .k-button-solid-base.k-input-spinner .k-spinner-increase,.k-toolbar .k-button-solid-base.k-input-spinner .k-spinner-decrease{background:none;border-color:rgba(0,0,0,0)}.k-actions,.k-form-buttons,.k-edit-buttons,.k-action-buttons,.k-columnmenu-actions{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);box-sizing:border-box;border-width:0px 0 0 0;border-style:solid;border-color:inherit;flex-shrink:0;display:flex;flex-flow:row nowrap;align-items:center;gap:var(--kendo-spacing-2, 0.5rem);overflow:hidden;clear:both}.k-actions *,.k-form-buttons *,.k-edit-buttons *,.k-action-buttons *,.k-columnmenu-actions *,.k-actions *::before,.k-form-buttons *::before,.k-edit-buttons *::before,.k-action-buttons *::before,.k-columnmenu-actions *::before,.k-actions *::after,.k-form-buttons *::after,.k-edit-buttons *::after,.k-action-buttons *::after,.k-columnmenu-actions *::after{box-sizing:border-box}.k-popup .k-actions,.k-popup .k-form-buttons,.k-popup .k-edit-buttons,.k-popup .k-action-buttons,.k-popup .k-columnmenu-actions{margin-top:var(--kendo-spacing-4, 1rem)}.k-actions-start{justify-content:flex-start}.k-actions-center{justify-content:center}.k-actions-end{justify-content:flex-end}.k-actions-stretched>*{flex:1 0 0%}.k-actions-horizontal{width:100%;flex-flow:row nowrap}.k-actions-vertical{flex-flow:column nowrap}.k-actions .k-button,.k-form-buttons .k-button,.k-edit-buttons .k-button,.k-action-buttons .k-button,.k-columnmenu-actions .k-button{box-shadow:none}.k-actions .k-button-group,.k-form-buttons .k-button-group,.k-edit-buttons .k-button-group,.k-action-buttons .k-button-group,.k-columnmenu-actions .k-button-group{box-shadow:none}.k-actions .k-split-button,.k-form-buttons .k-split-button,.k-edit-buttons .k-split-button,.k-action-buttons .k-split-button,.k-columnmenu-actions .k-split-button{box-shadow:none}.k-actions .k-button-solid-base,.k-form-buttons .k-button-solid-base,.k-edit-buttons .k-button-solid-base,.k-action-buttons .k-button-solid-base,.k-columnmenu-actions .k-button-solid-base{background-color:var(--kendo-color-base-subtle, #ebebeb);border-color:var(--kendo-color-base-subtle, #ebebeb)}.k-form,.k-form-inline{font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal)}.k-fieldset{margin:var(--kendo-spacing-7\.5, 1.875rem);border-width:1px 0 0;border-style:solid;padding:25px 0 0}.k-fieldset>legend{margin-left:0;padding:0 var(--kendo-spacing-4, 1rem) 0 0;text-transform:uppercase}kendo-label>.k-label{margin:0}.k-label-optional{margin-left:var(--kendo-spacing-1\.5, 0.375rem);font-size:var(--kendo-font-size-sm, inherit);font-style:italic;align-self:center}.k-label-empty::before{content:"";display:inline-block}.k-form{border:0}.k-form .k-form-field>.k-label,.k-form .k-form-field>kendo-label,.k-form .k-form-label{margin-bottom:var(--kendo-spacing-0, 0px);display:flex;flex-flow:row nowrap}.k-form .k-label+.k-radio{margin-left:0}.k-form .k-form-fieldset{margin:2em 0 0;padding:var(--kendo-spacing-0, 0px);border:0}.k-form .k-form-fieldset>*:not(.k-hidden):first-child,.k-form .k-form-fieldset>*.k-hidden+:not(.k-hidden){margin-top:0}.k-form .k-form-legend{margin:0 0 1em;padding:var(--kendo-spacing-0, 0px);border-width:0 0 2px;border-style:solid;width:100%;font-size:var(--kendo-font-size, inherit);text-transform:uppercase}.k-form .k-form-group{padding:0}.k-form>*:not(.k-hidden):first-child,.k-form>*.k-hidden+:not(.k-hidden){margin-top:0}.k-form .k-form-field,.k-form .k-form-field-wrap{display:block}.k-form .k-form-field-disabled .k-label,.k-form .k-form-field-disabled .k-form-label{outline:none;cursor:default;color:var(--kendo-color-on-app-surface, #212121);opacity:.6;filter:grayscale(0.1);pointer-events:none;box-shadow:none}.k-form .k-alert-error{font-size:var(--kendo-font-size-sm, inherit);margin-top:calc(var(--kendo-spacing-1, 0.25rem)*2)}.k-form .k-field-info{display:inline-block;font-size:var(--kendo-font-size-xs, inherit);line-height:1;margin-block:0;margin-inline:var(--kendo-spacing-4, 1rem)}.k-form .k-multiselect,.k-form .k-floating-label-container,.k-form .k-daterangepicker .k-dateinput,.k-form .k-signature{display:inline-flex;width:100%}.k-form-buttons{padding:0;overflow:visible}.k-form-hint,.k-form-error{margin-top:var(--kendo-spacing-1, 0.25rem);display:flex;font-size:var(--kendo-font-size-sm, inherit);font-style:normal}.k-text-start,.k-buttons-start{justify-content:flex-start}.k-text-end,.k-buttons-end{justify-content:flex-end}.k-form-separator{margin:var(--kendo-spacing-6, 1.5rem) 0 0;border-width:1px 0 0;border-style:solid;display:block;flex:0 0 auto}.k-form-horizontal .k-form-field{display:flex}.k-form-horizontal .k-form-field>.k-label,.k-form-horizontal .k-form-field>kendo-label,.k-form-horizontal .k-form-field>.k-form-label{margin-right:var(--kendo-spacing-2\.5, 0.625rem);padding-top:calc(var(--kendo-spacing-2\.5, 0.625rem)/2);width:25%;text-align:end;flex-direction:column;align-items:flex-end;justify-content:flex-start}.k-form-horizontal .k-form-field .k-label-optional{margin:0;align-self:inherit}.k-form-horizontal .k-form-field-wrap{max-width:calc(100% - 25% - var(--kendo-spacing-2\.5, 0.625rem));flex:1 1 auto}.k-form [dir=rtl] .k-label-optional,.k-rtl .k-form .k-label-optional{margin-left:0;margin-right:var(--kendo-spacing-1\.5, 0.375rem)}.k-form-horizontal [dir=rtl].k-form-field>.k-label,.k-form-horizontal [dir=rtl].k-form-field>kendo-label,.k-form-horizontal [dir=rtl].k-form-field>.k-form-label,.k-form-horizontal [dir=rtl] .k-form-field>.k-label,.k-form-horizontal [dir=rtl] .k-form-field>kendo-label,.k-form-horizontal [dir=rtl] .k-form-field>.k-form-label,.k-rtl .k-form-horizontal.k-form-field>.k-label,.k-rtl .k-form-horizontal.k-form-field>kendo-label,.k-rtl .k-form-horizontal.k-form-field>.k-form-label,.k-rtl .k-form-horizontal .k-form-field>.k-label,.k-rtl .k-form-horizontal .k-form-field>kendo-label,.k-rtl .k-form-horizontal .k-form-field>.k-form-label{margin-right:0;margin-left:var(--kendo-spacing-2\.5, 0.625rem)}.k-form-sm .k-form-field,.k-form-sm .k-form-buttons{margin-top:var(--kendo-spacing-4, 1rem)}.k-form-md .k-form-field,.k-form-md .k-form-buttons{margin-top:var(--kendo-spacing-6, 1.5rem)}.k-form-lg .k-form-field,.k-form-lg .k-form-buttons{margin-top:var(--kendo-spacing-7, 1.75rem)}.k-form-inline{padding:calc(var(--kendo-spacing-4, 1rem)*2)}.k-form-inline fieldset{border-width:1px 0 0;border-style:solid;margin:calc(calc(var(--kendo-spacing-4, 1rem) * 2)*2) 0;padding:0}.k-form-inline fieldset:first-child:first-of-type{margin-top:0}.k-form-inline fieldset:last-child:last-of-type{margin-bottom:0}.k-form-inline legend{font-size:var(--kendo-font-size-sm, inherit);text-align:start;font-weight:600;line-height:1;margin-bottom:calc(var(--kendo-spacing-1\.5, 0.375rem)*2);text-transform:uppercase;padding:0 var(--kendo-spacing-4, 1rem) 0 0;width:auto}.k-form-inline .k-form-field{display:flex;align-items:flex-start;text-align:start;margin-bottom:calc(var(--kendo-spacing-1\.5, 0.375rem)*2)}.k-form-inline .k-form-field>span:not(.k-widget){width:25%;text-align:end;line-height:var(--kendo-line-height, normal);padding:calc(var(--kendo-spacing-1, 0.25rem) + 1px) 0;padding-right:var(--kendo-spacing-6, 1.5rem);align-self:center}.k-form-inline .k-form-field>input{align-self:center}.k-form-inline .k-form-field>input:not(.k-checkbox):not(.k-radio){flex:1 1 auto}.k-form-inline .k-form-field .k-alert-error{font-size:var(--kendo-font-size-sm, inherit);margin-top:calc(var(--kendo-spacing-1, 0.25rem)*2)}.k-form-inline .k-form-field .k-field-info{display:block;font-size:var(--kendo-font-size-xs, inherit);line-height:1;margin:0}.k-form-inline .k-form-field:last-child{margin-bottom:0}.k-edit-form-container{width:400px;min-width:400px;border-color:inherit;position:relative}.k-popup-edit-form>.k-actions,.k-popup-edit-form>.k-edit-buttons,.k-popup-edit-form>.k-action-buttons,.k-popup-edit-form>.k-columnmenu-actions,.k-popup-edit-form>.k-form-buttons,.k-edit-form-container .k-actions,.k-edit-form-container .k-edit-buttons,.k-edit-form-container .k-action-buttons,.k-edit-form-container .k-columnmenu-actions,.k-edit-form-container .k-form-buttons{margin:var(--kendo-spacing-4, 1rem) -var(--kendo-spacing-6, 1.5rem) -var(--kendo-spacing-2, 0.5rem)}.k-edit-label{margin:0 0 var(--kendo-spacing-4, 1rem) 0;padding:calc(var(--kendo-spacing-2, 0.5rem) + 1px) 0;width:30%;line-height:var(--kendo-line-height, normal);text-align:end;float:left;clear:both}.k-edit-field{margin:0 0 var(--kendo-spacing-4, 1rem) 0;width:65%;float:right;clear:right;position:relative}.k-edit-field.k-no-editor{padding:calc(var(--kendo-spacing-2, 0.5rem) + 1px) 0}.k-edit-field>.k-widget{width:100%;box-sizing:border-box}.k-edit-field input[type=radio]:not(.k-radio),.k-edit-field input[type=checkbox]:not(.k-checkbox){margin-right:.4ex}.k-edit-field .k-radio-label,.k-edit-field .k-checkbox-label{margin-right:var(--kendo-spacing-4, 1rem)}.k-edit-field>.k-reset>li+li{margin-top:var(--kendo-spacing-2, 0.5rem)}.k-edit-field .k-reset .k-widget{margin:0 .4ex 0 1ex}.k-edit-label{padding:0;margin:0;width:auto;font-size:var(--kendo-font-size-sm, inherit);line-height:1;text-align:inherit;display:block;float:none}.k-edit-field{width:auto;float:none;display:flex;flex-direction:row}.k-edit-field>div{width:auto;flex:1 1 auto;display:flex;flex-direction:row}.k-edit-field .k-upload{flex-wrap:wrap}.k-edit-field .k-validator-tooltip{bottom:0;transform:translateY(100%) translateY(6px)}.k-form,.k-form-inline{color:var(--kendo-color-on-app-surface, #212121)}.k-form .k-form-legend,.k-form-inline .k-form-legend{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-form .k-field-info,.k-form-inline .k-field-info{color:var(--kendo-color-subtle, #757575)}.k-form .k-alert-error,.k-form-inline .k-alert-error{color:var(--kendo-color-error, #f31700)}.k-form-error,.k-text-error,.k-form-field-error .k-label{color:var(--kendo-color-error, #f31700)}.k-form-separator{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-tooltip{border-radius:var(--kendo-border-radius-md, 0.25rem);margin:0;padding-block:calc(var(--kendo-spacing-1, 0.25rem)*.75);padding-inline:calc(var(--kendo-spacing-4, 1rem)/2);border-width:0px;border-style:solid;box-sizing:border-box;background-repeat:repeat-x;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size-sm, inherit);line-height:1.4285714286;display:flex;flex-flow:row nowrap;align-items:flex-start;position:absolute;z-index:12000;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-tooltip *,.k-tooltip *::before,.k-tooltip *::after{box-sizing:border-box}.k-tooltip-icon{margin-inline-end:var(--kendo-spacing-2, 0.5rem);flex-shrink:0}.k-tooltip-title{margin-bottom:.25em;font-size:calc(var(--kendo-font-size-sm, 0.75rem)*1.25);line-height:var(--kendo-line-height-xs, normal)}.k-tooltip-content{align-self:stretch;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.k-tooltip-button{margin-inline-start:var(--kendo-spacing-2, 0.5rem);flex-shrink:0}.k-tooltip-button .k-icon{color:inherit;vertical-align:top}.k-callout{width:calc(6px*2);height:calc(6px*2);border-width:6px;border-style:solid;border-color:rgba(0,0,0,0);position:absolute;pointer-events:none}.k-callout-n{margin-left:calc(6px*-1);border-bottom-color:currentColor;top:calc(6px*-1*2);left:50%;pointer-events:none}.k-callout-e{margin-top:calc(6px*-1);border-left-color:currentColor;top:50%;right:calc(6px*-1*2);pointer-events:none}.k-callout-s{margin-left:calc(6px*-1);border-top-color:currentColor;bottom:calc(6px*-1*2);left:50%;pointer-events:none}.k-callout-w{margin-top:calc(6px*-1);border-right-color:currentColor;top:50%;left:calc(6px*-1*2);pointer-events:none}.k-tooltip{border-color:rgba(97,97,97,.9);color:#fff;background-color:rgba(97,97,97,.9);box-shadow:k-elevation(2)}.k-tooltip .k-callout{color:rgba(97,97,97,.9)}.k-tooltip-inverse{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-inverse, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-tooltip-inverse .k-callout{color:var(--kendo-color-dark, #424242)}.k-tooltip-light{border-color:var(--kendo-color-light, #f5f5f5);color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5)}.k-tooltip-light .k-callout{color:var(--kendo-color-light, #f5f5f5)}.k-tooltip-dark{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-tooltip-dark .k-callout{color:var(--kendo-color-dark, #424242)}.k-tooltip-error{border-color:var(--kendo-color-error, #f31700);color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error, #f31700)}.k-tooltip-error .k-callout{color:var(--kendo-color-error, #f31700)}.k-tooltip-warning{border-color:var(--kendo-color-warning, #ffc000);color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000)}.k-tooltip-warning .k-callout{color:var(--kendo-color-warning, #ffc000)}.k-tooltip-success{border-color:var(--kendo-color-success, #37b400);color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success, #37b400)}.k-tooltip-success .k-callout{color:var(--kendo-color-success, #37b400)}.k-tooltip-info{border-color:var(--kendo-color-info, #0058e9);color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info, #0058e9)}.k-tooltip-info .k-callout{color:var(--kendo-color-info, #0058e9)}.k-tooltip-tertiary{border-color:var(--kendo-color-tertiary, #00695c);color:var(--kendo-color-on-tertiary, #ffffff);background-color:var(--kendo-color-tertiary, #00695c)}.k-tooltip-tertiary .k-callout{color:var(--kendo-color-tertiary, #00695c)}.k-tooltip-secondary{border-color:var(--kendo-color-secondary, #e51a5f);color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-tooltip-secondary .k-callout{color:var(--kendo-color-secondary, #e51a5f)}.k-tooltip-primary{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-tooltip-primary .k-callout{color:var(--kendo-color-primary, #3f51b5)}.k-validator-tooltip{margin-top:calc(6px + 0px);width:auto;white-space:normal;display:flex;align-items:center;z-index:9999}.k-grid .k-validator-tooltip{max-width:300px}.k-input,.k-picker{margin:0;padding:0;width:100%;min-width:0;box-sizing:border-box;border-width:1px;border-style:solid;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size-lg, inherit);line-height:1.25;font-weight:normal;text-align:start;box-shadow:none;display:inline-flex;flex-flow:row nowrap;align-items:stretch;vertical-align:middle;position:relative;overflow:hidden;text-overflow:ellipsis;-webkit-appearance:none}.k-input *,.k-input *::before,.k-input *::after,.k-picker *,.k-picker *::before,.k-picker *::after{box-sizing:border-box}.k-input>.k-input,.k-input>.k-picker,.k-picker>.k-input,.k-picker>.k-picker{border-width:0 !important;color:inherit;background:none;font:inherit;outline:0;box-shadow:none}.k-input>*,.k-picker>*{margin:0}.k-input::placeholder,.k-picker::placeholder{color:var(--kendo-color-subtle, #757575);opacity:1;user-select:none}input.k-input,textarea.k-textarea{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}input.k-input:disabled,input.k-input[disabled],textarea.k-textarea:disabled,textarea.k-textarea[disabled]{outline:none;cursor:default;color:var(--kendo-color-on-app-surface, #212121);opacity:.6;filter:grayscale(0.1);pointer-events:none;box-shadow:none}[disabled] input.k-input:disabled,.k-disabled input.k-input:disabled,[disabled] input.k-input[disabled],.k-disabled input.k-input[disabled],[disabled] textarea.k-textarea:disabled,.k-disabled textarea.k-textarea:disabled,[disabled] textarea.k-textarea[disabled],.k-disabled textarea.k-textarea[disabled]{opacity:1;filter:grayscale(0)}textarea.k-textarea{overflow:auto}.k-picker{cursor:pointer}select.k-picker{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);appearance:auto}select.k-picker:disabled,select.k-picker[disabled]{outline:none;cursor:default;color:var(--kendo-color-on-app-surface, #212121);opacity:.6;filter:grayscale(0.1);pointer-events:none;box-shadow:none}[disabled] select.k-picker:disabled,.k-disabled select.k-picker:disabled,[disabled] select.k-picker[disabled],.k-disabled select.k-picker[disabled]{opacity:1;filter:grayscale(0)}.k-input-inner{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);width:100%;border:0;outline:0;color:inherit;background:none;font:inherit;flex:1;position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;-webkit-appearance:none}.k-input-inner::placeholder{color:var(--kendo-color-subtle, #757575);opacity:1;user-select:none}.k-input-inner:invalid{box-shadow:none}span.k-input-inner{white-space:nowrap;display:flex;flex-flow:row nowrap;align-items:center}textarea.k-input-inner{margin:0}.k-input-value-icon{flex:none}.k-input-value-text{flex:1;overflow:hidden;text-overflow:ellipsis}.k-input-value-text::before{content:"​";width:0px;overflow:hidden;flex:none;display:inline-block;vertical-align:top}.k-input-values{min-width:0px;width:100%;display:flex;flex-flow:row wrap;align-items:center;cursor:text}.k-input-values .k-chip-list{display:contents}.k-icon-picker .k-input-inner{padding:var(--kendo-spacing-2, 0.5rem);justify-content:center}.k-input-prefix,.k-input-suffix{border-color:inherit;display:flex;align-items:center;flex:none}.k-input-prefix>*,.k-input-suffix>*{flex-shrink:0;border:none}.k-input-prefix-vertical,.k-input-suffix-vertical{flex-flow:column wrap}.k-input-prefix-horizontal,.k-input-suffix-horizontal{flex-flow:row wrap}.k-input-separator{margin:0;border-style:solid;border-color:inherit;border-width:0 0 0 1px;height:16px;align-self:center}.k-input-separator-horizontal{height:auto;margin-inline:var(--kendo-spacing-2, 0.5rem);align-self:stretch;border-width:1px 0 0}.k-input-separator-vertical{height:auto;margin-block:var(--kendo-spacing-2, 0.5rem);align-self:stretch;border-width:0 0 0 1px}.k-input-icon,.k-input-validation-icon,.k-input-loading-icon{flex:none;align-self:center;display:inline-flex;flex-flow:row nowrap;align-items:center;justify-content:center;box-sizing:content-box}.k-input-loading-icon{width:1em;height:1em;font-size:16px}.k-input-icon.k-svg-icon>svg,.k-input-icon.k-icon-md>svg,.k-input-validation-icon.k-svg-icon>svg,.k-input-validation-icon.k-icon-md>svg,.k-input-loading-icon.k-svg-icon>svg,.k-input-loading-icon.k-icon-md>svg{width:16px;height:16px}.k-input-icon.k-icon-xs>svg,.k-input-validation-icon.k-icon-xs>svg,.k-input-loading-icon.k-icon-xs>svg{width:calc(16px*.75);height:calc(16px*.75)}.k-input-icon.k-icon-sm>svg,.k-input-validation-icon.k-icon-sm>svg,.k-input-loading-icon.k-icon-sm>svg{width:calc(16px*.875);height:calc(16px*.875)}.k-input-icon.k-icon-lg>svg,.k-input-validation-icon.k-icon-lg>svg,.k-input-loading-icon.k-icon-lg>svg{width:calc(16px*1.25);height:calc(16px*1.25)}.k-input-icon.k-icon-xl>svg,.k-input-validation-icon.k-icon-xl>svg,.k-input-loading-icon.k-icon-xl>svg{width:calc(16px*1.5);height:calc(16px*1.5)}.k-input-icon.k-icon-xxl>svg,.k-input-validation-icon.k-icon-xxl>svg,.k-input-loading-icon.k-icon-xxl>svg{width:calc(16px*2);height:calc(16px*2)}.k-input-icon.k-icon-xxxl>svg,.k-input-validation-icon.k-icon-xxxl>svg,.k-input-loading-icon.k-icon-xxxl>svg{width:calc(16px*3);height:calc(16px*3)}.k-clear-value{outline:0;flex:none;align-self:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.5}.k-clear-value:hover,.k-clear-value.k-hover{opacity:1}.k-clear-value:focus-visible{outline:1px dotted;outline-offset:-1px}.k-input-button{width:auto;border-width:0;border-inline-start-width:1px;flex:none;aspect-ratio:auto;box-shadow:none}.k-input-button>.k-button-icon{min-width:auto !important}.k-input-button:focus{box-shadow:none}.k-picker .k-input-button{color:inherit;background:none;border-color:rgba(0,0,0,0)}.k-input-spinner{width:auto;flex:none;display:flex;flex-flow:column nowrap}.k-input-spinner .k-spinner-increase,.k-input-spinner .k-spinner-decrease{border-width:0;border-inline-start-width:1px;flex:1 1 50%;box-shadow:none;position:relative;aspect-ratio:auto}.k-input-spinner .k-spinner-increase .k-button-icon,.k-input-spinner .k-spinner-decrease .k-button-icon{margin-block:-1em;margin-inline:0;min-width:auto !important;min-height:auto !important}.k-input-spinner .k-spinner-increase .k-icon{bottom:auto}.k-input-spinner .k-spinner-decrease .k-icon{top:auto}.k-searchbar{flex:1 1 auto;display:flex;flex-flow:row nowrap}.k-picker-wrap,.k-dropdown-wrap,.k-dateinput-wrap,.k-multiselect-wrap,.k-numeric-wrap{width:100%;border-width:0;border-color:inherit;box-sizing:border-box;flex:1 1 auto;display:flex;flex-flow:row nowrap;overflow:hidden;position:relative}.k-input-flat,.k-picker-flat{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important;border-width:1px 0;border-top-color:rgba(0,0,0,0) !important;background-image:none !important}.k-input-outline{background:none !important}.k-input-sm,.k-picker-sm{font-size:var(--kendo-font-size-lg, inherit);line-height:1.25}.k-input-sm .k-input-values,.k-picker-sm .k-input-values{padding:calc(var(--kendo-spacing-1\.5, 0.375rem)/2);gap:calc(var(--kendo-spacing-1\.5, 0.375rem)/2)}.k-input-sm .k-input-values>.k-searchbar,.k-input-sm .k-input-values>.k-input-inner,.k-picker-sm .k-input-values>.k-searchbar,.k-picker-sm .k-input-values>.k-input-inner{margin:calc(var(--kendo-spacing-1\.5, 0.375rem)/2*-1)}.k-input-sm .k-input-inner,.k-picker-sm .k-input-inner{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-input-sm .k-input-button,.k-input-sm .k-spinner-increase,.k-input-sm .k-spinner-decrease,.k-picker-sm .k-input-button,.k-picker-sm .k-spinner-increase,.k-picker-sm .k-spinner-decrease{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-input-sm .k-input-icon,.k-input-sm .k-input-validation-icon,.k-input-sm .k-input-loading-icon,.k-input-sm .k-clear-value,.k-input-sm .k-input-prefix>.k-icon,.k-input-sm .k-input-prefix>.k-input-prefix-text,.k-input-sm .k-input-suffix>.k-icon,.k-input-sm .k-input-suffix>.k-input-suffix-text,.k-picker-sm .k-input-icon,.k-picker-sm .k-input-validation-icon,.k-picker-sm .k-input-loading-icon,.k-picker-sm .k-clear-value,.k-picker-sm .k-input-prefix>.k-icon,.k-picker-sm .k-input-prefix>.k-input-prefix-text,.k-picker-sm .k-input-suffix>.k-icon,.k-picker-sm .k-input-suffix>.k-input-suffix-text{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-1\.5, 0.375rem);box-sizing:content-box}.k-input-sm .k-input-separator-horizontal,.k-picker-sm .k-input-separator-horizontal{margin-inline:var(--kendo-spacing-1\.5, 0.375rem)}.k-input-sm .k-input-separator-vertical,.k-picker-sm .k-input-separator-vertical{margin-block:var(--kendo-spacing-1\.5, 0.375rem)}.k-input-sm.k-icon-picker .k-input-inner,.k-picker-sm.k-icon-picker .k-input-inner{width:calc(1.25*1em);height:calc(1.25*1em);padding:var(--kendo-spacing-1\.5, 0.375rem);box-sizing:content-box}.k-dropdown-operator.k-picker-sm .k-input-button{padding:var(--kendo-spacing-1\.5, 0.375rem)}select.k-picker-sm{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-input-md,.k-picker-md{font-size:var(--kendo-font-size-lg, inherit);line-height:1.25}.k-input-md .k-input-values,.k-picker-md .k-input-values{padding:calc(var(--kendo-spacing-2, 0.5rem)/2);gap:calc(var(--kendo-spacing-2, 0.5rem)/2)}.k-input-md .k-input-values>.k-searchbar,.k-input-md .k-input-values>.k-input-inner,.k-picker-md .k-input-values>.k-searchbar,.k-picker-md .k-input-values>.k-input-inner{margin:calc(var(--kendo-spacing-2, 0.5rem)/2*-1)}.k-input-md .k-input-inner,.k-picker-md .k-input-inner{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-input-md .k-input-button,.k-input-md .k-spinner-increase,.k-input-md .k-spinner-decrease,.k-picker-md .k-input-button,.k-picker-md .k-spinner-increase,.k-picker-md .k-spinner-decrease{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-input-md .k-input-icon,.k-input-md .k-input-validation-icon,.k-input-md .k-input-loading-icon,.k-input-md .k-clear-value,.k-input-md .k-input-prefix>.k-icon,.k-input-md .k-input-prefix>.k-input-prefix-text,.k-input-md .k-input-suffix>.k-icon,.k-input-md .k-input-suffix>.k-input-suffix-text,.k-picker-md .k-input-icon,.k-picker-md .k-input-validation-icon,.k-picker-md .k-input-loading-icon,.k-picker-md .k-clear-value,.k-picker-md .k-input-prefix>.k-icon,.k-picker-md .k-input-prefix>.k-input-prefix-text,.k-picker-md .k-input-suffix>.k-icon,.k-picker-md .k-input-suffix>.k-input-suffix-text{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);box-sizing:content-box}.k-input-md .k-input-separator-horizontal,.k-picker-md .k-input-separator-horizontal{margin-inline:var(--kendo-spacing-2, 0.5rem)}.k-input-md .k-input-separator-vertical,.k-picker-md .k-input-separator-vertical{margin-block:var(--kendo-spacing-2, 0.5rem)}.k-input-md.k-icon-picker .k-input-inner,.k-picker-md.k-icon-picker .k-input-inner{width:calc(1.25*1em);height:calc(1.25*1em);padding:var(--kendo-spacing-2, 0.5rem);box-sizing:content-box}.k-dropdown-operator.k-picker-md .k-input-button{padding:var(--kendo-spacing-2, 0.5rem)}select.k-picker-md{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-input-lg,.k-picker-lg{font-size:var(--kendo-font-size-lg, inherit);line-height:1.5}.k-input-lg .k-input-values,.k-picker-lg .k-input-values{padding:calc(var(--kendo-spacing-2, 0.5rem)/2);gap:calc(var(--kendo-spacing-2, 0.5rem)/2)}.k-input-lg .k-input-values>.k-searchbar,.k-input-lg .k-input-values>.k-input-inner,.k-picker-lg .k-input-values>.k-searchbar,.k-picker-lg .k-input-values>.k-input-inner{margin:calc(var(--kendo-spacing-2, 0.5rem)/2*-1)}.k-input-lg .k-input-inner,.k-picker-lg .k-input-inner{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-input-lg .k-input-button,.k-input-lg .k-spinner-increase,.k-input-lg .k-spinner-decrease,.k-picker-lg .k-input-button,.k-picker-lg .k-spinner-increase,.k-picker-lg .k-spinner-decrease{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-input-lg .k-input-icon,.k-input-lg .k-input-validation-icon,.k-input-lg .k-input-loading-icon,.k-input-lg .k-clear-value,.k-input-lg .k-input-prefix>.k-icon,.k-input-lg .k-input-prefix>.k-input-prefix-text,.k-input-lg .k-input-suffix>.k-icon,.k-input-lg .k-input-suffix>.k-input-suffix-text,.k-picker-lg .k-input-icon,.k-picker-lg .k-input-validation-icon,.k-picker-lg .k-input-loading-icon,.k-picker-lg .k-clear-value,.k-picker-lg .k-input-prefix>.k-icon,.k-picker-lg .k-input-prefix>.k-input-prefix-text,.k-picker-lg .k-input-suffix>.k-icon,.k-picker-lg .k-input-suffix>.k-input-suffix-text{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);box-sizing:content-box}.k-input-lg .k-input-separator-horizontal,.k-picker-lg .k-input-separator-horizontal{margin-inline:var(--kendo-spacing-2, 0.5rem)}.k-input-lg .k-input-separator-vertical,.k-picker-lg .k-input-separator-vertical{margin-block:var(--kendo-spacing-2, 0.5rem)}.k-input-lg.k-icon-picker .k-input-inner,.k-picker-lg.k-icon-picker .k-input-inner{width:calc(1.5*1em);height:calc(1.5*1em);padding:var(--kendo-spacing-2, 0.5rem);box-sizing:content-box}.k-dropdown-operator.k-picker-lg .k-input-button{padding:var(--kendo-spacing-2, 0.5rem)}select.k-picker-lg{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-input>kendo-popup,.k-picker>kendo-popup{position:fixed}@keyframes autoFillStart{}@keyframes autoFillEnd{}.k-autofill:-webkit-autofill{animation-name:autoFillStart}.k-autofill:not(:-webkit-autofill){animation-name:autoFillEnd}.k-input:-webkit-autofill{animation-name:autoFillStart}.k-input:not(:-webkit-autofill){animation-name:autoFillEnd}.k-input-solid,.k-picker-solid{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important;border-width:1px 0;border-top-color:rgba(0,0,0,0) !important}.k-input-solid .k-input-button,.k-input-solid .k-input-spinner .k-spinner-increase,.k-input-solid .k-input-spinner .k-spinner-decrease,.k-picker-solid .k-input-button,.k-picker-solid .k-input-spinner .k-spinner-increase,.k-picker-solid .k-input-spinner .k-spinner-decrease{background:none;border-color:rgba(0,0,0,0)}.k-input-flat .k-input-button,.k-input-flat .k-input-spinner .k-spinner-increase,.k-input-flat .k-input-spinner .k-spinner-decrease,.k-picker-flat .k-input-button,.k-picker-flat .k-input-spinner .k-spinner-increase,.k-picker-flat .k-input-spinner .k-spinner-decrease{background:none;border-color:rgba(0,0,0,0)}.k-input-flat:disabled,.k-input-flat[disabled],.k-input-flat.k-disabled,.k-picker-flat:disabled,.k-picker-flat[disabled],.k-picker-flat.k-disabled{border-bottom-style:dashed}.k-input:disabled,.k-input[disabled],.k-input.k-disabled,.k-picker:disabled,.k-picker[disabled],.k-picker.k-disabled{opacity:1;filter:none}.k-input .k-input-button,.k-input .k-input-spinner .k-spinner-increase,.k-input .k-input-spinner .k-spinner-decrease,.k-input .k-input-values .k-chip,.k-picker .k-input-button,.k-picker .k-input-spinner .k-spinner-increase,.k-picker .k-input-spinner .k-spinner-decrease,.k-picker .k-input-values .k-chip{color:inherit}.k-input-solid::after,.k-input-flat::after,.k-input-outline::after,.k-picker-solid::after,.k-picker-flat::after,.k-picker-outline::after{content:"";border-width:0 0 2px 0;border-style:solid;border-color:inherit;border-radius:inherit;display:block;position:absolute;z-index:2;inset:-1px;opacity:0;transform:scaleX(0);transition:opacity .3s,transform .3s;pointer-events:none}.k-input-solid.k-focus::after,.k-input-flat.k-focus::after,.k-input-outline.k-focus::after,.k-picker-solid.k-focus::after,.k-picker-flat.k-focus::after,.k-picker-outline.k-focus::after{opacity:1;transform:scaleX(1)}.k-input-solid:focus-within::after,.k-input-flat:focus-within::after,.k-input-outline:focus-within::after,.k-picker-solid:focus-within::after,.k-picker-flat:focus-within::after,.k-picker-outline:focus-within::after{opacity:1;transform:scaleX(1)}.k-input-outline::after,.k-picker-outline::after{border-width:2px;transform:none}.k-input-outline.k-focus::after,.k-picker-outline.k-focus::after{transform:none}.k-input-outline:focus-within::after,.k-picker-outline:focus-within::after{transform:none}.k-input-solid{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 44%, transparent);color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface, #f5f5f5)}.k-input-solid:hover,.k-input-solid.k-hover{border-color:var(--kendo-color-on-app-surface, #212121)}.k-input-solid:focus,.k-input-solid.k-focus{border-color:var(--kendo-color-primary, #3f51b5)}.k-input-solid:focus-within{border-color:var(--kendo-color-primary, #3f51b5)}.k-input-solid:disabled,.k-input-solid[disabled],.k-input-solid.k-disabled{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 3%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 27%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 3%, transparent)}.k-input-solid.k-invalid,.k-input-solid.ng-invalid.ng-touched,.k-input-solid.ng-invalid.ng-dirty{border-color:var(--kendo-color-error, #f31700)}.k-input-solid.k-invalid .k-input-validation-icon,.k-input-solid.ng-invalid.ng-touched .k-input-validation-icon,.k-input-solid.ng-invalid.ng-dirty .k-input-validation-icon{color:var(--kendo-color-error, #f31700)}.k-input-solid .k-input-prefix{color:var(--kendo-color-subtle, #757575)}.k-input-solid .k-input-suffix{color:var(--kendo-color-subtle, #757575)}.k-input-solid .k-input-separator{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-picker-solid{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 44%, transparent);color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface, #f5f5f5)}.k-picker-solid:hover,.k-picker-solid.k-hover{border-color:var(--kendo-color-on-app-surface, #212121)}.k-picker-solid:focus,.k-picker-solid.k-focus{border-color:var(--kendo-color-primary, #3f51b5)}.k-picker-solid:focus-within{border-color:var(--kendo-color-primary, #3f51b5)}.k-picker-solid:disabled,.k-picker-solid[disabled],.k-picker-solid.k-disabled{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 3%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 27%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 3%, transparent)}.k-picker-solid.k-invalid,.k-picker-solid.ng-invalid.ng-touched,.k-picker-solid.ng-invalid.ng-dirty{border-color:var(--kendo-color-error, #f31700)}.k-picker-solid.k-invalid .k-input-validation-icon,.k-picker-solid.ng-invalid.ng-touched .k-input-validation-icon,.k-picker-solid.ng-invalid.ng-dirty .k-input-validation-icon{color:var(--kendo-color-error, #f31700)}.k-input-outline{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 44%, transparent);color:var(--kendo-color-on-app-surface, #212121)}.k-input-outline>.k-input-button{border-color:inherit}.k-input-outline>.k-input-spinner{border-color:inherit}.k-input-outline>.k-input-spinner>.k-spinner-increase,.k-input-outline>.k-input-spinner>.k-spinner-decrease{border-color:inherit}.k-input-outline:hover,.k-input-outline.k-hover{border-color:var(--kendo-color-on-app-surface, #212121)}.k-input-outline:focus,.k-input-outline.k-focus{border-color:var(--kendo-color-primary, #3f51b5)}.k-input-outline:focus-within{border-color:var(--kendo-color-primary, #3f51b5)}.k-input-outline:disabled,.k-input-outline[disabled],.k-input-outline.k-disabled{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 3%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 27%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 3%, transparent)}.k-input-outline.k-invalid,.k-input-outline.ng-invalid.ng-touched,.k-input-outline.ng-invalid.ng-dirty{border-color:var(--kendo-color-error, #f31700)}.k-input-outline.k-invalid .k-input-validation-icon,.k-input-outline.ng-invalid.ng-touched .k-input-validation-icon,.k-input-outline.ng-invalid.ng-dirty .k-input-validation-icon{color:var(--kendo-color-error, #f31700)}.k-input-outline .k-input-prefix{color:var(--kendo-color-subtle, #757575)}.k-input-outline .k-input-suffix{color:var(--kendo-color-subtle, #757575)}.k-input-outline .k-input-separator{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-picker-outline{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 44%, transparent);color:var(--kendo-color-on-app-surface, #212121)}.k-picker-outline:hover,.k-picker-outline.k-hover{border-color:var(--kendo-color-on-app-surface, #212121)}.k-picker-outline:focus,.k-picker-outline.k-focus{border-color:var(--kendo-color-primary, #3f51b5);background-color:nul}.k-picker-outline:focus-within{border-color:var(--kendo-color-primary, #3f51b5);background-color:nul}.k-picker-outline:disabled,.k-picker-outline[disabled],.k-picker-outline.k-disabled{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 3%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 27%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 3%, transparent)}.k-picker-outline.k-invalid,.k-picker-outline.ng-invalid.ng-touched,.k-picker-outline.ng-invalid.ng-dirty{border-color:var(--kendo-color-error, #f31700)}.k-picker-outline.k-invalid .k-input-validation-icon,.k-picker-outline.ng-invalid.ng-touched .k-input-validation-icon,.k-picker-outline.ng-invalid.ng-dirty .k-input-validation-icon{color:var(--kendo-color-error, #f31700)}.k-input-flat{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 44%, transparent);color:var(--kendo-color-on-app-surface, #212121)}.k-input-flat:hover,.k-input-flat.k-hover{border-color:var(--kendo-color-on-app-surface, #212121)}.k-input-flat:focus,.k-input-flat.k-focus{border-color:var(--kendo-color-primary, #3f51b5)}.k-input-flat:focus-within{border-color:var(--kendo-color-primary, #3f51b5)}.k-input-flat:disabled,.k-input-flat[disabled],.k-input-flat.k-disabled{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 3%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 27%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 3%, transparent)}.k-input-flat.k-invalid,.k-input-flat.ng-invalid.ng-touched,.k-input-flat.ng-invalid.ng-dirty{border-color:var(--kendo-color-error, #f31700)}.k-input-flat.k-invalid .k-input-validation-icon,.k-input-flat.ng-invalid.ng-touched .k-input-validation-icon,.k-input-flat.ng-invalid.ng-dirty .k-input-validation-icon{color:var(--kendo-color-error, #f31700)}.k-input-flat .k-input-prefix{color:var(--kendo-color-subtle, #757575)}.k-input-flat .k-input-suffix{color:var(--kendo-color-subtle, #757575)}.k-input-flat .k-input-separator{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-picker-flat{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 44%, transparent);color:var(--kendo-color-on-app-surface, #212121)}.k-picker-flat:hover,.k-picker-flat.k-hover{border-color:var(--kendo-color-on-app-surface, #212121)}.k-picker-flat:focus,.k-picker-flat.k-focus{border-color:var(--kendo-color-primary, #3f51b5)}.k-picker-flat:focus-within{border-color:var(--kendo-color-primary, #3f51b5)}.k-picker-flat:disabled,.k-picker-flat[disabled],.k-picker-flat.k-disabled{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 3%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 27%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 3%, transparent)}.k-picker-flat.k-invalid,.k-picker-flat.ng-invalid.ng-touched,.k-picker-flat.ng-invalid.ng-dirty{border-color:var(--kendo-color-error, #f31700)}.k-picker-flat.k-invalid .k-input-validation-icon,.k-picker-flat.ng-invalid.ng-touched .k-input-validation-icon,.k-picker-flat.ng-invalid.ng-dirty .k-input-validation-icon{color:var(--kendo-color-error, #f31700)}.k-floating-label-container{padding-top:calc(1.25*var(--kendo-font-size-lg, inherit));box-sizing:border-box;display:inline-flex;vertical-align:middle;position:relative;flex-direction:column;justify-content:stretch}.k-floating-label-container *,.k-floating-label-container *::before,.k-floating-label-container *::after{box-sizing:border-box}.k-floating-label-container>.k-floating-label{max-width:90%;font-size:var(--kendo-font-size-lg, inherit);line-height:1.25;white-space:nowrap;text-overflow:ellipsis;position:absolute;top:var(--kendo-floating-label-offset-y, calc(calc(1.25 * var(--kendo-font-size-lg, inherit)) + 1px + var(--kendo-spacing-2, 0.5rem)));left:var(--kendo-floating-label-offset-x, calc(var(--kendo-spacing-4, 1rem) + 1px));overflow:hidden;cursor:text;transform-origin:left center;transition:transform .15s cubic-bezier(0.4, 0, 0.2, 1),color .15s cubic-bezier(0.4, 0, 0.2, 1),top .15s cubic-bezier(0.4, 0, 0.2, 1),left .15s cubic-bezier(0.4, 0, 0.2, 1)}.k-floating-label-container.k-empty>.k-floating-label{top:var(--kendo-floating-label-offset-y, calc(calc(1.25 * var(--kendo-font-size-lg, inherit)) + 1px + var(--kendo-spacing-2, 0.5rem)));left:var(--kendo-floating-label-offset-x, calc(var(--kendo-spacing-4, 1rem) + 1px));transform:scale(1);pointer-events:none}.k-floating-label-container>.k-floating-label,.k-floating-label-container.k-focus>.k-floating-label{top:var(--kendo-floating-label-focus-offset-y, 0px);left:var(--kendo-floating-label-focus-offset-x, 0px);transform:scale(0.75)}.k-floating-label-container:focus-within>.k-floating-label{top:var(--kendo-floating-label-focus-offset-y, 0px);left:var(--kendo-floating-label-focus-offset-x, 0px);transform:scale(0.75)}.k-floating-label-container.k-empty:not(.k-focus):not(:focus-within) ::placeholder{color:rgba(0,0,0,0)}[dir=rtl] .k-floating-label-container>.k-floating-label,.k-rtl .k-floating-label-container>.k-floating-label,.k-floating-label-container[dir=rtl]>.k-floating-label{transform-origin:right center;transition:transform .15s cubic-bezier(0.4, 0, 0.2, 1),color .15s cubic-bezier(0.4, 0, 0.2, 1),top .15s cubic-bezier(0.4, 0, 0.2, 1),right .15s cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl] .k-floating-label-container.k-empty>.k-floating-label,.k-rtl .k-floating-label-container.k-empty>.k-floating-label,.k-floating-label-container[dir=rtl].k-empty>.k-floating-label{left:auto;right:var(--kendo-floating-label-offset-x, calc(var(--kendo-spacing-4, 1rem) + 1px))}[dir=rtl] .k-floating-label-container>.k-floating-label,[dir=rtl] .k-floating-label-container.k-focus>.k-floating-label,.k-rtl .k-floating-label-container>.k-floating-label,.k-rtl .k-floating-label-container.k-focus>.k-floating-label,.k-floating-label-container[dir=rtl]>.k-floating-label,.k-floating-label-container[dir=rtl].k-focus>.k-floating-label{left:auto;right:var(--kendo-floating-label-focus-offset-x, 0px)}[dir=rtl] .k-floating-label-container:focus-within>.k-floating-label,.k-rtl .k-floating-label-container:focus-within>.k-floating-label,.k-floating-label-container[dir=rtl]:focus-within>.k-floating-label{left:auto;right:var(--kendo-floating-label-focus-offset-x, 0px)}.k-floating-label-container>.k-floating-label{transform-origin:left bottom}[dir=rtl] .k-floating-label-container>.k-floating-label,.k-rtl .k-floating-label-container>.k-floating-label,.k-floating-label-container[dir=rtl]>.k-floating-label{transform-origin:right bottom}.k-floating-label-container>.k-floating-label{color:var(--kendo-color-subtle, #757575)}.k-floating-label-container.k-focus>.k-floating-label{color:var(--kendo-color-primary, #3f51b5)}.k-floating-label-container.k-invalid>.k-floating-label,.k-floating-label-container.ng-invalid.ng-touched>.k-floating-label,.k-floating-label-container.ng-invalid.ng-dirty>.k-floating-label{color:var(--kendo-color-error, #f31700)}.k-floating-label-container.k-invalid+.k-floating-label,.k-floating-label-container .k-invalid+.k-floating-label,.k-floating-label-container .ng-invalid.ng-touched+.k-floating-label,.k-floating-label-container .ng-invalid.ng-dirty+.k-floating-label{color:var(--kendo-color-error, #f31700)}.k-split-button .k-split-button-arrow{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-1, 0.25rem);width:auto;aspect-ratio:auto;flex:none}.k-split-button .k-split-button-arrow.k-button-sm{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-split-button .k-split-button-arrow.k-button-md{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-split-button .k-split-button-arrow.k-button-lg{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-split-button .k-split-button-arrow .k-button-icon{min-width:0}.k-split-button:focus,.k-split-button.k-focus{box-shadow:k-elevation(3)}.k-menu-button,.k-dropdown-button{aspect-ratio:auto;outline:0;display:inline-flex;flex-flow:row nowrap;vertical-align:middle}.k-menu-button>.k-button-arrow,.k-dropdown-button>.k-button-arrow{margin-inline-start:calc(var(--kendo-spacing-1, 0.25rem)*-1);margin-inline-end:calc(var(--kendo-spacing-4, 1rem)*-1);padding-left:var(--kendo-spacing-1, 0.25rem);padding-right:var(--kendo-spacing-1, 0.25rem);flex:none;display:inline-flex;align-items:center;justify-content:center}.k-menu-button.k-icon-button>.k-button-arrow,.k-dropdown-button.k-icon-button>.k-button-arrow{margin-inline-start:0;margin-inline-end:calc(var(--kendo-spacing-2, 0.5rem)*-1)}.k-textarea:has(.k-input-inner[style*=width]){width:max-content}.k-listbox{width:10em;height:200px;border-width:0;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;vertical-align:top;background-color:rgba(0,0,0,0);display:inline-flex;gap:var(--kendo-spacing-3, 0.75rem);-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-listbox .k-listbox-actions{display:flex;gap:var(--kendo-spacing-2, 0.5rem)}.k-listbox.k-listbox-actions-left,.k-listbox.k-listbox-actions-right{flex-direction:row}.k-listbox.k-listbox-actions-left .k-listbox-actions,.k-listbox.k-listbox-actions-right .k-listbox-actions{flex-direction:column}.k-listbox.k-listbox-actions-right{flex-direction:row-reverse}.k-listbox.k-listbox-actions-top,.k-listbox.k-listbox-actions-bottom{flex-direction:column}.k-listbox.k-listbox-actions-top .k-listbox-actions,.k-listbox.k-listbox-actions-bottom .k-listbox-actions{flex-direction:row}.k-listbox.k-listbox-actions-bottom{flex-direction:column-reverse}.k-listbox .k-list-scroller{width:100%;min-height:0;height:inherit;border-width:1px;border-style:solid;box-sizing:border-box;display:flex;flex-flow:column nowrap}.k-listbox .k-list-scroller .k-list-scroller{border-width:0}.k-listbox .k-list-scroller .k-list{height:inherit;background:rgba(0,0,0,0)}.k-listbox .k-drop-hint{border-top-width:2px;border-top-style:solid}.k-listbox .k-ghost{opacity:.5}.k-item{cursor:default}.k-listbox .k-item{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-listbox .k-list-scroller{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-listbox .k-drop-hint{border-top-color:var(--kendo-color-primary, #3f51b5)}.k-progressbar{border-radius:var(--kendo-border-radius-md, 0.25rem);--kendo-progressbar-value: 0;border-width:0px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size-sm, inherit);line-height:var(--kendo-line-height-xs, normal);display:inline-grid;vertical-align:middle;position:relative;overflow:hidden;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-progressbar *,.k-progressbar *::before,.k-progressbar *::after{box-sizing:border-box}.k-progressbar>.k-progressbar-value{border-width:0;border-style:solid;display:flex;overflow:hidden;grid-column:1/-1;grid-row:1/-1}.k-progressbar>.k-progressbar-chunks{border-width:inherit;border-style:inherit;white-space:nowrap;display:flex;align-items:stretch;flex:1;gap:1px;grid-column:1/-1;grid-row:1/-1}.k-progressbar .k-progressbar-chunk{display:block;border-width:0;flex:1}.k-progress-status-wrap{width:100%;height:100%;display:flex;align-items:center;flex-shrink:0;grid-column:1/-1;grid-row:1/-1}.k-progress-status-wrap.k-progress-start{justify-content:flex-start}.k-progress-status-wrap.k-progress-center{justify-content:center}.k-progress-status-wrap.k-progress-end{justify-content:flex-end}.k-progress-status{padding-block:0;padding-inline:var(--kendo-spacing-2, 0.5rem);min-width:10px;text-align:center;display:inline-block;white-space:nowrap}.k-progressbar-horizontal{width:100%;height:var(--kendo-progressbar-height, 5px);grid-template-columns:1fr;grid-template-rows:100%}.k-progressbar-horizontal .k-progress-status-wrap{flex-direction:row}.k-progressbar-horizontal>.k-progressbar-value{width:calc(var(--kendo-progressbar-value, 0)*1%);flex-direction:row}.k-progressbar-horizontal>.k-progressbar-value>.k-progress-status-wrap{width:calc(100%*100/var(--kendo-progressbar-value, 1))}.k-progressbar-horizontal>.k-progressbar-chunks{flex-direction:row}.k-progressbar-horizontal.k-progressbar-reverse>.k-progressbar-value{flex-direction:row-reverse;justify-self:flex-end}.k-progressbar-horizontal.k-progressbar-reverse>.k-progressbar-chunks{flex-direction:row-reverse}.k-progressbar-vertical{width:var(--kendo-progressbar-height, 5px);height:27em;grid-template-columns:100%;grid-template-rows:1fr}.k-progressbar-vertical .k-progress-status-wrap{flex-direction:column-reverse}.k-progressbar-vertical .k-progress-status{writing-mode:vertical-lr}.k-progressbar-vertical>.k-progressbar-value{height:calc(var(--kendo-progressbar-value, 0)*1%);flex-direction:column-reverse;align-self:flex-end;align-items:flex-end}.k-progressbar-vertical>.k-progressbar-value>.k-progress-status-wrap{height:calc(100%*100/var(--kendo-progressbar-value, 1))}.k-progressbar-vertical>.k-progressbar-chunks{flex-direction:column-reverse}.k-progressbar-vertical.k-progressbar-reverse{flex-direction:column}.k-progressbar-vertical.k-progressbar-reverse>.k-progressbar-value{flex-direction:column;align-self:flex-start}.k-progressbar-vertical.k-progressbar-reverse>.k-progressbar-chunks{flex-direction:column}.k-progressbar-indeterminate .k-progress-status-wrap,.k-progressbar-indeterminate .k-progressbar-value,.k-progressbar-indeterminate .k-progressbar-chunk{display:none}.telerik-blazor.k-progressbar-horizontal>.k-progressbar-value,.telerik-blazor.k-progressbar-horizontal>.k-progressbar-value>.k-progress-status-wrap{transition:width .1s ease-in-out}.k-rtl .k-progressbar,.k-progressbar[dir=rtl]{direction:rtl}.k-circular-progressbar{display:inline-block;text-align:start;position:relative}.k-circular-progressbar-surface{height:100%}.k-circular-progressbar-surface>div{width:100%;height:100%}.k-circular-progressbar-surface svg{width:100%;height:100%}.k-circular-progressbar-scale{fill:none}.k-circular-progressbar-arc{transform-box:fill-box;transform-origin:center center;transform:rotate(-90deg);stroke-linecap:round;fill:none}.k-circular-progressbar-label{position:absolute;text-align:center;padding:0;margin:0}.k-progressbar{border-radius:0;overflow:visible}.k-progressbar .k-progress-status-wrap{font-size:11px}.k-progressbar-horizontal .k-progress-status-wrap{align-items:flex-start}.k-progressbar-horizontal .k-progress-status{transform:translateY(-100%)}.k-progressbar-vertical .k-progress-status-wrap{align-items:flex-end}.k-progressbar-vertical .k-progress-status{transform:translateX(100%)}.k-progressbar-indeterminate{overflow:hidden}.k-progressbar-indeterminate::before,.k-progressbar-indeterminate::after{content:"";display:block;width:100%;height:100%;position:absolute;transform-origin:0 0}.k-progressbar-indeterminate.k-progressbar-horizontal::before{top:0;left:-150%;animation:kendo-progressbar-primary-indeterminate-horizontal 2s infinite}.k-progressbar-indeterminate.k-progressbar-horizontal::after{top:0;left:-50%;animation:kendo-progressbar-secondary-indeterminate-horizontal 2s infinite}.k-progressbar-indeterminate.k-progressbar-vertical::before{top:-150%;left:0;animation:kendo-progressbar-primary-indeterminate-vertical 2s infinite}.k-progressbar-indeterminate.k-progressbar-vertical::after{top:-50%;left:0;animation:kendo-progressbar-secondary-indeterminate-vertical 2s infinite}@keyframes kendo-progressbar-indeterminate-animation{from{background-position:0 0}to{background-position:5px 0}}.k-progressbar{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-primary-subtle, #d1d5ee)}.k-progressbar .k-selected{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-chunk-progressbar{background-color:rgba(0,0,0,0)}.k-progressbar-chunk{background-color:var(--kendo-color-primary-subtle, #d1d5ee)}.k-progressbar-chunk .k-selected{background-color:var(--kendo-color-primary, #3f51b5)}.k-progressbar-indeterminate{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-primary-subtle, #d1d5ee);background-image:linear-gradient(45deg, color-mix(in srgb, var(--kendo-color-base-emphasis, #adadad) 55%, transparent) 25%, transparent 25%, transparent 50%, color-mix(in srgb, var(--kendo-color-base-emphasis, #adadad) 55%, transparent) 50%, color-mix(in srgb, var(--kendo-color-base-emphasis, #adadad) 55%, transparent) 75%, transparent 75%, transparent);background-size:5px 5px;animation:kendo-progressbar-indeterminate-animation}.k-circular-progressbar-scale{stroke:var(--kendo-color-primary-subtle, #d1d5ee)}.k-circular-progressbar-arc{stroke:var(--kendo-color-primary, #3f51b5);transition:stroke .5s ease}@keyframes kendo-progressbar-primary-indeterminate-horizontal{0%{transform:translateX(0) scaleX(0)}20%{transform:translateX(0) scaleX(0.08);animation-timing-function:cubic-bezier(0.4, 0.08, 0.75, 0.8)}60%{transform:translateX(83%) scaleX(0.75);animation-timing-function:cubic-bezier(0.21, 0.25, 0.58, 0.98)}100%{transform:translateX(250%) scaleX(0.08)}}@keyframes kendo-progressbar-secondary-indeterminate-horizontal{0%{transform:translateX(0) scaleX(0.08);animation-timing-function:cubic-bezier(0.18, 0, 0.54, 0.42)}22%{transform:translateX(34%) scaleX(0.45);animation-timing-function:cubic-bezier(0.22, 0.25, 0.7, 0.9)}46%{transform:translateX(82%) scaleX(0.75);animation-timing-function:cubic-bezier(0.33, 0.3, 0.4, 1.2)}100%{transform:translateX(160%) scaleX(0.08)}}@keyframes kendo-progressbar-primary-indeterminate-vertical{0%{transform:translateY(0) scaleY(0)}20%{transform:translateY(0) scaleY(0.08);animation-timing-function:cubic-bezier(0.4, 0.08, 0.75, 0.8)}60%{transform:translateY(83%) scaleY(0.75);animation-timing-function:cubic-bezier(0.21, 0.25, 0.58, 0.98)}100%{transform:translateY(250%) scaleY(0.08)}}@keyframes kendo-progressbar-secondary-indeterminate-vertical{0%{transform:translateY(0) scaleY(0.08);animation-timing-function:cubic-bezier(0.18, 0, 0.54, 0.42)}22%{transform:translateY(34%) scaleY(0.45);animation-timing-function:cubic-bezier(0.22, 0.25, 0.7, 0.9)}46%{transform:translateY(82%) scaleY(0.75);animation-timing-function:cubic-bezier(0.33, 0.3, 0.4, 1.2)}100%{transform:translateY(160%) scaleY(0.08)}}.k-progressbar-indeterminate{background-image:none}.k-progressbar-indeterminate::before,.k-progressbar-indeterminate::after{background:var(--kendo-color-primary, #3f51b5)}.k-radio{border-radius:50%;margin:0;padding:0;line-height:initial;border-width:2px;border-style:solid;outline:0;box-sizing:border-box;background-position:center;background-repeat:no-repeat;background-size:contain;display:inline-block;flex:none;vertical-align:middle;position:relative;cursor:pointer;-webkit-appearance:none}.k-radio:checked,.k-radio.k-checked{background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27%3e%3ccircle cx=%2750%25%27 cy=%2750%25%27 r=%274%27 fill=%27var%28--kendo-color-primary, %233f51b5%29%27/%3e%3c/svg%3e")}.k-radio:disabled,.k-radio.k-disabled{outline:none;cursor:default;color:var(--kendo-color-on-app-surface, #212121);opacity:.6;filter:grayscale(0.1);pointer-events:none;box-shadow:none}.k-radio:disabled:checked,.k-radio.k-disabled.k-checked{background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27%3e%3ccircle cx=%2750%25%27 cy=%2750%25%27 r=%274%27 fill=%27var%28--kendo-color-base-emphasis, %23adadad%29%27/%3e%3c/svg%3e")}.k-radio-wrap{flex:none;display:inline-flex;flex-flow:row nowrap;gap:0;align-items:center;align-self:start;vertical-align:middle;position:relative}.k-radio-wrap::before{content:"​";width:0px;overflow:hidden;flex:none;display:inline-block;vertical-align:top}.k-radio-label{margin:0;padding:0;display:inline-flex;align-items:flex-start;gap:var(--kendo-spacing-1, 0.25rem);vertical-align:middle;position:relative;cursor:pointer}.k-radio-label .k-ripple{visibility:hidden !important}.k-radio+.k-label,.k-radio-wrap+.k-label,.k-radio+.k-radio-label,.k-radio-wrap+.k-radio-label{display:inline;margin-inline-start:var(--kendo-spacing-1, 0.25rem)}.k-radio-label:empty{display:none !important}.k-radio-label.k-no-text{min-width:1px}.k-radio-list{margin:0;padding:0;display:flex;flex-flow:column nowrap;gap:0;list-style:none}.k-radio-item,.k-radio-list-item{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-0, 0px);display:flex;flex-flow:row nowrap;align-items:center;align-content:center;gap:var(--kendo-spacing-1, 0.25rem)}.k-radio-item .k-radio-label,.k-radio-list-item .k-radio-label{margin:0}.k-radio-list-horizontal,.k-radio-list.k-list-horizontal{display:flex;flex-flow:row wrap;gap:var(--kendo-spacing-4, 1rem)}.k-ripple-container .k-radio::after{content:"";display:block;position:absolute;left:50%;top:50%;border-radius:100%;z-index:-1;transition:opacity 100ms linear,transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-50%, -50%) scale(0);transform-origin:center center}.k-ripple-container .k-radio:focus,.k-ripple-container .k-radio.k-focus{box-shadow:none !important}.k-ripple-container .k-radio:disabled::after,.k-ripple-container .k-radio.k-disabled::after{display:none}.k-ripple-container .k-radio:disabled::after,.k-ripple-container .k-radio.k-disabled::after{display:none}.k-radio-sm{width:var(--kendo-spacing-3, 0.75rem);height:var(--kendo-spacing-3, 0.75rem)}.k-radio-sm::before{font-size:var(--kendo-spacing-2\.5, 0.625rem)}.k-ripple-container .k-radio-sm::after{width:300%;height:300%}.k-radio-md{width:var(--kendo-spacing-4, 1rem);height:var(--kendo-spacing-4, 1rem)}.k-radio-md::before{font-size:var(--kendo-spacing-3\.5, 0.875rem)}.k-ripple-container .k-radio-md::after{width:300%;height:300%}.k-radio-lg{width:var(--kendo-spacing-5, 1.25rem);height:var(--kendo-spacing-5, 1.25rem)}.k-radio-lg::before{font-size:var(--kendo-spacing-4\.5, 1.125rem)}.k-ripple-container .k-radio-lg::after{width:300%;height:300%}.k-radio::before{transition:transform linear 280ms;transform-origin:0 0}.k-radio{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 44%, transparent)}.k-radio.k-invalid,.k-radio.ng-invalid.ng-touched,.k-radio.ng-invalid.ng-dirty{border-color:var(--kendo-color-error, #f31700)}.k-radio.k-invalid+.k-radio-label,.k-radio.ng-invalid.ng-touched+.k-radio-label,.k-radio.ng-invalid.ng-dirty+.k-radio-label{color:var(--kendo-color-error, #f31700)}.k-radio:checked,.k-radio.k-checked{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-primary, #3f51b5)}.k-radio:disabled,.k-radio.k-disabled{border-color:var(--kendo-color-base-emphasis, #adadad)}.k-radio:checked:disabled,.k-radio.k-checked.k-disabled{border-color:var(--kendo-color-base-emphasis, #adadad);color:var(--kendo-color-base-emphasis, #adadad)}.k-ripple-container .k-radio::after{background:var(--kendo-color-primary, #3f51b5);opacity:.2}.k-radio:disabled+.k-radio-label{color:var(--kendo-color-subtle, #757575);opacity:1;filter:none}.k-slider{border:0;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);background:none;display:inline-flex;align-items:center;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-slider *,.k-slider *::before,.k-slider *::after{box-sizing:border-box}.k-slider .k-label{width:auto;font-size:.92em;line-height:1;white-space:nowrap;position:absolute}.k-slider .k-tick,.k-slider .k-slider-track{cursor:pointer}.k-slider .k-tick{background-color:rgba(0,0,0,0);background-position:center center;background-repeat:no-repeat;margin:0;padding:0;position:relative}.k-slider.k-disabled .k-tick,.k-slider.k-disabled .k-slider-track,.k-slider.k-disabled .k-draghandle{cursor:default}.k-slider{width:min-content;height:min-content;gap:calc(14px/2)}.k-slider .k-button{flex:none}.k-slider .k-slider-track-wrap{flex:1 1 auto;display:flex;flex-flow:inherit;position:relative;touch-action:none}.k-slider .k-slider-track-wrap .k-slider-items{margin:0;padding:0;list-style:none;flex:1 1 100%;display:flex;flex-flow:inherit;justify-content:space-between;user-select:none}.k-slider .k-slider-track-wrap .k-tick{flex:0 0 1px}.k-slider .k-slider-track-wrap .k-tick-horizontal{width:1px;min-height:100%}.k-slider .k-slider-track-wrap .k-tick-vertical{width:100%;min-height:1px}.k-slider .k-slider-track-wrap .k-draghandle{position:absolute}.k-slider-horizontal .k-slider-track-wrap{height:26px}.k-slider-horizontal .k-slider-track-wrap .k-slider-track{width:100%}.k-slider-horizontal .k-slider-track-wrap .k-draghandle{top:50%;transform:translate(-50%, -50%)}.k-slider-horizontal .k-slider-track-wrap .k-draghandle:focus,.k-slider-horizontal .k-slider-track-wrap .k-draghandle:active{transform:translate(-50%, -50%) scale(1)}.k-slider-horizontal .k-slider-track-wrap .k-slider-selection{width:calc((var(--kendo-slider-end, 0) - var(--kendo-slider-start, 0))*1%);inset-inline-start:calc(var(--kendo-slider-start, 0)*1%)}.k-slider-horizontal .k-slider-track-wrap .k-draghandle-start{inset-inline-start:calc(var(--kendo-slider-start, 0)*1%)}.k-slider-horizontal .k-slider-track-wrap .k-draghandle-end{inset-inline-start:calc(var(--kendo-slider-end, 0)*1%)}.k-slider-vertical .k-slider-track-wrap{width:26px}.k-slider-vertical .k-slider-track-wrap .k-slider-track{height:100%}.k-slider-vertical .k-slider-track-wrap .k-draghandle{left:50%;transform:translate(-50%, 50%)}.k-slider-vertical .k-slider-track-wrap .k-draghandle:focus,.k-slider-vertical .k-slider-track-wrap .k-draghandle:active{transform:translate(-50%, 50%) scale(1)}.k-slider-vertical .k-slider-track-wrap .k-slider-selection{bottom:calc(var(--kendo-slider-start, 0)*1%);height:calc((var(--kendo-slider-end, 0) - var(--kendo-slider-start, 0))*1%)}.k-slider-vertical .k-slider-track-wrap .k-draghandle-start{bottom:calc(var(--kendo-slider-start, 0)*1%)}.k-slider-vertical .k-slider-track-wrap .k-draghandle-end{bottom:calc(var(--kendo-slider-end, 0)*1%)}.k-slider-vertical{height:200px;flex-flow:column-reverse nowrap}.k-slider-vertical .k-tick{text-align:end;margin-left:2px}.k-slider-vertical .k-slider-topleft .k-tick{text-align:start}.k-slider-vertical .k-tick{background-position:-94px center}.k-slider-vertical .k-slider-topleft .k-tick{background-position:-124px center}.k-slider-vertical .k-slider-bottomright .k-tick{background-position:-154px center}.k-slider-vertical .k-tick-large{display:flex;align-items:center;background-position:-4px center}.k-slider-vertical .k-slider-topleft .k-tick-large{background-position:-34px center}.k-slider-vertical .k-slider-bottomright .k-tick-large{background-position:-64px center}.k-slider-vertical .k-first{background-position:-94px 100%}.k-slider-vertical .k-tick-large.k-first{background-position:-4px 100%}.k-slider-vertical .k-slider-topleft .k-first{background-position:-124px 100%}.k-slider-vertical .k-slider-topleft .k-tick-large.k-first{background-position:-34px 100%}.k-slider-vertical .k-slider-bottomright .k-first{background-position:-154px 100%}.k-slider-vertical .k-slider-bottomright .k-tick-large.k-first{background-position:-64px 100%}.k-slider-vertical .k-last{background-position:-94px 0}.k-slider-vertical .k-tick-large.k-last{background-position:-4px 0}.k-slider-vertical .k-slider-topleft .k-last{background-position:-124px 0}.k-slider-vertical .k-slider-topleft .k-tick-large.k-last{background-position:-34px 0}.k-slider-vertical .k-slider-bottomright .k-last{background-position:-154px 0}.k-slider-vertical .k-slider-bottomright .k-tick-large.k-last{background-position:-64px 0}.k-slider-vertical .k-label{text-align:start;inset-inline-start:120%;top:50%;transform:translateY(-50%)}.k-slider-vertical .k-first .k-label{top:100%}.k-slider-vertical .k-last .k-label{top:0}.k-slider-vertical .k-slider-topleft .k-label{inset-inline-start:auto;inset-inline-end:120%}.k-slider-horizontal{width:200px;flex-flow:row nowrap}.k-slider-horizontal .k-tick{background-position:center -92px}.k-slider-horizontal .k-slider-topleft .k-tick{background-position:center -122px}.k-slider-horizontal .k-slider-bottomright .k-tick{background-position:center -152px}.k-slider-horizontal .k-tick-large{background-position:center -2px}.k-slider-horizontal .k-slider-topleft .k-tick-large{background-position:center -32px}.k-slider-horizontal .k-slider-bottomright .k-tick-large{background-position:center -62px}.k-slider-horizontal .k-first{background-position:0 -92px}.k-slider-horizontal .k-tick-large.k-first{background-position:0 -2px}.k-slider-horizontal .k-slider-topleft .k-first{background-position:0 -122px}.k-slider-horizontal .k-slider-topleft .k-tick-large.k-first{background-position:0 -32px}.k-slider-horizontal .k-slider-bottomright .k-first{background-position:0 -152px}.k-slider-horizontal .k-slider-bottomright .k-tick-large.k-first{background-position:0 -62px}.k-slider-horizontal .k-last{background-position:100% -92px}.k-slider-horizontal .k-tick-large.k-last{background-position:100% -2px}.k-slider-horizontal .k-slider-topleft .k-last{background-position:100% -122px}.k-slider-horizontal .k-slider-topleft .k-tick-large.k-last{background-position:100% -32px}.k-slider-horizontal .k-slider-bottomright .k-last{background-position:100% -152px}.k-slider-horizontal .k-slider-bottomright .k-tick-large.k-last{background-position:100% -62px}.k-slider-horizontal .k-label{inset-inline-start:50%;bottom:-1.2em;transform:translateX(-50%)}.k-slider-horizontal .k-first .k-label{inset-inline-start:0}.k-slider-horizontal .k-last .k-label{inset-inline-start:100%}.k-slider-horizontal .k-slider-topleft .k-label{top:-1.2em}.k-slider-track,.k-slider-selection{margin:0;padding:0;position:absolute}.k-slider-horizontal .k-slider-track,.k-slider-horizontal .k-slider-selection{height:2px;left:0;margin-top:-1px;top:50%}.k-slider-vertical .k-slider-track,.k-slider-vertical .k-slider-selection{bottom:0;left:50%;margin-left:-1px;width:2px}.k-draghandle{background-color:rgba(0,0,0,0);background-repeat:no-repeat;border-style:solid;border-width:0px;outline:0;position:absolute;text-align:center;text-decoration:none;width:14px;height:14px}.k-slider-transitions.k-slider-horizontal .k-draghandle{transition:inset-inline-start .3s ease-out,background-color .3s ease-out,transform .4s cubic-bezier(0.25, 0.8, 0.25, 1)}.k-slider-transitions.k-slider-vertical .k-draghandle{transition:bottom .3s ease-out,background-color .3s ease-out,transform .4s cubic-bezier(0.25, 0.8, 0.25, 1)}.k-draghandle.k-pressed{transition:none}.k-slider-transitions.k-slider-horizontal .k-slider-selection{transition:width .3s ease-out}.k-slider-transitions.k-slider-vertical .k-slider-selection{transition:height .3s ease-out}.k-slider-selection.k-pressed{transition:none}.k-slider.k-readonly .k-button,.k-slider.k-readonly .k-slider-track,.k-slider.k-readonly .k-tick,.k-slider.k-readonly .k-draghandle{pointer-events:none}.k-slider-tooltip .k-callout-n,.k-slider-tooltip .k-callout-s{margin-inline-start:-3px}.k-slider-tooltip .k-callout-w,.k-slider-tooltip .k-callout-e{margin-top:-3px}.k-slider-rtl.k-slider-horizontal .k-draghandle,.k-slider-horizontal.k-slider[dir=rtl] .k-draghandle,[dir=rtl] .k-slider-horizontal.k-slider .k-draghandle,.k-slider-horizontal.k-slider.k-rtl .k-draghandle,.k-rtl .k-slider-horizontal.k-slider .k-draghandle{transform:translate(50%, -50%)}.k-slider-rtl.k-slider-horizontal .k-draghandle:focus,.k-slider-horizontal.k-slider[dir=rtl] .k-draghandle:focus,[dir=rtl] .k-slider-horizontal.k-slider .k-draghandle:focus,.k-slider-horizontal.k-slider.k-rtl .k-draghandle:focus,.k-rtl .k-slider-horizontal.k-slider .k-draghandle:focus,.k-slider-rtl.k-slider-horizontal .k-draghandle:active,.k-slider-horizontal.k-slider[dir=rtl] .k-draghandle:active,[dir=rtl] .k-slider-horizontal.k-slider .k-draghandle:active,.k-slider-horizontal.k-slider.k-rtl .k-draghandle:active,.k-rtl .k-slider-horizontal.k-slider .k-draghandle:active{transform:translate(50%, -50%) scale(1)}.k-slider-rtl.k-slider-horizontal .k-label,.k-slider-horizontal.k-slider[dir=rtl] .k-label,[dir=rtl] .k-slider-horizontal.k-slider .k-label,.k-slider-horizontal.k-slider.k-rtl .k-label,.k-rtl .k-slider-horizontal.k-slider .k-label{transform:translateX(50%)}.k-slider kendo-resize-sensor{position:absolute}.k-slider .k-tick{margin:0}.k-slider .k-tick::after{content:"";position:absolute;z-index:1;height:2px;width:2px;top:50%;left:50%;margin:-1px 0 0 -1px}.k-slider .k-draghandle{z-index:2}.k-slider-horizontal .k-tick.k-first::after{left:0}.k-slider-horizontal .k-tick.k-last::after{left:auto;right:0}.k-slider-vertical .k-tick.k-last::after{top:0}.k-slider-vertical .k-tick.k-first::after{top:auto;bottom:0}.k-slider{color:var(--kendo-color-on-app-surface, #212121)}.k-slider .k-slider-track,.k-slider .k-slider-selection{border-radius:var(--kendo-border-radius-md, 0.25rem)}.k-slider .k-slider-track{background-color:var(--kendo-color-primary-subtle, #d1d5ee)}.k-slider .k-slider-selection{background-color:var(--kendo-color-primary, #3f51b5)}.k-slider .k-draghandle{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5);border-radius:50%}.k-slider .k-draghandle:focus,.k-slider .k-draghandle.k-focus{box-shadow:0 0 0 11px color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 25%, transparent)}.k-slider.k-focus .k-draghandle{box-shadow:0 0 0 11px color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 25%, transparent)}.k-slider.k-disabled{opacity:.65}.k-slider{cursor:pointer}.k-slider .k-slider-track,.k-slider .k-slider-selection{border-radius:0}.k-slider .k-tick::after{background-color:var(--kendo-color-on-app-surface, #212121)}.k-slider .k-draghandle{box-sizing:border-box}.k-slider .k-draghandle:focus{box-shadow:0 0 0 11px color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 25%, transparent)}.k-slider.k-disabled{opacity:1}.k-slider.k-disabled .k-slider-track,.k-slider.k-disabled .k-slider-selection,.k-slider.k-disabled .k-draghandle{background-color:var(--kendo-color-primary-subtle, #d1d5ee)}.k-slider.k-disabled .k-draghandle{border:2px solid inherit}.k-calendar{inline-size:var(--INTERNAL--kendo-calendar-width, min-content);block-size:var(--INTERNAL--kendo-calendar-height, min-content);border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;position:relative;overflow:hidden;display:inline-flex;flex-flow:column nowrap;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-calendar>.k-calendar{border:0}.k-calendar-table{margin-block:0;margin-inline:auto;border-width:0;border-color:inherit;border-spacing:0;border-collapse:separate;table-layout:fixed;text-align:center;outline:0;display:table;position:relative;z-index:1}.k-calendar-caption,.k-calendar-caption.k-calendar-th,.k-calendar .k-meta-header,.k-calendar .k-month-header{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-4, 1rem);height:36px;box-sizing:border-box;text-transform:none;text-align:start;font-weight:bold;cursor:default}.k-calendar-th,.k-calendar-td{border-width:0;padding:0;text-align:center;border-style:solid;border-color:inherit;font-weight:normal;cursor:default}.k-calendar-th{inline-size:var(--INTERNAL--kendo-calendar-cell-size, 36px);block-size:var(--INTERNAL--kendo-calendar-cell-size, 36px);font-size:var(--kendo-font-size-sm, inherit);line-height:var(--kendo-line-height, normal);text-transform:uppercase}.k-calendar-td{border-radius:100px;inline-size:var(--INTERNAL--kendo-calendar-cell-size, min-content);block-size:var(--INTERNAL--kendo-calendar-cell-size, min-content);border-color:rgba(0,0,0,0)}.k-calendar-td.k-alt{font-size:.75rem}.k-calendar .k-calendar-cell-inner,.k-calendar .k-link{border-radius:100px;padding-inline:var(--INTERNAL--kendo-calendar-cell-padding-x, 0.25em);padding-block:var(--INTERNAL--kendo-calendar-cell-padding-y, 0.25em);width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:row;align-items:center;justify-content:center;white-space:normal;position:relative;overflow:hidden}.k-calendar .k-header{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem);border-bottom-width:0px;border-bottom-style:solid;display:flex;flex-flow:row nowrap;align-items:center;position:relative;z-index:2}.k-calendar-header{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem);min-width:288px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;flex:0 0 auto}.k-calendar-header .k-calendar-nav{display:flex;flex-flow:row nowrap;align-items:center}.k-calendar-footer,.k-calendar .k-footer{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);text-align:center;clear:both}.k-calendar-view{margin:auto;padding-block:0;padding-inline:var(--kendo-spacing-1, 0.25rem);width:288px;inline-size:var(--INTERNAL--kendo-calendar-view-width, 288px);min-height:252px;box-sizing:content-box;gap:var(--kendo-spacing-4, 1rem);position:relative;z-index:1;overflow:hidden}.k-calendar-view .k-today{font-weight:bold}.k-month-calendar .k-calendar-td,.k-calendar-monthview .k-calendar-td{width:36px;height:36px;inline-size:var(--INTERNAL--kendo-calendar-cell-size, 36px);block-size:var(--INTERNAL--kendo-calendar-cell-size, 36px)}.k-year-calendar .k-calendar-td,.k-calendar-yearview .k-calendar-td{width:72px;height:72px;inline-size:var(--INTERNAL--kendo-calendar-cell-size, 72px);block-size:var(--INTERNAL--kendo-calendar-cell-size, 72px)}.k-decade-calendar .k-calendar-td,.k-calendar-decadeview .k-calendar-td{width:72px;height:72px;inline-size:var(--INTERNAL--kendo-calendar-cell-size, 72px);block-size:var(--INTERNAL--kendo-calendar-cell-size, 72px)}.k-century-calendar .k-calendar-td,.k-calendar-centuryview .k-calendar-td{width:72px;height:72px;inline-size:var(--INTERNAL--kendo-calendar-cell-size, 72px);block-size:var(--INTERNAL--kendo-calendar-cell-size, 72px)}.k-century-calendar .k-calendar-cell-inner,.k-century-calendar .k-link,.k-calendar-centuryview .k-calendar-cell-inner,.k-calendar-centuryview .k-link{text-align:start}.k-popup .k-calendar{height:100%}.k-calendar-container,.k-datetime-container{padding:0}.k-calendar-container .k-calendar,.k-datetime-container .k-calendar{border-width:0}.k-calendar .k-content.k-scrollable,.k-calendar .k-calendar-content.k-scrollable{box-sizing:content-box;overflow-x:hidden;overflow-y:auto;display:block;padding-right:100px;padding-left:100px;margin-left:-100px;margin-right:calc(-100px - var(--kendo-scrollbar-width, 17px))}.k-calendar .k-scrollable-placeholder{position:absolute;z-index:-1;width:1px;top:0;right:0}.k-calendar-sm{--INTERNAL--kendo-calendar-view-width: 256px;--INTERNAL--kendo-calendar-cell-padding-x: var( --kendo-calendar-sm-cell-padding-x, var(--kendo-spacing-0\.5, 0.125rem) );--INTERNAL--kendo-calendar-cell-padding-y: var( --kendo-calendar-sm-cell-padding-y, var(--kendo-spacing-0\.5, 0.125rem) );font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal)}.k-calendar-sm.k-month-calendar,.k-calendar-sm .k-calendar-monthview{--INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-sm-month-cell-size, 32px )}.k-calendar-sm.k-year-calendar,.k-calendar-sm .k-calendar-yearview{--INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-sm-year-cell-size, 64px )}.k-calendar-sm.k-decade-calendar,.k-calendar-sm .k-calendar-decadeview{--INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-sm-decade-cell-size, 64px )}.k-calendar-sm.k-century-calendar,.k-calendar-sm .k-calendar-centuryview{--INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-sm-century-cell-size, 64px )}.k-calendar-md{--INTERNAL--kendo-calendar-view-width: 288px;--INTERNAL--kendo-calendar-cell-padding-x: var( --kendo-calendar-md-cell-padding-x, var(--kendo-spacing-1, 0.25rem) );--INTERNAL--kendo-calendar-cell-padding-y: var( --kendo-calendar-md-cell-padding-y, var(--kendo-spacing-1, 0.25rem) );font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal)}.k-calendar-md.k-month-calendar,.k-calendar-md .k-calendar-monthview{--INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-md-month-cell-size, 36px )}.k-calendar-md.k-year-calendar,.k-calendar-md .k-calendar-yearview{--INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-md-year-cell-size, 72px )}.k-calendar-md.k-decade-calendar,.k-calendar-md .k-calendar-decadeview{--INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-md-decade-cell-size, 72px )}.k-calendar-md.k-century-calendar,.k-calendar-md .k-calendar-centuryview{--INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-md-century-cell-size, 72px )}.k-calendar-lg{--INTERNAL--kendo-calendar-view-width: 320px;--INTERNAL--kendo-calendar-cell-padding-x: var( --kendo-calendar-lg-cell-padding-x, var(--kendo-spacing-1, 0.25rem) );--INTERNAL--kendo-calendar-cell-padding-y: var( --kendo-calendar-lg-cell-padding-y, var(--kendo-spacing-1, 0.25rem) );font-size:var(--kendo-font-size-lg, inherit);line-height:var(--kendo-line-height-lg, normal)}.k-calendar-lg.k-month-calendar,.k-calendar-lg .k-calendar-monthview{--INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-lg-month-cell-size, 40px )}.k-calendar-lg.k-year-calendar,.k-calendar-lg .k-calendar-yearview{--INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-lg-year-cell-size, 80px )}.k-calendar-lg.k-decade-calendar,.k-calendar-lg .k-calendar-decadeview{--INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-lg-decade-cell-size, 80px )}.k-calendar-lg.k-century-calendar,.k-calendar-lg .k-calendar-centuryview{--INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-lg-century-cell-size, 80px )}.k-calendar-infinite{box-sizing:content-box;display:inline-flex;flex-flow:row nowrap}.k-calendar-infinite .k-calendar-view{padding-block:var(--kendo-spacing-0, 0px);padding-inline:var(--kendo-spacing-4, 1rem);height:324px;flex:0 0 auto;display:flex;flex-flow:column nowrap;gap:0;overflow:hidden}.k-calendar-infinite .k-calendar-view .k-content.k-scrollable{position:relative}.k-calendar-infinite .k-calendar-view::after{display:block;position:absolute;bottom:0;content:"​";height:0;line-height:0;z-index:1;width:150%;left:-25%;box-shadow:0 0 36px 18px var(--kendo-color-surface-alt, #ffffff)}.k-calendar-infinite .k-calendar-header{margin-left:calc(var(--kendo-spacing-4, 1rem)*-1);margin-right:calc(var(--kendo-spacing-4, 1rem)*-1);padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);width:auto;min-width:0}.k-calendar-infinite .k-calendar-weekdays{flex:0 0 auto}.k-calendar-navigation{width:5em;text-align:center;flex:0 0 auto;display:block;overflow:hidden;position:relative;z-index:1}.k-calendar-navigation::before,.k-calendar-navigation::after{display:block;position:absolute;content:"​";height:0;line-height:0;z-index:1;width:200%;left:-50%;box-shadow:0 0 6em 3em var(--kendo-color-surface, #f5f5f5)}.k-calendar-navigation::before{top:0}.k-calendar-navigation::after{bottom:0}.k-calendar-navigation .k-content,.k-calendar-navigation .k-calendar-content{background:rgba(0,0,0,0);height:auto;position:absolute;top:0;left:0;bottom:0;right:0}.k-calendar-navigation .k-content ul,.k-calendar-navigation .k-calendar-content ul{width:5em}.k-calendar-navigation .k-content li,.k-calendar-navigation .k-calendar-content li{height:2em;line-height:2em;cursor:pointer;padding-block:0;padding-inline:1em;overflow:hidden;white-space:nowrap;text-overflow:clip}.k-calendar-navigation .k-calendar-navigation-marker{font-weight:bold}.k-calendar-navigation .k-calendar-navigation-highlight{width:100%;border-width:1px 0;border-style:solid;height:2em;box-sizing:border-box;position:absolute;top:50%;right:0;transform:translateY(-50%)}.k-calendar-range{width:auto}.k-calendar-range .k-calendar-view{width:auto;white-space:nowrap}.k-calendar-range .k-calendar-view::after{display:none}.k-calendar-range .k-calendar-view:focus{outline:0}.k-range-start{border-radius:var(--kendo-border-radius-full, 9999px) 0 0 var(--kendo-border-radius-full, 9999px)}.k-range-start .k-calendar-cell-inner,.k-range-start .k-link{border-color:inherit;border-radius:inherit}.k-range-end{border-radius:0 var(--kendo-border-radius-full, 9999px) var(--kendo-border-radius-full, 9999px) 0}.k-range-end .k-calendar-cell-inner,.k-range-end .k-link{border-color:inherit;border-radius:inherit}.k-range-mid{border-color:inherit;border-radius:0}.k-range-start.k-range-end{border-radius:var(--kendo-border-radius-full, 9999px)}.k-rtl .k-calendar .k-content.k-scrollable,.k-rtl .k-calendar .k-calendar-content.k-scrollable,[dir=rtl] .k-calendar .k-content.k-scrollable,[dir=rtl] .k-calendar .k-calendar-content.k-scrollable,.k-calendar.k-rtl .k-content.k-scrollable,.k-calendar.k-rtl .k-calendar-content.k-scrollable,.k-calendar[dir=rtl] .k-content.k-scrollable,.k-calendar[dir=rtl] .k-calendar-content.k-scrollable{padding-right:100px;padding-left:100px;margin-left:calc(-100px - var(--kendo-scrollbar-width, 17px));margin-right:-100px}.k-rtl .k-calendar .k-range-start,[dir=rtl] .k-calendar .k-range-start,.k-calendar.k-rtl .k-range-start,.k-calendar[dir=rtl] .k-range-start{border-radius:0 var(--kendo-border-radius-full, 9999px) var(--kendo-border-radius-full, 9999px) 0}.k-rtl .k-calendar .k-range-end,[dir=rtl] .k-calendar .k-range-end,.k-calendar.k-rtl .k-range-end,.k-calendar[dir=rtl] .k-range-end{border-radius:var(--kendo-border-radius-full, 9999px) 0 0 var(--kendo-border-radius-full, 9999px)}.k-calendar .k-title,.k-calendar .k-calendar-title{font-weight:500;text-transform:none}.k-calendar .k-calendar-caption,.k-calendar .k-calendar-view th,.k-calendar .k-calendar-view .k-calendar-th,.k-calendar .k-meta-header,.k-calendar .k-month-header{font-weight:500}.k-calendar .k-calendar-view tbody th,.k-calendar .k-calendar-view .k-calendar-tbody .k-calendar-th{font-weight:700}.k-calendar{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-calendar .k-header{border-color:inherit;color:var(--kendo-color-on-app-surface, #212121)}.k-calendar .k-calendar-th,.k-calendar .k-calendar-caption,.k-calendar .k-meta-header,.k-calendar .k-month-header{color:var(--kendo-color-subtle, #757575)}.k-calendar .k-calendar-view .k-today{color:var(--kendo-color-primary, #3f51b5)}.k-calendar .k-other-month{color:var(--kendo-color-subtle, #757575)}.k-calendar .k-alt{background-color:rgba(0,0,0,0);color:var(--kendo-color-subtle, #757575)}.k-calendar .k-calendar-td:hover .k-calendar-cell-inner,.k-calendar .k-calendar-td:hover .k-link,.k-calendar .k-calendar-td.k-hover .k-calendar-cell-inner,.k-calendar .k-calendar-td.k-hover .k-link{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-calendar .k-calendar-td.k-selected .k-calendar-cell-inner,.k-calendar .k-calendar-td.k-selected .k-link{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-calendar .k-calendar-td.k-selected:hover .k-calendar-cell-inner,.k-calendar .k-calendar-td.k-selected:hover .k-link,.k-calendar .k-calendar-td.k-selected.k-hover .k-calendar-cell-inner,.k-calendar .k-calendar-td.k-selected.k-hover .k-link{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary-hover, #3a4ba7)}.k-calendar .k-calendar-navigation{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface, #f5f5f5);box-shadow:inset -1px 0 var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-calendar .k-calendar-navigation li:hover,.k-calendar .k-calendar-navigation li.k-hover{color:var(--kendo-color-secondary-hover, #d31857)}.k-calendar .k-calendar-navigation-highlight{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-calendar[dir=rtl] .k-calendar-navigation,.k-rtl .k-calendar .k-calendar-navigation{box-shadow:inset 1px 0 var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-calendar.k-invalid,.k-calendar.k-invalid:hover,.k-calendar.ng-invalid.ng-touched,.k-calendar.ng-invalid.ng-dirty{border-color:var(--kendo-color-error, #f31700)}.k-scheduler .k-calendar .k-other-month{color:var(--kendo-color-subtle, #757575);background-color:rgba(0,0,0,0)}.k-calendar .k-range-start,.k-calendar .k-range-end,.k-calendar .k-range-mid{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 25%, transparent)}.k-calendar .k-range-start .k-calendar-cell-inner,.k-calendar .k-range-start .k-link,.k-calendar .k-range-end .k-calendar-cell-inner,.k-calendar .k-range-end .k-link{background-color:var(--kendo-color-primary, #3f51b5)}.k-calendar .k-range-start.k-active .k-calendar-cell-inner,.k-calendar .k-range-start.k-active .k-link,.k-calendar .k-range-end.k-active .k-calendar-cell-inner,.k-calendar .k-range-end.k-active .k-link{box-shadow:inset 0 0 2px 2px rgba(0,0,0,.2)}.k-calendar .k-range-split-start,.k-calendar .k-range-split-end{position:relative}.k-calendar .k-range-split-start::after,.k-calendar .k-range-split-end::after{content:"";display:block;position:absolute;top:0;bottom:0;width:5px}.k-calendar .k-range-split-start::after{left:-5px;right:auto;background-image:linear-gradient(to left, color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 25%, transparent), transparent 100%)}.k-calendar .k-range-split-end::after{right:-5px;left:auto;background-image:linear-gradient(to right, color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 25%, transparent), transparent 100%)}.k-calendar .k-focus .k-link{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-calendar .k-selected.k-focus .k-link{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-timeselector{border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;position:relative;overflow:hidden;display:flex;flex-flow:column nowrap;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-popup>.k-timeselector{border-width:0}.k-time-header,.k-time-selector-header{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;flex:0 0 auto}.k-time-header .k-title,.k-time-header .k-time-selector-header-title,.k-time-selector-header .k-title,.k-time-selector-header .k-time-selector-header-title{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);font-weight:bold;display:inline-block}.k-time-header .k-time-now,.k-time-selector-header .k-time-now{border-width:0;line-height:inherit;cursor:pointer}.k-actions.k-time-fast-selection,.k-time-fast-selection.k-edit-buttons,.k-time-fast-selection.k-action-buttons,.k-time-fast-selection.k-columnmenu-actions,.k-time-fast-selection.k-form-buttons{margin-top:0}.k-time-list-container{display:flex;position:relative;flex:1 1 auto;overflow:hidden}.k-time-highlight,.k-time-list-highlight{width:100%;height:calc(var(--kendo-font-size, inherit)*1.4285714286 + var(--kendo-spacing-2, 0.5rem)*2);border-width:1px 0px;border-style:solid;box-sizing:border-box;position:absolute;top:calc(50% + calc(var(--kendo-font-size-sm, inherit) * var(--kendo-line-height-lg, normal))/2);left:0;right:0;transform:translateY(-50%);z-index:1}.k-time-list-wrapper{min-width:4em;height:240px;box-sizing:content-box;display:inline-flex;flex-flow:column nowrap;align-items:stretch;overflow:hidden;position:relative;text-align:center;flex:1 1 auto}.k-time-list-wrapper .k-title{font-size:var(--kendo-font-size-sm, inherit);line-height:var(--kendo-line-height-lg, normal);font-weight:bold;text-align:center;text-transform:capitalize;display:block}.k-time-list-wrapper.k-focus::before,.k-time-list-wrapper.k-focus::after{display:block;content:"​";position:absolute;width:100%;left:0;pointer-events:none;height:calc(50% - calc(var(--kendo-font-size, inherit) * 1.4285714286 + var(--kendo-spacing-2, 0.5rem) * 2)/2);box-sizing:border-box;border-width:0;border-style:solid}.k-time-list-wrapper.k-focus::before{top:calc(var(--kendo-font-size-sm, inherit)*var(--kendo-line-height-lg, normal))}.k-time-list-wrapper.k-focus::after{bottom:0}.k-time-list{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1;position:relative;z-index:1;outline:0;overflow:hidden}.k-time-list::before,.k-time-list::after{display:block;position:absolute;content:"​";height:0;line-height:0;z-index:1;width:200%;left:-50%}.k-time-list::before{top:0}.k-time-list::after{bottom:0}.k-time-container,.k-time-list-content{position:relative;flex:1 1 auto;display:block;overflow-x:hidden;overflow-y:scroll;padding-right:100px;padding-left:100px;margin-left:-100px;margin-right:calc(-100px - var(--kendo-scrollbar-width, 17px))}.k-time-container>ul,.k-time-list-content>ul{height:auto;width:4em;margin:auto}.k-time-container .k-scrollable-placeholder,.k-time-list-content .k-scrollable-placeholder{position:absolute;width:1px;top:0;right:0}.k-time-list-item,.k-time-list .k-item{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-time-separator{width:0;height:calc(var(--kendo-font-size, inherit)*1.4285714286 + var(--kendo-spacing-2, 0.5rem)*2);align-self:center;display:inline-flex;justify-content:center;align-items:center;position:relative;z-index:11;top:calc(calc(var(--kendo-font-size-sm, inherit) * var(--kendo-line-height-lg, normal))/2)}.k-timeselector-sm{font-size:var(--kendo-font-size, inherit);line-height:1.4285714286}.k-timeselector-sm .k-time-highlight,.k-timeselector-sm .k-time-list-highlight{height:calc(var(--kendo-font-size, inherit)*1.4285714286 + var(--kendo-spacing-1\.5, 0.375rem)*2)}.k-timeselector-sm .k-time-separator{height:calc(var(--kendo-font-size, inherit)*1.4285714286 + var(--kendo-spacing-1\.5, 0.375rem)*2)}.k-timeselector-sm .k-time-list-item,.k-timeselector-sm .k-time-list .k-item{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-timeselector-md{font-size:var(--kendo-font-size, inherit);line-height:1.4285714286}.k-timeselector-md .k-time-highlight,.k-timeselector-md .k-time-list-highlight{height:calc(var(--kendo-font-size, inherit)*1.4285714286 + var(--kendo-spacing-2, 0.5rem)*2)}.k-timeselector-md .k-time-separator{height:calc(var(--kendo-font-size, inherit)*1.4285714286 + var(--kendo-spacing-2, 0.5rem)*2)}.k-timeselector-md .k-time-list-item,.k-timeselector-md .k-time-list .k-item{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-timeselector-lg{font-size:var(--kendo-font-size-lg, inherit);line-height:1.5}.k-timeselector-lg .k-time-highlight,.k-timeselector-lg .k-time-list-highlight{height:calc(var(--kendo-font-size-lg, inherit)*1.5 + var(--kendo-spacing-2, 0.5rem)*2)}.k-timeselector-lg .k-time-separator{height:calc(var(--kendo-font-size-lg, inherit)*1.5 + var(--kendo-spacing-2, 0.5rem)*2)}.k-timeselector-lg .k-time-list-item,.k-timeselector-lg .k-time-list .k-item{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-rtl .k-time-container,.k-rtl .k-time-list-content,[dir=rtl] .k-time-container,[dir=rtl] .k-time-list-content{padding-right:100px;padding-left:100px;margin-left:calc(-100px - var(--kendo-scrollbar-width, 17px));margin-right:-100px}.k-timeselector{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-time-header .k-time-now,.k-time-selector-header .k-time-now{color:var(--kendo-color-secondary, #e51a5f)}.k-time-header .k-time-now:hover,.k-time-selector-header .k-time-now:hover{color:var(--kendo-color-secondary-hover, #d31857)}.k-time-list-wrapper .k-title{color:var(--kendo-color-subtle, #757575)}.k-time-list-wrapper.k-focus .k-title{color:var(--kendo-color-on-app-surface, #212121)}.k-time-list::before,.k-time-list::after{box-shadow:0 0 3em 1.5em var(--kendo-color-surface-alt, #ffffff)}.k-time-list .k-item:hover{color:var(--kendo-color-primary, #3f51b5)}.k-time-container{background:rgba(0,0,0,0)}.k-time-highlight{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));background-color:var(--kendo-color-surface-alt, #ffffff)}.k-time-list .k-item:hover{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-captcha{width:335px;box-sizing:border-box;font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-flow:column nowrap;gap:var(--kendo-spacing-2, 0.5rem)}.k-captcha *,.k-captcha *::before,.k-captcha *::after{box-sizing:border-box}.k-captcha-image-wrap{position:relative;gap:var(--kendo-spacing-2, 0.5rem)}.k-captcha-image-controls{position:relative;gap:var(--kendo-spacing-2, 0.5rem)}.k-captcha-image{width:100%;height:100%;overflow:hidden}.k-captcha-image>img{width:100%;height:100%;display:block;object-fit:cover}.k-captcha-loading .k-captcha-image{height:auto}.k-captcha-volume-control{height:100%}.k-captcha-validation-message{margin-top:calc(var(--kendo-spacing-2, 0.5rem)/2);font-size:var(--kendo-font-size-sm, inherit);font-style:italic}.k-captcha{border-color:var(--kendo-color-surface-alt, #ffffff);color:var(--kendo-color-surface-alt, #ffffff);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-colorpalette{border-width:0;box-sizing:border-box;outline:0;font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:0;display:inline-flex;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-colorpalette *,.k-colorpalette *::before,.k-colorpalette *::after{box-sizing:border-box}.k-colorpalette-table{width:100%;height:100%;border-collapse:collapse;position:relative}.k-colorpalette-tile{width:var(--kendo-spacing-6, 1.5rem);height:var(--kendo-spacing-6, 1.5rem);box-sizing:border-box;overflow:hidden;cursor:pointer}.k-colorpalette-tile:hover,.k-colorpalette-tile.k-hover{position:relative;z-index:101}.k-colorpalette-tile:focus,.k-colorpalette-tile.k-focus,.k-colorpalette-tile.k-selected,.k-colorpalette-tile.k-selected:hover{position:relative;z-index:100}.k-colorpalette-tile:focus,.k-colorpalette-tile.k-focus{box-shadow:0 0 3px 1px rgba(0,0,0,.3),inset 0 0 0 1px hsla(0,0%,100%,.5)}.k-colorpalette-tile:hover,.k-colorpalette-tile.k-hover{box-shadow:0 0 3px 1px rgba(0,0,0,.3),inset 0 0 0 1px hsla(0,0%,100%,.8)}.k-colorpalette-tile.k-selected,.k-colorpalette-tile.k-selected:hover{box-shadow:0 1px 3px 1px rgba(0,0,0,.3),inset 0 0 0 1px #fff}.k-colorgradient{border-radius:var(--kendo-border-radius-md, 0.25rem);width:294px;padding-block:var(--kendo-spacing-3, 0.75rem);padding-inline:var(--kendo-spacing-3, 0.75rem);border-style:solid;border-width:1px;box-sizing:border-box;outline:0;font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-direction:column;align-items:stretch;gap:var(--kendo-spacing-3, 0.75rem);-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-colorgradient *,.k-colorgradient *::before,.k-colorgradient *::after{box-sizing:border-box}.k-colorgradient-canvas{gap:var(--kendo-spacing-3, 0.75rem)}.k-colorgradient-canvas .k-hsv-rectangle{border-radius:var(--kendo-border-radius-md, 0.25rem);position:relative;flex:1 1 auto;user-select:none}.k-colorgradient-canvas .k-hsv-gradient{border-radius:var(--kendo-border-radius-md, 0.25rem);height:180px}.k-colorgradient-canvas .k-hsv-draghandle{margin-top:-7px;margin-left:-7px;position:absolute;top:50%;left:50%;z-index:1;cursor:pointer}.k-colorgradient-canvas .k-hsv-controls{position:relative;flex-shrink:0;gap:var(--kendo-spacing-3, 0.75rem)}.k-colorgradient .k-draghandle{border-radius:50%;width:14px;height:14px;border-width:1px;border-style:solid;outline-width:1px;outline-style:solid;box-sizing:border-box}.k-colorgradient-slider.k-slider-vertical{width:10px;height:180px;flex:0 0 10px}.k-colorgradient-slider.k-slider-vertical .k-slider-track{width:10px;border-radius:10px;margin-left:-5px}.k-colorgradient-slider.k-slider-horizontal{width:100%;height:10px;flex:0 0 10px}.k-colorgradient-slider.k-slider-horizontal .k-slider-track{height:10px;border-radius:10px;margin-top:-5px}.k-colorgradient-slider.k-alpha-slider .k-slider-track::before{content:"";width:100%;height:100%;display:block;border-radius:10px;position:relative;z-index:-1}.k-colorgradient-slider .k-slider-track-wrap{z-index:1}.k-colorgradient-slider .k-slider-selection{display:none}.k-colorgradient-slider .k-draghandle{border-width:3px}.k-colorgradient-inputs{gap:var(--kendo-spacing-2, 0.5rem)}.k-colorgradient-inputs .k-colorgradient-input-label{text-transform:uppercase}.k-colorgradient-inputs>.k-vstack,.k-colorgradient-inputs>.k-vbox{gap:var(--kendo-spacing-1, 0.25rem)}.k-colorgradient-inputs .k-numerictextbox{width:50px}.k-colorgradient-inputs .k-input-inner{padding-inline-start:2px;padding-inline-end:2px;text-align:center;text-overflow:clip}.k-colorgradient-color-contrast>div{display:flex;flex-flow:row nowrap;gap:var(--kendo-spacing-2, 0.5rem)}.k-colorgradient-color-contrast .k-contrast-ratio{margin-bottom:var(--kendo-spacing-2, 0.5rem)}.k-colorgradient-color-contrast .k-contrast-ratio-text{font-weight:var(--kendo-font-weight-medium, normal)}.k-colorgradient-color-contrast .k-contrast-validation{display:inline-flex;align-items:center;gap:calc(var(--kendo-spacing-2, 0.5rem)/2)}.k-colorgradient-color-contrast .k-contrast-validation .k-icon{vertical-align:middle}.k-colorgradient-color-contrast .k-contrast-validation .k-icon+.k-icon,.k-colorgradient-color-contrast .k-contrast-validation .k-icon-wrapper-host+.k-icon-wrapper-host .k-icon{margin-inline-start:-13px}.k-color-contrast-svg{position:absolute;top:0;left:0;overflow:visible;pointer-events:none}.k-colorgradient{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-colorgradient:focus,.k-colorgradient.k-focus{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));box-shadow:k-elevation(3)}.k-colorgradient-canvas .k-hsv-gradient{background:linear-gradient(to bottom, rgba(0, 0, 0, 0), black),linear-gradient(to right, white, rgba(255, 255, 255, 0))}.k-colorgradient .k-draghandle{border-color:hsla(0,0%,100%,.8);background-color:rgba(0,0,0,0);outline-color:#000;box-shadow:rgba(0,0,0,.5)}.k-colorgradient .k-draghandle:focus,.k-colorgradient .k-draghandle.k-focus{border-color:#fff;background-color:rgba(0,0,0,0);outline-color:#000;box-shadow:rgba(0,0,0,.5)}.k-colorgradient .k-draghandle:hover,.k-colorgradient .k-draghandle.k-hover,.k-colorgradient .k-draghandle.k-active,.k-colorgradient .k-draghandle:active{border-color:#fff;background-color:rgba(0,0,0,0);outline-color:#000}.k-colorgradient-slider.k-hue-slider.k-slider-horizontal .k-slider-track{background:linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)}.k-colorgradient-slider.k-hue-slider.k-slider-vertical .k-slider-track{background:linear-gradient(to top, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)}.k-colorgradient-slider.k-alpha-slider .k-slider-track::before{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAuSURBVHgBxYyxDQAwDMJIL+YT+DjtzFRliUfLcklqBCRT4eCTxbD6kdL2/LgYXqpvCbs3kBv/AAAAAElFTkSuQmCC) center repeat}.k-colorgradient-input-label{color:var(--kendo-color-subtle, #757575)}.k-rtl .k-colorgradient .k-hue-slider.k-slider-horizontal .k-slider-track,[dir=rtl] .k-colorgradient .k-hue-slider.k-slider-horizontal .k-slider-track{background:linear-gradient(to left, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)}.k-coloreditor{border-radius:var(--kendo-border-radius-md, 0.25rem);min-width:294px;border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:var(--kendo-line-height, normal);display:inline-flex;flex-direction:column;align-items:stretch}.k-coloreditor *,.k-coloreditor *::before,.k-coloreditor *::after{box-sizing:border-box}.k-coloreditor-header{padding:var(--kendo-spacing-3, 0.75rem) var(--kendo-spacing-3, 0.75rem) 0}.k-coloreditor-header-actions{gap:var(--kendo-spacing-2, 0.5rem)}.k-coloreditor-preview{display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:center;gap:var(--kendo-spacing-1, 0.25rem);position:relative;z-index:1}.k-coloreditor-preview .k-color-preview{width:32px;height:12px}.k-coloreditor-views{min-width:calc(var(--kendo-color-preview-width, var(--kendo-spacing-6, 1.5rem))*var(--kendo-color-preview-columns, 10));padding-block:var(--kendo-spacing-3, 0.75rem);padding-inline:var(--kendo-spacing-3, 0.75rem);gap:var(--kendo-spacing-3, 0.75rem)}.k-coloreditor-views .k-colorgradient{padding:0;width:auto;border-width:0}.k-coloreditor-views .k-colorgradient:focus,.k-coloreditor-views .k-colorgradient.k-focus{outline:2px dotted;outline-offset:2px;border-radius:0}.k-coloreditor-views .k-colorpalette{align-self:center}.k-coloreditor-views .k-colorpalette-tile{width:var(--kendo-color-preview-width, var(--kendo-spacing-6, 1.5rem));height:var(--kendo-color-preview-height, var(--kendo-spacing-6, 1.5rem))}.k-coloreditor-footer.k-actions,.k-coloreditor-footer.k-edit-buttons,.k-coloreditor-footer.k-action-buttons,.k-coloreditor-footer.k-columnmenu-actions,.k-coloreditor-footer.k-form-buttons{margin:0}.k-coloreditor{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-coloreditor:focus,.k-coloreditor.k-focus{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));box-shadow:k-elevation(3)}.k-coloreditor .k-colorgradient:focus,.k-coloreditor .k-colorgradient.k-focus{box-shadow:none;outline-color:rgba(0,0,0,.3)}.k-color-picker,.k-colorpicker{width:min-content}.k-datetime-selector{display:flex;transition:transform .2s}.k-datetime-wrap{width:calc(36px*8 + var(--kendo-spacing-4, 1rem)*2);overflow:hidden}.k-datetime-wrap .k-datetime-buttongroup{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem)}.k-datetime-wrap .k-calendar,.k-datetime-wrap .k-timeselector{width:100%;border-width:0}.k-datetime-calendar-wrap,.k-datetime-time-wrap{text-align:center;flex:0 0 calc(36px*8 + var(--kendo-spacing-4, 1rem)*2)}.k-date-tab .k-datetime-selector{transform:translateX(0)}.k-time-tab .k-datetime-selector{transform:translateX(-100%)}.k-time-tab .k-datetime-selector.k-rtl,.k-time-tab .k-datetime-selector[dir=rtl],.k-rtl .k-time-tab .k-datetime-selector,[dir=rtl] .k-time-tab .k-datetime-selector{transform:translateX(100%)}.k-daterange-picker,.k-daterangepicker{width:100%;display:flex;flex-flow:row nowrap;align-items:flex-end;gap:var(--kendo-spacing-2, 0.5rem)}.k-daterange-picker *,.k-daterangepicker *,.k-daterange-picker *::before,.k-daterangepicker *::before,.k-daterange-picker *::after,.k-daterangepicker *::after{box-sizing:border-box}.k-daterange-picker .k-dateinput,.k-daterangepicker .k-dateinput{width:10em}.k-daterangepicker-wrap{display:inherit;flex-flow:inherit;align-items:inherit;gap:inherit}.k-dropdowngrid-popup{overflow:hidden}.k-dropdowngrid-popup>.k-data-table{border-width:0}.k-dropdown-operator{width:min-content;flex:none}.k-dropdown-operator .k-input-button{border-width:0;width:min-content}.k-dropdown-operator .k-input-button .k-button-icon{width:auto;aspect-ratio:1}.k-dropdown-operator .k-input-inner{display:none}.k-treeview{padding:0;border-width:0;background:none;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size-lg, inherit);line-height:1.25;display:block;cursor:default;overflow:auto;white-space:nowrap;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-treeview *,.k-treeview *::before,.k-treeview *::after{box-sizing:border-box}.k-treeview-filter{padding:var(--kendo-spacing-2, 0.5rem);display:block;position:relative;flex:none}.k-treeview-group{margin:0;padding:0;list-style:none;position:relative;outline:0;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-treeview-group.ng-animating{overflow:hidden}.k-treeview-top,.k-treeview-mid,.k-treeview-bot{display:flex;flex-direction:row;align-items:center;align-content:center}.k-treeview-item{outline-style:none;margin:0;padding:0 0 0 24px;border-width:0;display:block}.k-treeview-toggle{margin-inline-start:-24px;flex:none;display:inline-flex;flex-flow:row nowrap;align-items:center;cursor:pointer}.k-treeview-toggle .k-icon{padding:var(--kendo-spacing-1, 0.25rem);box-sizing:content-box}.k-treeview-loading{margin-right:var(--kendo-spacing-2, 0.5rem)}.k-treeview .k-checkbox-wrap,.k-treeview .k-checkbox-wrapper{align-self:center}.k-treeview-leaf{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);border:0px solid rgba(0,0,0,0);text-decoration:none;display:inline-flex;align-items:center;align-content:center;vertical-align:middle;position:relative}.k-treeview-leaf .k-icon,.k-treeview-leaf .k-image,.k-treeview-leaf .k-sprite{margin-right:var(--kendo-spacing-2, 0.5rem)}.k-treeview-leaf.k-focus{z-index:1}.k-treeview .k-treeview-load-more-button{cursor:pointer}.k-treeview .k-treeview-load-more-button:hover,.k-treeview .k-treeview-load-more-button.k-hover,.k-treeview .k-treeview-load-more-button:focus,.k-treeview .k-treeview-load-more-button.k-focus{text-decoration:underline}.k-rtl .k-treeview .k-treeview-item,[dir=rtl] .k-treeview .k-treeview-item,.k-treeview.k-rtl .k-treeview-item,.k-treeview[dir=rtl] .k-treeview-item{padding-left:0;padding-right:24px}.k-rtl .k-treeview .k-treeview-loading,[dir=rtl] .k-treeview .k-treeview-loading,.k-treeview.k-rtl .k-treeview-loading,.k-treeview[dir=rtl] .k-treeview-loading{margin-right:0;margin-left:var(--kendo-spacing-2, 0.5rem)}.k-rtl .k-treeview .k-treeview-leaf .k-icon,.k-rtl .k-treeview .k-treeview-leaf .k-image,.k-rtl .k-treeview .k-treeview-leaf .k-sprite,.k-rtl .k-treeview .k-in .k-icon,.k-rtl .k-treeview .k-in .k-image,.k-rtl .k-treeview .k-in .k-sprite,[dir=rtl] .k-treeview .k-treeview-leaf .k-icon,[dir=rtl] .k-treeview .k-treeview-leaf .k-image,[dir=rtl] .k-treeview .k-treeview-leaf .k-sprite,[dir=rtl] .k-treeview .k-in .k-icon,[dir=rtl] .k-treeview .k-in .k-image,[dir=rtl] .k-treeview .k-in .k-sprite,.k-treeview.k-rtl .k-treeview-leaf .k-icon,.k-treeview.k-rtl .k-treeview-leaf .k-image,.k-treeview.k-rtl .k-treeview-leaf .k-sprite,.k-treeview.k-rtl .k-in .k-icon,.k-treeview.k-rtl .k-in .k-image,.k-treeview.k-rtl .k-in .k-sprite,.k-treeview[dir=rtl] .k-treeview-leaf .k-icon,.k-treeview[dir=rtl] .k-treeview-leaf .k-image,.k-treeview[dir=rtl] .k-treeview-leaf .k-sprite,.k-treeview[dir=rtl] .k-in .k-icon,.k-treeview[dir=rtl] .k-in .k-image,.k-treeview[dir=rtl] .k-in .k-sprite{margin-right:0;margin-left:var(--kendo-spacing-2, 0.5rem)}.k-treeview-sm{font-size:var(--kendo-font-size, inherit);line-height:1.4285714286}.k-treeview-sm .k-treeview-leaf{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-treeview-sm .k-checkbox-wrap{padding-block:var(--kendo-spacing-0\.5, 0.125rem);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-treeview-md{font-size:var(--kendo-font-size, inherit);line-height:1.4285714286}.k-treeview-md .k-treeview-leaf{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-treeview-md .k-checkbox-wrap{padding-block:var(--kendo-spacing-0\.5, 0.125rem);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-treeview-lg{font-size:var(--kendo-font-size-lg, inherit);line-height:1.5}.k-treeview-lg .k-treeview-leaf{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-treeview-lg .k-checkbox-wrap{padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-treeview{color:var(--kendo-color-on-app-surface, #212121)}.k-treeview-leaf:hover,.k-treeview-leaf.k-hover{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 7%, transparent)}.k-treeview-leaf.k-selected{color:var(--kendo-color-secondary, #e51a5f)}.k-treeview .k-treeview-load-more-button{color:inherit;background-color:rgba(0,0,0,0)}.k-treeview .k-treeview-load-more-button:hover,.k-treeview .k-treeview-load-more-button.k-hover{color:inherit;background-color:rgba(0,0,0,0)}.k-treeview .k-treeview-load-more-button:focus,.k-treeview .k-treeview-load-more-button.k-focus{color:inherit;background-color:rgba(0,0,0,0)}.k-treeview-leaf:hover,.k-treeview-leaf.k-hover{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 7%, transparent)}.k-treeview-leaf:focus,.k-treeview-leaf.k-focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 7%, transparent)}.k-treeview-leaf.k-selected{color:var(--kendo-color-secondary, #e51a5f)}.k-popup-dropdowntree .k-treeview,.k-dropdowntree-popup .k-treeview,.k-multiselecttree-popup .k-treeview{padding-block:calc(var(--kendo-spacing-2, 0.5rem)/2);padding-inline:calc(var(--kendo-spacing-2, 0.5rem)/2)}.k-popup-dropdowntree .k-check-all,.k-dropdowntree-popup .k-check-all,.k-multiselecttree-popup .k-check-all{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem)}.k-multiselecttree .k-input-values{width:auto;max-width:100%}.k-multiselecttree .k-input-inner::before{content:"​";width:0px;overflow:hidden;flex:none;display:inline-block;vertical-align:top}.k-rating{margin:0;padding:0;border-width:0;box-sizing:border-box;outline:0;background:none;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:inline-flex;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-rating *,.k-rating *::before,.k-rating *::after{box-sizing:border-box}.k-rating.k-readonly{pointer-events:none}.k-rating-container{flex:0 1 auto;position:relative;margin-block:0;margin-inline:calc(var(--kendo-spacing-2, 0.5rem)/2)}.k-rating-container .k-rating-item{display:inline-flex;position:relative;padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:calc(var(--kendo-spacing-2, 0.5rem)/2);align-items:center;vertical-align:middle;margin:0;outline:0;overflow:hidden;transition:color 200ms ease-out 0s}.k-rating-container .k-rating-item *{pointer-events:none}.k-rating-container .k-rating-item .k-rating-precision-part,.k-rating-container .k-rating-item .k-rating-precision-complement{display:inherit;position:absolute;top:var(--kendo-spacing-1, 0.25rem);left:calc(var(--kendo-spacing-2, 0.5rem)/2);overflow:hidden}.k-rating-container .k-rating-item .k-rating-precision-complement{direction:rtl}.k-rating-container .k-rating-item svg{fill:currentColor}.k-rating-label{display:inline-flex;align-items:center;vertical-align:middle;line-height:1.5;margin-block:var(--kendo-spacing-1, 0.25rem);margin-inline:var(--kendo-spacing-2, 0.5rem)}.k-rtl .k-rating-precision-part,[dir=rtl] .k-rating-precision-part{left:auto;right:calc(var(--kendo-spacing-2, 0.5rem)/2)}.k-rtl .k-rating-item .k-rating-precision-complement,[dir=rtl] .k-rating-item .k-rating-precision-complement{direction:ltr}.k-rating{color:var(--kendo-color-on-app-surface, #212121)}.k-rating:focus .k-rating-item>.k-icon,.k-rating.k-focus .k-rating-item>.k-icon{filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1))}.k-rating:focus .k-rating-item.k-selected>.k-icon,.k-rating.k-focus .k-rating-item.k-selected>.k-icon{filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1))}.k-rating-item{color:var(--kendo-color-subtle, #757575)}.k-rating-item.k-selected{color:var(--kendo-color-primary-active, #354498)}.k-rating-item.k-selected:focus,.k-rating-item.k-selected.k-focus{color:var(--kendo-color-primary-active, #354498)}.k-rating-item:hover,.k-rating-item.k-hover{color:var(--kendo-color-primary-active, #354498);cursor:pointer}.k-switch{box-sizing:border-box;outline:0;display:inline-flex;align-items:center;vertical-align:middle;line-height:1;position:relative;cursor:pointer;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-switch *,.k-switch *::before,.k-switch *::after{box-sizing:border-box}.k-switch [type=checkbox]{display:none}.k-switch[aria-readonly=true]{pointer-events:none}.k-switch.k-readonly{pointer-events:none}.k-switch-track{outline:0;display:flex;flex-flow:row nowrap;flex:1 0 auto;position:relative;transition:background-color 200ms ease-in-out}.k-switch-thumb-wrap{width:0;height:0;overflow:visible;position:absolute;transition:left 200ms ease-in-out;top:50%}.k-switch-thumb{display:block;position:absolute;transform:translate(-50%, -50%)}.k-switch-label-on,.k-switch-label-off{display:none;position:absolute;top:50%;transform:translateY(-50%);overflow:hidden}.k-switch-sm{width:26px;height:12px}.k-switch-sm .k-switch-track{width:26px;height:12px}.k-switch-sm .k-switch-label-on{left:0px}.k-switch-sm .k-switch-label-off{right:0px}.k-switch-sm .k-switch-thumb{width:16px;height:16px}.k-switch-sm.k-switch-on .k-switch-thumb-wrap{left:calc(100% - 8px - -2px)}.k-switch-sm.k-switch-off .k-switch-thumb-wrap{left:calc(8px + -2px)}.k-switch-sm[dir=rtl] .k-switch-label-on,[dir=rtl] .k-switch-sm .k-switch-label-on,.k-rtl .k-switch-sm .k-switch-label-on{left:auto;right:0px}.k-switch-sm[dir=rtl] .k-switch-label-off,[dir=rtl] .k-switch-sm .k-switch-label-off,.k-rtl .k-switch-sm .k-switch-label-off{right:auto;left:0px}.k-switch-sm[dir=rtl].k-switch-on .k-switch-thumb-wrap,[dir=rtl] .k-switch-sm.k-switch-on .k-switch-thumb-wrap,.k-rtl .k-switch-sm.k-switch-on .k-switch-thumb-wrap{left:calc(8px + -2px)}.k-switch-sm[dir=rtl].k-switch-off .k-switch-thumb-wrap,[dir=rtl] .k-switch-sm.k-switch-off .k-switch-thumb-wrap,.k-rtl .k-switch-sm.k-switch-off .k-switch-thumb-wrap{left:calc(100% - 8px - -2px)}.k-switch-md{width:32px;height:14px}.k-switch-md .k-switch-track{width:32px;height:14px}.k-switch-md .k-switch-label-on{left:0px}.k-switch-md .k-switch-label-off{right:0px}.k-switch-md .k-switch-thumb{width:20px;height:20px}.k-switch-md.k-switch-on .k-switch-thumb-wrap{left:calc(100% - 10px - -3px)}.k-switch-md.k-switch-off .k-switch-thumb-wrap{left:calc(10px + -3px)}.k-switch-md[dir=rtl] .k-switch-label-on,[dir=rtl] .k-switch-md .k-switch-label-on,.k-rtl .k-switch-md .k-switch-label-on{left:auto;right:0px}.k-switch-md[dir=rtl] .k-switch-label-off,[dir=rtl] .k-switch-md .k-switch-label-off,.k-rtl .k-switch-md .k-switch-label-off{right:auto;left:0px}.k-switch-md[dir=rtl].k-switch-on .k-switch-thumb-wrap,[dir=rtl] .k-switch-md.k-switch-on .k-switch-thumb-wrap,.k-rtl .k-switch-md.k-switch-on .k-switch-thumb-wrap{left:calc(10px + -3px)}.k-switch-md[dir=rtl].k-switch-off .k-switch-thumb-wrap,[dir=rtl] .k-switch-md.k-switch-off .k-switch-thumb-wrap,.k-rtl .k-switch-md.k-switch-off .k-switch-thumb-wrap{left:calc(100% - 10px - -3px)}.k-switch-lg{width:38px;height:16px}.k-switch-lg .k-switch-track{width:38px;height:16px}.k-switch-lg .k-switch-label-on{left:0px}.k-switch-lg .k-switch-label-off{right:0px}.k-switch-lg .k-switch-thumb{width:24px;height:24px}.k-switch-lg.k-switch-on .k-switch-thumb-wrap{left:calc(100% - 12px - -4px)}.k-switch-lg.k-switch-off .k-switch-thumb-wrap{left:calc(12px + -4px)}.k-switch-lg[dir=rtl] .k-switch-label-on,[dir=rtl] .k-switch-lg .k-switch-label-on,.k-rtl .k-switch-lg .k-switch-label-on{left:auto;right:0px}.k-switch-lg[dir=rtl] .k-switch-label-off,[dir=rtl] .k-switch-lg .k-switch-label-off,.k-rtl .k-switch-lg .k-switch-label-off{right:auto;left:0px}.k-switch-lg[dir=rtl].k-switch-on .k-switch-thumb-wrap,[dir=rtl] .k-switch-lg.k-switch-on .k-switch-thumb-wrap,.k-rtl .k-switch-lg.k-switch-on .k-switch-thumb-wrap{left:calc(12px + -4px)}.k-switch-lg[dir=rtl].k-switch-off .k-switch-thumb-wrap,[dir=rtl] .k-switch-lg.k-switch-off .k-switch-thumb-wrap,.k-rtl .k-switch-lg.k-switch-off .k-switch-thumb-wrap{left:calc(100% - 12px - -4px)}.k-switch[dir=rtl] .k-switch-thumb,[dir=rtl] .k-switch .k-switch-thumb,.k-switch.k-rtl .k-switch-thumb,.k-rtl .k-switch .k-switch-thumb{transform:translate(50%, -50%)}.k-switch .k-switch-thumb::before{content:"";width:200%;height:200%;border-radius:100%;display:none;opacity:0;transform:translate(-50%, -50%);position:absolute;z-index:-1;top:50%;left:50%;pointer-events:none}.k-switch:hover .k-switch-thumb::before,.k-switch.k-hover .k-switch-thumb::before{display:block;opacity:.04}.k-switch:focus .k-switch-thumb::before,.k-switch.k-focus .k-switch-thumb::before{display:block;opacity:.12}.k-switch-off .k-switch-track{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 38%, transparent)}.k-switch-off .k-switch-thumb{background-color:var(--kendo-color-app-surface, #ffffff)}.k-switch-off .k-switch-label-on{color:rgba(0,0,0,0)}.k-switch-on .k-switch-track{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 44%, transparent)}.k-switch-on .k-switch-thumb{background-color:var(--kendo-color-primary, #3f51b5)}.k-switch-on .k-switch-label-off{color:rgba(0,0,0,0)}.k-switch .k-switch-thumb{box-shadow:k-elevation(2)}.k-switch.k-switch-on .k-switch-thumb::before{background-color:inherit}.k-switch.k-switch-off .k-switch-thumb::before{background-color:var(--kendo-color-on-app-surface, #212121)}.k-external-dropzone{height:220px;display:flex;flex-flow:row nowrap}.k-dropzone-inner{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border-width:1px;border-style:solid;box-sizing:border-box;font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:1.4285714286;flex:1 1 auto;display:flex;flex-flow:column nowrap;align-items:center;justify-content:center;position:relative}.k-dropzone-inner .k-dropzone-icon{margin-bottom:var(--kendo-spacing-6, 1.5rem)}.k-dropzone-inner .k-dropzone-hint{margin-bottom:var(--kendo-spacing-2, 0.5rem)}.k-dropzone-inner .k-dropzone-note{font-size:var(--kendo-font-size-sm, inherit)}.k-dropzone-inner{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-subtle, #ebebeb)}.k-dropzone-inner .k-icon,.k-dropzone-inner .k-dropzone-icon{color:var(--kendo-color-subtle, #757575)}.k-dropzone-inner .k-dropzone-note{color:var(--kendo-color-subtle, #757575)}.k-external-dropzone-hover .k-icon,.k-external-dropzone-hover .k-dropzone-icon{color:var(--kendo-color-primary, #3f51b5)}.k-upload{border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;position:relative;display:block;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-upload *,.k-upload *::before,.k-upload *::after{box-sizing:border-box}.k-upload .k-upload-button{min-width:7em}.k-upload .k-dropzone,.k-upload .k-upload-dropzone{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border-width:0;text-align:end;display:flex;align-items:center;justify-content:space-between;position:relative;background-color:rgba(0,0,0,0)}.k-upload .k-dropzone .k-dropzone-hint,.k-upload .k-upload-dropzone .k-dropzone-hint{font-style:normal;font-weight:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;flex:1}.k-upload .k-dropzone .k-upload-status,.k-upload .k-upload-dropzone .k-upload-status{font-weight:normal;display:flex;align-items:center;position:relative}.k-upload .k-dropzone .k-upload-status>.k-icon,.k-upload .k-upload-dropzone .k-upload-status>.k-icon{margin-inline-end:var(--kendo-spacing-2, 0.5rem)}.k-upload .k-dropzone .k-upload-status+.k-dropzone-hint,.k-upload .k-upload-dropzone .k-upload-status+.k-dropzone-hint{display:none}.k-upload .k-dropzone-active .k-upload-status{display:none}.k-upload .k-dropzone-active .k-upload-status+.k-dropzone-hint{display:block}.k-upload .k-upload-files{max-height:300px;overflow-y:auto;margin:0;padding:0;border-width:1px 0 0;border-style:solid;border-color:inherit;list-style:none}.k-upload .k-upload-files .k-file-multiple,.k-upload .k-upload-files .k-file-single{width:100%;display:flex;justify-content:space-between}.k-upload .k-upload-files .k-file-single{align-items:center}.k-upload .k-upload-files .k-file-multiple{align-items:flex-start}.k-upload .k-upload-files .k-file{padding:var(--kendo-spacing-4, 1rem) var(--kendo-spacing-4, 1rem) calc(var(--kendo-spacing-4, 1rem) + 2px);border-width:0 0 1px;border-style:solid;outline:none;display:flex;align-items:flex-start;position:relative}.k-upload .k-upload-files .k-file:last-child{border-width:0}.k-upload .k-upload-files .k-filename{margin-left:var(--kendo-spacing-4, 1rem);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.k-upload .k-upload-files .k-upload-pct{margin-block:0;margin-inline:var(--kendo-spacing-2, 0.5rem);font-weight:normal;vertical-align:middle}.k-upload .k-upload-files~.k-clear-selected,.k-upload .k-upload-files~.k-upload-selected{margin-top:-var(--kendo-spacing-1, 0.25rem);border-width:0}.k-upload .k-upload-files~.k-upload-selected{border-left-width:1px;border-left-style:solid;margin-left:-1px}.k-upload .k-upload-files .k-file-name,.k-upload .k-upload-files .k-file-size,.k-upload .k-upload-files .k-file-validation-message,.k-upload .k-upload-files .k-file-summary{display:block}.k-upload .k-upload-files .k-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.k-upload .k-upload-files .k-file-size,.k-upload .k-upload-files .k-file-summary,.k-upload .k-upload-files .k-file-validation-message{font-size:var(--kendo-font-size-sm, inherit);line-height:var(--kendo-line-height-xs, normal)}.k-upload .k-upload-files .k-file-icon-wrapper .k-file-state{position:absolute}.k-upload .k-upload-files .k-file-state{visibility:hidden}.k-upload .k-upload-files .k-file-info{min-height:calc(16px*2);display:block;overflow:hidden;flex:1 0 0}.k-upload .k-multiple-files-wrapper,.k-upload .k-file-single>.k-file-info{margin-inline-start:var(--kendo-spacing-4, 1rem);min-height:calc(16px*2);display:block;overflow:hidden;flex:1 0 0}.k-upload .k-multiple-files-wrapper .k-file-info{margin-bottom:var(--kendo-spacing-3, 0.75rem);display:block}.k-upload .k-multiple-files-wrapper .k-file-summary{margin-top:calc(var(--kendo-spacing-3, 0.75rem)/3*-1)}.k-upload .k-progressbar{--kendo-progressbar-height: 2px;position:absolute;left:var(--kendo-spacing-4, 1rem);right:var(--kendo-spacing-4, 1rem);bottom:calc(var(--kendo-spacing-4, 1rem)/2);width:auto}.k-upload .k-actions,.k-upload .k-edit-buttons,.k-upload .k-action-buttons,.k-upload .k-columnmenu-actions,.k-upload .k-form-buttons{border-top-width:1px}.k-upload-button-wrap{position:relative;direction:ltr}.k-upload-button-wrap input{font:170px monospace !important;margin:0;padding:0;width:100%;height:100%;opacity:0;cursor:pointer;position:absolute;bottom:0;right:0;z-index:1}.k-upload-button-wrap input[disabled],.k-upload-button-wrap input.k-disabled{visibility:hidden}.k-upload{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-upload .k-dropzone,.k-upload .k-upload-dropzone{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-app-surface, #ffffff)}.k-upload .k-dropzone.k-hover,.k-upload .k-upload-dropzone.k-hover{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-upload .k-dropzone .k-dropzone-hint,.k-upload .k-upload-dropzone .k-dropzone-hint{color:var(--kendo-color-subtle, #757575)}.k-upload .k-upload-files,.k-upload .k-file{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-upload .k-file.k-focus{box-shadow:inset 0 0 0 2px rgba(0,0,0,.13)}.k-upload .k-file .k-upload-action.k-focus{box-shadow:0 0 0 2px rgba(0,0,0,.13)}.k-upload .k-upload-status{color:var(--kendo-color-subtle, #757575)}.k-upload .k-file-progress .k-progressbar .k-selected{background-color:var(--kendo-color-info, #0058e9)}.k-upload .k-file-success .k-file-validation-message{color:var(--kendo-color-success, #37b400)}.k-upload .k-file-success .k-progressbar .k-selected{background-color:var(--kendo-color-success, #37b400)}.k-upload .k-file-error .k-file-validation-message{color:var(--kendo-color-error, #f31700)}.k-upload .k-file-error .k-progressbar .k-selected{background-color:var(--kendo-color-error, #f31700)}.k-upload .k-file-icon-wrapper{color:var(--kendo-color-subtle, #757575);border-color:var(--kendo-color-subtle, #757575)}.k-upload .k-file-size,.k-upload .k-file-validation-message,.k-upload .k-file-summary{color:var(--kendo-color-subtle, #757575)}.k-upload .k-multiple-files-wrapper .k-file-summary{color:var(--kendo-color-on-app-surface, #212121)}.k-upload.k-invalid,.k-upload.ng-invalid.ng-touched,.k-upload.ng-invalid.ng-dirty{border-color:var(--kendo-color-error, #f31700)}.k-upload .k-upload-button{box-shadow:none;background-color:var(--kendo-color-base-subtle, #ebebeb)}.k-appbar{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border-width:0px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);list-style:none;display:flex;gap:var(--kendo-spacing-2, 0.5rem);flex-flow:row wrap;align-items:center;overflow:hidden;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-appbar *,.k-appbar *::before,.k-appbar *::after{box-sizing:border-box}.k-appbar>*{flex-shrink:0}.k-appbar .k-appbar-section{display:inline-flex;flex-wrap:nowrap;align-items:center}.k-appbar .k-appbar-spacer{flex:1 0 auto}.k-appbar .k-appbar-spacer-sized{flex-grow:0}.k-appbar .k-appbar-separator{margin:0;width:0;min-height:1em;border-style:solid;border-width:0 0 0 1px;display:inline-block}.k-appbar .k-input,.k-appbar .k-picker{width:10em}.k-appbar .k-color-picker,.k-appbar .k-colorpicker{width:min-content}.k-appbar-static{position:static}.k-appbar-sticky{width:100%;position:sticky;top:0;z-index:1000}.k-appbar-fixed{width:100%;position:fixed;z-index:1}.k-appbar-top{top:0;bottom:auto}.k-appbar-bottom{top:auto;bottom:0}.k-appbar-bottom.k-appbar-fixed{bottom:0}.k-appbar{box-shadow:k-elevation(4)}.k-appbar-bottom{box-shadow:k-elevation(4)}.k-appbar-primary{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-appbar-secondary{color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-appbar-tertiary{color:var(--kendo-color-on-tertiary, #ffffff);background-color:var(--kendo-color-tertiary, #00695c)}.k-appbar-info{color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info, #0058e9)}.k-appbar-success{color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success, #37b400)}.k-appbar-warning{color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000)}.k-appbar-error{color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error, #f31700)}.k-appbar-dark{color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-appbar-light{color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5)}.k-appbar-inverse{color:var(--kendo-color-on-inverse, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-fab{padding:0;border-width:0;border-style:solid;border-color:rgba(0,0,0,0);box-sizing:border-box;color:inherit;background-color:rgba(0,0,0,0);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;font-family:var(--kendo-font-family, inherit);text-align:center;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;cursor:pointer;outline:none}.k-fab *,.k-fab *::before,.k-fab *::after{box-sizing:border-box}.k-fab:focus{outline:none}.k-fab-icon{padding-inline:var(--kendo-spacing-0\.5, 0.125rem);padding-block:var(--kendo-spacing-0\.5, 0.125rem);box-sizing:content-box}.k-icon-wrapper-host:not(:only-child) .k-fab-icon,.k-fab-icon:not(:only-child){margin-inline-end:calc(var(--kendo-spacing-1, 0.25rem)*1.5);margin-inline-start:calc(calc(var(--kendo-spacing-1, 0.25rem) * 1.5)*-1)}.k-fab-sm{padding:calc(var(--kendo-spacing-4, 1rem)/2) calc(var(--kendo-spacing-4, 1rem)/2)}.k-fab-md{padding:var(--kendo-spacing-4, 1rem) var(--kendo-spacing-4, 1rem)}.k-fab-lg{padding:calc(var(--kendo-spacing-4, 1rem)*1.5) calc(var(--kendo-spacing-4, 1rem)*1.5)}.k-fab-items{margin:0;padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-0, 0px);display:flex}.k-fab-items-bottom{flex-direction:column}.k-fab-items-bottom .k-fab-item:last-child{margin-block-end:0}.k-fab-items-top{flex-direction:column-reverse}.k-fab-items-top .k-fab-item:first-child{margin-block-end:0}.k-fab-item{list-style-type:none;margin-block-end:var(--kendo-spacing-2, 0.5rem);outline:none;white-space:nowrap;display:flex;align-items:center;justify-content:flex-end;cursor:pointer}.k-fab-item.k-text-right{flex-direction:row}.k-fab-item.k-text-right .k-fab-item-text{margin-right:var(--kendo-spacing-2, 0.5rem)}.k-fab-item.k-text-left{flex-direction:row-reverse}.k-fab-item.k-text-left .k-fab-item-text{margin-left:var(--kendo-spacing-2, 0.5rem)}.k-fab-item-text{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem);border-width:1px;border-radius:2px;font-size:var(--kendo-font-size-xs, inherit);line-height:var(--kendo-line-height-sm, normal)}.k-fab-item-icon{padding-block:calc(var(--kendo-spacing-2, 0.5rem) + var(--kendo-spacing-0\.5, 0.125rem));padding-inline:calc(var(--kendo-spacing-2, 0.5rem) + var(--kendo-spacing-0\.5, 0.125rem));border-width:0;border-radius:50%;box-sizing:content-box;outline:none}.k-rtl .k-fab-popup .k-fab-item.k-text-left,[dir=rtl] .k-fab-popup .k-fab-item.k-text-left{flex-direction:row}.k-rtl .k-fab-popup .k-fab-item.k-text-right,[dir=rtl] .k-fab-popup .k-fab-item.k-text-right{flex-direction:row-reverse}.k-fab-text{text-transform:uppercase}.k-fab-solid-primary{box-shadow:k-elevation(5);border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-fab-solid-secondary{box-shadow:k-elevation(5);border-color:var(--kendo-color-secondary, #e51a5f);color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-fab-solid-tertiary{box-shadow:k-elevation(5);border-color:var(--kendo-color-tertiary, #00695c);color:var(--kendo-color-on-tertiary, #ffffff);background-color:var(--kendo-color-tertiary, #00695c)}.k-fab-solid-info{box-shadow:k-elevation(5);border-color:var(--kendo-color-info, #0058e9);color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info, #0058e9)}.k-fab-solid-success{box-shadow:k-elevation(5);border-color:var(--kendo-color-success, #37b400);color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success, #37b400)}.k-fab-solid-warning{box-shadow:k-elevation(5);border-color:var(--kendo-color-warning, #ffc000);color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000)}.k-fab-solid-error{box-shadow:k-elevation(5);border-color:var(--kendo-color-error, #f31700);color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error, #f31700)}.k-fab-solid-dark{box-shadow:k-elevation(5);border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-fab-solid-light{box-shadow:k-elevation(5);border-color:var(--kendo-color-light, #f5f5f5);color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5)}.k-fab-solid-inverse{box-shadow:k-elevation(5);border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-inverse, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-hover.k-fab-solid-primary,.k-fab-solid-primary:hover{border-color:var(--kendo-color-primary-hover, #3a4ba7);background-color:var(--kendo-color-primary-hover, #3a4ba7)}.k-hover.k-fab-solid-secondary,.k-fab-solid-secondary:hover{border-color:var(--kendo-color-secondary-hover, #d31857);background-color:var(--kendo-color-secondary-hover, #d31857)}.k-hover.k-fab-solid-tertiary,.k-fab-solid-tertiary:hover{border-color:var(--kendo-color-tertiary-hover, #006155);background-color:var(--kendo-color-tertiary-hover, #006155)}.k-hover.k-fab-solid-info,.k-fab-solid-info:hover{border-color:var(--kendo-color-info-hover, #0251d6);background-color:var(--kendo-color-info-hover, #0251d6)}.k-hover.k-fab-solid-success,.k-fab-solid-success:hover{border-color:var(--kendo-color-success-hover, #33a600);background-color:var(--kendo-color-success-hover, #33a600)}.k-hover.k-fab-solid-warning,.k-fab-solid-warning:hover{border-color:var(--kendo-color-warning-hover, #ebb201);background-color:var(--kendo-color-warning-hover, #ebb201)}.k-hover.k-fab-solid-error,.k-fab-solid-error:hover{border-color:var(--kendo-color-error-hover, #e01701);background-color:var(--kendo-color-error-hover, #e01701)}.k-hover.k-fab-solid-dark,.k-fab-solid-dark:hover{border-color:var(--kendo-color-dark-hover, #212121);background-color:var(--kendo-color-dark-hover, #212121)}.k-hover.k-fab-solid-light,.k-fab-solid-light:hover{border-color:var(--kendo-color-light-hover, #ebebeb);background-color:var(--kendo-color-light-hover, #ebebeb)}.k-hover.k-fab-solid-inverse,.k-fab-solid-inverse:hover{border-color:var(--kendo-color-inverse-hover, #212121);background-color:var(--kendo-color-inverse-hover, #212121)}.k-focus.k-fab-solid-primary,.k-fab-solid-primary:focus{border-color:var(--kendo-color-primary-active, #354498);background-color:var(--kendo-color-primary-active, #354498)}.k-focus.k-fab-solid-secondary,.k-fab-solid-secondary:focus{border-color:var(--kendo-color-secondary-active, #c01650);background-color:var(--kendo-color-secondary-active, #c01650)}.k-focus.k-fab-solid-tertiary,.k-fab-solid-tertiary:focus{border-color:var(--kendo-color-tertiary-active, #00584d);background-color:var(--kendo-color-tertiary-active, #00584d)}.k-focus.k-fab-solid-info,.k-fab-solid-info:focus{border-color:var(--kendo-color-info-active, #034ac3);background-color:var(--kendo-color-info-active, #034ac3)}.k-focus.k-fab-solid-success,.k-fab-solid-success:focus{border-color:var(--kendo-color-success-active, #2e9704);background-color:var(--kendo-color-success-active, #2e9704)}.k-focus.k-fab-solid-warning,.k-fab-solid-warning:focus{border-color:var(--kendo-color-warning-active, #d6a202);background-color:var(--kendo-color-warning-active, #d6a202)}.k-focus.k-fab-solid-error,.k-fab-solid-error:focus{border-color:var(--kendo-color-error-active, #cc1505);background-color:var(--kendo-color-error-active, #cc1505)}.k-focus.k-fab-solid-dark,.k-fab-solid-dark:focus{border-color:var(--kendo-color-dark-active, #000000);background-color:var(--kendo-color-dark-active, #000000)}.k-focus.k-fab-solid-light,.k-fab-solid-light:focus{border-color:var(--kendo-color-light-active, #d6d6d6);background-color:var(--kendo-color-light-active, #d6d6d6)}.k-focus.k-fab-solid-inverse,.k-fab-solid-inverse:focus{border-color:var(--kendo-color-inverse-active, #000000);background-color:var(--kendo-color-inverse-active, #000000)}.k-active.k-fab-solid-primary,.k-selected.k-fab-solid-primary,.k-fab-solid-primary:active{border-color:var(--kendo-color-primary-active, #354498);background-color:var(--kendo-color-primary-active, #354498);box-shadow:k-elevation(7)}.k-active.k-fab-solid-secondary,.k-selected.k-fab-solid-secondary,.k-fab-solid-secondary:active{border-color:var(--kendo-color-secondary-active, #c01650);background-color:var(--kendo-color-secondary-active, #c01650);box-shadow:k-elevation(7)}.k-active.k-fab-solid-tertiary,.k-selected.k-fab-solid-tertiary,.k-fab-solid-tertiary:active{border-color:var(--kendo-color-tertiary-active, #00584d);background-color:var(--kendo-color-tertiary-active, #00584d);box-shadow:k-elevation(7)}.k-active.k-fab-solid-info,.k-selected.k-fab-solid-info,.k-fab-solid-info:active{border-color:var(--kendo-color-info-active, #034ac3);background-color:var(--kendo-color-info-active, #034ac3);box-shadow:k-elevation(7)}.k-active.k-fab-solid-success,.k-selected.k-fab-solid-success,.k-fab-solid-success:active{border-color:var(--kendo-color-success-active, #2e9704);background-color:var(--kendo-color-success-active, #2e9704);box-shadow:k-elevation(7)}.k-active.k-fab-solid-warning,.k-selected.k-fab-solid-warning,.k-fab-solid-warning:active{border-color:var(--kendo-color-warning-active, #d6a202);background-color:var(--kendo-color-warning-active, #d6a202);box-shadow:k-elevation(7)}.k-active.k-fab-solid-error,.k-selected.k-fab-solid-error,.k-fab-solid-error:active{border-color:var(--kendo-color-error-active, #cc1505);background-color:var(--kendo-color-error-active, #cc1505);box-shadow:k-elevation(7)}.k-active.k-fab-solid-dark,.k-selected.k-fab-solid-dark,.k-fab-solid-dark:active{border-color:var(--kendo-color-dark-active, #000000);background-color:var(--kendo-color-dark-active, #000000);box-shadow:k-elevation(7)}.k-active.k-fab-solid-light,.k-selected.k-fab-solid-light,.k-fab-solid-light:active{border-color:var(--kendo-color-light-active, #d6d6d6);background-color:var(--kendo-color-light-active, #d6d6d6);box-shadow:k-elevation(7)}.k-active.k-fab-solid-inverse,.k-selected.k-fab-solid-inverse,.k-fab-solid-inverse:active{border-color:var(--kendo-color-inverse-active, #000000);background-color:var(--kendo-color-inverse-active, #000000);box-shadow:k-elevation(7)}.k-disabled.k-fab-solid-primary,.k-fab-solid-primary:disabled{box-shadow:k-elevation(5);border-color:rgba(0,0,0,0);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);opacity:1}.k-disabled.k-fab-solid-secondary,.k-fab-solid-secondary:disabled{box-shadow:k-elevation(5);border-color:rgba(0,0,0,0);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);opacity:1}.k-disabled.k-fab-solid-tertiary,.k-fab-solid-tertiary:disabled{box-shadow:k-elevation(5);border-color:rgba(0,0,0,0);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);opacity:1}.k-disabled.k-fab-solid-info,.k-fab-solid-info:disabled{box-shadow:k-elevation(5);border-color:rgba(0,0,0,0);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);opacity:1}.k-disabled.k-fab-solid-success,.k-fab-solid-success:disabled{box-shadow:k-elevation(5);border-color:rgba(0,0,0,0);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);opacity:1}.k-disabled.k-fab-solid-warning,.k-fab-solid-warning:disabled{box-shadow:k-elevation(5);border-color:rgba(0,0,0,0);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);opacity:1}.k-disabled.k-fab-solid-error,.k-fab-solid-error:disabled{box-shadow:k-elevation(5);border-color:rgba(0,0,0,0);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);opacity:1}.k-disabled.k-fab-solid-dark,.k-fab-solid-dark:disabled{box-shadow:k-elevation(5);border-color:rgba(0,0,0,0);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);opacity:1}.k-disabled.k-fab-solid-light,.k-fab-solid-light:disabled{box-shadow:k-elevation(5);border-color:rgba(0,0,0,0);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);opacity:1}.k-disabled.k-fab-solid-inverse,.k-fab-solid-inverse:disabled{box-shadow:k-elevation(5);border-color:rgba(0,0,0,0);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);opacity:1}.k-fab-item-text{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff);box-shadow:k-elevation(5)}.k-fab-item-icon{border-color:var(--kendo-color-base, #ffffff);color:var(--kendo-color-on-base, #212121);background-color:var(--kendo-color-base, #ffffff);box-shadow:k-elevation(5)}.k-fab-item.k-hover .k-fab-item-icon,.k-fab-item:hover .k-fab-item-icon{border-color:var(--kendo-color-base-hover, #ebebeb);background-color:var(--kendo-color-base-hover, #ebebeb);color:var(--kendo-color-on-base, #212121)}.k-fab-item:focus .k-fab-item-icon,.k-fab-item.k-focus .k-fab-item-icon{border-color:var(--kendo-color-base-active, #d6d6d6);background-color:var(--kendo-color-base-active, #d6d6d6);color:var(--kendo-color-on-base, #212121)}.k-fab-item.k-active .k-fab-item-icon,.k-fab-item:active .k-fab-item-icon{box-shadow:k-elevation(7);border-color:var(--kendo-color-base, #ffffff);background-color:var(--kendo-color-base, #ffffff)}.k-fab-item.k-disabled,.k-fab-item:disabled{opacity:1}.k-fab-item.k-disabled .k-fab-item-text,.k-fab-item.k-disabled .k-fab-item-icon,.k-fab-item:disabled .k-fab-item-text,.k-fab-item:disabled .k-fab-item-icon{box-shadow:k-elevation(5);background-color:color-mix(in srgb, var(--kendo-color-base, #ffffff) 60%, transparent);color:color-mix(in srgb, var(--kendo-color-on-base, #212121) 60%, transparent)}.k-fab-popup{box-shadow:none}.k-actionsheet-container{width:100%;height:100%;max-width:clamp(100vw,100%,100%);max-height:clamp(100vh,100%,100%);position:fixed;top:0;left:0;z-index:9999;overflow:hidden;transform:translateZ(0)}.k-actionsheet-container>.k-overlay{position:absolute;z-index:1}.k-actionsheet-container>.k-animation-container{width:100%;height:100%;border-radius:0;overflow:hidden;position:absolute;z-index:2;top:0;left:0;pointer-events:none}.k-actionsheet-container>.k-animation-container>.k-child-animation-container{position:absolute}.k-actionsheet-container>.k-actionsheet{position:absolute;z-index:2}.k-actionsheet-container .k-actionsheet{pointer-events:all}.k-actionsheet{width:var(--kendo-actionsheet-width, 360px);height:var(--kendo-actionsheet-height, 60vh);max-width:var(--kendo-actionsheet-max-width, 100%);max-height:var(--kendo-actionsheet-max-height, 60vh);border-width:0;border-style:solid;border-color:rgba(0,0,0,0);box-sizing:border-box;font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:1.4285714286;overflow:hidden;position:relative}.k-actionsheet *,.k-actionsheet *::before,.k-actionsheet *::after{box-sizing:border-box}.k-actionsheet-titlebar,.k-actionsheet-jq .k-actionsheet-header{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);border-width:0;border-style:solid;border-color:rgba(0,0,0,0);font-size:var(--kendo-font-size-lg, inherit);line-height:1.25;flex:none;display:flex;flex-flow:column nowrap;align-items:center;gap:var(--kendo-spacing-4, 1rem)}.k-actionsheet-titlebar-group{display:flex;flex-flow:row nowrap;align-items:center;width:100%}.k-actionsheet-title{flex:1}.k-actionsheet-subtitle{font-size:var(--kendo-font-size-sm, inherit);line-height:var(--kendo-line-height-sm, normal)}.k-actionsheet-actions{flex:none}.k-actionsheet-content{flex:1;overflow:auto;position:relative}.k-actionsheet-footer{flex:none}.k-actionsheet-items{margin:0;padding:0;list-style:none;flex:none}.k-actionsheet-item{padding:0;box-sizing:border-box;display:flex;flex-flow:row nowrap;outline:none}.k-actionsheet-action{margin:0;padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);min-height:40px;box-sizing:border-box;color:inherit;text-decoration:none;outline:0;display:flex;flex-flow:row nowrap;align-items:flex-start;gap:var(--kendo-spacing-3, 0.75rem)}.k-actionsheet-item-text{display:flex;flex-flow:column nowrap}.k-actionsheet-item-description{font-size:.875em}.k-actionsheet .k-hr{margin:0;flex:none}.k-actionsheet-top{border-bottom-right-radius:0px;border-bottom-left-radius:0px;border-width:0px;border-top-width:0;top:0;inset-inline-start:50%;transform:translateX(-50%)}.k-actionsheet-bottom{border-top-left-radius:0px;border-top-right-radius:0px;border-width:0px;border-bottom-width:0;bottom:0;inset-inline-start:50%;transform:translateX(-50%)}.k-actionsheet-left{border-top-right-radius:0px;border-bottom-right-radius:0px;border-width:0px;border-left-width:0;left:0;top:50%;transform:translateY(-50%)}.k-actionsheet-right{border-top-left-radius:0px;border-bottom-left-radius:0px;border-width:0px;border-right-width:0;right:0;top:50%;transform:translateY(-50%)}.k-actionsheet-fullscreen{width:100%;max-width:100%;max-height:100%;height:100%}.k-animation-container>.k-actionsheet{top:auto;right:auto;bottom:auto;left:auto;transform:none}.k-adaptive-actionsheet{max-width:100%;width:100%;font-size:var(--kendo-font-size-lg, inherit);display:flex;flex-flow:column nowrap}.k-adaptive-actionsheet .k-actionsheet-titlebar,.k-adaptive-actionsheet .k-actionsheet-jq .k-actionsheet-header,.k-actionsheet-jq .k-adaptive-actionsheet .k-actionsheet-header{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-4, 1rem);border-bottom-width:1px}.k-adaptive-actionsheet .k-actionsheet-content{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-adaptive-actionsheet .k-actionsheet-footer{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-adaptive-actionsheet .k-actionsheet-filter{width:calc(360px - var(--kendo-spacing-4, 1rem)*2)}.k-adaptive-actionsheet .k-actionsheet-content,.k-adaptive-actionsheet .k-actionsheet-footer{margin-inline:auto;width:min(100%, 360px)}.k-adaptive-actionsheet .k-list-container,.k-adaptive-actionsheet .k-treeview{height:100%}.k-adaptive-actionsheet .k-list-filter{width:100%;padding-inline:0}.k-adaptive-actionsheet .k-menu-group{height:100%;overflow:auto;position:static}.k-adaptive-actionsheet .k-calendar{margin-inline:auto;border-width:0;display:flex}.k-adaptive-actionsheet .k-timeselector{height:100%;border-width:0;overflow:hidden}.k-adaptive-actionsheet .k-timeselector .k-time-part{display:contents}.k-adaptive-actionsheet .k-timeselector .k-time-list-wrapper{height:100%}.k-adaptive-actionsheet .k-datetime-wrap{width:100%;height:100%;display:flex;flex-flow:column nowrap}.k-adaptive-actionsheet .k-datetime-selector{flex:1 1 auto}.k-adaptive-actionsheet .k-datetime-calendar-wrap{width:100%;position:absolute;top:0;left:0;bottom:0;flex:0 0 100%}.k-adaptive-actionsheet .k-datetime-time-wrap{width:100%;position:absolute;top:0;left:100%;bottom:0;flex:0 0 100%}.k-adaptive-actionsheet .k-scrollable-wrap{height:100%;overflow-y:auto}.k-adaptive-actionsheet .k-data-table{max-height:100%;overflow:hidden;display:flex;flex-flow:column nowrap}.k-actionsheet-jq.k-actionsheet{height:auto}.k-actionsheet-jq .k-actionsheet-header{align-items:flex-start}.k-actionsheet-jq .k-actionsheet-action{align-items:center}.k-rtl .k-actionsheet-top,.k-rtl .k-actionsheet-bottom,[dir=rtl] .k-actionsheet-top,[dir=rtl] .k-actionsheet-bottom{transform:translateX(50%)}.k-actionsheet{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff);box-shadow:k-elevation(7)}.k-actionsheet-subtitle{color:var(--kendo-color-subtle, #757575)}.k-actionsheet-item:hover,.k-actionsheet-item.k-hover{background-color:rgba(0,0,0,.04)}.k-actionsheet-item:focus,.k-actionsheet-item.k-focus{background-color:rgba(0,0,0,.12)}.k-actionsheet-item-description{color:var(--kendo-color-subtle, #757575)}.k-actionsheet .k-hr{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-adaptive-actionsheet .k-actionsheet-titlebar,.k-adaptive-actionsheet .k-actionsheet-jq .k-actionsheet-header,.k-actionsheet-jq .k-adaptive-actionsheet .k-actionsheet-header{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-window{border-radius:4px;padding:0;border-width:0px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;display:inline-flex;flex-direction:column;position:absolute;z-index:10002;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-window.k-window-maximized{max-width:100vw;max-height:100vh;box-shadow:none}.k-window-sm{width:300px}.k-window-md{width:800px}.k-window-lg{width:1200px}.k-window-titlebar{border-top-left-radius:4px;border-top-right-radius:4px;padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-6, 1.5rem);border-width:0px;border-style:solid;white-space:nowrap;display:flex;flex-direction:row;flex-shrink:0;align-items:center}.k-window-minimized .k-window-titlebar{border-width:0}.k-window-title{padding-block:.5em;padding-inline:0;margin-block:-0.5em;margin-inline:0;font-size:var(--kendo-font-size-lg, inherit);line-height:var(--kendo-line-height-lg, normal);text-overflow:ellipsis;overflow:hidden;cursor:default;flex:1;display:flex;flex-flow:row nowrap}.k-window-title::before{content:"​"}.k-window-titlebar-actions{margin-block:-5em;margin-inline:0;margin-inline-end:calc(var(--kendo-spacing-4, 1rem) - var(--kendo-spacing-6, 1.5rem));line-height:1;display:flex;flex-flow:row nowrap;flex-shrink:0;align-items:center;vertical-align:top}.k-window-titlebar-action{flex-shrink:0}.k-window-content,.k-prompt-container{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-6, 1.5rem);border-width:0;border-color:inherit;color:inherit;background:none;outline:0;overflow:auto;position:relative;flex:1 1 auto}.k-window-content+.k-prompt-container{margin-top:-var(--kendo-spacing-2, 0.5rem)/2}.k-window-content:first-child{padding-top:clamp(var(--kendo-spacing-2, 0.5rem),var(--kendo-spacing-4, 1rem),var(--kendo-spacing-4, 1rem))}.k-window-content:last-child{padding-bottom:clamp(var(--kendo-spacing-2, 0.5rem),var(--kendo-spacing-4, 1rem),var(--kendo-spacing-4, 1rem))}.k-window-iframecontent{padding:0;overflow:visible}.k-window-iframecontent .k-content-frame{vertical-align:top;border:0;width:100%;height:100%}.k-window-actions{border-bottom-right-radius:4px;border-bottom-left-radius:4px;padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border-width:0px 0 0;border-style:solid;border-color:inherit;flex:0 0 auto;display:flex;flex-flow:row wrap;align-items:center;overflow:hidden}.k-prompt-container>.k-textarea{width:100%}.k-window .k-resize-n{top:0}.k-window .k-resize-e{right:0}.k-window .k-resize-s{bottom:0}.k-window .k-resize-w{left:0}.k-window{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff);box-shadow:k-elevation(8)}.k-window:focus,.k-window.k-focus{box-shadow:k-elevation(9)}.k-window-primary .k-window-titlebar{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-window-light .k-window-titlebar{color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5)}.k-window-dark .k-window-titlebar{color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-dialog-wrapper{display:flex;align-items:center;justify-content:center;flex-direction:column;outline:0;position:fixed;top:0;left:0;width:100%;height:100%;z-index:10001}.k-dialog-wrapper .k-dialog{position:relative}.k-dialog{padding:0;position:fixed;box-sizing:border-box}.k-dialog.k-dialog-centered{transform:translate(-50%, -50%);top:50%;left:50%}.k-dialog .k-multiselect{width:100%}.k-dialog-actions{border-bottom-right-radius:4px;border-bottom-left-radius:4px;padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border-width:1px 0 0;border-style:solid;border-color:inherit;flex:0 0 auto;display:flex;flex-flow:row wrap;align-items:center;gap:var(--kendo-spacing-2, 0.5rem);overflow:hidden}.k-dialog-content.k-scroll{border-width:1px 0;border-style:solid;padding-top:var(--kendo-spacing-2, 0.5rem)/2;padding-bottom:var(--kendo-spacing-2, 0.5rem)/2}.k-dialog-primary .k-dialog-titlebar{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-dialog-light .k-dialog-titlebar{color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5)}.k-dialog-dark .k-dialog-titlebar{color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-dialog-content.k-scroll{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-drawer-container{display:flex;flex-flow:row nowrap;align-items:flex-start}kendo-drawer.k-drawer,kendo-drawer .k-drawer-wrapper{transition:none}.k-drawer{height:100%;max-width:100%;border-width:0;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-direction:column;flex:0 0 auto;transition:all 300ms ease-in-out;overflow:hidden;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-drawer *,.k-drawer *::before,.k-drawer *::after{box-sizing:border-box}.k-drawer-mini .k-drawer.k-drawer-start,.k-drawer-expanded .k-drawer.k-drawer-start{border-inline-end-width:1px}.k-drawer-mini .k-drawer.k-drawer-end,.k-drawer-expanded .k-drawer.k-drawer-end{border-inline-start-width:1px}.k-drawer.k-drawer-start{top:0;inset-inline-start:0}.k-drawer.k-drawer-end{top:0;inset-inline-end:0}.k-drawer-content{flex:1 1 auto;overflow:auto}.k-drawer-overlay .k-drawer{max-width:80vw;position:fixed;z-index:10002;border:0}.k-drawer-overlay>.k-overlay{display:none}.k-drawer-overlay.k-drawer-expanded>.k-overlay{display:block}.k-drawer-push{display:flex;flex-direction:row}.k-drawer-push .k-drawer{height:auto;position:relative;align-self:stretch}.k-drawer-push:has(.k-drawer.k-drawer-end){flex-direction:row-reverse}.k-drawer-wrapper{overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;transition:all 300ms ease-in-out}.k-drawer-wrapper::-webkit-scrollbar{width:7px}.k-drawer-wrapper::-webkit-scrollbar-thumb{border-radius:20px}.k-drawer-items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;align-items:stretch}.k-drawer-item{padding-block:var(--kendo-spacing-3, 0.75rem);padding-inline:var(--kendo-spacing-4, 1rem);outline:0;color:inherit;font-size:var(--kendo-font-size-lg, inherit);line-height:var(--kendo-line-height-lg, normal);display:flex;flex-flow:row nowrap;gap:var(--kendo-spacing-4, 1rem);cursor:pointer}.k-drawer-item>.k-drawer-link{margin-block:calc(var(--kendo-spacing-3, 0.75rem)*-1);margin-inline:calc(var(--kendo-spacing-4, 1rem)*-1);padding-block:var(--kendo-spacing-3, 0.75rem);padding-inline:var(--kendo-spacing-4, 1rem);color:inherit;display:flex;flex-flow:row nowrap;flex:1 0 auto;gap:var(--kendo-spacing-4, 1rem)}.k-drawer-item .k-icon{flex-shrink:0;padding-inline:var(--kendo-spacing-0, 0px);padding-block:var(--kendo-spacing-1, 0.25rem);box-sizing:content-box}.k-drawer-item .k-icon.k-i-none{margin:0}.k-drawer-item .k-item-text{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-drawer-item .k-drawer-toggle{margin-inline-start:auto;cursor:pointer;display:flex}.k-drawer-item.k-level-1{padding-inline-start:calc((1 + 1)*var(--kendo-spacing-4, 1rem))}.k-drawer-item.k-level-2{padding-inline-start:calc((2 + 1)*var(--kendo-spacing-4, 1rem))}.k-drawer-item.k-level-3{padding-inline-start:calc((3 + 1)*var(--kendo-spacing-4, 1rem))}.k-drawer-item.k-level-4{padding-inline-start:calc((4 + 1)*var(--kendo-spacing-4, 1rem))}.k-drawer-item.k-level-5{padding-inline-start:calc((5 + 1)*var(--kendo-spacing-4, 1rem))}.k-drawer-separator{padding:0;height:1px}.k-drawer-mini .k-drawer-wrapper{width:calc(2*var(--kendo-spacing-4, 1rem) + 16px)}.k-drawer{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-drawer-wrapper{scrollbar-color:rgba(156,156,156,.7) #dedede}.k-drawer-wrapper::-webkit-scrollbar-track{background:#dedede}.k-drawer-wrapper::-webkit-scrollbar-thumb{background:rgba(156,156,156,.7)}.k-drawer-wrapper::-webkit-scrollbar-thumb:hover{background:#9c9c9c}.k-drawer-item:hover,.k-drawer-item.k-hover{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-drawer-item:focus,.k-drawer-item.k-focus{background-color:var(--kendo-color-base-hover, #ebebeb);box-shadow:none}.k-drawer-item:focus:hover,.k-drawer-item:focus.k-hover,.k-drawer-item.k-focus:hover,.k-drawer-item.k-focus.k-hover{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-drawer-item.k-selected{color:var(--kendo-color-secondary, #e51a5f)}.k-drawer-item.k-selected:hover,.k-drawer-item.k-selected.k-hover{color:var(--kendo-color-secondary, #e51a5f);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-drawer-separator{background-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-drawer-item.k-selected:focus,.k-drawer-item.k-selected.k-focus{background-color:var(--kendo-color-base-hover, #ebebeb);box-shadow:none}.k-notification-group{max-height:100%;display:inline-flex;flex-flow:column-reverse wrap;position:fixed;z-index:1000;gap:var(--kendo-spacing-2, 0.5rem) 0}.k-notification-container-animating{overflow:hidden}.k-notification{border-radius:var(--kendo-spacing-1, 0.25rem);padding-block:var(--kendo-spacing-3\.5, 0.875rem);padding-inline:var(--kendo-spacing-4, 1rem);border-width:0px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;cursor:default;position:relative;display:flex;align-items:center;justify-content:center;gap:var(--kendo-spacing-2, 0.5rem);-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-notification *,.k-notification *::before,.k-notification *::after{box-sizing:border-box}.k-notification>.k-notification-content{flex:1 1 auto}.k-notification-actions{flex:none;display:flex;gap:var(--kendo-spacing-2, 0.5rem);flex-flow:row nowrap;align-items:center;align-self:center;cursor:pointer}.k-notification-action{flex:none;display:flex;flex-flow:row nowrap;align-items:center;align-self:center}.k-notification{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff);box-shadow:k-elevation(4)}.k-notification-inverse{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-inverse, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-notification-light{border-color:var(--kendo-color-light, #f5f5f5);color:var(--kendo-color-on-light, #000000);background-color:var(--kendo-color-light, #f5f5f5)}.k-notification-dark{border-color:var(--kendo-color-dark, #424242);color:var(--kendo-color-on-dark, #ffffff);background-color:var(--kendo-color-dark, #424242)}.k-notification-error{border-color:var(--kendo-color-error, #f31700);color:var(--kendo-color-on-error, #ffffff);background-color:var(--kendo-color-error, #f31700)}.k-notification-warning{border-color:var(--kendo-color-warning, #ffc000);color:var(--kendo-color-on-warning, #000000);background-color:var(--kendo-color-warning, #ffc000)}.k-notification-success{border-color:var(--kendo-color-success, #37b400);color:var(--kendo-color-on-success, #ffffff);background-color:var(--kendo-color-success, #37b400)}.k-notification-info{border-color:var(--kendo-color-info, #0058e9);color:var(--kendo-color-on-info, #ffffff);background-color:var(--kendo-color-info, #0058e9)}.k-notification-tertiary{border-color:var(--kendo-color-tertiary, #00695c);color:var(--kendo-color-on-tertiary, #ffffff);background-color:var(--kendo-color-tertiary, #00695c)}.k-notification-secondary{border-color:var(--kendo-color-secondary, #e51a5f);color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-notification-primary{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}kendo-card,kendo-card-header,kendo-card-body,kendo-card-actions,kendo-card-footer{display:block}.k-card{border-radius:var(--kendo-border-radius-md, 0.25rem);border-width:0px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;display:flex;flex-direction:column;position:relative;overflow:hidden;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-card *,.k-card *::before,.k-card *::after{box-sizing:border-box}.k-card .k-card-avatar,.k-card .k-avatar{margin-right:var(--kendo-spacing-4, 1rem);width:45px;height:45px;flex-basis:45px}.k-card>.k-card-inner{border-radius:calc(var(--kendo-border-radius-md, 0.25rem) - 0px);display:flex;flex-direction:inherit;overflow:hidden;position:relative}.k-card-horizontal{flex-flow:row nowrap}.k-card-vertical{flex-flow:column nowrap}.k-card-header{padding-block:var(--kendo-spacing-3, 0.75rem);padding-inline:var(--kendo-spacing-4, 1rem);border-width:0 0 1px;border-style:solid;outline:0;flex-shrink:0;overflow:hidden;position:relative;z-index:1}.k-card-header .k-card-title,.k-card-header .k-card-subtitle{margin-bottom:0}.k-card-header .k-card-title+.k-card-subtitle,.k-card-header .k-card-subtitle+.k-card-subtitle{margin-top:var(--kendo-spacing-3, 0.75rem)}.k-card-footer{padding-block:var(--kendo-spacing-3, 0.75rem);padding-inline:var(--kendo-spacing-4, 1rem);border-width:1px 0 0;border-style:solid;outline:0;flex-shrink:0}.k-card-body{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-4, 1rem);outline:0;flex:1 1 auto}.k-card-body p{margin:0 0 12px}.k-card-body>.k-last,.k-card-body>:last-child{margin-bottom:0}.k-card-body>.k-card-actions{padding:0}.k-card-media{border:0;max-width:100%;flex-shrink:0;overflow:hidden}.k-card-horizontal .k-card-media{max-width:100px;object-fit:cover}.k-card-title{margin:0 0 var(--kendo-spacing-3, 0.75rem);font-size:24px;font-family:var(--kendo-font-family, inherit);line-height:1.25;font-weight:500}.k-card-subtitle{margin:0 0 var(--kendo-spacing-3, 0.75rem);font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:1.4285714286;font-weight:500}.k-card-separator{margin:0;border-width:0;border-style:solid;border-color:inherit;display:block;flex:0 0 auto;align-self:stretch}.k-card-separator.k-separator-horizontal,.k-card-vertical>.k-card-separator{border-top-width:1px}.k-card-separator.k-separator-vertical,.k-card-horizontal>.k-card-separator{border-left-width:1px}.k-card>.k-hr{margin:0;flex:0 0 auto;border-color:inherit}.k-card-actions{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border-width:0;border-style:solid;border-color:inherit;overflow:hidden;display:flex;flex-shrink:0;flex-basis:auto;gap:var(--kendo-spacing-2, 0.5rem)}.k-card-horizontal .k-actions-horizontal{width:auto}.k-card-list{display:flex;flex-flow:column nowrap;align-items:stretch;gap:var(--kendo-spacing-4, 1rem);flex:0 0 auto}.k-card-list .k-card{flex:0 0 auto}.k-card-deck{display:flex;flex-flow:row nowrap;align-items:stretch;gap:var(--kendo-spacing-4, 1rem);flex:0 0 auto}.k-card-deck .k-card{flex:0 0 auto}.k-card-deck-scrollwrap{padding-bottom:3px;width:100%;box-sizing:content-box;display:flex;flex:0 0 auto;align-items:center;position:relative;overflow:hidden}.k-card-deck-scrollwrap>.k-button{border-radius:50%;flex:0 0 auto;position:absolute;z-index:1}.k-card-deck-scrollwrap>.k-button:first-child{left:calc(var(--kendo-spacing-4, 1rem)/2)}.k-card-deck-scrollwrap>.k-button:last-child{right:calc(var(--kendo-spacing-4, 1rem)/2)}.k-card-deck-scrollwrap>.k-card-deck{margin-bottom:-20px;padding-bottom:20px;flex:1 1 auto}.k-card-group{display:flex;flex-flow:row nowrap;align-items:stretch;flex:0 0 auto}.k-card-group .k-card{border-radius:0;flex:0 0 auto}.k-card-group .k-card+.k-card{margin-inline-start:0px}.k-card-group .k-card.k-first{border-top-left-radius:var(--kendo-border-radius-md, 0.25rem);border-bottom-left-radius:var(--kendo-border-radius-md, 0.25rem)}.k-card-group .k-card.k-last{border-top-right-radius:var(--kendo-border-radius-md, 0.25rem);border-bottom-right-radius:var(--kendo-border-radius-md, 0.25rem)}.k-card-group .k-card.k-only{border-radius:var(--kendo-border-radius-md, 0.25rem)}.k-card-with-callout{overflow:visible}.k-card-callout{margin:0;width:20px;height:20px;border-width:0px;border-style:solid;box-sizing:border-box;position:absolute}.k-card-callout.k-callout-n{top:0;left:50%;transform:translate(-50%, -50%) rotate(45deg)}.k-card-callout.k-callout-e{top:50%;right:0;transform:translate(50%, -50%) rotate(-45deg)}.k-card-callout.k-callout-s{bottom:0;left:50%;transform:translate(-50%, 50%) rotate(45deg)}.k-card-callout.k-callout-w{top:50%;left:0;transform:translate(-50%, -50%) rotate(45deg)}.k-card-solid{box-shadow:k-elevation(1)}.k-card-flat{box-shadow:none}.k-card{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff);box-shadow:k-elevation(1)}.k-card .k-card-inner{background-color:inherit;border-color:inherit}.k-card:focus,.k-card.k-focus{box-shadow:k-elevation(3)}.k-card.k-selected{box-shadow:k-elevation(3)}.k-card-actions{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-card-header{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-card-footer{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-card-separator,.k-card .k-separator{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-card-subtitle{color:var(--kendo-color-subtle, #757575)}.k-card-primary{background-color:var(--kendo-color-primary-subtle, #d1d5ee);color:var(--kendo-color-primary-on-subtle, #161c3f);border-color:var(--kendo-color-primary-emphasis, #97a0d7)}.k-card-primary .k-card-subtitle{color:inherit}.k-card-secondary{background-color:var(--kendo-color-secondary-subtle, #fbcdd9);color:var(--kendo-color-secondary-on-subtle, #500c22);border-color:var(--kendo-color-secondary-emphasis, #f58da9)}.k-card-secondary .k-card-subtitle{color:inherit}.k-card-tertiary{background-color:var(--kendo-color-tertiary-subtle, #c9dbd8);color:var(--kendo-color-tertiary-on-subtle, #002520);border-color:var(--kendo-color-tertiary-emphasis, #84aea7)}.k-card-tertiary .k-card-subtitle{color:inherit}.k-card-info{background-color:var(--kendo-color-info-subtle, #c8d7fb);color:var(--kendo-color-info-on-subtle, #071f51);border-color:var(--kendo-color-info-emphasis, #80a5f4)}.k-card-info .k-card-subtitle{color:inherit}.k-card-success{background-color:var(--kendo-color-success-subtle, #d7f0cc);color:var(--kendo-color-success-on-subtle, #163f09);border-color:var(--kendo-color-success-emphasis, #93d775)}.k-card-success .k-card-subtitle{color:inherit}.k-card-warning{background-color:var(--kendo-color-warning-subtle, #fff0ce);color:var(--kendo-color-warning-on-subtle, #59430a);border-color:var(--kendo-color-warning-emphasis, #ffdd8f)}.k-card-warning .k-card-subtitle{color:inherit}.k-card-error{background-color:var(--kendo-color-error-subtle, #fcc7c2);color:var(--kendo-color-error-on-subtle, #550c07);border-color:var(--kendo-color-error-emphasis, #fc8d83)}.k-card-error .k-card-subtitle{color:inherit}.k-card-dark{background-color:var(--kendo-color-dark-subtle, #c7c7c7);color:var(--kendo-color-dark-on-subtle, #212121);border-color:var(--kendo-color-dark-emphasis, #9e9e9e)}.k-card-dark .k-card-subtitle{color:inherit}.k-card-light{background-color:var(--kendo-color-light-subtle, #fafafa);color:var(--kendo-color-light-on-subtle, #212121);border-color:var(--kendo-color-light-emphasis, #e0e0e0)}.k-card-light .k-card-subtitle{color:inherit}.k-card-inverse{background-color:var(--kendo-color-inverse-subtle, #c7c7c7);color:var(--kendo-color-inverse-on-subtle, #212121);border-color:var(--kendo-color-inverse-emphasis, #9e9e9e)}.k-card-inverse .k-card-subtitle{color:inherit}.k-card-wrap:focus>.k-card,.k-card-wrap.k-focus>.k-card,.k-card-wrap.k-selected>.k-card{box-shadow:k-elevation(3)}.k-card-callout{border-color:inherit;background-color:inherit;box-shadow:inherit}.k-popover{border-radius:var(--kendo-border-radius-md, 0.25rem);padding:0;border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:1.4285714286;display:flex;flex-flow:column nowrap;z-index:12000;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-popover *,.k-popover *::before,.k-popover *::after{box-sizing:border-box}.k-popover-inner{height:inherit;position:relative;border-radius:inherit;border-color:inherit}.k-popover-header{border-top-left-radius:var(--kendo-border-radius-md, 0.25rem);border-top-right-radius:var(--kendo-border-radius-md, 0.25rem);padding-block:var(--kendo-spacing-3, 0.75rem);padding-inline:var(--kendo-spacing-4, 1rem);border-width:0 0 1px;border-style:solid;border-color:inherit}.k-popover-body{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-popover-actions{border-width:1px 0 0}.k-popover-callout{margin:0;width:20px;height:20px;border-width:1px;border-style:solid;position:absolute}.k-popover-callout.k-callout-n{top:0;left:50%;transform:translate(-50%, -50%) rotate(45deg)}.k-popover-callout.k-callout-e{top:50%;right:0;transform:translate(50%, -50%) rotate(-45deg)}.k-popover-callout.k-callout-s{bottom:0;left:50%;transform:translate(-50%, 50%) rotate(45deg)}.k-popover-callout.k-callout-w{top:50%;left:0;transform:translate(-50%, -50%) rotate(45deg)}.k-popover{box-shadow:k-elevation(1);border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-popover-inner{background-color:inherit;border-color:inherit}.k-popover-header{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-popover-callout{border-color:inherit;background-color:inherit;box-shadow:inherit}.k-rpanel-left,.k-rpanel-right{position:fixed;display:block;overflow:auto;min-width:320px;height:100%;top:0}.k-rpanel-left+*,.k-rpanel-right+*{overflow:auto}.k-rpanel-left.k-rpanel-expanded,.k-rpanel-right.k-rpanel-expanded{transform:translateX(0) translateZ(0)}.k-rpanel-left{transform:translateX(-100%) translateZ(0);left:0}.k-rpanel-right{transform:translateX(100%) translateZ(0);right:0}.k-rpanel-top{position:static;max-height:0}.k-rpanel-top.k-rpanel-expanded{max-height:568px;overflow:visible !important}.k-rpanel-toggle{touch-action:manipulation}.k-bottom-nav{padding-block:var(--kendo-spacing-0, 0px);padding-inline:var(--kendo-spacing-0, 0px);width:100%;border-width:0;border-style:solid;border-color:rgba(0,0,0,0);box-sizing:border-box;font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height-xs, normal);font-family:var(--kendo-font-family, inherit);letter-spacing:.2px;display:flex;flex-flow:row nowrap;white-space:nowrap;gap:var(--kendo-spacing-0, 0px);overflow:hidden;outline:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-bottom-nav *,.k-bottom-nav *::before,.k-bottom-nav *::after{box-sizing:border-box}.k-bottom-nav-border{border-width:1px 0px 0px 0px}.k-bottom-nav-shadow{box-shadow:k-elevation(4)}.k-bottom-nav-item{padding-block:var(--kendo-spacing-0, 0px);padding-inline:var(--kendo-spacing-2, 0.5rem);min-width:72px;min-height:calc(40px + var(--kendo-spacing-2, 0.5rem)*2 - var(--kendo-spacing-0, 0px)*2);border-width:0;box-sizing:border-box;font:inherit;display:inline-flex;flex:1 1 auto;align-items:center;justify-content:center;gap:0 var(--kendo-spacing-1, 0.25rem);text-decoration:none;cursor:pointer;color:inherit;background-color:inherit;border-color:inherit;outline:none}.k-bottom-nav-item:focus{outline:none}.k-bottom-nav-item:hover{color:inherit;text-decoration:none}.k-bottom-nav-item>.k-bottom-nav-link{margin-block:calc(var(--kendo-spacing-0, 0px)*-1);margin-inline:calc(var(--kendo-spacing-2, 0.5rem)*-1);padding-block:var(--kendo-spacing-0, 0px);padding-inline:var(--kendo-spacing-2, 0.5rem);width:100%;color:inherit;display:flex;flex-flow:row nowrap;flex:1 0 auto;align-items:center;justify-content:center;outline:0}.k-bottom-nav-item.k-disabled{background-color:initial}.k-bottom-nav-item-text{overflow:hidden;text-overflow:ellipsis;max-width:100%}.k-bottom-nav-item-flow-horizontal .k-bottom-nav-item{flex-flow:row nowrap}.k-bottom-nav-item-flow-vertical .k-bottom-nav-item{flex-direction:column}.k-bottom-nav.k-pos-fixed,.k-bottom-nav.k-fixed{bottom:0;z-index:1}.k-bottom-nav-solid-primary,.k-bottom-nav-solid.k-bottom-nav-primary{color:color-mix(in srgb, var(--kendo-color-on-primary, #ffffff) 65%, transparent);background-color:var(--kendo-color-primary, #3f51b5)}.k-bottom-nav-solid-primary .k-bottom-nav-item.k-focus,.k-bottom-nav-solid.k-bottom-nav-primary .k-bottom-nav-item.k-focus,.k-bottom-nav-solid-primary .k-bottom-nav-item:focus,.k-bottom-nav-solid.k-bottom-nav-primary .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-primary, #ffffff) 12.5%, transparent)}.k-bottom-nav-solid-primary .k-bottom-nav-item.k-selected,.k-bottom-nav-solid.k-bottom-nav-primary .k-bottom-nav-item.k-selected{color:var(--kendo-color-on-primary, #ffffff)}.k-bottom-nav-solid-secondary,.k-bottom-nav-solid.k-bottom-nav-secondary{color:color-mix(in srgb, var(--kendo-color-on-secondary, #ffffff) 65%, transparent);background-color:var(--kendo-color-secondary, #e51a5f)}.k-bottom-nav-solid-secondary .k-bottom-nav-item.k-focus,.k-bottom-nav-solid.k-bottom-nav-secondary .k-bottom-nav-item.k-focus,.k-bottom-nav-solid-secondary .k-bottom-nav-item:focus,.k-bottom-nav-solid.k-bottom-nav-secondary .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-secondary, #ffffff) 12.5%, transparent)}.k-bottom-nav-solid-secondary .k-bottom-nav-item.k-selected,.k-bottom-nav-solid.k-bottom-nav-secondary .k-bottom-nav-item.k-selected{color:var(--kendo-color-on-secondary, #ffffff)}.k-bottom-nav-solid-tertiary,.k-bottom-nav-solid.k-bottom-nav-tertiary{color:color-mix(in srgb, var(--kendo-color-on-tertiary, #ffffff) 65%, transparent);background-color:var(--kendo-color-tertiary, #00695c)}.k-bottom-nav-solid-tertiary .k-bottom-nav-item.k-focus,.k-bottom-nav-solid.k-bottom-nav-tertiary .k-bottom-nav-item.k-focus,.k-bottom-nav-solid-tertiary .k-bottom-nav-item:focus,.k-bottom-nav-solid.k-bottom-nav-tertiary .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-tertiary, #ffffff) 12.5%, transparent)}.k-bottom-nav-solid-tertiary .k-bottom-nav-item.k-selected,.k-bottom-nav-solid.k-bottom-nav-tertiary .k-bottom-nav-item.k-selected{color:var(--kendo-color-on-tertiary, #ffffff)}.k-bottom-nav-solid-info,.k-bottom-nav-solid.k-bottom-nav-info{color:color-mix(in srgb, var(--kendo-color-on-info, #ffffff) 65%, transparent);background-color:var(--kendo-color-info, #0058e9)}.k-bottom-nav-solid-info .k-bottom-nav-item.k-focus,.k-bottom-nav-solid.k-bottom-nav-info .k-bottom-nav-item.k-focus,.k-bottom-nav-solid-info .k-bottom-nav-item:focus,.k-bottom-nav-solid.k-bottom-nav-info .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-info, #ffffff) 12.5%, transparent)}.k-bottom-nav-solid-info .k-bottom-nav-item.k-selected,.k-bottom-nav-solid.k-bottom-nav-info .k-bottom-nav-item.k-selected{color:var(--kendo-color-on-info, #ffffff)}.k-bottom-nav-solid-success,.k-bottom-nav-solid.k-bottom-nav-success{color:color-mix(in srgb, var(--kendo-color-on-success, #ffffff) 65%, transparent);background-color:var(--kendo-color-success, #37b400)}.k-bottom-nav-solid-success .k-bottom-nav-item.k-focus,.k-bottom-nav-solid.k-bottom-nav-success .k-bottom-nav-item.k-focus,.k-bottom-nav-solid-success .k-bottom-nav-item:focus,.k-bottom-nav-solid.k-bottom-nav-success .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-success, #ffffff) 12.5%, transparent)}.k-bottom-nav-solid-success .k-bottom-nav-item.k-selected,.k-bottom-nav-solid.k-bottom-nav-success .k-bottom-nav-item.k-selected{color:var(--kendo-color-on-success, #ffffff)}.k-bottom-nav-solid-warning,.k-bottom-nav-solid.k-bottom-nav-warning{color:color-mix(in srgb, var(--kendo-color-on-warning, #000000) 65%, transparent);background-color:var(--kendo-color-warning, #ffc000)}.k-bottom-nav-solid-warning .k-bottom-nav-item.k-focus,.k-bottom-nav-solid.k-bottom-nav-warning .k-bottom-nav-item.k-focus,.k-bottom-nav-solid-warning .k-bottom-nav-item:focus,.k-bottom-nav-solid.k-bottom-nav-warning .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-warning, #000000) 12.5%, transparent)}.k-bottom-nav-solid-warning .k-bottom-nav-item.k-selected,.k-bottom-nav-solid.k-bottom-nav-warning .k-bottom-nav-item.k-selected{color:var(--kendo-color-on-warning, #000000)}.k-bottom-nav-solid-error,.k-bottom-nav-solid.k-bottom-nav-error{color:color-mix(in srgb, var(--kendo-color-on-error, #ffffff) 65%, transparent);background-color:var(--kendo-color-error, #f31700)}.k-bottom-nav-solid-error .k-bottom-nav-item.k-focus,.k-bottom-nav-solid.k-bottom-nav-error .k-bottom-nav-item.k-focus,.k-bottom-nav-solid-error .k-bottom-nav-item:focus,.k-bottom-nav-solid.k-bottom-nav-error .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-error, #ffffff) 12.5%, transparent)}.k-bottom-nav-solid-error .k-bottom-nav-item.k-selected,.k-bottom-nav-solid.k-bottom-nav-error .k-bottom-nav-item.k-selected{color:var(--kendo-color-on-error, #ffffff)}.k-bottom-nav-solid-dark,.k-bottom-nav-solid.k-bottom-nav-dark{color:color-mix(in srgb, var(--kendo-color-on-dark, #ffffff) 65%, transparent);background-color:var(--kendo-color-dark, #424242)}.k-bottom-nav-solid-dark .k-bottom-nav-item.k-focus,.k-bottom-nav-solid.k-bottom-nav-dark .k-bottom-nav-item.k-focus,.k-bottom-nav-solid-dark .k-bottom-nav-item:focus,.k-bottom-nav-solid.k-bottom-nav-dark .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-dark, #ffffff) 12.5%, transparent)}.k-bottom-nav-solid-dark .k-bottom-nav-item.k-selected,.k-bottom-nav-solid.k-bottom-nav-dark .k-bottom-nav-item.k-selected{color:var(--kendo-color-on-dark, #ffffff)}.k-bottom-nav-solid-light,.k-bottom-nav-solid.k-bottom-nav-light{color:color-mix(in srgb, var(--kendo-color-on-light, #000000) 65%, transparent);background-color:var(--kendo-color-light, #f5f5f5)}.k-bottom-nav-solid-light .k-bottom-nav-item.k-focus,.k-bottom-nav-solid.k-bottom-nav-light .k-bottom-nav-item.k-focus,.k-bottom-nav-solid-light .k-bottom-nav-item:focus,.k-bottom-nav-solid.k-bottom-nav-light .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-light, #000000) 12.5%, transparent)}.k-bottom-nav-solid-light .k-bottom-nav-item.k-selected,.k-bottom-nav-solid.k-bottom-nav-light .k-bottom-nav-item.k-selected{color:var(--kendo-color-on-light, #000000)}.k-bottom-nav-solid-inverse,.k-bottom-nav-solid.k-bottom-nav-inverse{color:color-mix(in srgb, var(--kendo-color-on-inverse, #ffffff) 65%, transparent);background-color:var(--kendo-color-dark, #424242)}.k-bottom-nav-solid-inverse .k-bottom-nav-item.k-focus,.k-bottom-nav-solid.k-bottom-nav-inverse .k-bottom-nav-item.k-focus,.k-bottom-nav-solid-inverse .k-bottom-nav-item:focus,.k-bottom-nav-solid.k-bottom-nav-inverse .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-inverse, #ffffff) 12.5%, transparent)}.k-bottom-nav-solid-inverse .k-bottom-nav-item.k-selected,.k-bottom-nav-solid.k-bottom-nav-inverse .k-bottom-nav-item.k-selected{color:var(--kendo-color-on-inverse, #ffffff)}.k-bottom-nav-flat-primary,.k-bottom-nav-flat.k-bottom-nav-primary{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-bottom-nav-flat-primary .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-primary .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-primary .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-primary .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 5%, transparent)}.k-bottom-nav-flat-primary .k-bottom-nav-item.k-selected,.k-bottom-nav-flat.k-bottom-nav-primary .k-bottom-nav-item.k-selected{color:var(--kendo-color-primary, #3f51b5)}.k-bottom-nav-flat-secondary,.k-bottom-nav-flat.k-bottom-nav-secondary{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-bottom-nav-flat-secondary .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-secondary .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-secondary .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-secondary .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 5%, transparent)}.k-bottom-nav-flat-secondary .k-bottom-nav-item.k-selected,.k-bottom-nav-flat.k-bottom-nav-secondary .k-bottom-nav-item.k-selected{color:var(--kendo-color-secondary, #e51a5f)}.k-bottom-nav-flat-tertiary,.k-bottom-nav-flat.k-bottom-nav-tertiary{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-bottom-nav-flat-tertiary .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-tertiary .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-tertiary .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-tertiary .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 5%, transparent)}.k-bottom-nav-flat-tertiary .k-bottom-nav-item.k-selected,.k-bottom-nav-flat.k-bottom-nav-tertiary .k-bottom-nav-item.k-selected{color:var(--kendo-color-tertiary, #00695c)}.k-bottom-nav-flat-info,.k-bottom-nav-flat.k-bottom-nav-info{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-bottom-nav-flat-info .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-info .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-info .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-info .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 5%, transparent)}.k-bottom-nav-flat-info .k-bottom-nav-item.k-selected,.k-bottom-nav-flat.k-bottom-nav-info .k-bottom-nav-item.k-selected{color:var(--kendo-color-info, #0058e9)}.k-bottom-nav-flat-success,.k-bottom-nav-flat.k-bottom-nav-success{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-bottom-nav-flat-success .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-success .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-success .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-success .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 5%, transparent)}.k-bottom-nav-flat-success .k-bottom-nav-item.k-selected,.k-bottom-nav-flat.k-bottom-nav-success .k-bottom-nav-item.k-selected{color:var(--kendo-color-success, #37b400)}.k-bottom-nav-flat-warning,.k-bottom-nav-flat.k-bottom-nav-warning{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-bottom-nav-flat-warning .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-warning .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-warning .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-warning .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 5%, transparent)}.k-bottom-nav-flat-warning .k-bottom-nav-item.k-selected,.k-bottom-nav-flat.k-bottom-nav-warning .k-bottom-nav-item.k-selected{color:var(--kendo-color-warning, #ffc000)}.k-bottom-nav-flat-error,.k-bottom-nav-flat.k-bottom-nav-error{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-bottom-nav-flat-error .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-error .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-error .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-error .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 5%, transparent)}.k-bottom-nav-flat-error .k-bottom-nav-item.k-selected,.k-bottom-nav-flat.k-bottom-nav-error .k-bottom-nav-item.k-selected{color:var(--kendo-color-error, #f31700)}.k-bottom-nav-flat-dark,.k-bottom-nav-flat.k-bottom-nav-dark{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-bottom-nav-flat-dark .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-dark .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-dark .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-dark .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 5%, transparent)}.k-bottom-nav-flat-dark .k-bottom-nav-item.k-selected,.k-bottom-nav-flat.k-bottom-nav-dark .k-bottom-nav-item.k-selected{color:var(--kendo-color-dark, #424242)}.k-bottom-nav-flat-light,.k-bottom-nav-flat.k-bottom-nav-light{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-bottom-nav-flat-light .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-light .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-light .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-light .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 5%, transparent)}.k-bottom-nav-flat-light .k-bottom-nav-item.k-selected,.k-bottom-nav-flat.k-bottom-nav-light .k-bottom-nav-item.k-selected{color:var(--kendo-color-light, #f5f5f5)}.k-bottom-nav-flat-inverse,.k-bottom-nav-flat.k-bottom-nav-inverse{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-bottom-nav-flat-inverse .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-inverse .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-inverse .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-inverse .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 5%, transparent)}.k-bottom-nav-flat-inverse .k-bottom-nav-item.k-selected,.k-bottom-nav-flat.k-bottom-nav-inverse .k-bottom-nav-item.k-selected{color:var(--kendo-color-dark, #424242)}.k-bottom-nav-flat-primary .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-primary .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-primary .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-primary .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 6%, transparent)}.k-bottom-nav-flat-secondary .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-secondary .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-secondary .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-secondary .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 6%, transparent)}.k-bottom-nav-flat-tertiary .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-tertiary .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-tertiary .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-tertiary .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 6%, transparent)}.k-bottom-nav-flat-info .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-info .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-info .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-info .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 6%, transparent)}.k-bottom-nav-flat-success .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-success .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-success .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-success .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 6%, transparent)}.k-bottom-nav-flat-warning .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-warning .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-warning .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-warning .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 6%, transparent)}.k-bottom-nav-flat-error .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-error .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-error .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-error .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 6%, transparent)}.k-bottom-nav-flat-dark .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-dark .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-dark .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-dark .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 6%, transparent)}.k-bottom-nav-flat-light .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-light .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-light .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-light .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 6%, transparent)}.k-bottom-nav-flat-inverse .k-bottom-nav-item.k-focus,.k-bottom-nav-flat.k-bottom-nav-inverse .k-bottom-nav-item.k-focus,.k-bottom-nav-flat-inverse .k-bottom-nav-item:focus,.k-bottom-nav-flat.k-bottom-nav-inverse .k-bottom-nav-item:focus{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 6%, transparent)}.k-breadcrumb{border-width:0px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);display:flex;flex-direction:row;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-breadcrumb *,.k-breadcrumb *::before,.k-breadcrumb *::after{box-sizing:border-box}.k-breadcrumb-container,.k-breadcrumb-root-item-container{margin:0;padding:0;list-style:none;display:flex;flex-flow:row nowrap;overflow:hidden}.k-breadcrumb-root-item-container{align-items:flex-start;flex-shrink:0}.k-breadcrumb-item{vertical-align:middle;display:inline-flex;flex-direction:row;flex:none;align-items:center;overflow:hidden}.k-breadcrumb-root-item{flex-shrink:0}.k-breadcrumb-link,.k-breadcrumb-root-link{border-radius:var(--kendo-border-radius-md, 0.25rem);color:inherit;text-decoration:none;white-space:nowrap;outline:none;cursor:pointer;position:relative;display:inline-flex;align-items:center;align-self:stretch;overflow:hidden;transition:color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out}.k-breadcrumb-link>.k-image,.k-breadcrumb-icontext-link .k-icon{margin-inline-end:var(--kendo-spacing-2, 0.5rem)}.k-breadcrumb-delimiter,.k-breadcrumb-delimiter-icon{color:inherit;opacity:.6}.k-breadcrumb-input-container{width:100%}.k-breadcrumb-input-container .k-breadcrumb-input-container{border-color:rgba(0,0,0,0)}.k-breadcrumb-sm{font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal)}.k-breadcrumb-sm .k-breadcrumb-link,.k-breadcrumb-sm .k-breadcrumb-root-link{padding-block:var(--kendo-spacing-0\.5, 0.125rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.k-breadcrumb-sm .k-breadcrumb-icon-link{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem)}.k-breadcrumb-md{font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal)}.k-breadcrumb-md .k-breadcrumb-link,.k-breadcrumb-md .k-breadcrumb-root-link{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.k-breadcrumb-md .k-breadcrumb-icon-link{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.k-breadcrumb-lg{font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal)}.k-breadcrumb-lg .k-breadcrumb-link,.k-breadcrumb-lg .k-breadcrumb-root-link{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.k-breadcrumb-lg .k-breadcrumb-icon-link{padding-block:var(--kendo-spacing-3, 0.75rem);padding-inline:var(--kendo-spacing-3, 0.75rem)}.k-breadcrumb{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-breadcrumb:focus,.k-breadcrumb.k-focus{box-shadow:0 0 2px 1px rgba(0,0,0,.06)}.k-breadcrumb-link{color:var(--kendo-color-primary, #3f51b5)}.k-breadcrumb-link:hover,.k-breadcrumb-link.k-hover{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-breadcrumb-link:focus,.k-breadcrumb-link.k-focus{background-color:var(--kendo-color-base-active, #d6d6d6)}.k-breadcrumb-root-link:hover,.k-breadcrumb-root-link.k-hover{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-breadcrumb-root-link:focus,.k-breadcrumb-root-link.k-focus{background-color:var(--kendo-color-base-active, #d6d6d6)}.k-pager{padding:0;border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);white-space:nowrap;display:flex;align-items:center;position:relative;overflow:hidden;cursor:default;flex:0 0 auto;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-pager *,.k-pager *::before,.k-pager *::after{box-sizing:border-box}.k-pager-info,.k-pager-sizes,.k-pager-input{display:flex;flex-direction:row;align-items:center}.k-pager-nav{color:inherit;text-align:center;display:inline-flex;align-items:center;justify-content:center;position:relative}.k-pager-nav:hover{z-index:2}.k-disabled.k-pager-nav{color:inherit}.k-pager-numbers-wrap{display:flex;flex-direction:row;position:relative}.k-pager-numbers-wrap select.k-dropdown-list,.k-pager-numbers-wrap select.k-dropdown,.k-pager-numbers-wrap select.k-dropdownlist{width:5em}.k-pager-numbers{display:flex;flex-direction:row}.k-pager-numbers .k-selected{cursor:inherit;z-index:2}.k-pager-nav+.k-pager-nav,.k-pager-nav+.k-pager-numbers-wrap,.k-pager-numbers-wrap+.k-pager-nav{margin-left:var(--kendo-spacing-0, 0px)}.k-rtl .k-pager-nav+.k-pager-nav,[dir=rtl] .k-pager-nav+.k-pager-nav,.k-rtl .k-pager-nav+.k-pager-numbers-wrap,[dir=rtl] .k-pager-nav+.k-pager-numbers-wrap,.k-rtl .k-pager-numbers-wrap+.k-pager-nav,[dir=rtl] .k-pager-numbers-wrap+.k-pager-nav{margin-left:0;margin-right:var(--kendo-spacing-0, 0px)}.k-pager-input{gap:1ex}.k-pager-input .k-textbox,.k-pager-input .k-numerictextbox{margin-block:0;width:5em}.k-pager-sizes{gap:1ex}.k-pager-sizes .k-input-inner,.k-pager-sizes .k-input-value-text{text-overflow:clip}.k-pager-info{text-align:end;justify-content:flex-end;flex:1 1 0%;order:9}.k-pager-refresh{margin-inline-start:auto;color:inherit;order:10}.k-pager-sm{padding-inline:var(--kendo-spacing-1, 0.25rem);padding-block:var(--kendo-spacing-1, 0.25rem);gap:var(--kendo-spacing-1\.5, 0.375rem)}.k-pager-sm .k-pager-numbers-wrap .k-button{min-width:calc(1.4285714286em + var(--kendo-spacing-1\.5, 0.375rem)*2 + 2px)}.k-pager-sm .k-pager-numbers-wrap .k-pager-input,.k-pager-sm .k-pager-numbers-wrap>select.k-dropdown-list,.k-pager-sm .k-pager-numbers-wrap>select.k-dropdown,.k-pager-sm .k-pager-numbers-wrap>select.k-dropdownlist{margin-inline-start:var(--kendo-spacing-1\.5, 0.375rem);margin-inline-end:var(--kendo-spacing-1\.5, 0.375rem)}.k-pager-sm .k-pager-sizes .k-dropdown-list,.k-pager-sm .k-pager-sizes .k-dropdown,.k-pager-sm .k-pager-sizes .k-dropdownlist,.k-pager-sm .k-pager-sizes>select{width:5em}.k-pager-md{padding-inline:var(--kendo-spacing-2, 0.5rem);padding-block:var(--kendo-spacing-2, 0.5rem);gap:var(--kendo-spacing-2, 0.5rem)}.k-pager-md .k-pager-numbers-wrap .k-button{min-width:calc(1.4285714286em + var(--kendo-spacing-2, 0.5rem)*2 + 2px)}.k-pager-md .k-pager-numbers-wrap .k-pager-input,.k-pager-md .k-pager-numbers-wrap>select.k-dropdown-list,.k-pager-md .k-pager-numbers-wrap>select.k-dropdown,.k-pager-md .k-pager-numbers-wrap>select.k-dropdownlist{margin-inline-start:var(--kendo-spacing-2, 0.5rem);margin-inline-end:var(--kendo-spacing-2, 0.5rem)}.k-pager-md .k-pager-sizes .k-dropdown-list,.k-pager-md .k-pager-sizes .k-dropdown,.k-pager-md .k-pager-sizes .k-dropdownlist,.k-pager-md .k-pager-sizes>select{width:5em}.k-pager-lg{padding-inline:var(--kendo-spacing-2\.5, 0.625rem);padding-block:var(--kendo-spacing-2\.5, 0.625rem);gap:var(--kendo-spacing-2\.5, 0.625rem)}.k-pager-lg .k-pager-numbers-wrap .k-button{min-width:calc(1.4285714286em + var(--kendo-spacing-2\.5, 0.625rem)*2 + 2px)}.k-pager-lg .k-pager-numbers-wrap .k-pager-input,.k-pager-lg .k-pager-numbers-wrap>select.k-dropdown-list,.k-pager-lg .k-pager-numbers-wrap>select.k-dropdown,.k-pager-lg .k-pager-numbers-wrap>select.k-dropdownlist{margin-inline-start:var(--kendo-spacing-2\.5, 0.625rem);margin-inline-end:var(--kendo-spacing-2\.5, 0.625rem)}.k-pager-lg .k-pager-sizes .k-dropdown-list,.k-pager-lg .k-pager-sizes .k-dropdown,.k-pager-lg .k-pager-sizes .k-dropdownlist,.k-pager-lg .k-pager-sizes>select{width:5em}.k-pager .k-pager-numbers-wrap .k-button{border-radius:5em}.k-pager-numbers .k-button{padding-inline:var(--kendo-spacing-2, 0.5rem)}.k-pager{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-subtle, #757575);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-pager:focus,.k-pager.k-focus{background-color:var(--kendo-color-surface, #f5f5f5)}.k-stepper{border-width:0px;border-style:solid;box-sizing:border-box;outline:0;font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;font-family:var(--kendo-font-family, inherit);display:block;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);color:inherit;background:none}.k-stepper *,.k-stepper *::before,.k-stepper *::after{box-sizing:border-box}.k-stepper .k-step-list{margin:0;padding:0;list-style:none;display:flex;position:relative;z-index:1}.k-stepper .k-step-link{outline:none;color:inherit;text-decoration:none;white-space:nowrap;display:flex;align-items:center;overflow:hidden}.k-stepper .k-step-indicator{border-radius:50%;margin:3px;width:28px;height:28px;border-width:1px;border-style:solid;display:flex;align-items:center;justify-content:center;flex:none;position:relative;z-index:1;overflow:visible;transition-property:color,background-color,border-color;transition-duration:.4s;transition-timing-function:ease-in-out}.k-stepper .k-step-indicator::before{border-radius:50%;content:"";width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1}.k-stepper .k-step-indicator::after{border-radius:100%;content:"";border-width:1px;border-style:solid;border-color:inherit;pointer-events:none;display:none;position:absolute;top:calc(-1*calc(1px + 3px));right:calc(-1*calc(1px + 3px));bottom:calc(-1*calc(1px + 3px));left:calc(-1*calc(1px + 3px));z-index:2}.k-stepper .k-step.k-focus .k-step-indicator::after,.k-stepper .k-step-link:focus .k-step-indicator::after{display:block}.k-stepper .k-step-label{max-width:clamp(100%,10em,100%);display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;z-index:1}.k-stepper .k-step-label:only-child{border-radius:15px;padding-block:calc(var(--kendo-spacing-2\.5, 0.625rem)/2);padding-inline:var(--kendo-spacing-3, 0.75rem);border-width:0}.k-stepper .k-step-label .k-step-text{max-width:calc(10em - (16px + var(--kendo-spacing-2, 0.5rem)));flex-grow:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.k-stepper .k-step-label .k-icon{margin-left:var(--kendo-spacing-2, 0.5rem)}.k-stepper .k-step-current .k-step-label{font-weight:bold}.k-stepper .k-step-label-optional{flex-basis:100%;font-size:var(--kendo-font-size-sm, inherit)}.k-stepper .k-step-disabled,.k-stepper .k-step.k-disabled{opacity:1;pointer-events:none}.k-stepper .k-step-disabled .k-step-link,.k-stepper .k-step.k-disabled .k-step-link{cursor:default}.k-stepper .k-step-disabled .k-step-label-optional,.k-stepper .k-step.k-disabled .k-step-label-optional{color:inherit}.k-stepper .k-progressbar{pointer-events:none;z-index:0;overflow:visible}.k-stepper .k-progressbar-horizontal{grid-row:1/-1}.k-stepper .k-progressbar-vertical{position:absolute}.k-step-list-horizontal{flex-direction:row;grid-row:1}.k-step-list-horizontal .k-step{flex:1 0 auto;text-align:center}.k-step-list-horizontal .k-step-link{margin:auto;max-width:10em;flex-direction:column}.k-step-list-horizontal .k-step-label{text-align:center}.k-step-list-horizontal .k-step-indicator+.k-step-label{margin-top:calc(8px - 3px)}.k-step-list-horizontal~.k-progressbar{width:100%;height:2px;top:calc((28px + 2*2px)/2 + 2px/2)}.k-step-list-vertical{flex-direction:column}.k-step-list-vertical .k-step{min-height:calc(28px + 2*1px + 2*2px + 20px)}.k-step-list-vertical .k-step-label{justify-content:flex-start}.k-step-list-vertical .k-step-indicator+.k-step-label{margin-left:var(--kendo-spacing-3, 0.75rem)}.k-step-list-vertical~.k-progressbar{width:2px;height:100%;min-height:20px;left:calc((28px + 2*1px + 2*2px)/2)}.k-step-list-vertical .k-step-content{height:0;overflow:hidden;transition:height 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}.k-step-list-vertical .k-step-current .k-step-content{height:auto;overflow:visible;display:flex;flex-direction:column;justify-content:space-between;margin-left:30px;padding-block:var(--kendo-spacing-5, 1.25rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.k-rtl .k-stepper,.k-stepper[dir=rtl]{direction:rtl}.k-rtl .k-stepper .k-step-label .k-icon,.k-stepper[dir=rtl] .k-step-label .k-icon{margin-left:0;margin-right:var(--kendo-spacing-2, 0.5rem)}.k-rtl .k-stepper .k-step-list-vertical .k-step-indicator+.k-step-label,.k-stepper[dir=rtl] .k-step-list-vertical .k-step-indicator+.k-step-label{margin-left:0;margin-right:var(--kendo-spacing-3, 0.75rem)}.k-rtl .k-stepper .k-step-list-vertical~.k-progressbar,.k-stepper[dir=rtl] .k-step-list-vertical~.k-progressbar{left:auto;right:calc((28px + 2*1px + 2*2px)/2)}.k-step-current .k-step-label{font-weight:400}.k-stepper{color:var(--kendo-color-on-app-surface, #212121)}.k-stepper .k-step:hover .k-step-indicator,.k-stepper .k-step.k-hover .k-step-indicator,.k-stepper .k-step.k-step-hover .k-step-indicator{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-stepper .k-step.k-focus .k-step-label:only-child,.k-stepper .k-step .k-step-link:focus .k-step-label:only-child{box-shadow:inset 0 0 0 2px var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-stepper .k-step.k-step-disabled .k-step-indicator,.k-stepper .k-step.k-disabled .k-step-indicator,.k-stepper .k-step:disabled .k-step-indicator{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:var(--kendo-color-app-surface, #ffffff)}.k-stepper .k-step.k-step-disabled .k-step-label,.k-stepper .k-step.k-disabled .k-step-label,.k-stepper .k-step:disabled .k-step-label{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-stepper .k-step-indicator{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-stepper .k-step-indicator::after{box-shadow:inset 0 0 0 2px var(--kendo-color-surface-alt, #ffffff)}.k-stepper .k-step-label:only-child{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-stepper .k-step-done .k-step-indicator{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-stepper .k-step-done:hover .k-step-indicator,.k-stepper .k-step-done.k-hover .k-step-indicator,.k-stepper .k-step-done.k-step-hover .k-step-indicator{background-color:var(--kendo-color-primary-hover, #3a4ba7)}.k-stepper .k-step-done.k-step-disabled .k-step-indicator,.k-stepper .k-step-done.k-disabled .k-step-indicator,.k-stepper .k-step-done:disabled .k-step-indicator{border-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 60%, transparent);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-app-surface, #ffffff)}.k-stepper .k-step-done.k-step-disabled .k-step-indicator::before,.k-stepper .k-step-done.k-disabled .k-step-indicator::before,.k-stepper .k-step-done:disabled .k-step-indicator::before{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 60%, transparent)}.k-stepper .k-step-current .k-step-indicator{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-stepper .k-step-current:hover .k-step-indicator,.k-stepper .k-step-current.k-hover .k-step-indicator,.k-stepper .k-step-current.k-step-hover .k-step-indicator{background-color:var(--kendo-color-primary-hover, #3a4ba7)}.k-stepper .k-step-current.k-step-disabled .k-step-indicator,.k-stepper .k-step-current.k-disabled .k-step-indicator,.k-stepper .k-step-current:disabled .k-step-indicator{border-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 60%, transparent);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-app-surface, #ffffff)}.k-stepper .k-step-current.k-step-disabled .k-step-indicator::before,.k-stepper .k-step-current.k-disabled .k-step-indicator::before,.k-stepper .k-step-current:disabled .k-step-indicator::before{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 60%, transparent)}.k-stepper .k-step-success .k-step-label .k-icon{color:var(--kendo-color-success, #37b400)}.k-stepper .k-step-error .k-step-label{color:var(--kendo-color-error, #f31700)}.k-stepper .k-step-error:hover .k-step-label,.k-stepper .k-step-error.k-hover .k-step-label,.k-stepper .k-step-error.k-step-hover .k-step-label{color:var(--kendo-color-error, #f31700)}.k-stepper .k-step-label-optional{color:var(--kendo-color-subtle, #757575)}.k-tabstrip-wrapper{padding-block:var(--kendo-spacing-0, 0px);padding-inline:var(--kendo-spacing-0, 0px);box-sizing:border-box;border-width:0px;border-style:solid;display:flex;flex-direction:column;position:relative}.k-tabstrip{border-width:0;border-color:rgba(0,0,0,0);box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;color:inherit;background-color:rgba(0,0,0,0);display:flex;flex-flow:column nowrap;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-tabstrip-wrapper>.k-tabstrip{flex:1 1 auto}.k-tabstrip-items-wrapper{box-sizing:border-box;border-width:0;border-style:solid;border-color:inherit;position:relative}.k-tabstrip-items{box-sizing:border-box;outline:0;display:flex;flex-direction:inherit;flex-wrap:wrap;flex:1 1 auto;gap:var(--kendo-spacing-0, 0px)}.k-tabstrip-items *,.k-tabstrip-items *::before,.k-tabstrip-items *::after{box-sizing:border-box}.k-tabstrip-items .k-item{margin:0;padding:0;border:0px solid rgba(0,0,0,0);position:relative;flex-shrink:0;display:flex;flex-direction:row;align-items:stretch;justify-items:stretch;outline:0}.k-tabstrip-items .k-tab-on-top{z-index:1}.k-tabstrip-items .k-link{padding-block:var(--kendo-spacing-3\.5, 0.875rem);padding-inline:var(--kendo-spacing-6, 1.5rem);color:inherit;cursor:pointer;display:inline-flex;vertical-align:middle;flex:1 1 auto;flex-direction:row;align-content:center;align-items:center}.k-tabstrip-items .k-item.k-disabled,.k-tabstrip-items .k-item[disabled]{opacity:1;filter:none}.k-tabstrip-content,.k-tabstrip>.k-content{margin:0 !important;padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-4, 1rem);box-sizing:border-box;border-width:0px;border-style:solid;border-color:inherit;display:none;overflow:auto;flex:1 1 auto;position:relative}.k-tabstrip-content.k-active,.k-tabstrip>.k-content.k-active{display:block}.k-tabstrip-content:focus,.k-tabstrip-content.k-focus,.k-tabstrip>.k-content:focus,.k-tabstrip>.k-content.k-focus{outline-width:1px;outline-style:dotted;outline-offset:-1px}.k-tabstrip-items .k-loading{width:20%;height:0;border:0;border-top:1px solid rgba(0,0,0,0);border-color:inherit;background:none;position:absolute;top:0;left:0;transition:width .2s linear;display:none}.k-tabstrip-items .k-loading.k-complete{width:100%;border-top-width:0}.k-tabstrip-scrollable>.k-tabstrip-items-wrapper>.k-tabstrip-items{flex-wrap:nowrap;white-space:nowrap;overflow:hidden}.k-tabstrip-scrollable>.k-tabstrip-items-wrapper>.k-button{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem);width:auto;height:auto;flex:none;align-self:stretch;aspect-ratio:auto}.k-tabstrip-scrollable>.k-tabstrip-items-wrapper>.k-button .k-button-icon{min-width:auto;min-height:auto}.k-tabstrip-horizontal,.k-tabstrip-bottom>.k-tabstrip-items-wrapper,.k-tabstrip-top>.k-tabstrip-items-wrapper{flex-direction:row}.k-tabstrip-vertical,.k-tabstrip-right>.k-tabstrip-items-wrapper,.k-tabstrip-left>.k-tabstrip-items-wrapper{flex-direction:column}.k-tabstrip-top>.k-tabstrip-items-wrapper{border-bottom-width:1px}.k-tabstrip-top>.k-tabstrip-items-wrapper .k-item{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-width:0}.k-tabstrip-top>.k-tabstrip-items-wrapper .k-item:active,.k-tabstrip-top>.k-tabstrip-items-wrapper .k-item.k-active{margin-bottom:-1px;border-bottom-width:1px;border-bottom-color:rgba(0,0,0,0) !important}.k-tabstrip-top>.k-content,.k-tabstrip-top>.k-tabstrip-content{border-bottom-right-radius:0px;border-bottom-left-radius:0px;border-top-width:0 !important}.k-tabstrip-bottom>.k-tabstrip-items-wrapper{border-top-width:1px}.k-tabstrip-bottom>.k-tabstrip-items-wrapper .k-item{border-bottom-right-radius:0px;border-bottom-left-radius:0px;border-top-width:0}.k-tabstrip-bottom>.k-tabstrip-items-wrapper .k-item:active,.k-tabstrip-bottom>.k-tabstrip-items-wrapper .k-item.k-active{margin-top:-1px;border-top-width:1px;border-top-color:rgba(0,0,0,0) !important}.k-tabstrip-bottom>.k-content,.k-tabstrip-bottom>.k-tabstrip-content{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-width:0 !important}.k-tabstrip-left{flex-direction:row}.k-tabstrip-left>.k-tabstrip-items-wrapper{border-right-width:1px}.k-tabstrip-left>.k-tabstrip-items-wrapper .k-item{border-top-left-radius:0px;border-bottom-left-radius:0px;border-right-width:0}.k-tabstrip-left>.k-tabstrip-items-wrapper .k-item:active,.k-tabstrip-left>.k-tabstrip-items-wrapper .k-item.k-active{margin-right:-1px;border-right-width:1px;border-right-color:rgba(0,0,0,0) !important}.k-tabstrip-left>.k-content,.k-tabstrip-left>.k-tabstrip-content{border-top-right-radius:0px;border-bottom-right-radius:0px;border-left-width:0 !important}.k-tabstrip-right{flex-direction:row-reverse}.k-tabstrip-right>.k-tabstrip-items-wrapper{border-left-width:1px}.k-tabstrip-right>.k-tabstrip-items-wrapper .k-item{border-top-right-radius:0px;border-bottom-right-radius:0px;border-left-width:0}.k-tabstrip-right>.k-tabstrip-items-wrapper .k-item:active,.k-tabstrip-right>.k-tabstrip-items-wrapper .k-item.k-active{margin-left:-1px;border-left-width:1px;border-left-color:rgba(0,0,0,0) !important}.k-tabstrip-right>.k-content,.k-tabstrip-right>.k-tabstrip-content{border-top-left-radius:0px;border-bottom-left-radius:0px;border-right-width:0}.k-tabstrip-items-start{justify-content:flex-start}.k-tabstrip-items-center{justify-content:center}.k-tabstrip-items-end{justify-content:flex-end}.k-tabstrip-items-justify{justify-content:space-between}.k-tabstrip-items-stretched>*{flex:1 0 0}.k-tabstrip-items-wrapper .k-item::after{content:"";border-width:0;border-style:solid;display:none;position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;pointer-events:none}.k-tabstrip-items-wrapper .k-item.k-active::after{display:block}.k-tabstrip-items-wrapper .k-item>.k-link{z-index:1}.k-tabstrip-top>.k-tabstrip-items-wrapper .k-item::after{border-bottom-width:2px}.k-tabstrip-bottom>.k-tabstrip-items-wrapper .k-item::after{border-top-width:2px}.k-tabstrip-left>.k-tabstrip-items-wrapper .k-item::after{border-right-width:2px}.k-tabstrip-right>.k-tabstrip-items-wrapper .k-item::after{border-left-width:2px}.k-tabstrip-items-wrapper .k-item.k-tabstrip-dragging::after{display:none !important}.k-rtl .k-tabstrip.k-tabstrip-left>.k-tabstrip-items-wrapper,.k-rtl .k-tabstrip.k-tabstrip-right>.k-tabstrip-items-wrapper,.k-tabstrip[dir=rtl].k-tabstrip-left>.k-tabstrip-items-wrapper,.k-tabstrip[dir=rtl].k-tabstrip-right>.k-tabstrip-items-wrapper{order:1}.k-rtl .k-tabstrip.k-tabstrip-left>.k-content,.k-rtl .k-tabstrip.k-tabstrip-right>.k-content,.k-tabstrip[dir=rtl].k-tabstrip-left>.k-content,.k-tabstrip[dir=rtl].k-tabstrip-right>.k-content{order:0}.k-rtl .k-tabstrip.k-tabstrip-left>.k-tabstrip-content,.k-rtl .k-tabstrip.k-tabstrip-right>.k-tabstrip-content,.k-tabstrip[dir=rtl].k-tabstrip-left>.k-tabstrip-content,.k-tabstrip[dir=rtl].k-tabstrip-right>.k-tabstrip-content{order:0}.k-tabstrip-items{text-transform:uppercase}.k-tabstrip-left .k-tabstrip-items .k-link{justify-content:flex-end}.k-tabstrip-items-wrapper{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-subtle, #757575)}.k-tabstrip-items-wrapper .k-item{color:var(--kendo-color-subtle, #757575)}.k-tabstrip-items-wrapper .k-item:hover,.k-tabstrip-items-wrapper .k-item.k-hover{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-tabstrip-items-wrapper .k-item:active,.k-tabstrip-items-wrapper .k-item.k-active,.k-tabstrip-items-wrapper .k-item.k-selected{color:var(--kendo-color-on-app-surface, #212121)}.k-tabstrip-items-wrapper .k-item.k-tabstrip-dragging{box-shadow:k-elevation(3)}.k-tabstrip-items-wrapper .k-item.k-disabled,.k-tabstrip-items-wrapper .k-item[disabled]{color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent)}.k-tabstrip-content,.k-tabstrip>.k-content{background-color:rgba(0,0,0,0)}.k-tabstrip-content:focus,.k-tabstrip-content.k-focus,.k-tabstrip>.k-content:focus,.k-tabstrip>.k-content.k-focus{outline-color:var(--kendo-color-on-app-surface, #212121)}.k-tabstrip-items-wrapper .k-item.k-active::after{border-color:var(--kendo-color-primary, #3f51b5)}.k-wizard{padding-block:calc(var(--kendo-spacing-4, 1rem)*1.25);padding-inline:calc(var(--kendo-spacing-4, 1rem)*1.25);border-width:0px;border-style:solid;box-sizing:border-box;outline:0;font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);font-family:var(--kendo-font-family, inherit);position:relative;color:inherit;background:none;display:flex;align-items:stretch;overflow:hidden}.k-wizard .k-wizard-steps{box-sizing:border-box;display:flex;overflow:hidden}.k-wizard .k-wizard-step{box-sizing:border-box;padding:calc(calc(var(--kendo-spacing-4, 1rem) * 2)/4 + 2px);width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between}.k-wizard .k-wizard-step:focus,.k-wizard .k-wizard-step.k-focus{outline-width:1px;outline-style:dotted;outline-offset:-1px}.k-wizard .k-wizard-content{box-sizing:border-box;overflow-y:auto}.k-wizard .k-wizard-buttons{margin-top:calc(var(--kendo-spacing-1, 0.25rem)*8);box-sizing:border-box;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;flex-shrink:0}.k-wizard .k-wizard-buttons .k-button{margin-right:var(--kendo-spacing-2\.5, 0.625rem)}.k-wizard .k-wizard-buttons .k-wizard-pager{vertical-align:middle}.k-wizard .k-wizard-buttons-right .k-button:last-of-type{margin-right:0}.k-wizard .k-stepper .k-step-list-vertical .k-step{flex:1 0 auto}.k-wizard .k-stepper .k-step-indicator{flex-shrink:0}.k-wizard-horizontal{flex-direction:column}.k-wizard-horizontal .k-wizard-steps{margin-top:calc(var(--kendo-spacing-1, 0.25rem)*8)}.k-wizard-horizontal .k-wizard-steps,.k-wizard-horizontal .k-wizard-content{flex:1 1 auto}.k-wizard-vertical .k-wizard-steps{margin-left:calc(var(--kendo-spacing-4, 1rem)*2);flex:1 0 0%}.k-wizard-vertical .k-wizard-content{flex:1 1 0%}.k-wizard-left{flex-direction:row-reverse}.k-wizard-left .k-wizard-steps{margin-right:calc(var(--kendo-spacing-4, 1rem)*2);margin-left:0}.k-wizard-step:focus,.k-wizard-step.k-focus{outline-color:#656565}.k-expander{border-width:1px;border-style:solid;box-sizing:border-box;overflow:hidden;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-direction:column;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-expander *,.k-expander *::before,.k-expander *::after{box-sizing:border-box}.k-rtl .k-expander .k-expander-indicator,.k-expander.k-rtl .k-expander-indicator,.k-expander[dir=rtl] .k-expander-indicator{margin-left:0;margin-right:var(--kendo-spacing-3, 0.75rem)}.k-expander-header{padding-block:var(--kendo-spacing-3, 0.75rem);padding-inline:var(--kendo-spacing-6, 1.5rem);display:flex;justify-content:space-between;align-items:center;cursor:pointer}.k-expander-spacer{flex:1 1 auto}.k-expander-title{text-transform:uppercase;font-weight:500}.k-expander-indicator{margin-left:var(--kendo-spacing-3, 0.75rem);display:flex;justify-content:center;align-items:center}.k-expander-content{padding-block:var(--kendo-spacing-6, 1.5rem);padding-inline:var(--kendo-spacing-6, 1.5rem)}.k-expander+.k-expander.k-expanded,.k-expander.k-expanded+.k-expander{margin-top:var(--kendo-spacing-3, 0.75rem)}.k-expander:not(.k-expanded)+.k-expander:not(.k-expanded){border-top-width:0}.k-expander{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-expander.k-focus{box-shadow:inset 0 0 0 2px rgba(0,0,0,.08)}.k-expander-header{color:var(--kendo-color-on-app-surface, #212121);background-color:rgba(0,0,0,0);outline:none}.k-expander-header:hover,.k-expander-header.k-hover{background-color:rgba(0,0,0,.04)}.k-expander-header.k-focus{box-shadow:none;background-color:rgba(0,0,0,.12)}.k-expander-title{color:var(--kendo-color-secondary, #e51a5f)}.k-expander-sub-title{color:var(--kendo-color-subtle, #757575)}.k-block,.k-panel{border-radius:var(--kendo-border-radius-md, 0.25rem);padding:0;border-width:1px;border-style:solid;box-sizing:border-box}.k-block>.k-header,.k-panel>.k-header{border-top-left-radius:var(--kendo-border-radius-md, 0.25rem);border-top-right-radius:var(--kendo-border-radius-md, 0.25rem);border-color:var(--kendo-component-border, var(--kendo-color-border, rgba(0, 0, 0, 0.12)));color:var(--kendo-component-text, var(--kendo-color-on-app-surface, #212121));background-color:var(--kendo-component-bg, var(--kendo-color-surface-alt, #ffffff));padding-inline:var(--kendo-spacing-2, 0.5rem);padding-block:var(--kendo-spacing-1, 0.25rem)}.k-block>.k-content,.k-panel>.k-content{padding-inline:var(--kendo-spacing-2, 0.5rem);padding-block:var(--kendo-spacing-1, 0.25rem)}.k-block,.k-panel{border-color:var(--kendo-component-border, var(--kendo-color-border, rgba(0, 0, 0, 0.12)));color:var(--kendo-component-text, var(--kendo-color-on-app-surface, #212121));background-color:var(--kendo-component-bg, var(--kendo-color-surface-alt, #ffffff))}:where(.k-content){border-color:var(--kendo-component-border, var(--kendo-color-border, rgba(0, 0, 0, 0.12)));color:var(--kendo-component-text, var(--kendo-color-on-app-surface, #212121));background-color:var(--kendo-component-bg, var(--kendo-color-surface-alt, #ffffff))}.k-panelbar{margin:0;padding:0;border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:1.4285714286;list-style:none;display:block;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-panelbar *,.k-panelbar *::before,.k-panelbar *::after{box-sizing:border-box}.k-panelbar>.k-panelbar-header{border-width:0;border-style:solid;border-color:inherit;display:block}.k-panelbar>.k-panelbar-header>.k-link{padding-block:var(--kendo-spacing-3, 0.75rem);padding-inline:var(--kendo-spacing-6, 1.5rem);color:inherit;background:none;text-decoration:none;font-weight:500;display:flex;flex-flow:row nowrap;gap:var(--kendo-spacing-2, 0.5rem);align-items:center;align-content:center;position:relative;user-select:none;cursor:default;transition:color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out}.k-panelbar>.k-panelbar-header+.k-panelbar-header{border-top-width:1px}.k-panelbar .k-panelbar-group{margin:0;padding:0;border-width:0;border-color:inherit;color:inherit;background-color:rgba(0,0,0,0);list-style:none}.k-panelbar .k-panelbar-group>.k-panelbar-item{display:block}.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link{padding-block:var(--kendo-spacing-3, 0.75rem);padding-inline:var(--kendo-spacing-6, 1.5rem);color:inherit;text-decoration:none;display:flex;flex-flow:row nowrap;gap:var(--kendo-spacing-2, 0.5rem);align-items:center;align-content:center;position:relative;user-select:none;cursor:default;transition:color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out}.k-panelbar .k-panelbar-group>.k-panelbar-item.k-level-1 .k-link{padding-left:calc(var(--kendo-spacing-6, 1.5rem)*1)}.k-panelbar .k-panelbar-group>.k-panelbar-item.k-level-2 .k-link{padding-left:calc(var(--kendo-spacing-6, 1.5rem)*2)}.k-panelbar .k-panelbar-group>.k-panelbar-item.k-level-3 .k-link{padding-left:calc(var(--kendo-spacing-6, 1.5rem)*3)}.k-panelbar .k-panelbar-group>.k-panelbar-item.k-level-4 .k-link{padding-left:calc(var(--kendo-spacing-6, 1.5rem)*4)}.k-panelbar .k-panelbar-item{outline-style:none}.k-panelbar .k-panelbar-content{display:flow-root}.k-panelbar .k-panelbar-expand,.k-panelbar .k-panelbar-collapse,.k-panelbar .k-panelbar-toggle{margin-inline-start:auto}.k-panelbar .k-panelbar-group .k-panelbar-expand,.k-panelbar .k-panelbar-group .k-panelbar-collapse,.k-panelbar .k-panelbar-group .k-panelbar-toggle{margin-inline-end:calc(var(--kendo-spacing-6, 1.5rem) - var(--kendo-spacing-6, 1.5rem))}.k-rtl .k-panelbar .k-panelbar-group>.k-panelbar-item.k-level-1 .k-link,.k-panelbar.k-rtl .k-panelbar-group>.k-panelbar-item.k-level-1 .k-link,.k-panelbar[dir=rtl] .k-panelbar-group>.k-panelbar-item.k-level-1 .k-link{padding-left:var(--kendo-spacing-6, 1.5rem);padding-right:calc(var(--kendo-spacing-6, 1.5rem)*1)}.k-rtl .k-panelbar .k-panelbar-group>.k-panelbar-item.k-level-2 .k-link,.k-panelbar.k-rtl .k-panelbar-group>.k-panelbar-item.k-level-2 .k-link,.k-panelbar[dir=rtl] .k-panelbar-group>.k-panelbar-item.k-level-2 .k-link{padding-left:var(--kendo-spacing-6, 1.5rem);padding-right:calc(var(--kendo-spacing-6, 1.5rem)*2)}.k-rtl .k-panelbar .k-panelbar-group>.k-panelbar-item.k-level-3 .k-link,.k-panelbar.k-rtl .k-panelbar-group>.k-panelbar-item.k-level-3 .k-link,.k-panelbar[dir=rtl] .k-panelbar-group>.k-panelbar-item.k-level-3 .k-link{padding-left:var(--kendo-spacing-6, 1.5rem);padding-right:calc(var(--kendo-spacing-6, 1.5rem)*3)}.k-rtl .k-panelbar .k-panelbar-group>.k-panelbar-item.k-level-4 .k-link,.k-panelbar.k-rtl .k-panelbar-group>.k-panelbar-item.k-level-4 .k-link,.k-panelbar[dir=rtl] .k-panelbar-group>.k-panelbar-item.k-level-4 .k-link{padding-left:var(--kendo-spacing-6, 1.5rem);padding-right:calc(var(--kendo-spacing-6, 1.5rem)*4)}.k-panelbar{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-panelbar>.k-panelbar-header>.k-link{color:var(--kendo-color-secondary, #e51a5f);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-panelbar>.k-panelbar-header>.k-link .k-icon,.k-panelbar>.k-panelbar-header>.k-link .k-panelbar-item-icon{color:var(--kendo-color-on-app-surface, #212121)}.k-panelbar>.k-panelbar-header>.k-link:hover,.k-panelbar>.k-panelbar-header>.k-link.k-hover{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-panelbar>.k-panelbar-header>.k-link:focus,.k-panelbar>.k-panelbar-header>.k-link.k-focus{background-color:var(--kendo-color-base-active, #d6d6d6)}.k-panelbar>.k-panelbar-header>.k-link:focus:hover,.k-panelbar>.k-panelbar-header>.k-link.k-focus.k-hover{background-color:var(--kendo-color-base-active, #d6d6d6)}.k-panelbar>.k-panelbar-header>.k-link.k-selected{color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-panelbar>.k-panelbar-header>.k-link.k-selected .k-icon,.k-panelbar>.k-panelbar-header>.k-link.k-selected .k-panelbar-item-icon{color:inherit}.k-panelbar>.k-panelbar-header>.k-link.k-selected:hover,.k-panelbar>.k-panelbar-header>.k-link.k-selected.k-hover{background-color:var(--kendo-color-secondary-hover, #d31857)}.k-panelbar>.k-panelbar-header>.k-link.k-selected:focus,.k-panelbar>.k-panelbar-header>.k-link.k-selected.k-focus{background-color:var(--kendo-color-secondary-active, #c01650)}.k-panelbar>.k-panelbar-header>.k-link.k-selected:hover:focus,.k-panelbar>.k-panelbar-header>.k-link.k-selected.k-hover.k-focus{background-color:var(--kendo-color-secondary-active, #c01650)}.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link:hover,.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link.k-hover{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link:focus,.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link.k-focus{background-color:var(--kendo-color-base-active, #d6d6d6)}.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link:focus:hover,.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link.k-focus.k-hover{background-color:var(--kendo-color-base-active, #d6d6d6)}.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link.k-selected{color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link.k-selected:hover,.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link.k-selected.k-hover{background-color:var(--kendo-color-secondary-hover, #d31857)}.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link.k-selected:focus,.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link.k-selected.k-focus{background-color:var(--kendo-color-secondary-active, #c01650)}.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link.k-selected:focus:hover,.k-panelbar .k-panelbar-group>.k-panelbar-item>.k-link.k-selected.k-focus.k-hover{background-color:var(--kendo-color-secondary-active, #c01650)}.k-splitter{height:300px;border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:block;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-splitter .k-pane{overflow:hidden;box-sizing:border-box}.k-splitter .k-scrollable{overflow:auto}.k-splitter .k-splitter-resizing{overflow:hidden}.k-pane>.k-splitter{border-width:0;overflow:hidden}.k-splitter .k-pane-loading{position:static;top:50%;left:50%}.k-ghost-splitbar,.k-splitbar{border-style:solid;outline:0;position:absolute;user-select:none;display:flex;align-items:center;justify-content:center}.k-ghost-splitbar .k-collapse-prev,.k-ghost-splitbar .k-collapse-next,.k-splitbar .k-collapse-prev,.k-splitbar .k-collapse-next{cursor:pointer;padding:var(--kendo-spacing-0\.5, 0.125rem)}.k-splitbar-draggable-horizontal{cursor:col-resize}.k-splitbar-draggable-vertical{cursor:row-resize}.k-ghost-splitbar-horizontal,.k-splitbar-horizontal{width:var(--kendo-spacing-3, 0.75rem);border-width:0;background-repeat:repeat-y;flex-direction:column;top:0}.k-ghost-splitbar-vertical,.k-splitbar-vertical{height:var(--kendo-spacing-3, 0.75rem);border-width:0;background-repeat:repeat-x;flex-direction:row;left:0}.k-splitbar-static-horizontal{width:1px}.k-splitbar-static-vertical{height:1px}.k-splitbar-draggable-horizontal .k-resize-handle{width:2px;height:20px;position:static;z-index:1}.k-splitbar .k-resize-handle{display:none;background-color:currentColor}.k-splitbar-draggable-horizontal .k-resize-handle,.k-splitbar-draggable-vertical .k-resize-handle{display:block}.k-splitbar-horizontal .k-collapse-prev{margin-bottom:calc(var(--kendo-spacing-3\.5, 0.875rem)/2)}.k-splitbar-horizontal .k-collapse-next{margin-top:calc(var(--kendo-spacing-3\.5, 0.875rem)/2)}.k-splitbar-vertical .k-collapse-prev{margin-right:calc(var(--kendo-spacing-3\.5, 0.875rem)/2)}.k-splitbar-vertical .k-collapse-next{margin-left:calc(var(--kendo-spacing-3\.5, 0.875rem)/2)}.k-splitbar-draggable-vertical .k-resize-handle{width:20px;height:2px;position:static;z-index:1}.k-pane>.k-splitter-overlay{opacity:0;position:absolute}.k-splitter-flex{display:flex;width:100%;height:auto}.k-splitter-flex .k-pane{position:relative;flex:1 1 auto;min-width:0;max-width:100%;min-height:0;max-height:100%;height:100%}.k-splitter-flex .k-pane-static{flex-grow:0;flex-shrink:0}.k-splitter-flex .k-pane-flex{display:flex}.k-splitter-flex .k-splitbar{position:static;flex:0 0 auto}.k-splitter-flex .k-pane.k-hidden,.k-splitter-flex .k-pane[hidden],.k-splitter-flex .k-pane-flex.k-hidden,.k-splitter-flex .k-pane-flex[hidden]{flex:0 1 0% !important;overflow:hidden !important;display:block !important}.k-splitter-flex.k-splitter-horizontal{flex-direction:row}.k-splitter-flex.k-splitter-vertical{flex-direction:column}.k-splitter{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-splitbar{color:var(--kendo-color-subtle, #757575);background-color:var(--kendo-color-base-subtle, #ebebeb)}.k-splitbar:hover,.k-splitbar.k-hover,.k-splitbar-horizontal-hover,.k-splitbar-vertical-hover{color:var(--kendo-color-subtle, #757575);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-splitbar:focus,.k-splitbar.k-focus{color:var(--kendo-color-on-primary, #ffffff);background:var(--kendo-color-primary, #3f51b5)}.k-ghost-splitbar{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-tilelayout{border-width:0px;border-style:solid;box-sizing:border-box;outline:0;display:grid;position:relative;padding:var(--kendo-spacing-4, 1rem) var(--kendo-spacing-4, 1rem);-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-tilelayout .k-card{box-shadow:none;border-width:1px}.k-tilelayout-item{position:relative;z-index:0}.k-layout-item-hint{border-radius:var(--kendo-border-radius-md, 0.25rem);border-width:1px;border-style:solid;position:relative}.k-layout-item-hint.k-layout-item-hint-resize{z-index:3}.k-tilelayout-item-header.k-card-header{z-index:0}.k-tilelayout-item-body{min-height:0}.k-tilelayout{background-color:var(--kendo-color-surface, #f5f5f5)}.k-tilelayout-item:focus,.k-tilelayout-item.k-focus{box-shadow:k-elevation(3)}.k-layout-item-hint{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));background-color:hsla(0,0%,100%,.2)}.k-dock-manager{width:100%;height:100%;border-width:1px;border-style:solid;position:relative;display:flex;flex-flow:row nowrap;overflow:auto;box-sizing:border-box}.k-dock-manager-toolbar{border-width:0 1px 0 0;border-color:inherit;flex-shrink:0;writing-mode:vertical-lr;box-shadow:none}.k-dock-manager-toolbar::before{height:0}.k-dock-manager-toolbar .k-separator-horizontal{width:calc(2*1em);height:0;border-width:1px 0 0}.k-dock-manager-pane-container{width:100%;height:100%;display:flex;flex-grow:1;overflow:hidden}.k-dock-manager-splitter,.k-dock-manager-unpinned-container{height:100%;border-width:0;align-items:stretch}.k-dock-manager-splitter>.k-pane,.k-dock-manager-unpinned-container>.k-pane{height:auto;flex-direction:column;border-color:inherit}.k-dock-manager-splitter .k-pane-header,.k-dock-manager-unpinned-container .k-pane-header{display:flex;align-items:center;justify-content:center;padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-6, 1.5rem);border-block-end-width:1px;border-block-end-style:solid;border-color:inherit}.k-dock-manager-splitter .k-pane-title,.k-dock-manager-unpinned-container .k-pane-title{font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size-lg, inherit);line-height:var(--kendo-line-height-sm, normal);font-weight:var(--kendo-font-weight-normal, normal);flex:1 1 auto;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.k-dock-manager-splitter .k-pane-scrollable,.k-dock-manager-unpinned-container .k-pane-scrollable{height:100%;display:flex;flex-direction:column;border-color:inherit}.k-dock-manager-splitter .k-pane-content,.k-dock-manager-unpinned-container .k-pane-content{height:100%;padding-block:var(--kendo-spacing-6, 1.5rem);padding-inline:var(--kendo-spacing-6, 1.5rem);overflow:auto;flex:1}.k-dock-manager-splitter .k-pane-actions,.k-dock-manager-unpinned-container .k-pane-actions{display:flex;flex-flow:row nowrap;align-items:center;justify-content:center}.k-dock-manager-splitter .k-splitbar,.k-dock-manager-unpinned-container .k-splitbar{border-width:0 1px;border-style:solid;border-color:inherit}.k-dock-manager-splitter .k-splitbar-vertical,.k-dock-manager-unpinned-container .k-splitbar-vertical{border-width:1px 0}.k-dock-manager-unpinned-container{width:300px;position:absolute;display:flex;height:100%;border-color:inherit;z-index:20}.k-dock-manager-unpinned-container .k-pane{display:inline-flex;flex-direction:column;position:relative;flex:1 1 auto}.k-dock-manager-unpinned-container .k-splitbar{height:100%;position:relative;flex:none}.k-docking-preview{width:100%;height:100%;box-sizing:border-box;display:flex;position:absolute;top:0;left:0;border-width:1px;border-style:dashed;border-radius:var(--kendo-border-radius-sm, 0.125rem);z-index:10}.k-dock-navigator-container{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;position:absolute;z-index:10001;pointer-events:none}.k-dock-navigator{display:grid;grid-template-columns:repeat(3, auto);grid-template-rows:repeat(3, auto);justify-content:center;position:absolute}.k-dock-indicator{padding:var(--kendo-spacing-1\.5, 0.375rem);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;position:relative;pointer-events:all;outline-width:1px;outline-style:solid}.k-dock-indicator.k-dock-indicator-middle{filter:none}.k-dock-indicator-top{grid-area:1/2/auto}.k-dock-indicator-right{grid-area:2/3/auto}.k-dock-indicator-bottom{grid-area:3/2/auto}.k-dock-indicator-left{grid-area:2/1/auto}.k-dock-indicator-middle{grid-area:2/2/auto}.k-dock-manager{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-dock-manager-splitter .k-pane-header,.k-dock-manager-unpinned-container .k-pane-header{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-dock-manager-unpinned-container{background-color:#fff;box-shadow:4px 0px 5px 0px rgba(0,0,0,.04),2px 0px 4px 0px rgba(0,0,0,.03)}.k-docking-preview{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 16%, transparent);border-color:var(--kendo-color-primary, #3f51b5)}.k-dock-indicator{color:var(--kendo-color-primary, #3f51b5);background-color:var(--kendo-color-app-surface, #ffffff);outline-color:var(--kendo-color-primary, #3f51b5);filter:drop-shadow(0px 1px 18px rgba(0, 0, 0, 0.12)) drop-shadow(0px 6px 10px rgba(0, 0, 0, 0.14)) drop-shadow(0px 3px 5px rgba(0, 0, 0, 0.2))}.k-dock-indicator:hover,.k-dock-indicator.k-hover{background-color:var(--kendo-color-primary-hover, #3a4ba7);color:#fff}.k-barcode{display:inline-block}.k-barcode>div{height:150px}.k-var--chart-font{font-size:var(--kendo-font-size, inherit)}.k-var--chart-title-font{font-size:1.143em}.k-var--chart-pane-title-font{font-size:.857em;font-weight:var(--kendo-font-weight-normal, normal)}.k-var--chart-label-font{font-size:.857em}.k-chart,.k-sparkline,.k-stockchart{border-width:0px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-chart,.k-stockchart{display:block;height:400px}.k-chart-surface{height:100%}.k-chart .k-popup{border-width:0}.k-chart-tooltip-wrapper .k-animation-container-shown,.k-chart-tooltip-wrapper.k-animation-container-shown{transition:left 300ms cubic-bezier(0, 0.33, 0.19, 1),top 300ms cubic-bezier(0, 0.33, 0.19, 1)}.k-sparkline-tooltip-wrapper,.k-chart-tooltip-wrapper{z-index:12000}.k-sparkline-tooltip-wrapper .k-popup,.k-chart-tooltip-wrapper .k-popup{padding:0;border-width:0;background:rgba(0,0,0,0)}.k-chart-tooltip table{border-spacing:0;border-collapse:collapse}.k-chart-tooltip{border-radius:var(--kendo-border-radius-md, 0.25rem);font-size:calc(0.875rem*.929);line-height:var(--kendo-line-height, normal);padding-block:calc(var(--kendo-spacing-1, 0.25rem)*.75);padding-inline:calc(var(--kendo-spacing-4, 1rem)/2)}.k-chart-tooltip th{width:auto;text-align:center;padding:1px}.k-chart-tooltip td{width:auto;text-align:start;padding-block:var(--kendo-spacing-0\.5, 0.125rem);padding-inline:var(--kendo-spacing-2, 0.5rem);line-height:var(--kendo-line-height, normal);vertical-align:middle}.k-chart-crosshair-tooltip,.k-chart-shared-tooltip{border-width:1px;border-style:solid}.k-chart-shared-tooltip .k-chart-shared-tooltip-marker{display:block;width:15px;height:3px;vertical-align:middle}.k-selector{position:absolute;transform:translateZ(0)}.k-selection{position:absolute;height:100%;border-width:1px;border-style:solid;border-bottom:0}.k-selection-bg{position:absolute;width:100%;height:100%}.k-handle{border-radius:50%;width:22px;height:22px;border-width:1px;border-style:solid;z-index:1;position:absolute;box-sizing:content-box}.k-handle div{width:100%;height:100%}.k-left-handle{left:-11px}.k-right-handle{right:-11px}.k-left-handle div{margin:-22px 0 0 -14.6666666667px;padding:44px 29.3333333333px 0 0}.k-right-handle div{margin:-22px 0 0 -14.6666666667px;padding:44px 0 0 29.3333333333px}.k-left-handle.k-handle-active div{margin-left:-44px;padding-left:58.6666666667px}.k-right-handle.k-handle-active div{margin-left:-44px;padding-right:58.6666666667px}.k-mask{position:absolute;height:100%}.k-navigator-hint div{position:absolute}.k-navigator-hint .k-scroll{border-radius:var(--kendo-border-radius-md, 0.25rem);position:absolute;height:4px}.k-navigator-hint .k-tooltip{margin-top:20px;min-width:160px;opacity:1;text-align:center}.k-sparkline,.k-sparkline span{display:inline-block;vertical-align:top}.k-sparkline span{height:100%;width:100%}.k-chart-dragging{user-select:none}.k-chart-donut-center{position:absolute;display:flex;align-items:center;flex-direction:column;justify-content:center;border-radius:50%;text-align:center;border:4px solid rgba(0,0,0,0);box-sizing:border-box}.k-pdf-export .k-chart .k-animation-container,.k-pdf-export .k-sparkline .k-animation-container,.k-pdf-export .k-stockchart .k-animation-container{display:none}.k-diagram{height:600px}.k-diagram .km-scroll-wrapper{width:100%;height:100%;position:relative}.k-diagram .km-scroll-wrapper{width:100%;height:100%;position:relative}.k-canvas-container{width:100%;height:100%}.k-sankey text{pointer-events:none}.k-treemap{height:400px;box-sizing:border-box;border-width:1px;border-style:solid;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:block;overflow:hidden;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-treemap .k-treemap-tile{margin:-1px 0 0 -1px;height:100%;box-sizing:border-box;border:1px solid;border-color:inherit;color:inherit;background-color:inherit;overflow:hidden;position:absolute}.k-treemap>.k-treemap-tile{position:relative}.k-treemap .k-treemap-title{padding-block:var(--kendo-spacing-0\.5, 0.125rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border-width:0 0 1px;border-style:solid;border-color:inherit;font-size:var(--kendo-font-size, inherit);background-position:0 0;background-repeat:repeat-x}.k-treemap .k-treemap-title-vertical{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-0\.5, 0.125rem);width:calc(2*1em);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute;top:0;bottom:0}.k-treemap .k-treemap-title-vertical>div{transform-origin:right;transform:rotate(-90deg);position:absolute;top:0;right:1em}.k-treemap .k-treemap-wrap{border-color:inherit;color:inherit;background-color:inherit;position:absolute;top:0;left:0;bottom:0;right:0}.k-treemap .k-treemap-title+.k-treemap-wrap{top:calc(var(--kendo-spacing-0\.5, 0.125rem)*2 + var(--kendo-line-height, normal)*var(--kendo-font-size, inherit) + 1px)}.k-treemap .k-treemap-title-vertical+.k-treemap-wrap{left:calc(var(--kendo-spacing-0\.5, 0.125rem)*2 + var(--kendo-line-height, normal)*var(--kendo-font-size, inherit) + 1px)}.k-treemap .k-leaf{padding:var(--kendo-spacing-2, 0.5rem)}.k-gauge{text-align:start;position:relative}.k-arcgauge,.k-circulargauge{display:inline-block}.k-arcgauge-label,.k-circulargauge-label{position:absolute;text-align:center;padding:0;margin:0}.k-qrcode{display:inline-block}.k-qrcode>div{height:150px}.k-var--primary{background-color:var(--kendo-color-primary, #3f51b5)}.k-var--primary-contrast{background-color:var(--kendo-color-on-primary, #ffffff)}.k-var--base{background-color:var(--kendo-color-app-surface, #ffffff)}.k-var--background{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-var--border-radius{background-color:var(--kendo-border-radius-md, 0.25rem)}.k-var--normal-background{background-color:var(--kendo-color-app-surface, #ffffff)}.k-var--normal-text-color{background-color:var(--kendo-color-on-app-surface, #212121)}.k-var--hover-background{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-var--hover-text-color{background-color:var(--kendo-color-on-app-surface, #212121)}.k-var--selected-background{background-color:var(--kendo-color-secondary, #e51a5f)}.k-var--selected-text-color{background-color:var(--kendo-color-on-secondary, #ffffff)}.k-var--success{background-color:var(--kendo-color-success, #37b400)}.k-var--info{background-color:var(--kendo-color-info, #0058e9)}.k-var--warning{background-color:var(--kendo-color-warning, #ffc000)}.k-var--error{background-color:var(--kendo-color-error, #f31700)}.k-var--series-a{background-color:var(--kendo-color-series-a, #9c27b0)}.k-var--series-b{background-color:var(--kendo-color-series-b, #2196f3)}.k-var--series-c{background-color:var(--kendo-color-series-c, #009688)}.k-var--series-d{background-color:var(--kendo-color-series-d, #ffeb3b)}.k-var--series-e{background-color:var(--kendo-color-series-e, #f44336)}.k-var--series-f{background-color:var(--kendo-color-series-f, #4caf50)}.k-var--series-1{background-color:var(--kendo-color-series-a, #9c27b0)}.k-var--series-2{background-color:var(--kendo-color-series-b, #2196f3)}.k-var--series-3{background-color:var(--kendo-color-series-c, #009688)}.k-var--series-4{background-color:var(--kendo-color-series-d, #ffeb3b)}.k-var--series-5{background-color:var(--kendo-color-series-e, #f44336)}.k-var--series-6{background-color:var(--kendo-color-series-f, #4caf50)}.k-var--series-7{background-color:var(--kendo-color-series-a-subtle, #b55dc4)}.k-var--series-8{background-color:var(--kendo-color-series-b-subtle, #59b0f6)}.k-var--series-9{background-color:var(--kendo-color-series-c-subtle, #40b0a6)}.k-var--series-10{background-color:var(--kendo-color-series-d-subtle, #fff06c)}.k-var--series-11{background-color:var(--kendo-color-series-e-subtle, #f77268)}.k-var--series-12{background-color:var(--kendo-color-series-f-subtle, #79c37c)}.k-var--series-13{background-color:var(--kendo-color-series-a-bold, #751d84)}.k-var--series-14{background-color:var(--kendo-color-series-b-bold, #1971b6)}.k-var--series-15{background-color:var(--kendo-color-series-c-bold, #007166)}.k-var--series-16{background-color:var(--kendo-color-series-d-bold, #bfb02c)}.k-var--series-17{background-color:var(--kendo-color-series-e-bold, #b73229)}.k-var--series-18{background-color:var(--kendo-color-series-f-bold, #39833c)}.k-var--series-19{background-color:var(--kendo-color-series-a-subtler, #cd93d7)}.k-var--series-20{background-color:var(--kendo-color-series-b-subtler, #90cbf9)}.k-var--series-21{background-color:var(--kendo-color-series-c-subtler, #80cbc4)}.k-var--series-22{background-color:var(--kendo-color-series-d-subtler, #fff59d)}.k-var--series-23{background-color:var(--kendo-color-series-e-subtler, #faa19b)}.k-var--series-24{background-color:var(--kendo-color-series-f-subtler, #a6d7a8)}.k-var--series-25{background-color:var(--kendo-color-series-a-bolder, #4e1458)}.k-var--series-26{background-color:var(--kendo-color-series-b-bolder, #114b7a)}.k-var--series-27{background-color:var(--kendo-color-series-c-bolder, #004b44)}.k-var--series-28{background-color:var(--kendo-color-series-d-bolder, #80761e)}.k-var--series-29{background-color:var(--kendo-color-series-e-bolder, #7a221b)}.k-var--series-30{background-color:var(--kendo-color-series-f-bolder, #265828)}.k-var--gauge-pointer{background-color:var(--kendo-color-primary, #3f51b5)}.k-var--gauge-track{background-color:var(--kendo-color-base-emphasis, #adadad)}.k-var--chart-inactive{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}.k-var--chart-major-lines{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 8%, transparent)}.k-var--chart-minor-lines{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 4%, transparent)}.k-var--chart-area-opacity{opacity:.6}.k-var--chart-area-inactive-opacity{opacity:.1}.k-var--chart-line-inactive-opacity{opacity:.3}.k-var--chart-notes-background{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}.k-var--chart-notes-border{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}.k-var--chart-notes-lines{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}.k-var--chart-crosshair-background{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}.k-var--chart-error-bars-background{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}.k-chart,.k-sparkline,.k-stockchart{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:rgba(0,0,0,0)}.k-chart .k-popup,.k-sparkline .k-popup,.k-stockchart .k-popup{background:rgba(0,0,0,0)}.k-chart-tooltip{color:#fff}.k-chart-tooltip-inverse{color:#000}.k-chart-crosshair-tooltip,.k-chart-shared-tooltip{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-subtle, #ebebeb);border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 8%, transparent)}.k-selection{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 8%, transparent);box-shadow:inset 0 1px 7px color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 15%, transparent)}.k-selection-bg{background-color:rgba(0,0,0,0)}.k-handle{cursor:e-resize;border-color:var(--kendo-color-base, #ffffff);color:var(--kendo-color-on-base, #212121);background-color:var(--kendo-color-base, #ffffff)}.k-handle:hover{border-color:var(--kendo-color-base-hover, #ebebeb);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-handle div{background-color:rgba(0,0,0,0)}.k-mask{background-color:var(--kendo-color-surface-alt, #ffffff);opacity:.8}.k-treemap{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-treemap .k-treemap-title{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-app-surface, #ffffff)}.k-treemap .k-leaf{color:var(--kendo-color-surface-alt, #ffffff)}.k-treemap .k-leaf.k-inverse{color:var(--kendo-color-on-app-surface, #212121)}.k-treemap .k-leaf:hover,.k-treemap .k-leaf.k-hover{box-shadow:inset 0 0 0 3px var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-pane-wrapper{border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:block;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-pane-wrapper .k-pane{width:100%;height:100%;user-select:none;box-sizing:border-box;font-family:sans-serif;overflow-x:hidden}.k-pane-wrapper .k-view{top:0;left:0;position:relative;border:0;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;height:100%;width:100%;flex-direction:column;align-items:stretch;align-content:stretch;vertical-align:top;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-pane-wrapper .k-content{min-height:1px;flex:1;align-items:stretch;display:block;width:auto;overflow:hidden;position:relative}.k-pane-wrapper>div.k-pane{box-shadow:none;font-weight:normal}.k-pane-wrapper .k-popup-edit-form .k-content,.k-pane-wrapper .k-grid-edit-form .k-content,.k-pane-wrapper .k-grid-header-menu .k-content,.k-pane-wrapper .k-grid-filter-menu .k-content{overflow-y:auto}.k-pane-wrapper .k-popup-edit-form .k-content>.k-scroll-container,.k-pane-wrapper .k-grid-edit-form .k-content>.k-scroll-container,.k-pane-wrapper .k-grid-header-menu .k-content>.k-scroll-container,.k-pane-wrapper .k-grid-filter-menu .k-content>.k-scroll-container{position:absolute;width:100%;min-height:100%;box-sizing:border-box}.k-pane-wrapper .k-grid-edit-form .k-popup-edit-form,.k-pane-wrapper .k-grid-edit-form .k-edit-form-container{width:auto;min-width:auto}.k-grid.k-grid-mobile{border-width:0}.k-grid-mobile .k-resize-handle-inner::before{content:"";position:absolute;font:16px/1 "WebComponentsIcons";top:calc(50% - 1px);left:50%;transform:translate(-50%, -50%);padding:.2em}.k-grid-mobile .k-header a{user-select:none}.k-pane-wrapper .k-scheduler-edit-form .k-recur-view{padding:0;flex-direction:column;align-items:stretch}.k-pane-wrapper .k-scheduler-edit-form .k-recur-view>.k-listgroup-form-row{margin:0}.k-pane-wrapper .k-scheduler-edit-form .k-recur-items-wrap{width:100%;margin-block:-1px;margin-inline:0}.k-pane-wrapper .k-scheduler-edit-form .k-scheduler-recur-end-wrap{white-space:nowrap}.k-scheduler.k-scheduler-mobile{border-width:0}.k-scheduler-mobile th{font-weight:normal}.k-scheduler-mobile .k-event:hover .k-resize-handle{visibility:hidden}.k-scheduler-mobile .k-scheduler-toolbar{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem)}.k-scheduler-mobile .k-scheduler-toolbar>*{margin:0}.k-scheduler-mobile .k-scheduler-toolbar::before{display:none}.k-scheduler-mobile .k-scheduler-toolbar .k-scheduler-navigation{width:100%;display:flex;flex-flow:row nowrap;justify-content:space-between;margin:0}.k-scheduler-mobile .k-scheduler-toolbar .k-scheduler-navigation .k-nav-current{line-height:1;display:flex;flex-flow:column nowrap;align-items:center;justify-content:space-evenly;gap:0}.k-scheduler-mobile .k-scheduler-toolbar .k-scheduler-views-wrapper .k-views-dropdown{display:inline-block}.k-scheduler-mobile .k-scheduler-footer{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);display:flex;justify-content:space-between}.k-scheduler-mobile .k-scheduler-footer>*{margin:0}.k-scheduler-mobile .k-scheduler-footer::before{display:none}.k-scheduler-mobile .k-scheduler-monthview .k-hidden{height:40px}.k-scheduler-mobile .k-scheduler-monthview .k-scheduler-table td{height:40px;vertical-align:top;text-align:center}.k-scheduler-mobile .k-scheduler-monthview .k-events-container{position:absolute;text-align:center;height:6px;line-height:6px}.k-scheduler-mobile .k-scheduler-monthview .k-event{position:static;padding:4px;border-radius:50%;display:inline-block;width:4px;height:4px;min-height:0;margin:1px}.k-scheduler-mobile .k-scheduler-dayview .k-mobile-header.k-mobile-horizontal-header .k-scheduler-times table tr:first-child{display:none}.k-scheduler-mobile .k-scheduler-dayview .k-mobile-header .k-scheduler-header .k-scheduler-date-group{display:none}.k-scheduler-mobile .k-scheduler-header-wrap>div{overflow:visible}.k-scheduler-mobile .k-scheduler-agendaview .k-mobile-header{display:none}.k-scheduler-mobile .k-scheduler-agendaview .k-scheduler-table{table-layout:auto}.k-scheduler-mobile .k-scheduler-agendaview .k-scheduler-table .k-scheduler-groupcolumn{width:1%}.k-scheduler-mobile .k-scheduler-agendaview .k-scheduler-table td{white-space:normal}.k-scheduler-mobile .k-mobile-header .k-scheduler-table td,.k-scheduler-mobile .k-mobile-header .k-scheduler-table th{height:1.5em}.k-scheduler-mobile .k-time-text,.k-scheduler-mobile .k-time-period{display:block;line-height:1}.k-scheduler-mobile .k-time-period{font-size:.7em}.k-scheduler-mobile .k-scheduler-table td,.k-scheduler-mobile .k-scheduler-table th{height:2em;vertical-align:middle}.k-scheduler-mobile .k-scheduler-datecolumn-wrap{display:flex;align-items:center;justify-content:space-between}.k-scheduler-mobile .k-task{display:flex;align-items:center;gap:.5em}.k-scheduler-mobile .k-task .k-scheduler-mark{border-radius:50%;margin:0}.k-scheduler-mobile .k-task .k-scheduler-task-text{flex:1 1 0%}.k-scheduler-mobile .k-scheduler-times .k-scheduler-group-cell,.k-scheduler-mobile .k-scheduler-times .k-scheduler-groupcolumn,.k-scheduler-mobile .k-scheduler-agenda .k-scheduler-group-cell,.k-scheduler-mobile .k-scheduler-agenda .k-scheduler-groupcolumn{vertical-align:top}.k-scheduler-mobile .k-scheduler-times .k-scheduler-group-cell .k-scheduler-group-text,.k-scheduler-mobile .k-scheduler-times .k-scheduler-groupcolumn .k-scheduler-group-text,.k-scheduler-mobile .k-scheduler-agenda .k-scheduler-group-cell .k-scheduler-group-text,.k-scheduler-mobile .k-scheduler-agenda .k-scheduler-groupcolumn .k-scheduler-group-text{writing-mode:vertical-lr;transform:rotate(180deg);white-space:nowrap}.k-scheduler-mobile .k-scrollbar-h tr+tr .k-scheduler-times{border-bottom-width:0}.k-pane-wrapper .k-appbar{padding:var(--kendo-spacing-1, 0.25rem)}.k-pane-wrapper .k-list-title,.k-pane-wrapper .k-filter-help-text{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);display:block}.k-pane-wrapper .k-listgroup-title{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);font-weight:bold;text-transform:uppercase}.k-pane-wrapper .k-listgroup .k-listgroup-item{border-color:inherit}.k-pane-wrapper .k-listgroup+.k-listgroup{margin-top:var(--kendo-spacing-4, 1rem)}.k-pane-wrapper .k-column-menu{padding:var(--kendo-spacing-2, 0.5rem);display:flex;flex-flow:column nowrap;gap:var(--kendo-spacing-2, 0.5rem)}.k-pane-wrapper .k-column-menu .k-filter-item .k-filterable *{pointer-events:none}.k-pane-wrapper .k-column-menu .k-list-title,.k-pane-wrapper .k-column-menu .k-listgroup-title{padding:0}.k-pane-wrapper .k-column-menu .k-listgroup{margin-inline:calc(var(--kendo-spacing-2, 0.5rem)*-1)}.k-pane-wrapper .k-filter-menu{padding:var(--kendo-spacing-2, 0.5rem);display:flex;flex-flow:column nowrap;gap:var(--kendo-spacing-2, 0.5rem)}.k-pane-wrapper .k-filter-menu .k-list-title{padding:0}.k-pane-wrapper .k-filter-menu .k-list-filter{padding:0;display:flex;flex-flow:column nowrap;gap:inherit}.k-pane-wrapper .k-filter-menu .k-filter-tools{display:flex;flex-flow:row nowrap;gap:inherit}.k-pane-wrapper .k-filter-menu .k-listgroup{margin-inline:calc(var(--kendo-spacing-2, 0.5rem)*-1)}.k-pane-wrapper .k-popup-edit-form .k-recur-editor-wrap{display:flex}.k-pane-wrapper .k-popup-edit-form .k-mobiletimezoneeditor{display:flex;align-items:center;justify-content:flex-end;position:relative;flex:1 1 auto}.k-pane-wrapper .k-multicheck-wrap.k-listgroup{overflow-y:auto}.k-pane-wrapper .k-pager-wrap.k-pager-sm,.k-pane-wrapper .k-pager.k-pager-sm{justify-content:center}.k-pane-wrapper .k-pager-wrap.k-pager-sm .k-pager-refresh,.k-pane-wrapper .k-pager.k-pager-sm .k-pager-refresh{display:none}.k-rtl .k-pane-wrapper .k-scheduler-mobile .k-scheduler-toolbar>ul>li,.k-pane-wrapper[dir=rtl] .k-scheduler-mobile .k-scheduler-toolbar>ul>li,[dir=rtl] .k-pane-wrapper .k-scheduler-mobile .k-scheduler-toolbar>ul>li{border:0}.k-rtl .k-pane-wrapper .k-scheduler-mobile .k-task .k-i-reload,.k-pane-wrapper[dir=rtl] .k-scheduler-mobile .k-task .k-i-reload,[dir=rtl] .k-pane-wrapper .k-scheduler-mobile .k-task .k-i-reload{margin-left:.5em;margin-right:0}.k-pane-wrapper,.k-view{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-pane-wrapper .k-pane>.k-view>.k-content{background-position:50% 50%;background-color:var(--kendo-color-app-surface, #ffffff)}.k-pane-wrapper .k-pane .k-grid-mobile .k-column-active+th.k-header{border-left-color:var(--kendo-color-on-app-surface, #212121)}.k-pane-wrapper .k-pane .k-grid-mobile .k-resize-handle-inner::before{background-color:var(--kendo-color-app-surface, #ffffff)}.k-pane-wrapper .k-pane .k-scheduler-mobile .k-nav-current{color:var(--kendo-color-primary, #3f51b5)}.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-times,.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-header,.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-groupcolumn,.k-pane-wrapper .k-pane .k-scheduler-mobile .k-mobile-scheduler-agendadate{color:inherit}.k-pane-wrapper .k-pane .k-scheduler-mobile .k-time-period,.k-pane-wrapper .k-pane .k-scheduler-mobile .k-mobile-scheduler-agendaweekday{color:var(--kendo-color-subtle, #757575)}.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-times,.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-header,.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-header-wrap,.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-datecolumn,.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-groupcolumn,.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-group-cell,.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-header-all-day{background-color:var(--kendo-color-app-surface, #ffffff)}.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-toolbar .k-scheduler-tools>li{display:inline-block;background-color:inherit}.k-pane-wrapper .k-pane .k-grid-edit-form .k-item,.k-pane-wrapper .k-pane .k-grid-edit-form .k-link,.k-pane-wrapper .k-pane .k-grid-header-menu .k-item,.k-pane-wrapper .k-pane .k-grid-header-menu .k-link,.k-pane-wrapper .k-pane .k-grid-filter-menu .k-item,.k-pane-wrapper .k-pane .k-grid-filter-menu .k-link,.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-item,.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-link{color:var(--kendo-color-on-app-surface, #212121)}.k-pane-wrapper .k-pane .k-grid-edit-form .k-clear,.k-pane-wrapper .k-pane .k-grid-edit-form .k-select-all,.k-pane-wrapper .k-pane .k-grid-edit-form .k-scheduler-delete,.k-pane-wrapper .k-pane .k-grid-edit-form .k-scheduler-resetSeries,.k-pane-wrapper .k-pane .k-grid-header-menu .k-clear,.k-pane-wrapper .k-pane .k-grid-header-menu .k-select-all,.k-pane-wrapper .k-pane .k-grid-header-menu .k-scheduler-delete,.k-pane-wrapper .k-pane .k-grid-header-menu .k-scheduler-resetSeries,.k-pane-wrapper .k-pane .k-grid-filter-menu .k-clear,.k-pane-wrapper .k-pane .k-grid-filter-menu .k-select-all,.k-pane-wrapper .k-pane .k-grid-filter-menu .k-scheduler-delete,.k-pane-wrapper .k-pane .k-grid-filter-menu .k-scheduler-resetSeries,.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-clear,.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-select-all,.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-scheduler-delete,.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-scheduler-resetSeries{color:var(--kendo-color-primary, #3f51b5)}.k-pane-wrapper .k-pane .k-column-menu .k-listgroup-item.k-selected{color:var(--kendo-color-primary, #3f51b5);background:none}.k-pane-wrapper .k-pane .k-column-menu .k-listgroup-item.k-selected .k-link{color:inherit}.k-grid{border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-direction:column;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-grid.k-grid-display-block{display:block}.k-grid .k-grid-container{display:flex;flex:1 1 auto;overflow:hidden;position:relative}.k-grid .k-grid-aria-root{border-color:inherit;display:flex;flex-direction:column;flex:1 1 auto;overflow:hidden}.k-grid .k-table{margin:0;width:100%;max-width:none;border-width:0;border-color:inherit;border-collapse:separate;border-spacing:0;box-sizing:content-box;empty-cells:show;outline:0}.k-grid .k-grid-header .k-table,.k-grid .k-grid-content .k-table,.k-grid .k-grid-content-locked .k-table,.k-grid .k-grid-footer .k-table{table-layout:fixed}.k-grid .k-table-thead,.k-grid .k-table-tbody,.k-grid .k-table-tfoot{text-align:start;border-color:inherit}.k-grid .k-table-row{border-color:inherit}.k-grid .k-table-th,.k-grid td,.k-grid .k-table-td{border-width:0;border-inline-start-width:1px;border-style:solid;border-color:inherit;outline:0;font-weight:inherit;text-align:inherit;position:static;overflow:hidden;text-overflow:ellipsis;box-sizing:content-box}.k-grid .k-table-th:first-child,.k-grid td:first-child,.k-grid .k-table-td:first-child{border-inline-start-width:0}.k-grid .k-table-th:focus,.k-grid td:focus,.k-grid .k-table-td:focus{outline:none}.k-grid .k-table-th>.k-radio,.k-grid .k-table-th>.k-radio-wrap,.k-grid .k-table-th>.k-checkbox,.k-grid .k-table-th>.k-checkbox-wrap,.k-grid td>.k-radio,.k-grid td>.k-radio-wrap,.k-grid td>.k-checkbox,.k-grid td>.k-checkbox-wrap,.k-grid .k-table-td>.k-radio,.k-grid .k-table-td>.k-radio-wrap,.k-grid .k-table-td>.k-checkbox,.k-grid .k-table-td>.k-checkbox-wrap{vertical-align:top}.k-grid .k-table-th{border-block-end-width:1px;white-space:nowrap}.k-grid td,.k-grid .k-table-td{border-block-end-width:1px;white-space:unset;vertical-align:middle}.k-grid a{color:inherit;text-decoration:none}.k-grid a:hover{text-decoration:none}.k-grid .k-grid-header-wrap{box-sizing:content-box}.k-grid .k-grid-header{border-bottom-width:1px;font-size:var(--kendo-font-size-sm, inherit)}.k-grid .k-grid-header .k-table{margin-bottom:-1px}.k-grid .k-grid-header.k-grid-draggable-header{user-select:none;touch-action:none}.k-grid .k-grid-header .k-table-th{position:relative;vertical-align:bottom;cursor:default}.k-grid .k-grid-header .k-table-th:first-child{border-inline-start-width:0}.k-grid .k-grid-header .k-table-th.k-first{border-inline-start-width:1px}.k-grid .k-grid-header .k-table-th>.k-link{line-height:inherit;display:block;overflow:hidden;text-overflow:ellipsis;outline:0}.k-grid .k-grid-header .k-table-th>.k-link:focus{text-decoration:none}.k-grid .k-grid-header .k-grid-filter,.k-grid .k-grid-header .k-header-column-menu,.k-grid .k-grid-header .k-grid-header-menu{box-sizing:border-box;outline:0;display:flex;align-items:center;align-content:center;justify-content:center;position:absolute;inset-inline-end:var(--kendo-spacing-3\.5, 0.875rem);z-index:1}.k-grid .k-grid-header .k-grid-filter:hover,.k-grid .k-grid-header .k-header-column-menu:hover,.k-grid .k-grid-header .k-grid-header-menu:hover{cursor:pointer}.k-grid .k-grid-header .k-cell-inner>.k-link>.k-sort-icon{vertical-align:text-top;margin-inline-start:var(--kendo-spacing-1, 0.25rem)}.k-grid .k-grid-header .k-cell-inner>.k-link>.k-sort-icon .k-icon{display:flex}.k-grid .k-grid-header .k-sort-order{display:inline-block;vertical-align:top;height:16px;font-size:var(--kendo-font-size-sm, inherit);margin-top:calc(var(--kendo-spacing-2, 0.5rem)/2);margin-inline-start:calc(calc(var(--kendo-spacing-2, 0.5rem) / 2)*-1)}.k-grid .k-grid-header .k-filterable>.k-cell-inner .k-link{padding-inline-end:0}.k-grid .k-cell-inner{display:flex;flex-flow:row nowrap;align-items:center;justify-content:inherit;overflow:hidden}.k-grid .k-cell-inner>.k-link{width:auto;display:flex;flex-flow:row nowrap;align-items:center;justify-content:inherit;flex:1;overflow:hidden}.k-grid .k-cell-inner>.k-link>.k-sort-icon{margin-inline-start:0;display:inline-block;flex-shrink:0}.k-grid .k-cell-inner .k-sort-order{flex-shrink:0;line-height:normal}.k-grid .k-cell-inner .k-grid-filter,.k-grid .k-cell-inner .k-header-column-menu,.k-grid .k-cell-inner .k-grid-header-menu{position:static;margin-inline-end:var(--kendo-spacing-3\.5, 0.875rem)}.k-grid .k-group-col,.k-grid .k-hierarchy-col{padding:0;width:32px}.k-grid .k-grouping-row p{margin:0;display:flex;align-items:center;align-content:center}.k-grid .k-grouping-row td,.k-grid .k-grouping-row .k-table-td{overflow:visible}.k-grid .k-grouping-row+.k-table-row td,.k-grid .k-grouping-row+.k-table-row .k-table-td{border-top-width:0px}.k-grid .k-grouping-row .k-group-cell,.k-grid .k-grouping-row+.k-table-row .k-group-cell{border-top-width:0;text-overflow:clip}.k-grid .k-grouping-row .k-icon{margin-inline-start:calc(8px - var(--kendo-spacing-6, 1.5rem));margin-inline-end:8px;text-decoration:none}.k-grid .k-table .k-group-footer td,.k-grid .k-table .k-group-footer .k-table-td{border-style:solid;border-width:1px 0}.k-grid .k-group-footer .k-group-cell+td,.k-grid .k-group-footer .k-group-cell+.k-table-td{border-inline-start-width:1px}.k-grid .k-hierarchy-cell,.k-grid .k-drag-cell{text-align:center;overflow:visible}.k-grid .k-hierarchy-cell>.k-font-icon,.k-grid .k-drag-cell>.k-font-icon{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:0;width:100%;height:100%;display:inline-block;outline:0}.k-grid .k-hierarchy-cell+.k-grid-content-sticky{border-inline-start-width:1px}.k-grid .k-detail-row .k-detail-cell{border-inline-start-width:0}.k-grid .k-dirty-cell{position:relative}.k-grid .k-dirty-cell.k-edit-cell{position:static}.k-grid .k-dirty-cell.k-grid-content-sticky{position:sticky}.k-grid .k-dirty{border-width:5px;border-color:rgba(0,0,0,0);border-block-start-color:currentColor;border-inline-start-color:currentColor;inset-inline-start:0;inset-inline-end:auto}.k-grid .k-grid-content-locked+.k-grid-content{box-sizing:content-box}.k-grid .k-grid-content-expander{position:absolute;visibility:hidden;height:1px;bottom:1px}.k-grid .k-grid-filter,.k-grid .k-header-column-menu,.k-grid .k-grid-header-menu,.k-grid .k-hierarchy-cell .k-icon{border-width:0}.k-grid .k-drag-col{padding:0;width:48px}.k-grid .k-drag-cell{cursor:move}.k-grid-toolbar{border-width:0 0 1px;flex-shrink:0}.k-grid-toolbar-bottom{border-width:1px 0 0}.k-grouping-header{border-width:0 0 1px;border-style:solid;border-color:inherit;white-space:normal;display:flex;align-items:center;position:relative;flex-wrap:wrap}.k-grouping-header::before{content:"";height:calc(1.2857142857em + var(--kendo-spacing-1, 0.25rem)*2 + 2px);display:inline-block;vertical-align:middle}.k-grouping-header .k-chip-list{flex-grow:0;display:contents}.k-grouping-header>.k-grouping-drop-container{flex-grow:1;padding-block:var(--kendo-spacing-2, 0.5rem);margin-block:calc(var(--kendo-spacing-2, 0.5rem)*-1);display:inline-flex;align-self:stretch;align-items:center}.k-grouping-dropclue{width:12px;position:absolute;top:calc((calc(1.2857142857em + var(--kendo-spacing-1, 0.25rem) * 2 + 2px) + var(--kendo-spacing-2, 0.5rem)*2 - calc(1.2857142857em + var(--kendo-spacing-1, 0.25rem) * 2 + 2px))/2);box-sizing:content-box}.k-grouping-dropclue::before,.k-grouping-dropclue::after{display:inline-block;content:"";position:absolute}.k-grouping-dropclue::before{border-width:6px;border-style:solid;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-bottom-color:rgba(0,0,0,0);top:0}.k-grouping-dropclue::after{width:2px;height:calc(100% - 6px);top:6px;inset-inline-start:calc(6px - 1px)}.k-grid-header-wrap,.k-grid-footer-wrap{margin-inline-end:-1px;width:100%;border-width:0;border-inline-end-width:1px;border-style:solid;border-color:inherit;position:relative;overflow:hidden}.k-grid-header-locked+.k-grid-header-wrap.k-auto-scrollable{margin-inline-end:0}.k-grid-header,.k-grid-footer{padding-inline-start:0;padding-inline-end:var(--kendo-scrollbar-width, 17px);border-width:0;border-style:solid;border-color:inherit;flex:0 0 auto}div.k-grid-header,div.k-grid-footer{display:flex;flex-direction:row;align-items:stretch}.k-column-resizer{width:.5em;height:1000%;display:block;position:absolute;top:0;inset-inline-end:0;cursor:col-resize}.k-row-resizer{display:block;height:var(--kendo-spacing-0\.5, 0.125rem);width:100%;background:none}.k-grid-footer{border-top-width:1px}.k-grid-footer td,.k-grid-footer .k-table-td{height:calc(2*1em)}.k-grid-footer td,.k-group-footer td,.k-grouping-row td,.k-grid-footer .k-table-td,.k-group-footer .k-table-td,.k-grouping-row .k-table-td{font-weight:bold}.k-grid-filter-popup{min-width:250px;max-width:320px}.k-grid-column-menu-standalone a.k-grid-filter{position:initial;display:inline-block;margin-block:-4px;margin-inline:0;padding-block:4px;padding-inline:8px}.k-filter-row{line-height:var(--kendo-line-height, normal)}.k-filter-row td,.k-filter-row .k-table-td,.k-filter-row .k-table-th{border-width:0;border-block-end-width:1px;border-inline-start-width:1px;white-space:nowrap}.k-filter-row td:first-child,.k-filter-row .k-table-td:first-child{border-inline-start-width:0}.k-filter-row .k-multiselect{height:auto}.k-filtercell{width:auto;display:flex;flex-flow:row nowrap;align-items:center}.k-filtercell>span,.k-filtercell .k-filtercell-wrapper{width:100%;display:flex;flex-flow:row nowrap;align-items:center;flex:1 1 auto}.k-filtercell>span>.k-button,.k-filtercell .k-filtercell-wrapper>.k-button{flex:none}.k-grid-content,.k-grid-content-locked{border-color:inherit;outline:0}.k-grid-content .k-table-row:last-child>td,.k-grid-content .k-table-row:last-child>.k-table-td,.k-grid-content-locked .k-table-row:last-child>td,.k-grid-content-locked .k-table-row:last-child>.k-table-td{border-bottom-width:0}.k-grid-content{width:100%;min-height:0;overflow:auto;overflow-x:auto;overflow-y:scroll;position:relative;flex:1}.k-virtual-scrollable-wrap{height:100%;overflow-y:hidden;position:relative}.k-grid .k-edit-cell,.k-grid .k-command-cell,.k-grid .k-grid-edit-row td,.k-grid .k-grid-edit-row .k-table-td{text-overflow:clip}.k-grid .k-edit-cell>input:not([type=checkbox]):not([type=radio]),.k-grid .k-edit-cell>select,.k-grid .k-edit-cell>.k-widget:not(.k-switch),.k-grid .k-grid-edit-row td>input:not([type=checkbox]):not([type=radio]),.k-grid .k-grid-edit-row td>select,.k-grid .k-grid-edit-row td>.k-widget:not(.k-switch),.k-grid .k-grid-edit-row .k-table-td>input:not([type=checkbox]):not([type=radio]),.k-grid .k-grid-edit-row .k-table-td>select,.k-grid .k-grid-edit-row .k-table-td>.k-widget:not(.k-switch){width:100%;vertical-align:middle;box-sizing:border-box}.k-grid .k-edit-cell>.k-radio,.k-grid .k-edit-cell>.k-checkbox,.k-grid .k-edit-cell>.k-radio-wrap,.k-grid .k-edit-cell>.k-checkbox-wrap,.k-grid .k-grid-edit-row td>.k-radio,.k-grid .k-grid-edit-row td>.k-checkbox,.k-grid .k-grid-edit-row td>.k-radio-wrap,.k-grid .k-grid-edit-row td>.k-checkbox-wrap,.k-grid .k-grid-edit-row .k-table-td>.k-radio,.k-grid .k-grid-edit-row .k-table-td>.k-checkbox,.k-grid .k-grid-edit-row .k-table-td>.k-radio-wrap,.k-grid .k-grid-edit-row .k-table-td>.k-checkbox-wrap{vertical-align:middle}.k-grid .k-command-cell>.k-button{margin-inline-end:var(--kendo-spacing-2, 0.5rem);vertical-align:middle}.k-grid .k-command-cell>.k-button:last-child{margin-inline-end:unset}.k-grid>.k-resize-handle,.k-grid-header .k-resize-handle{height:25px;cursor:col-resize;position:absolute;z-index:2}.k-selection-aggregates{border-width:1px 0 0;border-style:solid;line-height:20px;display:flex;justify-content:flex-end;gap:var(--kendo-spacing-2, 0.5rem)}.k-selection-aggregates-item-value{font-weight:var(--kendo-font-weight-bold, normal)}.k-grid-pager{border-width:1px 0 0;border-color:inherit;font-size:inherit}.k-grid-pager-top{border-width:0 0 1px}.k-grid-virtual .k-grid-content .k-grid-table-wrap{float:left;width:100%}.k-grid-virtual .k-grid-content .k-grid-table{position:relative;float:left;z-index:1}.k-grid-virtual .k-grid-content>.k-height-container{position:relative;float:left}.k-grid-virtual .k-grid-content::after{content:"";display:block;clear:both}.k-width-container{position:absolute;visibility:hidden}.k-width-container div{height:1px}.k-grid-add-row td,.k-grid-add-row .k-table-td{border-bottom-style:solid;border-bottom-width:1px}.k-grid-lockedcolumns{white-space:nowrap}.k-grid-content,.k-grid-content-locked{white-space:normal}.k-grid-content-locked,.k-grid-footer-locked,.k-grid-header-locked{flex:0 0 auto;display:inline-block;vertical-align:top;overflow:hidden;position:relative;border-style:solid;border-width:0;border-inline-end-width:1px;box-sizing:content-box}.k-grid-content-locked+.k-grid-content.k-auto-scrollable,.k-grid-footer-locked+.k-grid-content.k-auto-scrollable,.k-grid-header-locked+.k-grid-content.k-auto-scrollable{display:inline-block}.k-grid-content-locked .k-table,.k-grid-footer-locked .k-table,.k-grid-header-locked .k-table{border-width:0}.k-grid-content,.k-grid-footer-wrap,.k-grid-header-wrap{flex:1 1 auto;display:inline-block;vertical-align:top}.k-grid-content.k-auto-scrollable,.k-grid-footer-wrap.k-auto-scrollable,.k-grid-header-wrap.k-auto-scrollable{display:block}.k-grid-header-locked>.k-grid-header-table,.k-grid-header-wrap>.k-grid-header-table{margin-bottom:-1px}.k-grid-header .k-table-th.k-grid-header-sticky,.k-grid-header .k-filter-row .k-grid-header-sticky,.k-grid .k-grid-content-sticky,.k-grid .k-grid-row-sticky,.k-grid .k-grid-footer-sticky{position:sticky;z-index:2}.k-grid-header .k-table-th.k-grid-header-sticky.k-edit-cell,.k-grid-header .k-filter-row .k-grid-header-sticky.k-edit-cell,.k-grid .k-grid-content-sticky.k-edit-cell,.k-grid .k-grid-row-sticky.k-edit-cell,.k-grid .k-grid-footer-sticky.k-edit-cell{overflow:visible;z-index:3}.k-master-row .k-grid-content-sticky::before{content:"";width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1}kendo-grid .k-table-row.k-grid-row-sticky{border:0;position:static;z-index:auto}kendo-grid .k-grid-row-sticky td,kendo-grid .k-grid-row-sticky .k-table-td{border-bottom-width:1px;border-top-width:1px;position:sticky;top:inherit;bottom:inherit;z-index:2}kendo-grid .k-grid-row-sticky td.k-grid-content-sticky,kendo-grid .k-grid-row-sticky.k-table-alt-row td.k-grid-content-sticky,kendo-grid .k-grid-row-sticky .k-table-td.k-grid-content-sticky,kendo-grid .k-grid-row-sticky.k-table-alt-row .k-table-td.k-grid-content-sticky{z-index:3}kendo-grid .k-grid-header-locked .k-table-th.k-grid-header-sticky:last-child,kendo-grid .k-grid-content-locked .k-table-row .k-grid-content-sticky:last-child{border-inline-end:0}kendo-grid .k-grid-header .k-grid-column-menu,kendo-grid .k-grid-header .k-grid-header-menu{z-index:1}.k-grid-content-sticky.k-grid-row-sticky{z-index:3}.k-grid .k-table .k-grid-header-sticky,.k-grid .k-table .k-grid-content-sticky,.k-grid .k-table .k-grid-footer-sticky{border-inline-end-width:1px}.k-grid .k-table .k-grid-header-sticky:not([style*="display: none"])+td,.k-grid .k-table .k-grid-header-sticky:not([style*="display: none"])+.k-table-td,.k-grid .k-table .k-grid-header-sticky:not([style*="display: none"])+.k-table-th,.k-grid .k-table .k-grid-content-sticky:not([style*="display: none"])+td,.k-grid .k-table .k-grid-content-sticky:not([style*="display: none"])+.k-table-td,.k-grid .k-table .k-grid-content-sticky:not([style*="display: none"])+.k-table-th,.k-grid .k-table .k-grid-footer-sticky:not([style*="display: none"])+td,.k-grid .k-table .k-grid-footer-sticky:not([style*="display: none"])+.k-table-td,.k-grid .k-table .k-grid-footer-sticky:not([style*="display: none"])+.k-table-th{border-inline-start-width:0}.k-grid .k-grid-row-sticky{border-bottom-width:1px;border-top-width:1px}.k-grid-header-sticky.k-table-th.k-grid-no-left-border.k-first{border-inline-start-width:0}.k-grid.k-grid-no-scrollbar .k-grid-header-wrap,.k-grid.k-grid-no-scrollbar .k-grid-footer-wrap{margin:0;border-width:0}.k-grid.k-grid-no-scrollbar .k-grid-header,.k-grid.k-grid-no-scrollbar .k-grid-footer{padding:0}.k-grid.k-grid-no-scrollbar .k-grid-content{overflow-y:auto}.k-grid-norecords{text-align:center}div.k-grid-norecords{width:100%;height:100%;display:flex;align-items:center}.k-grid-norecords-template{box-sizing:border-box;margin-block:0;margin-inline:auto;width:20em;height:4em;border:1px solid;line-height:4em}.k-column-title{min-width:0;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;overflow:hidden}.k-grid .k-grid-sm .k-table-th,.k-grid-sm .k-table-th{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.k-grid .k-grid-sm td,.k-grid .k-grid-sm .k-table-td,.k-grid-sm td,.k-grid-sm .k-table-td{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.k-grid .k-grid-sm .k-grouping-header,.k-grid-sm .k-grouping-header{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-1\.5, 0.375rem);gap:var(--kendo-spacing-1\.5, 0.375rem)}.k-grid .k-grid-sm .k-grouping-header::before,.k-grid-sm .k-grouping-header::before{margin-inline-start:calc(var(--kendo-spacing-1\.5, 0.375rem)*-1)}.k-grid .k-grid-sm .k-grid-header .k-table-th>.k-link,.k-grid-sm .k-grid-header .k-table-th>.k-link{margin-block:calc(var(--kendo-spacing-2\.5, 0.625rem)*-1);margin-inline:calc(var(--kendo-spacing-2\.5, 0.625rem)*-1);padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.k-grid .k-grid-sm .k-grid-header .k-grid-filter,.k-grid .k-grid-sm .k-grid-header .k-header-column-menu,.k-grid .k-grid-sm .k-grid-header .k-grid-header-menu,.k-grid-sm .k-grid-header .k-grid-filter,.k-grid-sm .k-grid-header .k-header-column-menu,.k-grid-sm .k-grid-header .k-grid-header-menu{padding:var(--kendo-spacing-1\.5, 0.375rem);width:calc(1.4285714286em + var(--kendo-spacing-1\.5, 0.375rem)*2 + 2px);height:calc(1.4285714286em + var(--kendo-spacing-1\.5, 0.375rem)*2 + 2px);bottom:calc(var(--kendo-spacing-2\.5, 0.625rem) + calc(2 * 1em)/2 - calc(1.4285714286em + var(--kendo-spacing-2, 0.5rem) * 2)/2)}.k-grid .k-grid-sm .k-table-th>.k-cell-inner,.k-grid-sm .k-table-th>.k-cell-inner{margin-block:calc(var(--kendo-spacing-2\.5, 0.625rem)*-1);margin-inline:calc(var(--kendo-spacing-2\.5, 0.625rem)*-1)}.k-grid .k-grid-sm .k-table-th>.k-cell-inner>.k-link,.k-grid-sm .k-table-th>.k-cell-inner>.k-link{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.k-grid .k-grid-sm .k-grouping-row .k-icon,.k-grid-sm .k-grouping-row .k-icon{margin-inline-start:calc(8px - var(--kendo-spacing-2\.5, 0.625rem))}.k-grid .k-grid-sm .k-grouping-dropclue,.k-grid-sm .k-grouping-dropclue{height:calc(calc(1.2857142857em + var(--kendo-spacing-0\.5, 0.125rem) * 2 + 2px) + 6px)}.k-grid .k-grid-sm .k-hierarchy-cell,.k-grid .k-grid-sm .k-drag-cell,.k-grid-sm .k-hierarchy-cell,.k-grid-sm .k-drag-cell{padding:0}.k-grid .k-grid-sm .k-hierarchy-cell>.k-icon,.k-grid .k-grid-sm .k-drag-cell>.k-icon,.k-grid-sm .k-hierarchy-cell>.k-icon,.k-grid-sm .k-drag-cell>.k-icon{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:0}.k-grid .k-grid-sm .k-edit-cell,.k-grid .k-grid-sm .k-command-cell,.k-grid .k-grid-sm .k-grid-edit-row td,.k-grid .k-grid-sm .k-grid-edit-row .k-table-td,.k-grid-sm .k-edit-cell,.k-grid-sm .k-command-cell,.k-grid-sm .k-grid-edit-row td,.k-grid-sm .k-grid-edit-row .k-table-td{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.k-grid .k-grid-sm .k-filter-row td,.k-grid .k-grid-sm .k-filter-row .k-table-td,.k-grid .k-grid-sm .k-filter-row .k-table-th,.k-grid-sm .k-filter-row td,.k-grid-sm .k-filter-row .k-table-td,.k-grid-sm .k-filter-row .k-table-th{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2\.5, 0.625rem)}.k-grid .k-grid-sm .k-filtercell>span,.k-grid .k-grid-sm .k-filtercell .k-filtercell-wrapper,.k-grid-sm .k-filtercell>span,.k-grid-sm .k-filtercell .k-filtercell-wrapper{gap:calc(var(--kendo-spacing-1, 0.25rem)/2)}.k-grid .k-grid-sm .k-selection-aggregates,.k-grid-sm .k-selection-aggregates{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-grid .k-grid-sm .k-resizer-wrap,.k-grid-sm .k-resizer-wrap{display:block;width:100%;padding-block-start:calc(var(--kendo-spacing-1, 0.25rem) - var(--kendo-spacing-0\.5, 0.125rem));padding-block-end:var(--kendo-spacing-1, 0.25rem);position:absolute;background:none;cursor:row-resize;z-index:2}.k-grid .k-grid-md .k-table-th,.k-grid-md .k-table-th{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-6, 1.5rem)}.k-grid .k-grid-md td,.k-grid .k-grid-md .k-table-td,.k-grid-md td,.k-grid-md .k-table-td{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-6, 1.5rem)}.k-grid .k-grid-md .k-grouping-header,.k-grid-md .k-grouping-header{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);gap:var(--kendo-spacing-2, 0.5rem)}.k-grid .k-grid-md .k-grouping-header::before,.k-grid-md .k-grouping-header::before{margin-inline-start:calc(var(--kendo-spacing-2, 0.5rem)*-1)}.k-grid .k-grid-md .k-grid-header .k-table-th>.k-link,.k-grid-md .k-grid-header .k-table-th>.k-link{margin-block:calc(var(--kendo-spacing-4, 1rem)*-1);margin-inline:calc(var(--kendo-spacing-6, 1.5rem)*-1);padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-6, 1.5rem)}.k-grid .k-grid-md .k-grid-header .k-grid-filter,.k-grid .k-grid-md .k-grid-header .k-header-column-menu,.k-grid .k-grid-md .k-grid-header .k-grid-header-menu,.k-grid-md .k-grid-header .k-grid-filter,.k-grid-md .k-grid-header .k-header-column-menu,.k-grid-md .k-grid-header .k-grid-header-menu{padding:var(--kendo-spacing-2, 0.5rem);width:calc(1.4285714286em + var(--kendo-spacing-2, 0.5rem)*2 + 2px);height:calc(1.4285714286em + var(--kendo-spacing-2, 0.5rem)*2 + 2px);bottom:calc(var(--kendo-spacing-4, 1rem) + calc(2 * 1em)/2 - calc(1.4285714286em + var(--kendo-spacing-2, 0.5rem) * 2)/2)}.k-grid .k-grid-md .k-table-th>.k-cell-inner,.k-grid-md .k-table-th>.k-cell-inner{margin-block:calc(var(--kendo-spacing-4, 1rem)*-1);margin-inline:calc(var(--kendo-spacing-6, 1.5rem)*-1)}.k-grid .k-grid-md .k-table-th>.k-cell-inner>.k-link,.k-grid-md .k-table-th>.k-cell-inner>.k-link{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-6, 1.5rem)}.k-grid .k-grid-md .k-grouping-row .k-icon,.k-grid-md .k-grouping-row .k-icon{margin-inline-start:calc(8px - var(--kendo-spacing-6, 1.5rem))}.k-grid .k-grid-md .k-grouping-dropclue,.k-grid-md .k-grouping-dropclue{height:calc(1.2857142857em + var(--kendo-spacing-1, 0.25rem)*2 + 2px)}.k-grid .k-grid-md .k-hierarchy-cell,.k-grid .k-grid-md .k-drag-cell,.k-grid-md .k-hierarchy-cell,.k-grid-md .k-drag-cell{padding:0}.k-grid .k-grid-md .k-hierarchy-cell>.k-icon,.k-grid .k-grid-md .k-drag-cell>.k-icon,.k-grid-md .k-hierarchy-cell>.k-icon,.k-grid-md .k-drag-cell>.k-icon{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:0}.k-grid .k-grid-md .k-edit-cell,.k-grid .k-grid-md .k-command-cell,.k-grid .k-grid-md .k-grid-edit-row td,.k-grid .k-grid-md .k-grid-edit-row .k-table-td,.k-grid-md .k-edit-cell,.k-grid-md .k-command-cell,.k-grid-md .k-grid-edit-row td,.k-grid-md .k-grid-edit-row .k-table-td{padding-block:var(--kendo-spacing-1\.5, 0.375rem);padding-inline:var(--kendo-spacing-6, 1.5rem)}.k-grid .k-grid-md .k-filter-row td,.k-grid .k-grid-md .k-filter-row .k-table-td,.k-grid .k-grid-md .k-filter-row .k-table-th,.k-grid-md .k-filter-row td,.k-grid-md .k-filter-row .k-table-td,.k-grid-md .k-filter-row .k-table-th{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-6, 1.5rem)}.k-grid .k-grid-md .k-filtercell>span,.k-grid .k-grid-md .k-filtercell .k-filtercell-wrapper,.k-grid-md .k-filtercell>span,.k-grid-md .k-filtercell .k-filtercell-wrapper{gap:calc(var(--kendo-spacing-2\.5, 0.625rem)/2)}.k-grid .k-grid-md .k-selection-aggregates,.k-grid-md .k-selection-aggregates{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem)}.k-grid .k-grid-md .k-resizer-wrap,.k-grid-md .k-resizer-wrap{display:block;width:100%;padding-block-start:calc(var(--kendo-spacing-1\.5, 0.375rem) - var(--kendo-spacing-0\.5, 0.125rem));padding-block-end:var(--kendo-spacing-1\.5, 0.375rem);position:absolute;background:none;cursor:row-resize;z-index:2}.k-loading-pdf-mask{position:absolute;width:100%;height:100%;top:0;left:0;z-index:100}.k-loading-pdf-mask>.k-i-loading{position:absolute;top:50%;left:50%;font-size:64px}.k-loading-pdf-mask .k-loading-pdf-progress{margin:auto;position:absolute;top:0;bottom:0;left:0;right:0}.k-pdf-export .k-loading-pdf-mask{display:none}.k-grid-pdf-export-element{position:absolute;left:-10000px;top:-10000px}.k-grid-pdf-export-element .k-filter-row{display:none}.k-pdf-export-shadow .k-grid{float:left;width:auto !important}.k-pdf-export-shadow .k-grid,.k-pdf-export-shadow .k-grid-content,.k-pdf-export-shadow .k-grid-content-locked{height:auto !important;overflow:visible}.k-pdf-export-shadow .k-grid-header-locked+.k-grid-header-wrap,.k-pdf-export-shadow .k-grid-header-locked+.k-grid-content,.k-pdf-export-shadow .k-grid-header-locked+.k-grid-footer-wrap{width:auto !important}.k-pdf-export-shadow .k-grid-header,.k-pdf-export-shadow .k-grid[data-role=grid] .k-grid-footer{padding:0 !important}.k-filter-menu-popup{min-width:250px;max-width:320px}.k-filter-menu{box-sizing:border-box}.k-filter-menu-container{padding:var(--kendo-spacing-2, 0.5rem);box-sizing:border-box;display:flex;flex-flow:column nowrap;align-items:stretch;gap:var(--kendo-spacing-2, 0.5rem)}.k-filter-menu-container .k-filter-and{width:min-content;align-self:start}.k-filter-menu-container .k-actions,.k-filter-menu-container .k-edit-buttons,.k-filter-menu-container .k-action-buttons,.k-filter-menu-container .k-columnmenu-actions,.k-filter-menu-container .k-form-buttons{margin:0;padding:0}.k-filter-menu-container kendo-numeric-filter-menu,.k-filter-menu-container kendo-grid-string-filter-menu,.k-filter-menu-container kendo-grid-date-filter-menu,.k-filter-menu-container kendo-grid-numeric-filter-menu,.k-filter-menu-container kendo-grid-filter-menu-input-wrapper,.k-filter-menu-container kendo-treelist-string-filter-menu,.k-filter-menu-container kendo-treelist-date-filter-menu,.k-filter-menu-container kendo-treelist-numeric-filter-menu,.k-filter-menu-container kendo-treelist-filter-menu-input-wrapper{display:flex;flex-flow:column nowrap;align-items:stretch;gap:var(--kendo-spacing-2, 0.5rem)}.k-filter-menu.k-popup .k-filter-menu-container,.k-grid-filter-popup.k-popup .k-filter-menu-container{min-width:250px;max-width:320px}.k-popup .k-multicheck-wrap{margin:0;padding:0;max-height:300px;font-size:2rem;white-space:nowrap;overflow:auto;list-style:none}.k-popup .k-multicheck-wrap .k-item,.k-popup .k-multicheck-wrap .k-check-all-wrap{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);display:flex;flex-flow:row nowrap}.k-filter-selected-items{font-weight:bold;line-height:normal;white-space:nowrap}.k-autofitting{width:auto !important;table-layout:auto !important}.k-autofitting .k-table-th,.k-autofitting td,.k-autofitting .k-table-td{white-space:nowrap !important}.k-autofitting .k-detail-row{display:none !important}.k-column-menu-popup,.k-grid-columnmenu-popup{min-width:250px;box-sizing:border-box}.k-column-menu-popup.k-popup,.k-grid-columnmenu-popup.k-popup{max-width:320px}.k-column-menu-popup .k-actions,.k-column-menu-popup .k-edit-buttons,.k-column-menu-popup .k-action-buttons,.k-column-menu-popup .k-columnmenu-actions,.k-column-menu-popup .k-form-buttons,.k-grid-columnmenu-popup .k-actions,.k-grid-columnmenu-popup .k-edit-buttons,.k-grid-columnmenu-popup .k-action-buttons,.k-grid-columnmenu-popup .k-columnmenu-actions,.k-grid-columnmenu-popup .k-form-buttons{margin:0}.k-column-menu{box-sizing:border-box}.k-column-menu .k-menu:not(.k-context-menu){font-weight:400}.k-column-menu .k-expander{border:0;background:inherit}.k-column-menu .k-expander .k-columnmenu-item{display:flex;align-items:center}.k-column-menu-tabbed{border-radius:0px 0px 0 0}.k-column-menu-tabbed .k-tabstrip-items{margin:0px 0px 0}.k-column-menu-tabbed .k-tabstrip-items .k-item{flex:1}.k-column-menu-tabbed .k-tabstrip-items .k-link{justify-content:center}.k-column-menu-tabbed .k-tabstrip-content{padding-inline:var(--kendo-spacing-0, 0px);padding-block:var(--kendo-spacing-2, 0.5rem);border-width:0}.k-column-list{padding:0;margin:0;list-style:none;max-height:200px;overflow-x:hidden;overflow-y:auto}.k-column-chooser-title,.k-column-list-item{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-column-list-item{margin:0;display:flex;flex-flow:row nowrap;align-items:center;gap:4px;cursor:pointer;position:relative}.k-column-list-item .k-checkbox-label{margin:0}.k-column-list-item:focus{outline:none}.k-columns-items-wrap{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-0, 0px)}.k-columnmenu-item{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);outline:0;cursor:pointer}.k-columnmenu-item>.k-icon,.k-columnmenu-item>.k-expander-indicator{margin-inline-end:var(--kendo-spacing-2, 0.5rem)}.k-columnmenu-item-wrapper+.k-columnmenu-item-wrapper{border-top:1px solid;border-top-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-columnmenu-item-content{overflow:hidden}.k-column-menu-group-header{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);display:flex;flex:0 0 auto;position:relative;user-select:none}.k-column-menu-group-header-text{border-bottom-width:1px;border-bottom-style:solid;font-size:var(--kendo-font-size-sm, inherit);line-height:var(--kendo-line-height, normal);font-weight:bold;text-transform:uppercase;flex:1 1 auto}.k-rtl .k-grid-virtual .k-grid-content .k-grid-table-wrap,.k-rtl .k-grid-virtual .k-grid-content .k-grid-table,.k-rtl .k-grid-virtual .k-grid-content>.k-height-container,[dir=rtl] .k-grid-virtual .k-grid-content .k-grid-table-wrap,[dir=rtl] .k-grid-virtual .k-grid-content .k-grid-table,[dir=rtl] .k-grid-virtual .k-grid-content>.k-height-container,.k-rtl.k-grid-virtual .k-grid-content .k-grid-table-wrap,.k-rtl.k-grid-virtual .k-grid-content .k-grid-table,.k-rtl.k-grid-virtual .k-grid-content>.k-height-container,[dir=rtl].k-grid-virtual .k-grid-content .k-grid-table-wrap,[dir=rtl].k-grid-virtual .k-grid-content .k-grid-table,[dir=rtl].k-grid-virtual .k-grid-content>.k-height-container{float:right}.k-grid .k-group-footer td,.k-grid .k-group-footer .k-table-td{border-top-width:0}.k-grid .k-command-cell .k-button{box-shadow:none}.k-grid-header .k-table-th{font-weight:700}.k-grid-header .k-table-th .k-grid-filter{font-weight:normal}.k-grid-header .k-grid-filter{border-radius:50%}.k-grid-header .k-header-column-menu,.k-grid-header .k-grid-header-menu{border-radius:50%}.k-grid-header .k-resizable-columns .k-table-th:not(.k-group-cell){border-right-width:1px;border-right-style:solid}.k-grid-header .k-resizable-columns .k-resize-handle .k-resize-handle-inner{width:1px;height:100%;cursor:col-resize}.k-cell-inner .k-grid-filter,.k-cell-inner .k-header-column-menu,.k-cell-inner .k-grid-header-menu,.k-cell-inner .k-hierarchy-cell .k-icon{line-height:normal}.k-grouping-dropclue{width:0;height:calc(1.2857142857em + var(--kendo-spacing-1, 0.25rem)*2 + 2px);top:calc((calc(1.2857142857em + var(--kendo-spacing-1, 0.25rem) * 2 + 2px) + var(--kendo-spacing-2, 0.5rem)*2 - calc(1.2857142857em + var(--kendo-spacing-1, 0.25rem) * 2 + 2px))/2);border-style:solid;border-width:0 2px 0 0}.k-grouping-dropclue::before{border-width:0}.k-resize-handle:hover .k-resize-handle-inner{width:1px;height:100%}.k-column-resizer:hover::after{display:block;content:"";height:100%;border-right:2px solid currentColor}.k-reorder-cue{margin-left:-1px;width:2px}.k-column-menu .k-menu:not(.k-context-menu) .k-item>.k-link::before{content:none}.k-column-menu .k-menu:not(.k-context-menu).k-menu-vertical>.k-item+.k-item{margin-top:0}.k-grid-header,.k-grid-header-wrap,.k-grouping-header,.k-grid .k-table-th,.k-grid td,.k-grid .k-table-td,.k-grid-footer,.k-grid-footer-wrap,.k-grid-content-locked,.k-grid-footer-locked,.k-grid-header-locked,.k-filter-row>.k-table-th,.k-filter-row>td,.k-filter-row>.k-table-td{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-grid-header,.k-grouping-header,.k-grid-add-row,.k-grid-footer{color:var(--kendo-color-subtle, #757575);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-grid .k-table{background-color:inherit}.k-grid-toolbar{border-color:inherit;box-shadow:none}.k-grid-content{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-group-footer td,.k-grouping-row td,.k-group-footer .k-table-td,.k-grouping-row .k-table-td,.k-table-tbody .k-group-cell{color:var(--kendo-color-on-app-surface, #212121);background-color:rgba(0,0,0,0)}.k-grouping-dropclue::before{border-color:var(--kendo-color-subtle, #757575) rgba(0,0,0,0) rgba(0,0,0,0)}.k-grouping-dropclue::after{background-color:var(--kendo-color-subtle, #757575)}.k-grid{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-grid .k-table-row.k-table-alt-row{background-color:rgba(0,0,0,0)}.k-grid .k-table-tbody>.k-table-row:not(.k-detail-row):hover,.k-grid .k-table-tbody>.k-table-row:not(.k-detail-row).k-hover{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 8%, transparent)}.k-grid td.k-selected,.k-grid .k-table-row.k-selected>td,.k-grid .k-table-td.k-selected,.k-grid .k-table-row.k-selected>.k-table-td{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}.k-grid .k-grid-filter,.k-grid .k-header-column-menu,.k-grid .k-grid-header-menu,.k-grid .k-hierarchy-cell .k-icon{color:var(--kendo-color-subtle, #757575)}.k-grid .k-grouping-row{background-color:rgba(0,0,0,0)}.k-grid .k-grouping-row .k-icon{color:var(--kendo-color-subtle, #757575)}.k-grid .k-grouping-row .k-grid-content-sticky{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);border-top-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-grid .k-grid-header-locked,.k-grid .k-grid-content-locked,.k-grid .k-grid-header-locked .k-table-th,.k-grid .k-grid-content-locked td,.k-grid .k-grid-content-locked .k-table-td{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}.k-grid .k-grid-content-locked .k-group-footer td,.k-grid .k-grid-content-locked .k-group-footer .k-table-td,.k-grid .k-grid-content-locked .k-group-cell{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-grid .k-grid-content-locked .k-grouping-row+.k-table-row td,.k-grid .k-grid-content-locked .k-grouping-row+.k-table-row .k-table-td{border-top-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-grid .k-grid-content-locked .k-selected td,.k-grid .k-grid-content-locked .k-selected .k-table-td{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}.k-grid .k-grid-content-locked .k-selected.k-table-alt-row td,.k-grid .k-grid-content-locked .k-selected.k-table-alt-row .k-table-td{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}.k-grid .k-grid-content-locked .k-selected:hover td,.k-grid .k-grid-content-locked .k-selected.k-hover td,.k-grid .k-grid-content-locked .k-selected:hover .k-table-td,.k-grid .k-grid-content-locked .k-selected.k-hover .k-table-td{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}.k-grid .k-grid-header-locked .k-table-th{border-bottom-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}col.k-sorted,.k-table-th.k-sorted{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 5%, transparent)}.k-grid-header .k-sort-icon,.k-grid-header .k-sort-order{color:var(--kendo-color-subtle, #757575)}.k-grid-header .k-grid-filter:hover,.k-grid-header .k-header-column-menu:hover,.k-grid-header .k-grid-header-menu:hover,.k-grid-header .k-hierarchy-cell .k-icon:hover{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-grid-header .k-grid-filter:focus,.k-grid-header .k-grid-filter.k-focus,.k-grid-header .k-header-column-menu:focus,.k-grid-header .k-header-column-menu.k-focus,.k-grid-header .k-grid-header-menu:focus,.k-grid-header .k-grid-header-menu.k-focus,.k-grid-header .k-hierarchy-cell .k-icon:focus,.k-grid-header .k-hierarchy-cell .k-icon.k-focus{box-shadow:inset 0 0 0 2px rgba(0,0,0,.1)}.k-grid-header .k-grid-filter.k-active,.k-grid-header .k-header-column-menu.k-active,.k-grid-header .k-grid-header-menu.k-active,.k-grid-header .k-hierarchy-cell .k-icon.k-active{color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-grid-header .k-table-th.k-grid-header-sticky,.k-grid-header td.k-grid-header-sticky,.k-grid-header .k-table-td.k-grid-header-sticky,.k-grid-header .k-grid-header-sticky.k-sorted{color:var(--kendo-color-subtle, #757575);background-color:var(--kendo-color-surface-alt, #ffffff);border-right-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);border-left-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}.k-grid-footer{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-subtle, #757575);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-grid-footer .k-grid-footer-sticky{border-left-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);border-right-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-selection-aggregates{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-master-row .k-grid-content-sticky{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);border-top-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));background-color:var(--kendo-color-surface-alt, #ffffff)}.k-master-row .k-grid-row-sticky{border-top-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);border-bottom-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-master-row.k-table-alt-row .k-grid-content-sticky,.k-master-row.k-table-alt-row .k-grid-row-sticky{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-master-row.k-table-row.k-selected td.k-grid-content-sticky,.k-master-row.k-table-row.k-selected .k-table-td.k-grid-row-sticky,.k-master-row.k-table-row td.k-grid-content-sticky.k-selected,.k-master-row.k-table-row .k-table-td.k-grid-content-sticky.k-selected{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-master-row.k-table-row.k-selected td.k-grid-content-sticky::before,.k-master-row.k-table-row.k-selected .k-table-td.k-grid-row-sticky::before,.k-master-row.k-table-row td.k-grid-content-sticky.k-selected::before,.k-master-row.k-table-row .k-table-td.k-grid-content-sticky.k-selected::before{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}.k-master-row.k-selected.k-table-alt-row td.k-grid-content-sticky,.k-master-row.k-selected.k-table-alt-row .k-table-td.k-grid-row-sticky,.k-master-row.k-table-alt-row td.k-grid-content-sticky.k-selected,.k-master-row.k-table-alt-row .k-table-td.k-grid-content-sticky.k-selected{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-master-row.k-selected.k-table-alt-row td.k-grid-content-sticky::before,.k-master-row.k-selected.k-table-alt-row .k-table-td.k-grid-row-sticky::before,.k-master-row.k-table-alt-row td.k-grid-content-sticky.k-selected::before,.k-master-row.k-table-alt-row .k-table-td.k-grid-content-sticky.k-selected::before{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}.k-master-row:hover .k-grid-content-sticky,.k-master-row:hover .k-grid-row-sticky,.k-master-row.k-hover .k-grid-content-sticky,.k-master-row.k-hover .k-grid-row-sticky{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-master-row.k-selected:hover td.k-grid-content-sticky,.k-master-row.k-selected:hover .k-table-td.k-grid-row-sticky,.k-master-row.k-selected.k-hover td.k-grid-content-sticky,.k-master-row.k-selected.k-hover .k-table-td.k-grid-row-sticky,.k-master-row:hover td.k-grid-content-sticky.k-selected,.k-master-row.k-hover td.k-grid-content-sticky.k-selected,.k-master-row:hover .k-table-td.k-grid-content-sticky.k-selected,.k-master-row.k-hover .k-table-td.k-grid-content-sticky.k-selected{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-master-row.k-selected:hover td.k-grid-content-sticky::before,.k-master-row.k-selected:hover .k-table-td.k-grid-row-sticky::before,.k-master-row.k-selected.k-hover td.k-grid-content-sticky::before,.k-master-row.k-selected.k-hover .k-table-td.k-grid-row-sticky::before,.k-master-row:hover td.k-grid-content-sticky.k-selected::before,.k-master-row.k-hover td.k-grid-content-sticky.k-selected::before,.k-master-row:hover .k-table-td.k-grid-content-sticky.k-selected::before,.k-master-row.k-hover .k-table-td.k-grid-content-sticky.k-selected::before{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}kendo-grid.k-grid .k-grid-content-sticky{border-top-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));border-left-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);border-right-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);background-color:var(--kendo-color-surface-alt, #ffffff)}kendo-grid.k-grid .k-grid-content-sticky:hover,kendo-grid.k-grid .k-grid-content-sticky.k-hover{background-color:var(--kendo-color-base-hover, #ebebeb)}kendo-grid.k-grid .k-grid-row-sticky td,kendo-grid.k-grid .k-grid-row-sticky .k-table-td{border-top-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);border-bottom-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);background-color:var(--kendo-color-surface-alt, #ffffff)}kendo-grid.k-grid .k-grid-row-sticky:hover td,kendo-grid.k-grid .k-grid-row-sticky.k-hover td,kendo-grid.k-grid .k-grid-row-sticky:hover .k-table-td,kendo-grid.k-grid .k-grid-row-sticky.k-hover .k-table-td{background-color:var(--kendo-color-base-hover, #ebebeb)}kendo-grid.k-grid .k-table-alt-row .k-grid-content-sticky,kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row td,kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row .k-table-td{background-color:var(--kendo-color-surface-alt, #ffffff)}kendo-grid.k-grid .k-table-row.k-selected .k-grid-content-sticky,kendo-grid.k-grid .k-selected.k-grid-row-sticky td,kendo-grid.k-grid .k-grid-row-sticky td.k-selected,kendo-grid.k-grid .k-selected.k-grid-row-sticky .k-table-td,kendo-grid.k-grid .k-grid-row-sticky .k-table-td.k-selected,kendo-grid.k-grid .k-selected.k-grid-content-sticky{background-color:var(--kendo-color-surface-alt, #ffffff)}kendo-grid.k-grid .k-table-row.k-selected .k-grid-content-sticky::before,kendo-grid.k-grid .k-selected.k-grid-row-sticky td::before,kendo-grid.k-grid .k-grid-row-sticky td.k-selected::before,kendo-grid.k-grid .k-selected.k-grid-row-sticky .k-table-td::before,kendo-grid.k-grid .k-grid-row-sticky .k-table-td.k-selected::before,kendo-grid.k-grid .k-selected.k-grid-content-sticky::before{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}kendo-grid.k-grid .k-table-row.k-selected.k-table-alt-row .k-grid-content-sticky,kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky td,kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky .k-table-td,kendo-grid.k-grid .k-table-alt-row .k-selected.k-grid-content-sticky{background-color:var(--kendo-color-surface-alt, #ffffff)}kendo-grid.k-grid .k-table-row.k-selected.k-table-alt-row .k-grid-content-sticky::before,kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky td::before,kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky .k-table-td::before,kendo-grid.k-grid .k-table-alt-row .k-selected.k-grid-content-sticky::before{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky,kendo-grid.k-grid .k-table-row.k-hover .k-grid-content-sticky,kendo-grid.k-grid .k-grid-row-sticky:hover td,kendo-grid.k-grid .k-grid-row-sticky.k-hover td,kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row:hover td,kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row.k-hover td,kendo-grid.k-grid .k-grid-row-sticky:hover .k-table-td,kendo-grid.k-grid .k-grid-row-sticky.k-hover .k-table-td,kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row:hover .k-table-td,kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row.k-hover .k-table-td,kendo-grid.k-grid .k-table-alt-row:hover .k-grid-content-sticky,kendo-grid.k-grid .k-table-alt-row.k-hover .k-grid-content-sticky{background-color:var(--kendo-color-base-hover, #ebebeb)}kendo-grid.k-grid .k-table-row.k-selected:hover .k-grid-content-sticky,kendo-grid.k-grid .k-table-row.k-selected.k-hover .k-grid-content-sticky,kendo-grid.k-grid .k-selected.k-grid-row-sticky:hover td,kendo-grid.k-grid .k-selected.k-grid-row-sticky.k-hover td,kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky:hover td,kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky.k-hover td,kendo-grid.k-grid .k-selected.k-grid-row-sticky:hover .k-table-td,kendo-grid.k-grid .k-selected.k-grid-row-sticky.k-hover .k-table-td,kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky:hover .k-table-td,kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky.k-hover .k-table-td,kendo-grid.k-grid .k-table-row.k-selected.k-table-alt-row:hover .k-grid-content-sticky,kendo-grid.k-grid .k-table-row.k-selected.k-table-alt-row.k-hover .k-grid-content-sticky,kendo-grid.k-grid .k-grid-row-sticky:hover td.k-selected,kendo-grid.k-grid .k-grid-row-sticky.k-hover td.k-selected,kendo-grid.k-grid .k-grid-row-sticky:hover .k-table-td.k-selected,kendo-grid.k-grid .k-grid-row-sticky.k-hover .k-table-td.k-selected,kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky.k-selected,kendo-grid.k-grid .k-table-row.k-hover .k-grid-content-sticky.k-selected{background-color:var(--kendo-color-base-hover, #ebebeb)}kendo-grid.k-grid .k-table-row.k-selected:hover .k-grid-content-sticky::before,kendo-grid.k-grid .k-table-row.k-selected.k-hover .k-grid-content-sticky::before,kendo-grid.k-grid .k-selected.k-grid-row-sticky:hover td::before,kendo-grid.k-grid .k-selected.k-grid-row-sticky.k-hover td::before,kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky:hover td::before,kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky.k-hover td::before,kendo-grid.k-grid .k-selected.k-grid-row-sticky:hover .k-table-td::before,kendo-grid.k-grid .k-selected.k-grid-row-sticky.k-hover .k-table-td::before,kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky:hover .k-table-td::before,kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky.k-hover .k-table-td::before,kendo-grid.k-grid .k-table-row.k-selected.k-table-alt-row:hover .k-grid-content-sticky::before,kendo-grid.k-grid .k-table-row.k-selected.k-table-alt-row.k-hover .k-grid-content-sticky::before,kendo-grid.k-grid .k-grid-row-sticky:hover td.k-selected::before,kendo-grid.k-grid .k-grid-row-sticky.k-hover td.k-selected::before,kendo-grid.k-grid .k-grid-row-sticky:hover .k-table-td.k-selected::before,kendo-grid.k-grid .k-grid-row-sticky.k-hover .k-table-td.k-selected::before,kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky.k-selected::before,kendo-grid.k-grid .k-table-row.k-hover .k-grid-content-sticky.k-selected::before{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}.k-grouping-row .k-grid-content-sticky{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-grouping-row:hover .k-grid-content-sticky,.k-grouping-row.k-hover .k-grid-content-sticky{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-column-list-item:hover,.k-columnmenu-item:hover{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-columnmenu-item.k-selected{color:var(--kendo-color-secondary, #e51a5f);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-column-menu .k-menu:not(.k-context-menu){border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-column-menu .k-menu:not(.k-context-menu) .k-item:hover,.k-column-menu .k-menu:not(.k-context-menu) .k-item.k-hover{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-column-menu .k-menu:not(.k-context-menu) .k-item.k-selected{color:var(--kendo-color-secondary, #e51a5f);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-column-menu-tabbed{background-color:var(--kendo-color-app-surface, #ffffff)}.k-column-menu-group-header-text{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121)}.k-check-all-wrap{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-grid-norecords-template{background-color:var(--kendo-color-surface-alt, #ffffff);border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-resizer-wrap.k-hover .k-row-resizer{background-color:color-mix(in srgb, var(--kendo-color-on-base, #212121) 20%, transparent)}.k-resizer-wrap.k-active .k-row-resizer{background-color:var(--kendo-color-primary, #3f51b5)}.k-grid .k-table td:focus::after,.k-grid .k-table td.k-focus::after,.k-grid .k-table th:focus::after,.k-grid .k-table th.k-focus::after{background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 8%, transparent)}.k-grid .k-grid-pager:focus,.k-grid .k-grid-pager.k-focus{color:inherit}.k-grid .k-table-th,.k-grid td,.k-grid .k-table-td{border-inline-start-color:rgba(0,0,0,0)}.k-grid .k-grid-header-locked,.k-grid .k-grid-content-locked,.k-grid .k-grid-header-locked .k-table-th,.k-grid .k-grid-content-locked td,.k-grid .k-grid-content-locked .k-table-td{border-top-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));border-bottom-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-grid .k-grid-header-locked .k-group-footer:hover td,.k-grid .k-grid-header-locked .k-group-footer.k-hover td,.k-grid .k-grid-header-locked .k-group-footer:hover .k-table-td,.k-grid .k-grid-header-locked .k-group-footer.k-hover .k-table-td,.k-grid .k-grid-content-locked .k-group-footer:hover td,.k-grid .k-grid-content-locked .k-group-footer.k-hover td,.k-grid .k-grid-content-locked .k-group-footer:hover .k-table-td,.k-grid .k-grid-content-locked .k-group-footer.k-hover .k-table-td,.k-grid .k-grid-header-locked .k-table-th .k-group-footer:hover td,.k-grid .k-grid-header-locked .k-table-th .k-group-footer.k-hover td,.k-grid .k-grid-header-locked .k-table-th .k-group-footer:hover .k-table-td,.k-grid .k-grid-header-locked .k-table-th .k-group-footer.k-hover .k-table-td,.k-grid .k-grid-content-locked td .k-group-footer:hover td,.k-grid .k-grid-content-locked td .k-group-footer.k-hover td,.k-grid .k-grid-content-locked td .k-group-footer:hover .k-table-td,.k-grid .k-grid-content-locked td .k-group-footer.k-hover .k-table-td,.k-grid .k-grid-content-locked .k-table-td .k-group-footer:hover td,.k-grid .k-grid-content-locked .k-table-td .k-group-footer.k-hover td,.k-grid .k-grid-content-locked .k-table-td .k-group-footer:hover .k-table-td,.k-grid .k-grid-content-locked .k-table-td .k-group-footer.k-hover .k-table-td{color:inherit;background-color:var(--kendo-color-surface-alt, #ffffff)}.k-grid .k-master-row .k-grid-content-sticky{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);border-bottom-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-grid .k-master-row .k-grid-row-sticky{border-top-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);border-bottom-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}kendo-grid .k-grid-content-sticky{border-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);border-bottom-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}kendo-grid .k-grid-row-sticky td,kendo-grid .k-grid-row-sticky .k-table-td{border-top-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent);border-bottom-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}.k-grid-header .k-sorted,.k-grid-header .k-link:hover{color:var(--kendo-color-on-app-surface, #212121)}.k-grid-header .k-sorted>.k-icon,.k-grid-header .k-link:hover>.k-icon{color:inherit}.k-grid-header .k-grid-filter:hover,.k-grid-header .k-table-th-column-menu:hover,.k-grid-header .k-grid-header-menu:hover,.k-grid-header .k-hierarchy-cell .k-icon:hover{color:var(--kendo-color-on-app-surface, #212121);background-color:rgba(0,0,0,0)}.k-grid-header .k-grid-filter:focus,.k-grid-header .k-grid-filter.k-focus,.k-grid-header .k-table-th-column-menu:focus,.k-grid-header .k-table-th-column-menu.k-focus,.k-grid-header .k-grid-header-menu:focus,.k-grid-header .k-grid-header-menu.k-focus,.k-grid-header .k-hierarchy-cell .k-icon:focus,.k-grid-header .k-hierarchy-cell .k-icon.k-focus{color:var(--kendo-color-on-app-surface, #212121);background-color:rgba(0,0,0,.12);box-shadow:none}.k-grid-header .k-grid-filter.k-active,.k-grid-header .k-table-th-column-menu.k-active,.k-grid-header .k-grid-header-menu.k-active,.k-grid-header .k-hierarchy-cell .k-icon.k-active{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-grid-header .k-table-thead>.k-table-row:not(:only-child)>.k-table-th,.k-grid-header .k-table-thead>.k-table-row:not(:only-child)>.k-table-td{border-inline-start-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-grid-header .k-table-thead>.k-table-row:not(:only-child)>.k-table-th.k-grid-header-sticky,.k-grid-header .k-table-thead>.k-table-row:not(:only-child)>.k-table-td.k-grid-header-sticky{border-inline-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}.k-grid-header .k-grid-header-locked .k-table-thead .k-table-row .k-table-th{border-inline-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}.k-group-footer td,.k-group-footer .k-table-td,.k-group-footer .k-grid-footer-sticky{background:var(--kendo-color-surface-alt, #ffffff)}.k-group-footer:hover td,.k-group-footer.k-hover td,.k-group-footer:hover .k-table-td,.k-group-footer.k-hover .k-table-td{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-grouping-dropclue,.k-reorder-cue{border-color:var(--kendo-color-primary, #3f51b5)}.k-grouping-dropclue::before,.k-reorder-cue::before{border-color:rgba(0,0,0,0)}.k-grouping-dropclue::after,.k-reorder-cue::after{border-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}.k-resize-handle:hover .k-resize-handle-inner{background-color:var(--kendo-color-primary, #3f51b5)}.k-column-resizer:hover{color:var(--kendo-color-primary, #3f51b5)}.k-reorder-cue{background-color:var(--kendo-color-primary, #3f51b5)}.k-columnmenu-item.k-selected{color:var(--kendo-color-secondary, #e51a5f);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-column-list-item:focus,.k-column-list-item.k-focus,.k-columnmenu-item:focus,.k-columnmenu-item.k-focus{background:var(--kendo-color-base-hover, #ebebeb)}.k-column-menu .k-menu:not(.k-context-menu) .k-item.k-selected{background:var(--kendo-color-base-hover, #ebebeb)}.k-listview{margin:0;padding:0;border-width:0;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-flow:column nowrap;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-listview-bordered{border-width:1px}.k-listview-header{border-width:0;border-style:solid;border-color:inherit}.k-listview-bordered>.k-listview-header{border-bottom-width:1px}.k-listview-content{margin:0;padding:0;outline:0;flex-grow:1;position:relative;overflow:auto}.k-listview-content::after{height:0;clear:both;display:block}.k-listview-content.k-d-flex::after,.k-listview-content.k-d-flex-row::after,.k-listview-content.k-d-flex-col::after,.k-listview-content.k-d-grid::after{display:none}.k-listview-content-padding-rectangle{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-listview-content-padding-square{padding:var(--kendo-spacing-1, 0.25rem)}.k-listview-item{padding:0;border-width:0;outline:0;border-style:solid;box-sizing:border-box;flex-shrink:0}.k-listview-item-padding-rectangle{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-listview-item-padding-rectangle .k-listview-link{margin-block:-var(--kendo-spacing-1, 0.25rem);margin-inline:-var(--kendo-spacing-1, 0.25rem);padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem)}.k-listview-item-padding-square{padding:var(--kendo-spacing-1, 0.25rem)}.k-listview-item-padding-square .k-listview-link{margin:-var(--kendo-spacing-1, 0.25rem);padding:var(--kendo-spacing-1, 0.25rem)}.k-listview-footer{border-width:0;border-style:solid;border-color:inherit}.k-listview-bordered>.k-listview-footer{border-top-width:1px}.k-listview-pager{border-width:0;border-color:inherit}.k-listview-bordered>.k-listview-pager-top{border-block-end-width:var(--kendo-listview-border-width, 1px)}.k-listview-bordered>.k-listview-pager-bottom{border-block-start-width:var(--kendo-listview-border-width, 1px)}.k-listview-borders-all .k-listview-item{border-width:1px}.k-listview-borders-horizontal .k-listview-item{border-top-width:1px}.k-listview-borders-horizontal .k-listview-item:first-child{border-top-width:0}.k-listview-borders-vertical .k-listview-item{border-left-width:1px}.k-listview-borders-vertical .k-listview-item:first-child{border-left-width:0}.k-listview{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-listview-content>.k-focus{background-color:var(--kendo-color-base-active, #d6d6d6)}.k-listview-content>.k-selected{background-color:var(--kendo-color-base-active, #d6d6d6)}.k-listview-item{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-listview-content>.k-selected.k-focus{background-color:var(--kendo-color-base-active, #d6d6d6)}.k-chart-wizard .k-icon-text-wrapper{display:flex;align-items:center;gap:var(--kendo-spacing-3, 0.75rem)}.k-chart-wizard .k-icon-background-area{display:flex;padding:var(--kendo-spacing-4, 1rem);border-radius:var(--kendo-border-radius-none, 0px)}.k-chart-types-wrapper{display:flex;flex-direction:column;gap:var(--kendo-spacing-6, 1.5rem)}.k-chart-wizard-splitter{height:100%}.k-chart-wizard-splitter .k-tabstrip{width:100%;height:100%}.k-chart-wizard-preview-pane{padding:var(--kendo-spacing-4, 1rem)}.k-chart-wizard-property-pane{padding:0}.k-chart-wizard .k-icon-text-wrapper.k-selected{color:var(--kendo-color-primary, #3f51b5)}.k-chart-wizard .k-icon-text-wrapper.k-selected .k-icon-background-area{box-shadow:inset 0 0 0 1px var(--kendo-color-primary, #3f51b5)}.k-chart-wizard .k-icon-text-wrapper:hover,.k-chart-wizard .k-icon-text-wrapper.k-hover{cursor:pointer}.k-chart-wizard .k-icon-text-wrapper:focus .k-icon-background-area,.k-chart-wizard .k-icon-text-wrapper.k-focus .k-icon-background-area{box-shadow:inset 0 0 0 1px var(--kendo-color-primary-emphasis, #97a0d7)}.k-chart-wizard .k-icon-background-area{color:var(--kendo-color-primary, #3f51b5);background-color:var(--kendo-color-primary-subtle, #d1d5ee)}.k-spreadsheet{width:100%;height:600px;border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-direction:column;cursor:default;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-spreadsheet .k-vertical-align-center{position:relative;top:50%;transform:translateY(-50%)}.k-spreadsheet .k-vertical-align-bottom{position:relative;top:100%;transform:translateY(-100%)}.k-spreadsheet-toolbar{border-width:0}.k-spreadsheet-action-bar{border-width:0 0 1px;border-style:solid;border-color:inherit;padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-2, 0.5rem);font-size:var(--kendo-font-size, inherit);font-family:Arial,Verdana,sans-serif;position:relative;display:flex;flex-direction:row;gap:var(--kendo-spacing-2, 0.5rem)}.k-spreadsheet-name-editor{width:10em}.k-spreadsheet-formula-bar{min-width:0px;border-color:inherit;display:flex;flex-direction:row;align-items:center;flex:1;gap:var(--kendo-spacing-2, 0.5rem)}.k-spreadsheet-formula-bar>.k-icon{padding-block:0;padding-inline:var(--kendo-spacing-1, 0.25rem);box-sizing:content-box;border-width:0 1px 0 0;border-style:solid;border-color:inherit;flex-shrink:0}.k-spreadsheet-formula-bar .k-tooltip,.k-spreadsheet-formula-bar .k-group-header,.k-spreadsheet-formula-bar .k-list-scroller{display:none}.k-spreadsheet-formula-bar .k-spreadsheet-formula-input{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);line-height:1.25;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-spreadsheet-formula-bar .k-spreadsheet-formula-input.k-spreadsheet-array-formula::before{content:"{";font-weight:700}.k-spreadsheet-formula-bar .k-spreadsheet-formula-input.k-spreadsheet-array-formula::after{content:"}";font-weight:700}.k-spreadsheet-formula-input{outline:0;white-space:pre;flex:1;box-sizing:border-box}.k-spreadsheet-formula-input>.k-syntax-func.k-syntax-at-point,.k-spreadsheet-formula-input>.k-syntax-bool.k-syntax-at-point,.k-spreadsheet-formula-input>.k-syntax-ref.k-syntax-at-point,.k-spreadsheet-formula-input>.k-syntax-str.k-syntax-at-point,.k-spreadsheet-formula-input>.k-syntax-num.k-syntax-at-point{text-decoration:underline}.k-spreadsheet-formula-input>.k-series-a,.k-spreadsheet-formula-input>.k-series-b,.k-spreadsheet-formula-input>.k-series-c,.k-spreadsheet-formula-input>.k-series-d{background-color:rgba(0,0,0,0)}.k-spreadsheet-formula-list{min-width:100px}.k-spreadsheet-formula-list .k-item{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem)}.k-syntax-func,.k-syntax-startexp{font-weight:bold}.k-spreadsheet-cell-editor{padding-block:var(--kendo-spacing-0, 0px);padding-inline:var(--kendo-spacing-1, 0.25rem);line-height:20px;display:none;overflow:hidden;position:absolute;z-index:100}.k-spreadsheet-sheets-bar{padding-block-end:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border-width:1px 0 0;border-style:solid;border-color:inherit;display:flex;flex-direction:row;align-items:center;position:relative}.k-spreadsheet-sheets{flex:1 1 auto;overflow:hidden}.k-spreadsheet-sheets .k-tabstrip-items-wrapper{border-width:0}.k-spreadsheet-sheets-bar-add{align-self:center}.k-spreadsheet-sheets-bar-add:not(:hover){border-color:rgba(0,0,0,0);color:inherit;background:none}.k-spreadsheet-sheets-items{flex:1;overflow:hidden}.k-spreadsheet-sheets-items .k-tabstrip-items-wrapper{margin:0;border-width:0}.k-spreadsheet-sheets-items .k-item .k-link{display:inline-block}.k-spreadsheet-sheets-items .k-item .k-spreadsheet-sheets-remove{margin-right:var(--kendo-spacing-2, 0.5rem);margin-left:calc(var(--kendo-spacing-2, 0.5rem)*-1);padding:0;line-height:1;display:inline-flex;flex-direction:row;vertical-align:middle;align-self:center}.k-spreadsheet-view{height:auto !important;border-color:inherit;font-size:var(--kendo-font-size, inherit);font-family:Arial,Verdana,sans-serif;flex:1;position:relative;overflow:hidden}.k-spreadsheet-view .k-disabled{pointer-events:auto}.k-spreadsheet-fixed-container{width:calc(100% - var(--kendo-scrollbar-width, 17px));height:calc(100% - var(--kendo-scrollbar-width, 17px));border-color:inherit;box-sizing:border-box;user-select:none;position:absolute;z-index:2;overflow:hidden}.k-spreadsheet-overflow{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;border-color:inherit}.k-spreadsheet-pane{padding:0 1px 0 0;border-width:2px 0 0 2px;border-style:solid;border-color:inherit;box-sizing:border-box;position:absolute;overflow:hidden}.k-spreadsheet-pane.k-top{border-top-width:0}.k-spreadsheet-pane.k-left{border-left-width:0}.k-spreadsheet-top-corner{border-width:0 1px 1px 0;border-style:solid;box-sizing:border-box;position:absolute;top:0;left:0;z-index:10000}.k-spreadsheet-top-corner::after{content:"";display:block;width:0;height:0;overflow:hidden;position:absolute;bottom:0;right:0;border:6px solid rgba(0,0,0,0);border-right-color:inherit;border-bottom-color:inherit}.k-spreadsheet-scroller{width:100%;height:100%;overflow:scroll;position:absolute;z-index:1}@media(hover: none),(pointer: coarse){.k-spreadsheet-scroller{z-index:3}}.k-spreadsheet-haxis,.k-spreadsheet-vaxis{border:0 solid;border-color:inherit;position:absolute}.k-spreadsheet-haxis{border-width:1px 0 0;left:0}.k-spreadsheet-vaxis{border-width:0 0 0 1px;top:0}.k-spreadsheet-row-header,.k-spreadsheet-column-header{text-align:center;z-index:100}.k-spreadsheet-row-header>div,.k-spreadsheet-column-header>div{position:relative;box-sizing:border-box;border-width:0;border-style:solid;border-color:inherit}.k-spreadsheet-row-header>div::after,.k-spreadsheet-column-header>div::after{content:"";border-width:0;border-style:solid;border-color:inherit;display:none;position:absolute;top:0;right:0;bottom:0;left:0}.k-spreadsheet-row-header{position:relative}.k-spreadsheet-column-header{position:absolute}.k-spreadsheet-row-header>div{border-top-width:1px}.k-spreadsheet-row-header>div:first-child{border-top-width:0}.k-spreadsheet-row-header>.k-selection-partial::after,.k-spreadsheet-row-header>.k-selection-full::after{border-right-width:2px;display:block}.k-spreadsheet-column-header>div{border-left-width:1px}.k-spreadsheet-column-header>div:first-child{border-left-width:0}.k-spreadsheet-column-header>.k-selection-partial::after,.k-spreadsheet-column-header>.k-selection-full::after{border-bottom-width:2px;display:block}.k-spreadsheet-data{border-color:inherit;cursor:cell;position:relative}.k-spreadsheet-cell{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem);box-sizing:border-box;position:absolute;line-height:normal;white-space:pre;overflow:hidden}.k-spreadsheet-merged-cells-wrapper{position:relative}.k-spreadsheet-disabled-mask{position:absolute}.k-spreadsheet .k-selection-wrapper{position:relative;cursor:cell}.k-spreadsheet .k-spreadsheet-selection{border-width:1px;border-style:solid;box-sizing:border-box;position:absolute}.k-spreadsheet .k-spreadsheet-selection-highlight{border-width:2px;border-style:dashed;box-sizing:border-box;position:absolute}.k-spreadsheet .k-spreadsheet-editor-button{position:absolute;padding:0;z-index:60}.k-spreadsheet-active-cell{outline-color:rgba(0,0,0,0) !important;z-index:10}.k-spreadsheet .k-auto-fill-wrapper{position:relative}.k-spreadsheet .k-auto-fill,.k-spreadsheet .k-auto-fill-punch,.k-spreadsheet .k-auto-fill-br-hint{box-sizing:border-box;position:absolute}.k-spreadsheet .k-auto-fill{border-width:1px;border-style:solid;cursor:crosshair}.k-spreadsheet .k-single-selection::after{content:"";margin-bottom:-4px;margin-right:-4px;width:6px;height:6px;border-width:1px;border-style:solid;border-radius:50%;display:block;position:absolute;bottom:0;right:0;z-index:300;cursor:crosshair}.k-spreadsheet .k-selection-full::after,.k-spreadsheet .k-selection-partial::after{display:none}.k-spreadsheet .k-autofill-wrapper{position:relative;cursor:cell}.k-spreadsheet-vborder{position:absolute;border-left-style:solid;border-left-width:1px}.k-spreadsheet-hborder{position:absolute;border-top-style:solid;border-top-width:1px}.k-spreadsheet-has-comment::after{content:"";display:block;position:absolute;top:0;inset-inline-end:0;inset-inline-start:auto;border-width:3px;border-style:solid}.k-spreadsheet-cell .k-dirty{inset-inline-start:0;inset-inline-end:auto}.k-spreadsheet .k-filter-wrapper{position:relative;z-index:50}.k-spreadsheet .k-filter-range{border-width:2px;border-style:solid;position:absolute;box-sizing:border-box}.k-spreadsheet-filter{border-radius:var(--kendo-border-radius-md, 0.25rem);padding:var(--kendo-spacing-1, 0.25rem);line-height:1;position:absolute;cursor:pointer}.k-spreadsheet-filter .k-icon{vertical-align:middle}.k-spreadsheet-filter-menu{width:280px}.k-spreadsheet-filter-menu .k-animation-container{position:relative}.k-spreadsheet-filter-menu>.k-menu,.k-spreadsheet-filter-menu>.k-menu.k-menu-vertical{border-width:0}.k-spreadsheet-filter-menu>.k-menu .k-item,.k-spreadsheet-filter-menu>.k-menu.k-menu-vertical .k-item{color:inherit}.k-spreadsheet-filter-menu>.k-menu .k-link,.k-spreadsheet-filter-menu>.k-menu.k-menu-vertical .k-link{padding-left:calc(16px + 2*var(--kendo-spacing-1, 0.25rem))}.k-spreadsheet-filter-menu>.k-menu .k-icon,.k-spreadsheet-filter-menu>.k-menu.k-menu-vertical .k-icon{margin-left:calc(-1*(16px + var(--kendo-spacing-1, 0.25rem)));margin-right:var(--kendo-spacing-1, 0.25rem)}.k-spreadsheet-filter-menu .k-spreadsheet-value-treeview-wrapper{height:200px;border-width:1px;border-style:solid;overflow-y:scroll;overflow-x:auto}.k-spreadsheet-filter-menu .k-spreadsheet-value-treeview-wrapper .k-treeview{padding:var(--kendo-spacing-1, 0.25rem);overflow:visible}.k-spreadsheet-filter-menu .k-details,.k-spreadsheet-filter-menu .k-expander{padding:0;border-width:1px 0 0;border-style:solid;border-color:inherit}.k-spreadsheet-filter-menu .k-expander{border:0;background:inherit}.k-spreadsheet-filter-menu .k-details-summary,.k-spreadsheet-filter-menu .k-columnmenu-item{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);display:flex;align-items:center;cursor:pointer}.k-spreadsheet-filter-menu .k-details-summary>.k-icon,.k-spreadsheet-filter-menu .k-details-summary>.k-expander-indicator,.k-spreadsheet-filter-menu .k-columnmenu-item>.k-icon,.k-spreadsheet-filter-menu .k-columnmenu-item>.k-expander-indicator{margin-right:var(--kendo-spacing-1, 0.25rem)}.k-spreadsheet-filter-menu .k-details-content,.k-spreadsheet-filter-menu .k-columnmenu-item-content{padding:var(--kendo-spacing-2, 0.5rem);display:flex;flex-flow:column nowrap;gap:var(--kendo-spacing-2, 0.5rem)}.k-spreadsheet-filter-menu .k-details-content .k-filter-and,.k-spreadsheet-filter-menu .k-columnmenu-item-content .k-filter-and{width:min-content;align-self:flex-start}.k-spreadsheet-filter-menu .k-actions,.k-spreadsheet-filter-menu .k-edit-buttons,.k-spreadsheet-filter-menu .k-action-buttons,.k-spreadsheet-filter-menu .k-columnmenu-actions,.k-spreadsheet-filter-menu .k-form-buttons{margin:0;padding:0}.k-spreadsheet-popup{padding:0}.k-spreadsheet-popup .k-separator{display:block}.k-spreadsheet-popup .k-reset-color,.k-spreadsheet-popup .k-custom-color{border-radius:0;width:100%;border-width:0;box-sizing:border-box;display:flex}.k-spreadsheet-popup .k-reset-color{border-bottom-width:1px}.k-spreadsheet-popup .k-custom-color{border-top-width:1px}.k-spreadsheet-popup .k-spreadsheet-border-type-palette{padding:var(--kendo-spacing-2, 0.5rem);display:grid;grid-template-columns:repeat(5, max-content);gap:var(--kendo-spacing-2, 0.5rem)}.k-spreadsheet-clipboard,.k-spreadsheet-clipboard-paste{margin:0;padding:0;width:1px;height:1px;border:0;opacity:0;position:absolute;top:0;left:0;overflow:hidden}.k-spreadsheet-window .k-external-dropzone{margin-block-end:var(--kendo-spacing-2, 0.5rem)}.k-spreadsheet-window .k-edit-form-container{width:auto;min-width:0}.k-spreadsheet-format-cells .k-spreadsheet-preview{margin-top:var(--kendo-spacing-2, 0.5rem);text-align:center}.k-spreadsheet-format-cells .k-list-scroller{margin-top:var(--kendo-spacing-2, 0.5rem);height:210px;border-width:1px;border-style:solid;border-color:inherit}.k-export-config{clear:both;position:relative}.k-export-config::after{content:"";clear:both;display:block}.k-export-config .k-edit-field{margin-left:5%;width:45%;float:left}.k-export-config .k-page-orientation{position:absolute;right:0;top:var(--kendo-spacing-2, 0.5rem)}.k-export-config .k-page-orientation .k-font-icon{font-size:6em}.k-export-config .k-page-orientation .k-svg-icon{width:6em;height:6em}.k-spreadsheet-insert-comment textarea{height:auto}.k-spreadsheet-insert-image-dialog{border-radius:var(--kendo-border-radius-md, 0.25rem);border-style:dashed;border-width:2px}.k-spreadsheet-insert-image-dialog label{display:flex;justify-content:center;min-width:100%;width:355px;height:230px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcwAAAGQCAYAAAAjl1AKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphMGVmMzZmZi04YmI1LTRlN2YtOTcwMS04OTU5ZTg1N2ZhY2MiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDNDOTBDNUQ2OUJGMTFFOTkwMzY4RTI3NjZBQTdENkMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDNDOTBDNUM2OUJGMTFFOTkwMzY4RTI3NjZBQTdENkMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjMmZmZjM0Mi05NjEyLTQwM2YtYWZhYS01MTE1ZjQ2NThmMWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphYjlhMmUwMy1kNmIwLTY3NGMtODc4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);background-size:auto 70%;background-position:50% 30%;background-repeat:no-repeat}.k-spreadsheet-insert-image-dialog label div{display:flex;align-self:flex-end;margin-bottom:var(--kendo-spacing-7\.5, 1.875rem);pointer-events:none}.k-spreadsheet-insert-image-dialog label input{display:none}.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image{background-size:auto 90%;background-position:50% 50%}.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image:hover div,.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image.k-hover div{margin:0;align-self:center;opacity:1}.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image div{opacity:0}.k-spreadsheet-drawing{position:absolute;box-sizing:border-box;z-index:101}.k-spreadsheet-drawing.k-spreadsheet-active-drawing{outline-style:solid;outline-width:2px}.k-spreadsheet-drawing .k-spreadsheet-drawing-image{position:absolute;top:0;left:0;width:100%;height:100%;background-position:50% 50%;background-size:100% 100%;background-repeat:no-repeat;cursor:move}.k-spreadsheet-drawing .k-spreadsheet-drawing-handle{width:6px;height:6px;border-style:solid;border-width:1px;border-radius:var(--kendo-border-radius-lg, 0.5rem);position:absolute;transform:translate(-50%, -50%)}.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.N{left:50%;top:0;cursor:ns-resize}.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.NE{left:100%;top:0;cursor:nesw-resize}.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.E{left:100%;top:50%;cursor:ew-resize}.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.SE{left:100%;top:100%;cursor:nwse-resize}.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.S{left:50%;top:100%;cursor:ns-resize}.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.SW{left:0;top:100%;cursor:nesw-resize}.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.W{left:0;top:50%;cursor:ew-resize}.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.NW{left:0;top:0;cursor:nwse-resize}.k-spreadsheet-drawing .k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image:hover,.k-spreadsheet-drawing .k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image.k-hover{border-radius:var(--kendo-border-radius-md, 0.25rem)}.k-spreadsheet-legacy .k-spreadsheet,.k-spreadsheet-legacy .k-spreadsheet-action-bar,.k-spreadsheet-legacy .k-spreadsheet-view{font-size:12px}.k-spreadsheet-legacy .k-spreadsheet-cell{padding:1px}.k-spreadsheet-legacy .k-spreadsheet-filter{padding:0px}.k-spreadsheet-legacy .k-filter-range{border-width:1px}.k-spreadsheet-legacy .k-spreadsheet .k-spreadsheet-selection-highlight{border-width:1px;border-style:solid}.k-spreadsheet .k-tabstrip-wrapper{border-width:0 0 1px;border-style:solid;border-color:inherit;position:relative}.k-spreadsheet-quick-access-toolbar{padding:var(--kendo-spacing-2, 0.5rem);display:inline-flex;flex-direction:row;position:absolute;z-index:2;top:0;left:0}.k-spreadsheet-tabstrip{padding-top:var(--kendo-spacing-2, 0.5rem);position:relative;z-index:1}.k-spreadsheet-tabstrip .k-tabstrip-items-wrapper{margin:0}.k-spreadsheet-tabstrip .k-loading{display:none}.k-spreadsheet-tabstrip .k-content,.k-spreadsheet-tabstrip .k-tabstrip-content{border-radius:0;padding:0;border-width:0;overflow:hidden}.k-spreadsheet-quick-access-toolbar{padding:var(--kendo-spacing-1, 0.25rem)}.k-spreadsheet-quick-access-toolbar .k-button{border-radius:50%;color:inherit;background:none;box-shadow:none}.k-spreadsheet-tabstrip{padding-top:0}.k-spreadsheet-tabstrip .k-tabstrip-items-wrapper{border-width:0}.k-spreadsheet-sheets-bar .k-spreadsheet-sheets-bar-add{margin:var(--kendo-spacing-1, 0.25rem);border-radius:50%;color:inherit;background:none;box-shadow:none}.k-spreadsheet .k-selection-full::after,.k-spreadsheet .k-selection-partial::after{display:block}.k-spreadsheet{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-spreadsheet-header{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-spreadsheet-top-corner,.k-spreadsheet-row-header,.k-spreadsheet-column-header{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:#f5f5f5}.k-spreadsheet-cell-editor{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-spreadsheet-merged-cell{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-spreadsheet-disabled-mask{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-spreadsheet .k-selection-full,.k-spreadsheet .k-selection-partial{background-color:rgba(0,0,0,.04)}.k-spreadsheet-selection{border-color:var(--kendo-color-primary, #3f51b5);background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 25%, transparent);box-shadow:inset 0 0 0 1px var(--kendo-color-primary, #3f51b5)}.k-spreadsheet-selection-highlight{border-color:var(--kendo-color-primary, #3f51b5)}.k-spreadsheet .k-single-selection::after{border-color:var(--kendo-color-surface-alt, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-spreadsheet-active-cell{background-color:var(--kendo-color-surface-alt, #ffffff);box-shadow:inset 0 0 0 1px var(--kendo-color-primary, #3f51b5)}.k-spreadsheet .k-auto-fill{border-color:var(--kendo-color-primary, #3f51b5);background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 25%, transparent);box-shadow:inset 0 0 0 1px var(--kendo-color-primary, #3f51b5)}.k-spreadsheet .k-auto-fill-punch{background-color:color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 50%, transparent)}.k-spreadsheet .k-resize-handle,.k-spreadsheet .k-resize-hint-handle,.k-spreadsheet .k-resize-hint-marker{background-color:var(--kendo-color-primary, #3f51b5)}.k-spreadsheet-has-comment::after{border-block-color:var(--kendo-color-primary, #3f51b5) rgba(0,0,0,0);border-inline-color:rgba(0,0,0,0) var(--kendo-color-primary, #3f51b5)}.k-spreadsheet-cell .k-dirty{border-block-color:var(--kendo-color-error, #f31700) rgba(0,0,0,0);border-inline-color:var(--kendo-color-error, #f31700) rgba(0,0,0,0)}.k-spreadsheet .k-filter-range{border-color:var(--kendo-color-primary, #3f51b5)}.k-spreadsheet-filter{border-color:var(--kendo-color-base, #ffffff);color:var(--kendo-color-on-base, #212121);background-color:var(--kendo-color-base, #ffffff);box-shadow:inset 0 0 0 1px var(--kendo-color-base, #ffffff)}.k-spreadsheet-filter:hover{border-color:var(--kendo-color-base-hover, #ebebeb);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-spreadsheet-filter.k-active{border-color:var(--kendo-color-base-active, #d6d6d6);background-color:var(--kendo-color-base-active, #d6d6d6)}.k-spreadsheet-filter-menu>.k-menu .k-item:hover,.k-spreadsheet-filter-menu>.k-menu .k-item.k-hover,.k-spreadsheet-filter-menu>.k-menu:not(.k-context-menu) .k-item:hover,.k-spreadsheet-filter-menu>.k-menu:not(.k-context-menu) .k-item.k-hover{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-spreadsheet-filter-menu .k-spreadsheet-value-treeview-wrapper{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-spreadsheet-insert-image-dialog{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image:hover,.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image.k-hover{box-shadow:inset 0 0 0 2000px rgba(0,0,0,.5)}.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image:hover div,.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image.k-hover div{color:var(--kendo-color-surface-alt, #ffffff)}.k-spreadsheet-drawing.k-spreadsheet-active-drawing{outline-color:var(--kendo-color-primary, #3f51b5)}.k-spreadsheet-drawing .k-spreadsheet-drawing-handle{border-color:var(--kendo-color-primary, #3f51b5);background-color:var(--kendo-color-primary, #3f51b5)}.k-spreadsheet-drawing-anchor-cell{background:color-mix(in srgb, var(--kendo-color-secondary, #e51a5f) 25%, transparent)}.k-syntax-ref{color:#f82}.k-syntax-num{color:#09f}.k-syntax-str{color:#38b714}.k-syntax-error{color:red}.k-syntax-bool{color:#a9169c}.k-syntax-paren-match{background-color:#caf200}.k-spreadsheet>.k-tabstrip-wrapper .k-tabstrip-items-wrapper{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-spreadsheet>.k-tabstrip-wrapper .k-tabstrip-items .k-item{color:inherit}.k-spreadsheet>.k-tabstrip-wrapper .k-tabstrip-items .k-item.k-active::after{border-color:var(--kendo-color-on-primary, #ffffff)}.k-spreadsheet-quick-access-toolbar{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-spreadsheet .k-selection-full::after,.k-spreadsheet .k-selection-partial::after{border-color:var(--kendo-color-secondary, #e51a5f)}.k-pivotgrid{border-width:1px;border-style:solid;box-sizing:content-box;font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:var(--kendo-line-height, normal);text-align:start;vertical-align:top;display:grid;grid-template-columns:300px auto;grid-template-rows:75px auto;position:relative}.k-pivotgrid table{margin:0;width:100%;max-width:none;border-width:0;border-color:inherit;border-collapse:separate;border-spacing:0;outline:0;text-align:inherit;empty-cells:show}.k-pivotgrid thead,.k-pivotgrid tbody,.k-pivotgrid th,.k-pivotgrid tr,.k-pivotgrid td{border-color:inherit;text-align:inherit}.k-pivotgrid-table{table-layout:fixed}.k-pivotgrid-table th{font-weight:400;text-transform:initial}.k-pivotgrid-table .k-pivotgrid-header-root{font-weight:600;text-transform:uppercase}.k-pivotgrid-empty-cell{border-right-style:solid;border-right-width:1px;border-bottom-style:solid;border-bottom-width:1px}.k-pivotgrid-empty-cell:focus{outline:none}.k-pivotgrid-column-headers{overflow:hidden}.k-pivotgrid-column-headers .k-pivotgrid-table{padding-inline-start:0;padding-inline-end:var(--kendo-scrollbar-width, 17px)}.k-pivotgrid-column-headers .k-pivotgrid-cell{border-bottom-style:solid;border-bottom-width:1px;border-left-style:solid;border-left-width:1px}.k-pivotgrid-column-headers .k-pivotgrid-cell:first-child{border-left-width:0}.k-pivotgrid-column-headers .k-pivotgrid-cell.k-first{border-left-width:1px}.k-pivotgrid-row-headers{overflow:hidden}.k-pivotgrid-row-headers .k-pivotgrid-table{padding-bottom:var(--kendo-scrollbar-width, 17px)}.k-pivotgrid-row-headers .k-pivotgrid-cell{border-right-style:solid;border-right-width:1px;border-bottom-style:solid;border-bottom-width:1px;white-space:nowrap}.k-pivotgrid-values{border-color:inherit;overflow:scroll}.k-pivotgrid-values .k-pivotgrid-cell{border-bottom-style:solid;border-bottom-width:1px;border-left-style:solid;border-left-width:1px}.k-pivotgrid-values .k-pivotgrid-cell:first-child{border-left-width:0}.k-pivotgrid-cell{padding-block:var(--kendo-spacing-2\.5, 0.625rem);padding-inline:var(--kendo-spacing-6, 1.5rem);text-overflow:ellipsis;white-space:nowrap;vertical-align:top;overflow:hidden}.k-pivotgrid-cell:focus{outline:none}.k-pivotgrid-cell .k-icon{cursor:pointer;padding-inline-end:var(--kendo-spacing-1, 0.25rem)}.k-pivotgrid-total{font-weight:600}.k-column-menu .k-treeview{padding-block:var(--kendo-spacing-0, 0px);padding-inline:var(--kendo-spacing-4, 1rem);overflow:auto}.k-pivotgrid-configurator{display:flex}.k-pivotgrid-configurator-panel{border-width:1px;border-style:solid;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;z-index:2}.k-pivotgrid-configurator-button{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-1, 0.25rem);border-width:1px;border-style:solid;box-sizing:border-box;cursor:pointer;user-select:none}.k-flex-row .k-pivotgrid-configurator-button,.k-d-flex-row .k-pivotgrid-configurator-button,.k-flex-row-reverse .k-pivotgrid-configurator-button{display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl}.k-flex-row .k-pivotgrid-configurator-button .k-icon,.k-d-flex-row .k-pivotgrid-configurator-button .k-icon,.k-flex-row-reverse .k-pivotgrid-configurator-button .k-icon{vertical-align:baseline}.k-flex-row-reverse .k-pivotgrid-configurator-button>span{transform:rotate(-180deg)}.k-flex-col .k-pivotgrid-configurator-button,.k-d-flex-col .k-pivotgrid-configurator-button,.k-flex-column .k-pivotgrid-configurator-button,.k-flex-col-reverse .k-pivotgrid-configurator-button,.k-flex-column-reverse .k-pivotgrid-configurator-button{text-align:center}.k-pivotgrid-configurator-overlay{position:absolute;overflow:hidden;z-index:2}.k-flex-row .k-pivotgrid-configurator-overlay,.k-d-flex-row .k-pivotgrid-configurator-overlay{right:calc(var(--kendo-line-height, normal)*1em + var(--kendo-spacing-1, 0.25rem)*2 + 1px*2)}.k-flex-row-reverse .k-pivotgrid-configurator-overlay{left:calc(var(--kendo-line-height, normal)*1em + var(--kendo-spacing-1, 0.25rem)*2 + 1px*2)}.k-flex-col .k-pivotgrid-configurator-overlay,.k-d-flex-col .k-pivotgrid-configurator-overlay,.k-flex-column .k-pivotgrid-configurator-overlay{bottom:calc(var(--kendo-line-height, normal)*1em + var(--kendo-spacing-1, 0.25rem)*2 + 1px*2)}.k-flex-col-reverse .k-pivotgrid-configurator-overlay,.k-flex-column-reverse .k-pivotgrid-configurator-overlay{top:calc(var(--kendo-line-height, normal)*1em + var(--kendo-spacing-1, 0.25rem)*2 + 1px*2)}.k-pivotgrid-configurator-header{padding-block:calc(var(--kendo-spacing-4, 1rem)*.75);padding-inline:var(--kendo-spacing-4, 1rem);font-size:18px;font-weight:500;display:flex;flex-direction:row;align-items:center}.k-pivotgrid-configurator-header-text{word-break:normal;overflow-wrap:anywhere}.k-pivotgrid-configurator-content{padding-block:var(--kendo-spacing-0, 0px);padding-inline:var(--kendo-spacing-4, 1rem);flex:1 1 auto;overflow:auto}.k-pivotgrid-configurator-content .k-form .k-label{font-size:16px;font-weight:500;align-items:flex-start}.k-pivotgrid-configurator-content .k-form .k-dropdown-list,.k-pivotgrid-configurator-content .k-form .k-dropdown,.k-pivotgrid-configurator-content .k-form .k-dropdownlist{max-width:90px}.k-pivotgrid-configurator-content .k-form .k-textbox{flex-basis:50%}.k-pivotgrid-configurator-content .k-row-fields,.k-pivotgrid-configurator-content .k-column-fields,.k-pivotgrid-configurator-content .k-filter-fields{margin-top:calc(var(--kendo-spacing-4, 1rem)/2);flex-wrap:wrap}.k-pivotgrid-configurator-content .k-value-fields{margin-block:calc(var(--kendo-spacing-4, 1rem)/2);margin-inline:var(--kendo-spacing-0, 0px);display:flex;flex-direction:column;gap:calc(var(--kendo-spacing-4, 1rem)/2)}.k-pivotgrid-configurator-content .k-select-all .k-checkbox{margin-inline-end:var(--kendo-spacing-1, 0.25rem)}.k-pivotgrid-configurator-content .k-fields-list-wrapper{max-height:200px;border-width:1px;border-style:solid;flex:1 1 auto;overflow-x:hidden;overflow-y:auto}.k-pivotgrid-configurator-content .k-settings-description{margin-top:var(--kendo-spacing-4, 1rem);text-align:center}.k-pivotgrid-configurator-content .k-treeview{padding-block:var(--kendo-spacing-0, 0px);padding-inline:var(--kendo-spacing-4, 1rem);overflow:auto}.k-calculated-field{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-4, 1rem);border-width:1px;border-radius:var(--kendo-border-radius-md, 0.25rem);border-style:solid;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--kendo-spacing-4, 1rem)}.k-calculated-field-header{display:flex;flex-direction:row;align-items:center}.k-calculated-field-header .k-textbox{min-width:200px}.k-calculated-field-header-text{margin-right:5px;word-break:normal;overflow-wrap:anywhere}.k-calculated-field-header-actions{flex-shrink:0;align-self:flex-start}.k-calculated-field-content .k-textbox{width:100%}.k-calculated-field-actions{display:flex;flex-direction:row;align-items:center}.k-calculated-field-actions .k-icon{margin-right:var(--kendo-spacing-2, 0.5rem)}.k-calculated-field-actions .k-dropdown-list,.k-calculated-field-actions .k-dropdown,.k-calculated-field-actions .k-dropdownlist{max-width:100px}.k-filter-menu .k-calculated-item{border-bottom-width:1px;border-bottom-style:solid}.k-pivotgrid-configurator-vertical{min-width:320px}.k-flex-row .k-pivotgrid-configurator-vertical.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel,.k-d-flex-row .k-pivotgrid-configurator-vertical.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel,.k-flex-row-reverse .k-pivotgrid-configurator-vertical.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel{border-right-width:0;border-left-width:0}.k-pivotgrid-configurator-horizontal{width:100%;height:420px}.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form{display:flex;flex-direction:row}.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper{padding-left:var(--kendo-spacing-4, 1rem)}.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper>*:first-child{margin-top:0}.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper:first-child{padding-left:0;flex:1 1 30%}.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper:nth-child(2){flex:1 1 30%}.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper:last-child{border-left-width:1px;border-left-style:solid;flex:1 1 40%}.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-row-fields,.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-column-fields,.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-filter-fields{max-height:100px;overflow-x:hidden;overflow-y:auto}.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-value-fields{max-height:250px;flex-flow:row wrap;overflow-x:hidden;overflow-y:auto}.k-flex-col .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel,.k-d-flex-col .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel,.k-flex-column .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel,.k-flex-col-reverse .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel,.k-flex-column-reverse .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel{border-top-width:0;border-bottom-width:0}.k-pdf-export-shadow .k-pivotgrid{height:auto !important}.k-pdf-export-shadow .k-pivotgrid-values{height:auto;overflow:visible}.k-pdf-export-shadow .k-pivotgrid-column-headers .k-pivotgrid-table{padding-inline-end:0}.k-pivot{border-width:1px;border-style:solid;position:relative}.k-pivot .k-grid td{white-space:nowrap}.k-pivot .k-grid-content{flex:1 1 auto}.k-pivot-toolbar{border-width:0 0 1px;border-style:solid;align-items:flex-start;flex-wrap:wrap;box-shadow:none}.k-pivot-toolbar>*{max-width:100%}.k-pivot-toolbar::before{display:none}.k-pivot-layout{border-spacing:0;table-layout:auto}.k-pivot-layout .k-grid-footer,.k-pivot-layout .k-grid .k-table-alt-row{font-weight:bold}.k-pivot-layout>tbody,.k-pivot .k-table-td,.k-pivot td{vertical-align:top}.k-pivot-layout>tbody>tr>td{padding:0}.k-pivot-rowheaders>.k-grid,.k-pivot-table>.k-grid{border-width:0;color:inherit;background:none}.k-pivot-rowheaders>.k-grid td:first-child,.k-pivot-table .k-grid-header .k-header.k-first{border-left-width:1px}.k-pivot-rowheaders>.k-grid td.k-first{border-left-width:0}.k-pivot-rowheaders>.k-grid{overflow:hidden}.k-pivot-table{border-left-width:1px;border-left-style:solid}.k-pivot-table .k-grid-header-wrap{margin-right:-1px}.k-pivot-table .k-grid-header-wrap>table{height:100%}.k-pivot .k-grid-header .k-header{vertical-align:top}.k-pivot .k-grid tr .k-grid-footer{border-bottom-width:0}.k-pivot .k-grid tr:last-child:not(.k-grid-footer) td:not(.k-grid-footer){border-bottom-width:1px}.k-pivot-layout .k-grid td{border-bottom-width:1px}.k-pivot-layout .k-grid-footer>td{border-top-width:0}.k-pivot-filter-window .k-treeview{max-height:600px}.k-pivotgrid-wrapper{box-sizing:border-box;display:flex;flex-flow:row nowrap;align-items:flex-start;gap:var(--kendo-spacing-2, 0.5rem)}.k-pivotgrid-wrapper>.k-pivotgrid-configurator-panel{max-width:320px;flex:none}.k-pivotgrid-wrapper>.k-pivot{flex:1}.k-pivotgrid-configurator-panel.kendo-jquery{box-sizing:border-box;display:inline-flex}.k-pivotgrid-configurator-panel.kendo-jquery .k-pivotgrid-configurator{height:100%}.k-pivotgrid-configurator-panel.kendo-jquery .k-pivotgrid-configurator-content{padding:var(--kendo-spacing-4, 1rem);max-height:100%;display:flex;flex-flow:column nowrap;gap:var(--kendo-spacing-4, 1rem);overflow-x:hidden;overflow-y:auto}.k-pivotgrid-configurator-panel.kendo-jquery .k-pivotgrid-targets{display:flex;flex-flow:column nowrap;gap:var(--kendo-spacing-4, 1rem)}.k-pivotgrid-configurator-panel.kendo-jquery .k-pivotgrid-configurator-section{display:flex;flex-flow:column nowrap;gap:var(--kendo-spacing-2, 0.5rem)}.k-pivotgrid-configurator-panel.kendo-jquery .k-column-fields{margin:0;padding:var(--kendo-spacing-1, 0.25rem);max-height:200px;border-width:1px;border-style:solid;display:flex;flex-flow:row wrap;gap:var(--kendo-spacing-1, 0.25rem);overflow-x:hidden;overflow-y:auto}.k-pivotgrid-configurator-panel.kendo-jquery .k-column-fields>*{margin:0}.k-pivotgrid-toggle{margin-block:calc(var(--kendo-spacing-1, 0.25rem)*-1);padding:var(--kendo-spacing-1, 0.25rem);box-sizing:content-box;cursor:pointer}.k-pivot-rowheaders .k-grid tr .k-grid-footer{border-bottom-width:0}.k-pivot .k-grid th,.k-pivot .k-grid td{border-left-color:inherit}.k-pivotgrid{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-pivotgrid-column-headers,.k-pivotgrid-row-headers,.k-pivotgrid-empty-cell{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 2%, transparent)}.k-pivotgrid-empty-cell{border-color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15))}.k-pivotgrid-row-headers .k-pivotgrid-row .k-pivotgrid-cell:last-child{border-right-color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15))}.k-pivotgrid-column-headers .k-pivotgrid-column-total:nth-last-of-type(2) .k-pivotgrid-cell:not(.k-pivotgrid-expanded),.k-pivotgrid-column-headers .k-pivotgrid-row:last-child{border-bottom-color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15))}.k-pivotgrid-header-total,.k-pivotgrid-total{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-subtle, #ebebeb)}.k-pivotgrid-row-headers tbody>.k-pivotgrid-row:hover,.k-pivotgrid-row-headers tbody>.k-pivotgrid-row.k-hover,.k-pivotgrid-column-headers tbody>.k-pivotgrid-row:hover,.k-pivotgrid-column-headers tbody>.k-pivotgrid-row.k-hover,.k-pivotgrid-values tbody>.k-pivotgrid-row:hover,.k-pivotgrid-values tbody>.k-pivotgrid-row.k-hover{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-pivotgrid-cell.k-selected,.k-pivotgrid-row.k-selected>.k-pivotgrid-cell{background-color:color-mix(in srgb, var(--kendo-color-base-active, #d6d6d6) 25%, transparent)}.k-pivotgrid-configurator-button,.k-pivotgrid-configurator-panel{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-pivotgrid-configurator-header{color:var(--kendo-color-on-app-surface, #212121)}.k-pivotgrid-configurator-content .k-fields-list-wrapper{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-calculated-field{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-calculated-field-header{color:var(--kendo-color-on-app-surface, #212121)}.k-filter-menu .k-calculated-item{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-pivotgrid-configurator-content .k-form-field-wrapper{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-flex-row .k-pivotgrid-configurator-overlay,.k-d-flex-row .k-pivotgrid-configurator-overlay{box-shadow:k-elevation(3)}.k-flex-row-reverse .k-pivotgrid-configurator-overlay{box-shadow:k-elevation(3)}.k-flex-col .k-pivotgrid-configurator-overlay,.k-d-flex-col .k-pivotgrid-configurator-overlay,.k-flex-column .k-pivotgrid-configurator-overlay{box-shadow:k-elevation(3)}.k-flex-col-reverse .k-pivotgrid-configurator-overlay,.k-flex-column-reverse .k-pivotgrid-configurator-overlay{box-shadow:k-elevation(3)}.k-pivot{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-pivot-table{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-pivot-rowheaders{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 2%, transparent)}.k-pivot-toolbar{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 2%, transparent)}.k-pivot-toolbar .k-empty{color:var(--kendo-color-subtle, #757575)}.k-pivot .k-alt{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-pivot-toolbar,.k-pivot-table,.k-pivot-rowheaders>.k-grid td:first-child,.k-pivot-table .k-grid-header .k-header.k-first{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-pivot-layout .k-grid-footer{color:var(--kendo-color-subtle, #757575);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-i-kpi-trend-increase,.k-i-kpi-trend-decrease,.k-i-kpi-trend-equal{color:inherit}.k-i-kpi-status-hold{color:var(--kendo-color-warning, #ffc000)}.k-i-kpi-status-deny{color:var(--kendo-color-error, #f31700)}.k-i-kpi-status-open{color:var(--kendo-color-success, #37b400)}.k-pivotgrid-configurator-panel.kendo-jquery .k-column-fields{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-pivotgrid-cell:focus,.k-pivotgrid-cell.k-focus,.k-master-row>.k-pivotgrid-cell:focus,.k-grouping-row>.k-pivotgrid-cell:focus,.k-detail-row>.k-pivotgrid-cell:focus,.k-group-footer>.k-pivotgrid-cell:focus{background-color:var(--kendo-color-base-hover, #ebebeb)}.k-treelist.k-grid-display-block.k-grid-lockedcolumns{display:block}.k-treelist .k-status{padding-block:.4em;padding-inline:.6em;line-height:1.6em}.k-treelist .k-status .k-loading{vertical-align:baseline;margin-right:5px;display:none}.k-treelist tr.k-hidden{display:none}.k-treelist .k-treelist-dragging,.k-treelist .k-treelist-dragging .k-hover{cursor:default}.k-treelist .k-drop-hint{transform:translate(0, -50%)}.k-treelist .k-table-row.k-footer td,.k-treelist .k-table-row.k-footer-template td,.k-treelist .k-table-row.k-footer .k-table-td,.k-treelist .k-table-row.k-footer-template .k-table-td{border-width:1px 0;border-style:solid;font-weight:bold}.k-treelist .k-table-row.k-footer+.k-table-row.k-footer td,.k-treelist .k-table-row.k-footer+.k-table-row.k-footer .k-table-td{border-top-width:0}.k-treelist-scrollable>.k-table,.k-treelist-scrollable .k-grid-header .k-table-row,.k-treelist-scrollable .k-grid-header .k-table-th{background-color:inherit}.k-treelist-scrollable .k-grid-toolbar{position:sticky;z-index:3;top:0;left:0}.k-treelist-scrollable .k-grid-header .k-table-th{position:sticky;z-index:1}.k-treelist-scrollable .k-grid-header .k-table-th.k-grid-header-sticky{z-index:3}.k-treelist-scrollable thead.k-grid-header{padding-right:0}.k-treelist-scrollable .k-table-row.k-group-footer+.k-table-row.k-group-footer td{border-top-width:0}.k-treelist-scrollable[dir=rtl] thead.k-grid-header,.k-rtl .k-treelist-scrollable thead.k-grid-header{padding-left:0}.k-drag-separator{display:inline-block;border-right:1px solid;height:1em;vertical-align:top;margin-block:0;margin-inline:.5em}.k-treelist-toggle{margin-block:calc(var(--kendo-spacing-1, 0.25rem)*-1);padding:var(--kendo-spacing-1, 0.25rem);box-sizing:content-box;cursor:pointer}.k-treelist tr.k-footer-template td{border-width:1px 0}.k-treelist tr.k-footer td,.k-treelist tr.k-footer-template+tr.k-footer-template td{border-width:0 0 1px 0}.k-treelist-scrollable tr.k-group-footer td{border-bottom-width:1px}.k-treelist tr.k-footer,.k-treelist tr.k-footer-template{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}.k-treelist tr.k-footer:hover,.k-treelist tr.k-footer-template:hover{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}.k-treelist-scrollable .k-grid-toolbar,.k-treelist-scrollable .k-grid-header,.k-treelist-scrollable .k-grid-header tr:hover{background-color:inherit}.k-treelist-scrollable .k-group-footer td,.k-treelist-scrollable .k-grouping-row td,.k-treelist-scrollable tbody .k-group-cell{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 12%, transparent)}.k-filter{box-sizing:border-box;border-width:0;display:inline-block;background-color:rgba(0,0,0,0)}.k-filter *,.k-filter *::before,.k-filter *::after{box-sizing:border-box}.k-filter ul{padding:0}.k-filter ul li{list-style-type:none}.k-filter .k-filter-container,.k-filter .k-filter-preview{margin-block-end:2.1em}.k-filter .k-filter-lines,.k-filter .k-filter-item{padding-inline-start:var(--kendo-spacing-2, 0.5rem)}.k-filter .k-filter-toolbar{display:inline-flex;position:relative;padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:0}.k-filter .k-filter-toolbar::before{content:"";position:absolute;width:var(--kendo-spacing-2, 0.5rem);height:1px;inset-block-start:50%;inset-inline-start:calc(var(--kendo-spacing-2, 0.5rem)*-1)}.k-filter .k-filter-toolbar .k-toolbar{border-style:solid}.k-filter .k-filter-operator .k-dropdown-list,.k-filter .k-filter-operator .k-dropdown,.k-filter .k-filter-operator .k-dropdownlist{width:15em}.k-filter .k-filter-item{position:relative}.k-filter .k-filter-item::before{content:"";position:absolute;width:1px;height:100%;inset-block-start:calc(var(--kendo-spacing-2, 0.5rem)*-1);inset-inline-start:0}.k-filter .k-filter-lines .k-filter-item:last-child>.k-filter-toolbar::after,.k-filter .k-filter-lines .k-filter-item:last-child>*>.k-filter-toolbar::after{content:"";position:absolute;width:1px;inset-block-start:calc(var(--kendo-spacing-2, 0.5rem)*-1 - 1px);inset-block-end:50%;inset-inline-start:calc(var(--kendo-spacing-2, 0.5rem)*-1)}.k-filter .k-filter-group-main::before,.k-filter .k-filter-group-main>.k-filter-toolbar::before,.k-filter .k-filter-group-main>.k-filter-toolbar::after,.k-filter .k-filter-group-main>*>.k-filter-toolbar::before,.k-filter .k-filter-group-main>*>.k-filter-toolbar::after,.k-filter .k-filter-lines .k-filter-item:last-child::before{display:none}.k-filter{color:var(--kendo-color-on-app-surface, #212121)}.k-filter .k-filter-preview-field{color:var(--kendo-color-primary, #3f51b5)}.k-filter .k-filter-preview-operator{color:var(--kendo-color-subtle, #757575)}.k-filter .k-filter-item::before,.k-filter .k-filter-toolbar::before,.k-filter .k-filter-lines .k-filter-item:last-child>.k-filter-toolbar::after,.k-filter .k-filter-lines .k-filter-item:last-child>*>.k-filter-toolbar::after{background-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-filter .k-toolbar:focus,.k-filter .k-toolbar.k-focus{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px rgba(0,0,0,.14),0 1px 10px rgba(0,0,0,.12)}.k-filemanager{border-width:1px;border-style:solid;box-sizing:border-box;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-flow:column nowrap}.k-filemanager-header{border-color:inherit}.k-filemanager-toolbar{border-width:0;border-bottom-width:1px;border-color:inherit;flex-shrink:0;z-index:1}.k-filemanager-content-container{border-color:inherit;box-sizing:border-box;flex:1 1 0%;display:flex;flex-flow:row nowrap;align-items:stretch;overflow:hidden}.k-filemanager-splitter{border-width:0}.k-filemanager-navigation{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-4, 1rem);width:20%;border-width:0;border-right-width:1px;border-style:solid;border-color:inherit;box-sizing:border-box;flex-shrink:0;overflow:auto}.k-filemanager-treeview{overflow:visible}.k-filemanager-content{border-color:inherit;flex:1 1 0%;display:flex;flex-flow:column nowrap;align-items:stretch;overflow:hidden}.k-filemanager-view{overflow:auto}.k-filemanager-breadcrumb{border-width:0;border-bottom-width:1px;padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);flex-shrink:0}.k-filemanager-listview{border-width:0;flex:1 1 0%}.k-filemanager-listview .k-listview-item{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-4, 1rem);width:120px;height:120px;text-align:center}.k-filemanager-listview .k-file-preview{display:flex;flex-direction:row;justify-content:center}.k-filemanager-listview .k-file-name{margin-top:calc(var(--kendo-spacing-4, 1rem)/2);display:block;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-filemanager-listview .k-file-edit-input input{width:100%}.k-filemanager-grid{border-width:0;flex:1 1 0%}.k-filemanager-grid .k-file-preview{margin-right:var(--kendo-spacing-2, 0.5rem);display:inline-flex;flex-direction:row;vertical-align:middle}.k-filemanager-grid .k-file-name{display:inline-flex;flex-direction:row;vertical-align:middle}.k-filemanager-preview{padding:calc(var(--kendo-spacing-4, 1rem)*3) var(--kendo-spacing-4, 1rem) var(--kendo-spacing-4, 1rem);width:20%;min-height:calc(var(--kendo-spacing-4, 1rem)*4 + calc(16px * 3)*2 + var(--kendo-spacing-4, 1rem)*3);border-width:0;border-left-width:1px;border-style:solid;border-color:inherit;box-sizing:border-box;text-align:center;overflow-y:auto;flex-shrink:0}.k-filemanager-preview .k-file-preview{display:flex;flex-direction:row;justify-content:center}.k-filemanager-preview .k-file-name{margin-top:var(--kendo-spacing-4, 1rem);display:block}.k-filemanager-preview .k-single-file-selected{font-weight:bold}.k-filemanager-preview .k-multiple-files-selected{font-weight:bold}.k-filemanager-preview .k-file-meta{margin:var(--kendo-spacing-4, 1rem) 0 0;box-sizing:border-box;text-align:start;display:flex;flex-flow:row wrap;grid-column-gap:var(--kendo-spacing-1, 0.25rem)}.k-filemanager-preview .k-file-meta-label{display:inline-block}.k-filemanager-preview .k-file-meta-value{margin:0}.k-filemanager-preview .k-file-type{text-transform:capitalize}.k-filemanager-preview .k-line-break{margin:var(--kendo-spacing-4, 1rem) 0 0;width:100%;flex:1 1 100%;flex-flow:row nowrap}.k-filemanager .k-splitbar{flex-shrink:0;display:inline-flex;position:relative;border-width:0 1px;border-style:solid;border-color:inherit}.k-filemanager-upload-dialog .k-upload-files{max-height:200px;overflow-y:auto}.k-filemanager-drag-hint{display:flex;flex-direction:row;align-items:center;gap:var(--kendo-spacing-2, 0.5rem)}.k-filemanager{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-filemanager-toolbar{background-color:var(--kendo-color-surface, #f5f5f5)}.k-filemanager-breadcrumb{background-color:var(--kendo-color-surface, #f5f5f5)}.k-filemanager-listview .k-listview-item .k-file-icon{color:var(--kendo-color-subtle, #757575)}.k-filemanager-listview .k-listview-item.k-selected .k-file-icon{border-color:rgba(0,0,0,0);color:inherit;background-color:rgba(0,0,0,0)}.k-filemanager-preview .k-file-icon{color:var(--kendo-color-subtle, #757575)}.k-taskboard{box-sizing:border-box;font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-direction:column;position:relative}.k-taskboard *,.k-taskboard *::before,.k-taskboard *::after{box-sizing:border-box}.k-taskboard-toolbar{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-4, 1rem);border-width:0;box-shadow:none;background:none}.k-taskboard-content{padding:0 var(--kendo-spacing-4, 1rem) var(--kendo-spacing-4, 1rem);display:flex;position:relative;flex:1 1 auto;overflow-x:auto}.k-taskboard-columns-container{outline:none;display:flex;flex-direction:row;overflow:hidden;gap:var(--kendo-spacing-4, 1rem);overflow-x:visible}.k-taskboard-column{width:320px;border-width:1px;border-radius:var(--kendo-border-radius-md, 0.25rem);border-style:solid;outline:none;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.k-taskboard-column-header{padding-block:calc(var(--kendo-spacing-4, 1rem)/2);padding-inline:calc(var(--kendo-spacing-4, 1rem)/2);font-weight:500;display:flex;flex-direction:row;align-items:center;gap:calc(var(--kendo-spacing-4, 1rem)/4)}.k-taskboard-column-header-actions{display:inline-flex;flex-shrink:0;align-self:flex-start;gap:calc(var(--kendo-spacing-4, 1rem)/2)}.k-taskboard-column-cards-container{margin-bottom:calc(var(--kendo-spacing-4, 1rem)/2);padding-block:var(--kendo-spacing-0, 0px);padding-inline:calc(var(--kendo-spacing-4, 1rem)/2);outline:none;overflow:auto;flex:1 1 auto}.k-taskboard-column-cards{min-height:100%;display:flex;flex-direction:column;gap:calc(var(--kendo-spacing-4, 1rem)/2) 0}.k-taskboard-column-new .k-taskboard-column-header,.k-taskboard-column-edit .k-taskboard-column-header{font-weight:inherit}.k-taskboard-column-new .k-taskboard-column-header-text,.k-taskboard-column-edit .k-taskboard-column-header-text{flex:1 1 100%}.k-taskboard-pane{width:320px;border-width:1px;border-style:solid;display:flex;flex-direction:column;position:absolute;top:0;right:0;bottom:0;overflow:hidden;z-index:2}.k-taskboard-pane-header{padding-block:calc(var(--kendo-spacing-4, 1rem)*.75);padding-inline:var(--kendo-spacing-4, 1rem);font-weight:500;display:flex;flex-direction:row;align-items:center}.k-taskboard-pane-header-text{word-break:normal;overflow-wrap:anywhere}.k-taskboard-pane-header-actions{flex-shrink:0;align-self:flex-start}.k-taskboard-pane-content{padding-block:var(--kendo-spacing-0, 0px);padding-inline:var(--kendo-spacing-4, 1rem);overflow:auto;flex:1 1 auto}.k-taskboard-pane-actions{padding-block:calc(var(--kendo-spacing-4, 1rem)*.75);padding-inline:var(--kendo-spacing-4, 1rem)}.k-taskboard-pane-start{right:auto;left:0}.k-taskboard-card{border-radius:var(--kendo-border-radius-md, 0.25rem);border-width:1px}.k-taskboard-card.k-taskboard-card-category{border-inline-start-width:4px}.k-taskboard-card .k-card-header .k-card-body,.k-taskboard-card .k-card-footer{padding-block:calc(var(--kendo-spacing-4, 1rem)/2);padding-inline:calc(var(--kendo-spacing-4, 1rem)/2)}.k-taskboard-card .k-card-header{align-items:center}.k-taskboard-card .k-card-title{font-size:inherit;font-weight:inherit;word-break:normal;overflow-wrap:anywhere}.k-taskboard-card .k-card-title:focus,.k-taskboard-card .k-card-title.k-focus,.k-taskboard-card .k-card-title:hover,.k-taskboard-card .k-card-title.k-hover{text-decoration:underline}.k-taskboard-card .k-card-header-actions{align-self:flex-start}.k-taskboard-drag-placeholder{border-radius:var(--kendo-border-radius-md, 0.25rem);border-width:1px;border-style:solid;position:relative}.k-taskboard-column{border-color:rgba(0,0,0,0);background-color:var(--kendo-color-surface, #f5f5f5)}.k-taskboard-column:focus,.k-taskboard-column.k-focus{border-color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15))}.k-taskboard-column-header{color:var(--kendo-color-on-app-surface, #212121)}.k-taskboard-pane{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-taskboard-pane-header{color:var(--kendo-color-on-app-surface, #212121)}.k-taskboard-card{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff);box-shadow:none}.k-taskboard-card .k-card-title{color:var(--kendo-color-primary, #3f51b5)}.k-taskboard-card .k-card-title:focus,.k-taskboard-card .k-card-title.k-focus{color:var(--kendo-color-primary-active, #354498)}.k-taskboard-card .k-card-title:hover,.k-taskboard-card .k-card-title.k-hover{color:var(--kendo-color-primary-active, #354498)}.k-taskboard-card:focus,.k-taskboard-card.k-focus{box-shadow:none;border-color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15))}.k-taskboard-card:hover,.k-taskboard-card.k-hover{border-color:var(--kendo-color-border-alt, rgba(0, 0, 0, 0.15))}.k-taskboard-card.k-selected{border-color:#7986cb;box-shadow:none}.k-taskboard-card.k-disabled{outline:none;cursor:default;color:var(--kendo-color-on-app-surface, #212121);opacity:.6;filter:grayscale(0.1);pointer-events:none;box-shadow:none}.k-taskboard-drag-placeholder{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));background-color:hsla(0,0%,100%,.2)}.k-editor{border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-flow:column nowrap;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-editor.k-readonly .k-editor-content{pointer-events:auto}.k-editor.k-readonly .k-editor-content.k-focus{outline-width:1px;outline-style:dashed}.k-editor-inline{border-radius:var(--kendo-border-radius-md, 0.25rem);padding-block:var(--kendo-spacing-0\.5, 0.125rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border:1px solid rgba(0,0,0,0);word-wrap:break-word;overflow:auto;background:none}.k-editor-resizable{resize:both;overflow:auto}.k-editor-resize-handles-wrapper{position:absolute;visibility:hidden}.k-editor-resize-handle{width:8px;height:8px;border-width:1px;border-style:solid;box-sizing:border-box;position:absolute;visibility:visible;z-index:100}.k-editor-resize-handle.northwest{top:0;left:0;transform:translate(-50%, -50%);cursor:nw-resize}.k-editor-resize-handle.north{top:0;left:50%;transform:translate(-50%, -50%);cursor:n-resize}.k-editor-resize-handle.northeast{top:0;right:0;transform:translate(50%, -50%);cursor:ne-resize}.k-editor-resize-handle.southwest{left:0;bottom:0;transform:translate(-50%, 50%);cursor:sw-resize}.k-editor-resize-handle.south{bottom:0;left:50%;transform:translate(-50%, 50%);cursor:s-resize}.k-editor-resize-handle.southeast{right:0;bottom:0;transform:translate(50%, 50%);cursor:se-resize}.k-editor-resize-handle.west{top:50%;left:0;transform:translate(-50%, -50%);cursor:w-resize}.k-editor-resize-handle.east{top:50%;right:0;transform:translate(50%, -50%);cursor:e-resize}.ProseMirror-selectednode{outline-width:2px;outline-style:solid}.ProseMirror-hideselection{caret-color:rgba(0,0,0,0)}.ProseMirror-hideselection *::selection,.ProseMirror-hideselection *::-moz-selection{background:rgba(0,0,0,0)}.k-editor-toolbar{border-width:0 0 0 0;flex-shrink:0}.k-editor-toolbar .k-editor-export .k-icon{margin-right:.5em}.k-editor-toolbar .k-editor-export .k-icon,.k-editor-toolbar .k-editor-export .k-export-tool-text{vertical-align:middle}.k-editor-content{flex:1 1 auto;overflow-y:auto}.k-editor-content>.k-iframe{width:100%;height:100%;border-width:0;display:block}.k-editor-content>.ProseMirror{padding:var(--kendo-spacing-4, 1rem);width:100%;height:100%;position:relative;box-sizing:border-box;outline:none;white-space:pre-wrap;overflow:auto}.k-editor-content>.ProseMirror table{white-space:pre-wrap}.k-editor-content>.ProseMirror .k-placeholder::before{content:attr(data-placeholder);height:0;color:var(--kendo-color-subtle, #757575);float:left;opacity:1;cursor:text;user-select:none}.k-editor-content>.ProseMirror[contenteditable=false]{cursor:unset !important}.k-editor-content>.ProseMirror[contenteditable=false] .k-editor-resize-handles-wrapper,.k-editor-content>.ProseMirror[contenteditable=false] .k-editor-resize-handle,.k-editor-content>.ProseMirror[contenteditable=false] .row-resize-handle,.k-editor-content>.ProseMirror[contenteditable=false] .column-resize-handle{display:none}.k-editor-content>.ProseMirror[contenteditable=false] img,.k-editor-content>.ProseMirror[contenteditable=false] table{pointer-events:none}.k-editor-content>.ProseMirror[contenteditable=false] .ProseMirror-selectednode{outline:none}.k-editor-content p{margin:0 0 1rem}.k-editor-content td p,.k-editor-content th p,.k-editor-content li p{margin:0}.k-editor-content table{margin:0;border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.k-editor-content td,.k-editor-content th{min-width:1em;border:1px solid;padding-block:3px;padding-inline:5px;vertical-align:top;box-sizing:border-box;position:relative}.k-editor-content th{font-weight:bold;text-align:start}.k-editor-content td{text-align:start}.k-editor-content .selectedCell::after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;pointer-events:none}.k-edit-form-content{flex:1 1 auto;overflow:auto;margin-block:-var(--kendo-spacing-2, 0.5rem);margin-inline:-var(--kendo-spacing-6, 1.5rem);padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-6, 1.5rem)}.k-ct-popup{box-sizing:border-box;width:190px;padding:5px}.k-ct-popup .k-button{width:100%}.k-ct-popup .k-ct-cell{margin:1px;width:20px;height:20px;box-sizing:border-box;border:1px solid;border-color:inherit;display:inline-block;vertical-align:top;overflow:hidden;opacity:.7;pointer-events:all}.k-editor .k-resize-handle{position:absolute;right:0;bottom:0;padding:0;width:0;height:0;border-style:solid;border-width:0 0 13px 13px;border-color:rgba(0,0,0,0);border-bottom-color:inherit;cursor:se-resize}.k-editor .k-resize-handle .k-i-arrow-45-down-right,.k-editor .k-resize-handle .k-i-caret-br{display:none}.k-editor-find-replace .k-content{position:relative}.k-editor-find-replace .k-actions,.k-editor-find-replace .k-edit-buttons,.k-editor-find-replace .k-action-buttons,.k-editor-find-replace .k-columnmenu-actions,.k-editor-find-replace .k-form-buttons{padding:0}.k-editor-find-replace .k-search-options{display:flex;flex-direction:column;padding:10px 0 40px}.k-editor-find-replace .k-matches-container{position:absolute;bottom:0;left:0;right:0;padding:0;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.k-textarea.k-editor-textarea{width:100%;height:100%;resize:none}.k-filebrowser{max-width:100%}.k-filebrowser .k-floatwrap{display:flex}.k-filebrowser .k-floatwrap::after{display:none}.k-filebrowser .k-breadcrumbs{flex:1}.k-filebrowser .k-search-wrap{margin:0 0 0 var(--kendo-spacing-4, 1rem);width:150px;display:flex;align-items:center}.k-filebrowser .k-search-wrap .k-input{flex:1;width:100px}.k-filebrowser .k-search-wrap .k-icon{margin:0;position:static}.k-filebrowser .k-filebrowser-toolbar{margin:var(--kendo-spacing-4, 1rem) 0 0 0}.k-filebrowser .k-upload{padding:0;border-width:0;background:none}.k-filebrowser .k-upload .k-upload-button{margin:0}.k-filebrowser .k-upload .k-upload-status{display:none}.k-filebrowser .k-upload-files{display:none}.k-filebrowser .k-tiles{display:flex;flex-flow:row wrap;height:390px;max-height:50vh;margin:0 0 var(--kendo-spacing-4, 1rem) 0;padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-4, 1rem);border-top-width:0;overflow:auto}.k-filebrowser .k-tile{width:33%;height:90px;padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-4, 1rem);box-sizing:border-box;white-space:nowrap;overflow:hidden;cursor:pointer;border-radius:var(--kendo-border-radius-md, 0.25rem)}.k-filebrowser .k-tile .k-i-file,.k-filebrowser .k-tile .k-i-folder{font-size:4em}.k-filebrowser .k-tile input{width:100px}.k-filebrowser .k-tile strong{display:block;font-weight:400;overflow:hidden;text-overflow:ellipsis}.k-filebrowser .k-tile-empty{display:block;margin:auto}.k-filebrowser .k-tile-empty.k-selected{color:inherit;border-width:0;background-image:none;background-color:rgba(0,0,0,0)}.k-filebrowser .k-tile-empty strong{opacity:.5;font-size:3em;font-weight:400}.k-filebrowser .k-thumb{float:left;margin-right:var(--kendo-spacing-2, 0.5rem)}.k-filebrowser .k-breadcrumbs-wrap{position:absolute;left:var(--kendo-spacing-4, 1rem);top:var(--kendo-spacing-2, 0.5rem)}.k-filebrowser .k-breadcrumbs-wrap .k-icon{position:static;margin-top:0}.k-editor-table-wizard-window .k-tabstrip-wrapper{display:flex;flex:1 1 auto;overflow:auto}.k-editor-table-wizard-window .k-tabstrip-wrapper .k-tabstrip.k-root-tabs{flex:1 1 auto;margin-bottom:0}.k-editor-table-wizard-window .k-edit-field>.k-checkbox{position:relative}.k-editor-inline .k-table{width:100%;border-spacing:0;margin:0 0 1em}.k-editor-inline .k-table,.k-editor-inline .k-table td{outline:0;border-width:1px;border-style:dotted}.k-editor-inline .k-table td{min-width:1px;padding-block:var(--kendo-spacing-0\.5, 0.125rem);padding-inline:var(--kendo-spacing-2, 0.5rem)}.k-editor-inline .k-element-resize-handle-wrapper{position:absolute;width:5px;height:5px;border-width:1px;border-style:solid;z-index:100}.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle{width:100%;height:100%}.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-east{cursor:e-resize}.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-north{cursor:n-resize}.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-northeast{cursor:ne-resize}.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-northwest{cursor:nw-resize}.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-south{cursor:s-resize}.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-southeast{cursor:se-resize}.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-southwest{cursor:sw-resize}.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-west{cursor:w-resize}.k-editor-inline .k-column-resize-handle-wrapper{position:absolute;height:10px;width:10px;cursor:col-resize;z-index:2}.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle{width:100%;height:100%}.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle .k-column-resize-marker{width:2px;height:100%;margin-block:0;margin-inline:auto;display:none;opacity:.8}.k-editor-inline .k-row-resize-handle-wrapper{position:absolute;z-index:2;cursor:row-resize;width:10px;height:10px}.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-handle{display:table;width:100%;height:100%}.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker-wrapper{display:table-cell;width:100%;height:100%;margin:0;padding:0;vertical-align:middle}.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker{display:none;margin:0;padding:0;width:100%;height:2px;opacity:.8}.k-ct-popup{line-height:normal}.k-ct-popup .k-status{line-height:var(--kendo-line-height, inherit)}.k-editor-export{text-transform:uppercase;font-size:var(--kendo-font-size, inherit)}.k-editor-export .k-icon{margin-left:.5em}.k-editor{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-editor.k-readonly .k-editor-content.k-focus{outline-color:var(--kendo-color-on-app-surface, #212121)}.k-editor-inline .k-table,.k-editor-inline .k-table td{border-color:#ccc}.k-editor-inline .k-element-resize-handle-wrapper{background-color:#fff;border-color:#000}.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle .k-column-resize-marker{background-color:#00b0ff}.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker{background-color:#00b0ff}.k-editor-inline:hover,.k-editor-inline.k-hover,.k-editor-inline.k-active{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-editor-resize-handle{background-color:#fff;border-color:#000}.ProseMirror-selectednode{outline-color:#8cf}.k-ct-popup .k-selected{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary, #e51a5f)}.k-editor-content .k-text-selected,.k-editor-content::selection{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-editor-content .k-text-highlighted{background-color:var(--kendo-color-primary-subtle, #d1d5ee)}.k-editor-content td,.k-editor-content th{border-color:#ddd}.k-editor-content .selectedCell::after{background-color:rgba(200,200,255,.4)}.k-imageeditor{border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-imageeditor *,.k-imageeditor *::before,.k-imageeditor *::after{box-sizing:border-box}.k-imageeditor-toolbar{border-width:0;border-bottom-width:0}.k-imageeditor-content{border-width:0;border-style:solid;border-color:inherit;display:flex;flex-flow:row nowrap}.k-imageeditor-canvas-container{flex:1 1 100%;display:flex;flex-flow:row nowrap;overflow:auto}.k-imageeditor-canvas{margin:auto;display:flex;flex-direction:column;position:relative}.k-imageeditor-action-pane{padding-block:var(--kendo-spacing-8, 2rem);padding-inline:var(--kendo-spacing-4, 1rem);width:calc(240px + 1px);border-width:0;border-left-width:1px;border-style:solid;border-color:inherit;box-sizing:border-box;flex:none;overflow-y:auto}.k-imageeditor-action-pane .k-input-inner,.k-imageeditor-action-pane .k-input-value-text{text-overflow:clip}.k-imageeditor-crop-overlay{width:100%;height:100%;position:absolute;top:0;left:0}.k-imageeditor-crop{width:100%;height:100%;border-width:1px;border-style:dashed;box-sizing:border-box;position:absolute}.k-imageeditor-crop .k-resize-handle{margin-block:var(--kendo-spacing-1px, 1px);margin-inline:var(--kendo-spacing-1px, 1px);border-style:solid;border-width:0 2px 2px 0}.k-imageeditor-crop .k-resize-sw,.k-imageeditor-crop .k-resize-se,.k-imageeditor-crop .k-resize-nw,.k-imageeditor-crop .k-resize-ne{width:15px;height:15px}.k-imageeditor-crop .k-resize-n,.k-imageeditor-crop .k-resize-s{left:calc(50% - (7.5px));width:15px;height:0}.k-imageeditor-crop .k-resize-w,.k-imageeditor-crop .k-resize-e{top:calc(50% - (7.5px));width:0;height:15px}.k-imageeditor-crop .k-resize-ne{transform:rotate(-90deg)}.k-imageeditor-crop .k-resize-nw{transform:rotate(-180deg)}.k-imageeditor-crop .k-resize-sw{transform:rotate(90deg)}.k-imageeditor-crop .k-resize-n{top:0}.k-imageeditor-crop .k-resize-s{bottom:0}.k-imageeditor-crop .k-resize-w{left:0}.k-imageeditor-crop .k-resize-e{right:0}.k-imageeditor{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-imageeditor-content{background-color:#c6c6c6}.k-imageeditor-canvas{background:linear-gradient(45deg, rgba(0, 0, 0, 0.09) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.09) 75%, rgba(0, 0, 0, 0.09)),linear-gradient(45deg, rgba(0, 0, 0, 0.09) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.09) 75%, rgba(0, 0, 0, 0.09)),#fff;background-repeat:repeat,repeat;background-position:0px 0px,calc(10px/2) calc(10px/2);transform-origin:0 0 0;background-origin:padding-box,padding-box;background-size:10px 10px,10px 10px;box-shadow:none;text-shadow:none;transition:none;transform:scaleX(1) scaleY(1) scaleZ(1)}.k-imageeditor-action-pane{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-imageeditor-crop{border-color:#fff}.k-imageeditor-crop-overlay{background-color:rgba(0,0,0,.3)}.k-gantt{border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-flow:column nowrap;position:relative;white-space:nowrap;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-gantt .k-table-td{white-space:nowrap}.k-gantt td{overflow:hidden;white-space:nowrap;vertical-align:top}.k-gantt .k-grid-header tr{height:calc(calc(2 * 1em) + var(--kendo-spacing-4, 1rem)*2 + 1px)}.k-gantt .k-grid-header .k-header{position:static}.k-gantt .k-treelist .k-grid-header .k-header{position:relative}.k-gantt .k-grid-content tr{height:calc(calc(2 * 1em) + var(--kendo-spacing-2\.5, 0.625rem)*2 + 1px)}.k-gantt.k-gantt-planned .k-grid-content tr{height:calc(calc(2 * 1em)*1.7 + var(--kendo-spacing-2\.5, 0.625rem)*2 + 1px)}.k-gantt .k-gantt-layout{white-space:normal;vertical-align:top;display:inline-block}.k-gantt .k-splitbar{position:relative;display:inline-flex}.k-gantt .k-gantt-splitter{border-width:0}.k-gantt .k-treelist-scrollable{width:100%;border-width:0;overflow:auto}.k-gantt .k-treelist-scrollable .k-grid-header .k-header{position:sticky}.k-gantt .k-treelist-scrollable .k-grid-header th,.k-gantt .k-treelist-scrollable .k-grid-content-sticky{z-index:4}.k-gantt .k-treelist-scrollable .k-grid-header th.k-grid-header-sticky{z-index:5}.k-gantt .k-treelist-scrollable .k-grid-header tr:first-child th:last-child,.k-gantt .k-treelist-scrollable tbody td:last-child{padding:0;vertical-align:top}.k-gantt .k-treelist-scrollable .k-grid-header th:last-child .k-header{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-6, 1.5rem);border-width:0 0 1px 1px;white-space:nowrap}.k-gantt .k-treelist-scrollable tr.k-selected>td:last-child{background:rgba(0,0,0,0)}.k-gantt .k-treelist-scrollable .k-task{display:inline-flex;flex-flow:row nowrap;white-space:nowrap;z-index:3}.k-gantt .k-treelist-scrollable .k-task:hover .k-task-start,.k-gantt .k-treelist-scrollable .k-task:hover .k-task-end{display:block}.k-gantt .k-treelist-scrollable .k-task:hover .k-task-draghandle{visibility:visible}.k-gantt .k-treelist-scrollable .k-task-content{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-2, 0.5rem);display:block;line-height:normal;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-gantt .k-treelist-scrollable .k-task-actions{flex-shrink:0}.k-gantt .k-treelist-scrollable .k-task-milestone{border:0;transform:none;background:none}.k-gantt .k-treelist-scrollable .k-task-milestone .k-task-milestone-content{width:100%;height:100%;border-width:1px;border-style:solid;box-sizing:border-box;transform:rotate(45deg)}.k-gantt .k-treelist-scrollable .k-task-summary{height:15px;clip-path:polygon(-20px 0, calc(100% + 20px) 0, calc(100% + 20px) 100%, 100% 100%, calc(100% - 8px) calc(100% - 5px), 8px calc(100% - 5px), 0 100%, -20px 100%)}.k-gantt .k-treelist-scrollable .k-task-summary-complete{width:100%;height:15px}.k-gantt .k-treelist-scrollable .k-task-start{transform:translateX(-140%) translateY(-50%)}.k-gantt .k-treelist-scrollable .k-task-end{transform:translateX(140%) translateY(-50%)}.k-gantt .k-treelist-scrollable .k-master-row:hover .k-task-dot{display:block}.k-gantt .k-treelist-scrollable .k-gantt-columns{background:rgba(0,0,0,0);pointer-events:none;table-layout:fixed}.k-gantt .k-gantt-dependencies-svg{position:absolute;top:0;left:0;overflow:visible;pointer-events:none;z-index:2}.k-gantt .k-gantt-dependencies-svg polyline{stroke-width:2px}.k-gantt-header{border-width:0 0 0;flex-shrink:0;z-index:6}.k-gantt-footer{border-width:0 0 0;flex-shrink:0}.k-gantt-toggle{display:none}.k-gantt-views-wrapper{margin-left:auto}.k-gantt-views-wrapper .k-views-dropdown{width:auto;font-size:inherit;display:none;cursor:pointer}@media(max-width: 480px){.k-gantt-toolbar .k-gantt-toggle{display:inline-flex}.k-gantt-toolbar .k-gantt-pdf,.k-gantt-toolbar .k-gantt-create{padding:var(--kendo-spacing-2, 0.5rem);width:calc(1.4285714286em + var(--kendo-spacing-2, 0.5rem)*2 + 2px);height:calc(1.4285714286em + var(--kendo-spacing-2, 0.5rem)*2 + 2px)}.k-gantt-toolbar .k-gantt-pdf .k-button-text,.k-gantt-toolbar .k-gantt-create .k-button-text{display:none}}@media(max-width: 1024px){.k-gantt-views-wrapper .k-gantt-views{display:none}.k-gantt-views-wrapper .k-views-dropdown{display:flex}}.k-gantt-content{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;overflow:hidden}.k-gantt-treelist .k-treelist{height:100%;border-width:0}.k-gantt-treelist .k-grid-header,.k-gantt-treelist .k-grid-footer{padding:0 !important}.k-gantt-treelist .k-grid-header tr{height:calc(calc(2 * 1em)*2 + var(--kendo-spacing-4, 1rem)*4 + 2px);vertical-align:bottom}.k-gantt-treelist .k-grid-content{overflow:hidden;overflow-x:scroll}.k-gantt-treelist .k-grid-content td{vertical-align:middle}.k-gantt-treelist .k-gantt-treelist-nested-columns .k-grid-header tr{height:calc(calc(2 * 1em) + var(--kendo-spacing-4, 1rem)*2 + 1px)}.k-gantt-treelist.k-gantt-treelist-scrollable .k-grid-content{overflow:scroll}.k-gantt-timeline-pane .k-gantt-timeline{height:100%;border-width:0;display:flex}.k-gantt-timeline-pane .k-gantt-timeline *,.k-gantt-timeline-pane .k-gantt-timeline *::before,.k-gantt-timeline-pane .k-gantt-timeline *::after,.k-gantt-timeline-pane .k-gantt-timeline::before,.k-gantt-timeline-pane .k-gantt-timeline::after{box-sizing:border-box}.k-gantt-timeline-pane .k-grid-content{overflow-x:scroll}.k-gantt-timeline-pane .k-header{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-6, 1.5rem);border-width:0 0 1px 1px;white-space:nowrap}.k-gantt-tables{position:relative;border-color:inherit}.k-gantt-rows,.k-gantt-columns{border-color:inherit;position:absolute;z-index:0;top:0;left:0}.k-gantt-dependencies{opacity:.7;position:absolute;top:0;left:0}.k-gantt-dependencies .k-arrow-e,.k-gantt-dependencies .k-arrow-w{width:0;height:0;border:5px solid rgba(0,0,0,0);position:absolute;top:-4px}.k-gantt-dependencies .k-arrow-e{border-left-color:currentColor;right:-6px}.k-gantt-dependencies .k-arrow-w{border-right-color:currentColor;left:-6px}.k-gantt-line{background-color:currentColor;border-color:currentColor;position:absolute}.k-gantt-line.k-selected{z-index:3}.k-gantt-line-h{height:2px}.k-gantt-line-v{width:2px}.k-gantt-dependency-hint{z-index:4}.k-gantt-tasks{position:relative}.k-gantt-tasks td,.k-gantt-tasks .k-table-td{padding:0;border-width:0;position:relative;vertical-align:middle}.k-gantt-tasks td::after{content:"​"}.k-task-wrap{margin-block:0;margin-inline:-21px;padding-block:5px;padding-inline:21px;display:inline-flex;flex-direction:row;align-items:center;position:relative;z-index:2}.k-task-wrap.k-drag-hint{position:absolute}.k-task{position:relative;flex:1 1 auto}.k-task-dot{width:calc(8px + var(--kendo-spacing-1, 0.25rem)*2);height:calc(8px + var(--kendo-spacing-1, 0.25rem)*2);line-height:1;cursor:pointer;display:none;position:absolute;top:50%;transform:translateY(-50%)}.k-task-wrap:hover .k-task-dot,.k-task-wrap.k-origin .k-task-dot{display:block}.k-task-dot::before{content:"";width:8px;height:8px;border-width:0;border-style:solid;border-radius:100%;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.k-task-dot:hover::before,.k-task-dot.k-hover::before{border-width:1px}.k-task-start{left:0}.k-task-end{right:0}.k-task-draghandle{margin-left:16px;width:0;height:0;border:5px solid rgba(0,0,0,0);border-top-width:0;border-bottom-color:inherit;position:absolute;bottom:0;cursor:e-resize;visibility:hidden}.k-task-wrap:hover .k-task-draghandle{visibility:visible}.k-milestone-wrap{margin-block:0;margin-inline:-2em}.k-task-milestone{width:1em;height:1em;border-width:1px;border-style:solid;box-sizing:border-box;transform:rotate(45deg)}.k-task-summary{height:10px;display:inline-block;vertical-align:top}.k-task-summary,.k-task-summary-complete{background-color:currentColor}.k-task-summary::before,.k-task-summary::after,.k-task-summary-complete::before,.k-task-summary-complete::after{content:"";width:0;height:0;border:8px solid rgba(0,0,0,0);position:absolute;top:0;display:none}.k-task-summary::before,.k-task-summary-complete::before{border-left-color:currentColor;left:0}.k-task-summary::after,.k-task-summary-complete::after{border-right-color:currentColor;right:0}.k-task-summary-complete{height:10px;position:relative;z-index:2}.k-task-summary-progress{height:15px;overflow:hidden}.k-task-single{border-radius:var(--kendo-border-radius-md, 0.25rem);border-width:0px;border-style:solid;box-sizing:border-box;cursor:default}.k-task-single .k-resize-handle{opacity:.5;z-index:2;visibility:hidden}.k-task-single .k-resize-handle::before{position:absolute;top:2px;bottom:2px}.k-task-single .k-resize-w{left:0}.k-task-single .k-resize-w::before{left:2px;border-left-width:1px}.k-task-single .k-resize-e{right:0}.k-task-single .k-resize-e::before{right:2px;border-left-width:1px}.k-task-single:hover .k-resize-handle,.k-task-single:hover .k-task-actions{visibility:visible}.k-task-complete{border-radius:var(--kendo-border-radius-md, 0.25rem);width:20%;position:absolute;z-index:1;top:0;bottom:0;left:0}.k-task-content{position:relative;z-index:2;display:flex;flex-direction:row;align-items:center;white-space:nowrap}.k-task-template{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-2, 0.5rem);line-height:normal;flex:1;overflow:hidden;text-overflow:ellipsis}.k-task-actions{padding:var(--kendo-spacing-0\.5, 0.125rem);white-space:nowrap;display:flex;flex-direction:row;align-items:center;visibility:hidden;z-index:1}.k-task-actions>.k-link{display:inline-flex}.k-resources-wrap{position:absolute;display:inline-block;z-index:2;margin-left:20px;margin-top:-2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-resources-wrap .k-resource{margin-block:0;margin-inline:5px}.k-task-details{padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-4, 1rem);white-space:nowrap}.k-task-details strong{font-size:var(--kendo-font-size-lg, inherit);font-weight:normal;display:block}.k-task-details .k-task-pct{font-size:calc(16px*2)}.k-task-details ul{line-height:normal}.k-gantt-planned .k-gantt-dependencies,.k-gantt-planned .k-task-dot,.k-gantt-planned .k-resources-wrap{margin-top:.7em}.k-gantt-planned .k-task-wrap{flex-direction:column;align-items:flex-start}.k-gantt-planned .k-task-inner-wrap{display:inline-flex}.k-gantt-planned .k-task-wrap.k-drag-hint{top:.85em}.k-gantt-planned .k-summary-wrap.k-drag-hint{top:1.35em}.k-gantt-planned .k-milestone-wrap.k-drag-hint{top:1.15em}.k-task-planned{margin:0 0 .35em;line-height:.75em;display:flex;align-items:center}.k-task-planned .k-task-moment{border-width:2px;border-radius:calc((4px + 6px)/2);border-style:solid;height:6px;width:6px}.k-task-planned .k-task-duration{height:2px}.k-task-planned .k-task-moment.k-moment-left{margin-left:calc(1px - calc((4px + 6px) / 2))}.k-task-planned:hover .k-task-duration{height:calc(2px + 1px)}.k-milestone-wrap .k-task-moment{margin-left:3px}.k-planned-tooltip .k-task-content{display:block}.k-task-offset-wrap .k-task-content .k-resize-e{display:none}.k-task-offset{flex-direction:row-reverse;display:flex}.k-task-offset .k-resize-handle{right:0;z-index:2;visibility:hidden;margin-right:1.4em}.k-task-offset .k-resize-handle::before{border-left-width:1px;position:absolute;top:50%;bottom:.5em;margin-right:2px}.k-task-single:hover+.k-task-offset .k-task-actions,.k-task-offset:hover .k-task-actions,.k-task-single:hover+.k-task-offset .k-resize-handle,.k-task-offset:hover .k-resize-handle{visibility:visible}.k-gantt-tooltip-validation{max-width:200px;display:block}.k-gantt-tooltip-validation::before{content:"";width:4px;height:100%;position:absolute;top:0;left:0}.k-gantt-tooltip-validation-row{display:flex;flex-direction:row;justify-content:space-between}.k-gantt-tooltip-validation-label{display:inline-flex;min-width:50px}.k-gantt-tooltip-validation-value{font-weight:var(--kendo-font-weight-bold, normal)}.k-gantt-tooltip-validation-label,.k-gantt-tooltip-validation-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-pdf-export-shadow .k-gantt{float:left}.k-pdf-export-shadow .k-gantt,.k-pdf-export-shadow .k-gantt-timeline-pane,.k-pdf-export-shadow .k-gantt-dependencies{width:auto !important;height:auto !important;overflow:visible !important}.k-pdf-export-shadow .k-gantt-treelist .k-treelist{display:block}.k-pdf-export-shadow .k-gantt-layout.k-splitbar{display:none}.k-gantt-edit-form .k-gantt-delete{float:left}.k-rtl .k-gantt-rows,.k-rtl .k-gantt-columns,[dir=rtl] .k-gantt-rows,[dir=rtl] .k-gantt-columns{left:auto;right:0}.k-rtl .k-task-wrap:not(.k-milestone-wrap),[dir=rtl] .k-task-wrap:not(.k-milestone-wrap){margin-block:0;margin-inline:-26px}.k-rtl .k-gantt-timeline-pane .k-header,[dir=rtl] .k-gantt-timeline-pane .k-header{border-width:0 1px 1px 0}.k-rtl .k-gantt-timeline-pane .k-header:first-child,[dir=rtl] .k-gantt-timeline-pane .k-header:first-child{border-right-width:0}.k-rtl .k-gantt-timeline-pane .k-task-start,[dir=rtl] .k-gantt-timeline-pane .k-task-start{left:auto;right:0}.k-rtl .k-gantt-timeline-pane .k-task-end,[dir=rtl] .k-gantt-timeline-pane .k-task-end{right:auto;left:0}.k-rtl .k-task-content,[dir=rtl] .k-task-content{text-align:end}.k-rtl .k-task-complete,[dir=rtl] .k-task-complete{left:auto;right:0}.k-rtl .k-task-draghandle,[dir=rtl] .k-task-draghandle{margin-left:0;margin-right:16px}.k-rtl .k-gantt-dependencies,[dir=rtl] .k-gantt-dependencies{left:auto;right:0}.k-rtl .k-gantt-delete,[dir=rtl] .k-gantt-delete{float:right}.k-rtl .k-task-offset-wrap .k-task-content .k-resize-e,[dir=rtl] .k-task-offset-wrap .k-task-content .k-resize-e{display:block}.k-rtl .k-task-offset-wrap .k-task-content .k-resize-w,[dir=rtl] .k-task-offset-wrap .k-task-content .k-resize-w{display:none}.k-rtl .k-milestone-wrap,[dir=rtl] .k-milestone-wrap{margin-left:-2.4em}.k-rtl .k-milestone-wrap .k-task-moment,[dir=rtl] .k-milestone-wrap .k-task-moment{margin-right:.2em}.k-rtl .k-gantt-timeline-pane .k-milestone-wrap .k-task-start,[dir=rtl] .k-gantt-timeline-pane .k-milestone-wrap .k-task-start{right:-0.1em}.k-rtl .k-gantt-tooltip-validation::before,[dir=rtl] .k-gantt-tooltip-validation::before{left:auto;right:0}.k-rtl .k-gantt-timeline-pane .k-header{border-width:0 1px 1px 0}.k-gantt{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-gantt .k-treelist-scrollable .k-task-milestone .k-task-milestone-content{border-color:var(--kendo-color-primary, #3f51b5);background-color:var(--kendo-color-primary, #3f51b5)}.k-gantt .k-treelist-scrollable .k-task-milestone.k-selected .k-task-milestone-content{border-color:var(--kendo-color-secondary, #e51a5f);background-color:var(--kendo-color-secondary, #e51a5f)}.k-gantt .k-gantt-dependencies-svg polyline{fill:none;stroke:var(--kendo-color-subtle, #757575)}.k-gantt .k-gantt-dependencies-svg polyline.k-selected{stroke:var(--kendo-color-secondary, #e51a5f)}.k-gantt-footer{box-shadow:none}.k-gantt-treelist .k-treelist,.k-gantt-treelist .k-grid-content{background-color:rgba(0,0,0,0)}.k-gantt .k-nonwork-hour{background-color:color-mix(in srgb, var(--kendo-color-on-base, #212121) 3%, transparent)}.k-task-dot::before{background-color:var(--kendo-color-on-app-surface, #212121)}.k-task-dot:hover::before,.k-task-dot.k-hover::before{border-color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-task-milestone{border-color:var(--kendo-color-primary, #3f51b5);background-color:var(--kendo-color-primary, #3f51b5)}.k-task-milestone.k-task-delayed{background-image:repeating-linear-gradient(90deg, var(--kendo-color-app-surface, #ffffff), var(--kendo-color-app-surface, #ffffff) 2px, var(--kendo-color-error, #f31700) 2px, var(--kendo-color-error, #f31700) 4px)}.k-task-milestone.k-task-advanced{background-color:var(--kendo-color-success, #37b400)}.k-task-milestone.k-selected{background-image:none;border-color:var(--kendo-color-secondary, #e51a5f);background-color:var(--kendo-color-secondary, #e51a5f)}.k-task-summary{color:var(--kendo-color-primary-emphasis, #97a0d7)}.k-task-summary.k-task-delayed{color:var(--kendo-color-error-emphasis, #fc8d83)}.k-task-summary.k-task-advanced{color:var(--kendo-color-success-emphasis, #93d775)}.k-task-summary-complete{color:var(--kendo-color-primary, #3f51b5)}.k-task-delayed .k-task-summary-complete{color:var(--kendo-color-error, #f31700)}.k-task-advanced .k-task-summary-complete{color:var(--kendo-color-success, #37b400)}.k-task-summary.k-selected{color:var(--kendo-color-secondary-subtle-active, #f79bb3)}.k-task-summary.k-selected .k-task-summary-complete{color:var(--kendo-color-secondary, #e51a5f)}.k-task-single{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary-emphasis, #97a0d7)}.k-task-single.k-task-delayed{background-color:var(--kendo-color-error-emphasis, #fc8d83)}.k-task-single.k-task-advanced{background-color:var(--kendo-color-success-emphasis, #93d775)}.k-task-single .k-task-complete{background-color:var(--kendo-color-primary, #3f51b5)}.k-task-delayed .k-task-complete{background-color:var(--kendo-color-error, #f31700)}.k-task-advanced .k-task-complete{background-color:var(--kendo-color-success, #37b400)}.k-task-single.k-selected{color:var(--kendo-color-on-secondary, #ffffff);background-color:var(--kendo-color-secondary-subtle-active, #f79bb3)}.k-task-single.k-selected .k-task-complete{background-color:var(--kendo-color-secondary, #e51a5f)}.k-gantt-line{color:var(--kendo-color-subtle, #757575)}.k-gantt-line.k-selected{color:var(--kendo-color-secondary, #e51a5f)}.k-task-planned .k-task-moment{border-color:var(--kendo-color-primary, #3f51b5);background-color:rgba(0,0,0,0)}.k-task-planned .k-task-duration{background-color:var(--kendo-color-primary, #3f51b5)}.k-task-planned:hover .k-task-moment{background-color:var(--kendo-color-primary, #3f51b5)}.k-task-offset{background-image:repeating-linear-gradient(135deg, var(--kendo-color-app-surface, #ffffff), var(--kendo-color-app-surface, #ffffff) 2px, var(--kendo-color-error, #f31700) 2px, var(--kendo-color-error, #f31700) 4px)}.k-task-offset .k-resize-e::before{border-color:#000}.k-task-offset .k-task-actions{color:#000}.k-task-offset:hover{background-image:repeating-linear-gradient(135deg, var(--kendo-color-app-surface, #ffffff), var(--kendo-color-app-surface, #ffffff) 2px, var(--kendo-color-error-emphasis, #fc8d83) 2px, var(--kendo-color-error-emphasis, #fc8d83) 4px)}.k-pdf-export .k-task-offset{background-color:var(--kendo-color-error, #f31700)}.k-offset-tooltip-delayed{background-color:var(--kendo-color-error, #f31700)}.k-planned-tooltip{background-color:var(--kendo-color-primary, #3f51b5)}.k-gantt-tooltip-validation::before{background-color:#656565}.k-gantt-tooltip-valid::before{background-color:var(--kendo-color-success, #37b400)}.k-gantt-tooltip-invalid::before{background-color:var(--kendo-color-error, #f31700)}.k-gantt-timeline-pane tbody>tr:not(:only-child)>.k-header{border-left-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-rtl .k-gantt-timeline-pane .k-grid-header tbody>tr:not(:only-child)>.k-header{border-right-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-scheduler{border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-direction:column;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-scheduler table,.k-scheduler thead,.k-scheduler tfoot,.k-scheduler tbody,.k-scheduler tr,.k-scheduler th,.k-scheduler td,.k-scheduler div,.k-scheduler .k-scheduler-edit-dialog,.k-scheduler>*{border-color:inherit}kendo-scheduler.k-scheduler{overflow:hidden}kendo-scheduler.k-scheduler.k-readonly-scheduler .k-event-delete{display:none}.k-scheduler-table{width:100%;max-width:none;border-collapse:separate;border-spacing:0;table-layout:fixed}.k-scheduler-table td,.k-scheduler-table th{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);height:calc(var(--kendo-line-height, normal)*1rem);overflow:hidden;white-space:nowrap;border-style:solid;border-width:0 0 1px 1px;vertical-align:top;box-sizing:content-box}.k-scheduler-table td:first-child,.k-scheduler-table th:first-child{border-left-width:0}.k-scheduler-table .k-middle-row td{border-bottom-style:dotted}.k-scheduler-table .k-link{cursor:pointer}.k-scheduler-layout-flex{overflow:auto}.k-scheduler-layout-flex .k-scheduler-head{position:sticky;top:0;z-index:3}.k-scheduler-layout-flex .k-scheduler-body{position:relative}.k-scheduler-layout-flex .k-scheduler-head,.k-scheduler-layout-flex .k-scheduler-body{display:flex;flex:100%;flex-wrap:wrap}.k-scheduler-layout-flex .k-scheduler-row{display:flex;flex:1 1 100%;width:100%;min-width:0}.k-scheduler-layout-flex .k-scheduler-group{display:flex;flex:1 1 100%;width:100%;min-width:0;flex-wrap:wrap}.k-scheduler-layout-flex .k-scheduler-group .k-group-cell{display:flex;flex:1 1 auto;flex-wrap:wrap;overflow:auto}.k-scheduler-layout-flex .k-scheduler-group .k-group-content{padding:0;display:flex;flex:1 1 100%;width:100%;border-width:0;flex-wrap:wrap}.k-scheduler-layout-flex .k-scheduler-group.k-group-horizontal .k-group-cell{flex-basis:100%;border-width:0;padding:0}.k-scheduler-layout-flex.k-scheduler-timeline-view .k-scheduler-body .k-scheduler-cell{flex-basis:auto}.k-scheduler-layout-flex .k-more-events{bottom:2px;left:0;width:100%}.k-scheduler-layout-flex .k-scheduler-cell{display:flex;flex:1 1 100%;padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);min-height:1.5em;overflow:hidden;white-space:nowrap;border-style:solid;border-width:0 1px 1px 0;vertical-align:top;box-sizing:content-box}.k-scheduler-layout-flex .k-scheduler-cell.k-slot-cell{position:relative}.k-scheduler-layout-flex .k-scheduler-cell.k-heading-cell{justify-content:center;font-weight:bold}.k-scheduler-layout-flex .k-scheduler-cell.k-side-cell{justify-content:flex-end;flex-grow:0;flex-basis:auto;overflow:visible}.k-scheduler-layout-flex .k-scheduler-cell.k-major-cell{border-bottom-width:0}.k-scheduler-layout-flex .k-middle-row .k-scheduler-cell{border-bottom-style:dotted}.k-scheduler-layout-flex .k-resource-cell{flex:none;display:flex;flex-wrap:wrap;overflow:visible}.k-scheduler-layout-flex .k-resource-content{display:flex;flex-wrap:wrap;padding:0;border-width:0}.k-scheduler-layout-flex .k-sticky-cell{display:flex;flex-wrap:wrap;flex-basis:0;position:sticky;left:0;z-index:3}.k-scheduler-toolbar{border-width:0;border-bottom-width:0;white-space:nowrap;flex-shrink:0;position:relative;z-index:2}.k-scheduler-toolbar .k-widget{font-size:inherit}.k-scheduler-toolbar .k-nav-current{color:inherit;outline:0;text-decoration:none;display:inline-flex;flex-flow:row nowrap;align-items:center;gap:var(--kendo-spacing-2, 0.5rem);cursor:pointer}.k-scheduler-toolbar .k-scheduler-search{display:inline-flex;flex-flow:row nowrap}.k-scheduler-toolbar .k-views-dropdown{width:auto;font:inherit}.k-scheduler-footer{box-shadow:none;border-width:0;border-top-width:0;white-space:nowrap;flex-shrink:0;position:relative}.k-scheduler-layout{width:100%;border-collapse:separate;border-spacing:0;flex:1 1 auto;position:relative;z-index:1}.k-scheduler-layout>tbody>tr>td{padding:0;vertical-align:top}.k-scheduler-layout td.k-selected,.k-scheduler-layout .k-scheduler-cell.k-selected{outline:none}.k-scheduler-layout tr+tr .k-scheduler-times tr th,.k-scheduler-layout .k-scheduler-pane+.k-scheduler-pane .k-scheduler-times tr th{border-bottom-color:rgba(0,0,0,0)}.k-scheduler-layout tr+tr .k-scheduler-times tr .k-slot-cell,.k-scheduler-layout tr+tr .k-scheduler-times tr .k-scheduler-times-all-day,.k-scheduler-layout tr+tr .k-scheduler-times tr:last-child th,.k-scheduler-layout .k-scheduler-pane+.k-scheduler-pane .k-scheduler-times tr .k-slot-cell,.k-scheduler-layout .k-scheduler-pane+.k-scheduler-pane .k-scheduler-times tr .k-scheduler-times-all-day,.k-scheduler-layout .k-scheduler-pane+.k-scheduler-pane .k-scheduler-times tr:last-child th{border-bottom-color:inherit}.k-scheduler-layout.k-scheduler-flex-layout{display:flex;flex-direction:column}.k-scheduler-layout.k-scheduler-flex-layout.k-scheduler-weekview .k-scheduler-pane:first-child .k-scheduler-table,.k-scheduler-layout.k-scheduler-flex-layout.k-scheduler-dayview .k-scheduler-pane:first-child .k-scheduler-table{table-layout:fixed}.k-scheduler-header,.k-scheduler-view-header{padding-inline-end:var(--kendo-scrollbar-width, 17px)}.k-scheduler-header th{text-align:center}.k-scheduler-header,.k-scheduler-header-wrap,.k-scheduler-header-wrap>div{border-color:inherit;overflow:hidden}.k-scheduler-header-wrap{border-width:0;border-style:solid;position:relative}.k-scheduler-times{border-color:inherit;position:relative;overflow:hidden}.k-scheduler-times .k-scheduler-table{table-layout:auto}.k-scheduler-times th{border-width:0 1px 1px 0;text-align:end}.k-scheduler-times .k-slot-cell,.k-scheduler-times .k-scheduler-times-all-day{border-bottom-color:inherit}.k-scheduler-times .k-slot-cell.k-last-resource{border-right:0}.k-scheduler-times .k-slot-cell.k-empty-slot{padding-left:0;padding-right:0}.k-scheduler-datecolumn{width:12rem}.k-scheduler-timecolumn{width:11rem;white-space:nowrap}.k-scheduler-content{border-color:inherit;position:relative;overflow:auto}.k-scheduler-content:focus{outline:none}kendo-scheduler .k-event,.k-event{border-radius:var(--kendo-border-radius-md, 0.25rem);min-height:25px;box-sizing:border-box;border-width:0;border-style:solid;border-radius:var(--kendo-border-radius-md, 0.25rem);text-align:start;outline:0;cursor:default;position:absolute;overflow:hidden;padding-right:var(--kendo-spacing-4, 1rem)}kendo-scheduler .k-event>div,.k-event>div{position:relative;z-index:2}kendo-scheduler .k-event .k-event-template,.k-event .k-event-template{line-height:calc(25px - 2*var(--kendo-spacing-0\.5, 0.125rem));padding-block:var(--kendo-spacing-1, 0.25rem);padding-inline:var(--kendo-spacing-4, 1rem)}kendo-scheduler .k-event .k-event-time,.k-event .k-event-time{padding-bottom:0;font-size:.875em;white-space:nowrap;display:none}kendo-scheduler .k-event .k-event-actions,.k-event .k-event-actions{white-space:nowrap;position:absolute;top:0;bottom:0;right:var(--kendo-spacing-4, 1rem);z-index:2}kendo-scheduler .k-event .k-event-actions .k-event-delete,.k-event .k-event-actions .k-event-delete{opacity:.5;visibility:hidden}kendo-scheduler .k-event .k-event-actions:hover .k-event-delete,kendo-scheduler .k-event .k-event-actions.k-hover .k-event-delete,.k-event .k-event-actions:hover .k-event-delete,.k-event .k-event-actions.k-hover .k-event-delete{opacity:1}kendo-scheduler .k-event .k-event-actions a,.k-event .k-event-actions a{color:inherit}kendo-scheduler .k-event .k-event-actions:first-child,.k-event .k-event-actions:first-child{margin:var(--kendo-spacing-0\.5, 0.125rem) .4ex 0 var(--kendo-spacing-2, 0.5rem);top:0;right:0;float:left;position:relative;opacity:1;visibility:visible;line-height:normal}kendo-scheduler .k-event .k-resize-handle,.k-event .k-resize-handle{z-index:4;opacity:.5;visibility:hidden}kendo-scheduler .k-event .k-resize-handle::before,.k-event .k-resize-handle::before{border-color:currentColor}kendo-scheduler .k-event .k-resize-n,.k-event .k-resize-n{height:.5em;top:0}kendo-scheduler .k-event .k-resize-s,.k-event .k-resize-s{height:.5em;bottom:0}kendo-scheduler .k-event .k-resize-n::before,kendo-scheduler .k-event .k-resize-s::before,.k-event .k-resize-n::before,.k-event .k-resize-s::before{width:var(--kendo-spacing-8, 2rem);border-bottom-width:1px}kendo-scheduler .k-event .k-resize-w,.k-event .k-resize-w{width:.5em;left:0}kendo-scheduler .k-event .k-resize-e,.k-event .k-resize-e{width:.5em;right:0}kendo-scheduler .k-event .k-resize-w::before,kendo-scheduler .k-event .k-resize-e::before,.k-event .k-resize-w::before,.k-event .k-resize-e::before{height:var(--kendo-spacing-8, 2rem);border-left-width:1px}kendo-scheduler .k-event:hover .k-event-actions .k-event-delete,kendo-scheduler .k-event:hover .k-resize-handle,kendo-scheduler .k-event.k-hover .k-event-actions .k-event-delete,kendo-scheduler .k-event.k-hover .k-resize-handle,.k-event:hover .k-event-actions .k-event-delete,.k-event:hover .k-resize-handle,.k-event.k-hover .k-event-actions .k-event-delete,.k-event.k-hover .k-resize-handle{visibility:visible}kendo-scheduler .k-event.k-event-drag-hint .k-event-time,.k-event.k-event-drag-hint .k-event-time{display:block}kendo-scheduler .k-event .k-event-top-actions,kendo-scheduler .k-event .k-event-bottom-actions,.k-event .k-event-top-actions,.k-event .k-event-bottom-actions{position:absolute;top:0;left:0;width:100%;text-align:center}kendo-scheduler .k-event .k-event-bottom-actions,.k-event .k-event-bottom-actions{top:auto;bottom:0}.k-scheduler-mark{width:1em;height:1em;display:inline-block;vertical-align:middle}.k-more-events{padding:0;height:13px;border-style:solid;border-width:1px;overflow:hidden;position:absolute;justify-content:center}.k-more-events>.k-icon{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.k-event-drag-hint{opacity:.5;z-index:3}.k-event-drag-hint .k-event-actions,.k-event-drag-hint .k-event-top-actions,.k-event-drag-hint .k-event-bottom-actions,.k-event-drag-hint .k-resize-handle{display:none}.k-event-drag-hint .k-event-time{display:block}.k-scheduler-marquee{border-width:0;border-style:solid}.k-scheduler-marquee .k-label-top,.k-scheduler-marquee .k-label-bottom{font-size:.75em;position:absolute}.k-scheduler-marquee .k-label-top{left:var(--kendo-spacing-2, 0.5rem);top:var(--kendo-spacing-0\.5, 0.125rem)}.k-scheduler-marquee .k-label-bottom{right:var(--kendo-spacing-2, 0.5rem);bottom:var(--kendo-spacing-0\.5, 0.125rem)}.k-scheduler-marquee.k-first::before,.k-scheduler-marquee.k-last::after{content:"";border-width:3px;border-style:solid;position:absolute;width:0;height:0}.k-scheduler-marquee.k-first::before{top:0;left:0;border-right-color:rgba(0,0,0,0);border-bottom-color:rgba(0,0,0,0)}.k-scheduler-marquee.k-last::after{bottom:0;right:0;border-left-color:rgba(0,0,0,0);border-top-color:rgba(0,0,0,0)}.k-pdf-export-shadow .k-scheduler,.k-scheduler-pdf-export .k-scheduler-content,.k-scheduler-pdf-export .k-scheduler-times{height:auto !important;overflow:visible !important}.k-scheduler-pdf-export{overflow:hidden}.k-scheduler-pdf-export .k-scheduler-header{padding:0 !important}.k-scheduler-pdf-export .k-scheduler-header-wrap{border-width:0 !important}.k-scheduler-pdf-export .k-scheduler-header .k-scheduler-table,.k-scheduler-pdf-export .k-scheduler-content .k-scheduler-table{width:100% !important}.k-recurrence-editor{display:flex;flex-direction:column}kendo-scheduler .k-recurrence-editor{display:block}.k-scheduler-monthview .k-scheduler-table{height:100%}.k-scheduler-monthview .k-scheduler-table td{height:80px;text-align:end}.k-scheduler-monthview .k-scheduler-body .k-scheduler-cell{min-height:80px}.k-scheduler-monthview .k-hidden{padding-left:0 !important;padding-right:0 !important;border-right-width:0 !important}.k-scheduler-monthview .k-scheduler-table-auto,.k-scheduler-monthview .k-scheduler-table-auto td,.k-scheduler-monthview .k-scheduler-content .k-scheduler-table-auto{height:auto}.k-scheduler-monthview .k-scheduler-content{overflow-y:scroll}.k-scheduler-monthview.k-scheduler-flex-layout .k-scheduler-content{overflow-y:auto}.k-scheduler-agendaview .k-scheduler-mark{margin-right:.5em;width:1em;height:1em;display:inline-block;vertical-align:middle}.k-scheduler-agendaview .k-scheduler-table th:first-child,.k-scheduler-agendaview .k-scheduler-table td:first-child{border-left-width:1px}.k-scheduler-agendaview .k-scheduler-table td.k-first{border-left-width:0}.k-scheduler-agendaview .k-task>.k-event-delete{color:inherit;position:absolute;top:var(--kendo-spacing-0\.5, 0.125rem);right:var(--kendo-spacing-0\.5, 0.125rem);opacity:.5;visibility:hidden}.k-scheduler-agendaview .k-hover .k-task>.k-event-delete,.k-scheduler-agendaview .k-scheduler-content tr:hover .k-event-delete,.k-scheduler-agendaview .k-scheduler-content .k-scheduler-row:hover .k-event-delete,.k-scheduler-agendaview .k-scheduler-content .k-scheduler-row.k-hover .k-event-delete{visibility:visible}.k-scheduler-agendaday{margin:0 .2em 0 0;font-size:3em;line-height:1;font-weight:400;float:left}.k-scheduler-agendaweek{display:block;margin:.4em 0 0;line-height:1;font-style:normal}.k-scheduler-agendadate{font-size:.75em}.k-scheduler-timelineview .k-slot-cell{overflow:hidden}.k-scheduler-timelineview .k-scheduler-content{overflow:auto}.k-scheduler-pane{display:flex;flex-direction:row}.k-scheduler-pane .k-scheduler-times{flex:0 0 auto}.k-scheduler-pane .k-scheduler-times .k-scheduler-table{height:100%}.k-scheduler-pane .k-scheduler-header,.k-scheduler-pane .k-scheduler-content{flex:1 1 auto}.k-scheduler-yearview .k-scheduler-body{padding-block:var(--kendo-spacing-5, 1.25rem);padding-inline:var(--kendo-spacing-5, 1.25rem);justify-content:center}.k-scheduler-yearview .k-calendar{width:100%;border-width:0}.k-scheduler-yearview .k-calendar .k-calendar-view{flex-wrap:wrap;justify-content:center;gap:var(--kendo-spacing-5, 1.25rem)}.k-scheduler-yearview .k-calendar .k-content{flex:0}.k-scheduler-yearview .k-calendar .k-link{position:relative}.k-scheduler-yearview .k-calendar td.k-selected{background-color:inherit}.k-scheduler-yearview .k-day-indicator{margin-top:calc(36px - 0.25em*2);width:3px;height:3px;border-radius:50%;position:absolute;left:calc(50% - 1.5px)}.k-scheduler-tooltip{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border-width:0;color:inherit}.k-scheduler-tooltip .k-tooltip-title{margin-bottom:var(--kendo-spacing-2, 0.5rem)}.k-scheduler-tooltip .k-tooltip-title .k-month{font-size:var(--kendo-font-size-sm, inherit);text-transform:uppercase}.k-scheduler-tooltip .k-tooltip-title .k-day{font-size:calc(var(--kendo-font-size-sm, 0.75rem)*2)}.k-scheduler-tooltip .k-tooltip-events-container{overflow:auto}.k-scheduler-tooltip .k-tooltip-events{max-height:250px;display:flex;flex-direction:column;gap:var(--kendo-spacing-1, 0.25rem)}.k-scheduler-tooltip .k-tooltip-event{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border-radius:var(--kendo-border-radius-md, 0.25rem);box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex-shrink:0;position:relative;gap:var(--kendo-spacing-2, 0.5rem)}.k-scheduler-tooltip .k-tooltip-event .k-event-time{display:flex;flex-shrink:0;font-size:inherit}.k-scheduler-tooltip .k-no-data,.k-scheduler-tooltip .k-nodata{height:auto;min-height:auto;color:inherit}.k-scheduler-edit-dialog .k-dialog{max-height:100vh}.k-scheduler-edit-form .k-edit-form-container{width:100%}.k-scheduler-edit-form .k-edit-label{width:17%}.k-scheduler-edit-form .k-edit-field{width:77%}.k-scheduler-edit-form .k-edit-field>ul>li{display:flex;flex-flow:row nowrap;align-items:center}.k-scheduler-edit-form .k-recurrence-editor .k-radio-list .k-radio-wrap,.k-scheduler-edit-form .k-recurrence-editor .k-checkbox-list .k-checkbox-wrap{align-self:center}.k-scheduler-edit-form .k-recur-interval,.k-scheduler-edit-form .k-recur-count,.k-scheduler-edit-form .k-recur-monthday{width:5em}.k-scheduler-edit-form .k-recur-until,.k-scheduler-edit-form .k-recur-month,.k-scheduler-edit-form .k-recur-weekday,.k-scheduler-edit-form .k-recur-weekday-offset{width:10em}.k-scheduler-edit-form .k-scheduler-datetime-picker{display:flex;flex-flow:row nowrap;gap:var(--kendo-spacing-2, 0.5rem)}.k-rtl .k-scheduler-header th,.k-rtl .k-scheduler-table td{border-width:0 1px 1px 0}.k-rtl .k-scheduler-table td:first-child,.k-rtl .k-scheduler-table th:first-child{border-right-width:0}.k-rtl .k-scheduler-times th{border-width:0 0 1px 1px}.k-rtl .k-scheduler .k-scrollbar-v .k-scheduler-header-wrap{border-right-width:0;border-left-width:1px}.k-rtl .k-event{padding-right:0;padding-left:var(--kendo-spacing-4, 1rem)}.k-rtl .k-event .k-resize-w{left:auto;right:0}.k-rtl .k-event .k-resize-e{right:auto;left:0}.k-rtl .k-event .k-event-actions{right:auto;left:2px}.k-rtl .k-event .k-event-actions:first-child{margin:var(--kendo-spacing-0\.5, 0.125rem) var(--kendo-spacing-2, 0.5rem) 0 .4ex;float:right}.k-rtl .k-scheduler-agendaview .k-task>.k-event-delete{left:2px;right:auto}.k-rtl .k-scheduler-agendaview .k-task .k-scheduler-mark{margin-left:.5em;margin-right:0}.k-rtl .k-scheduler-marquee .k-label-top{left:auto;right:4px}.k-rtl .k-scheduler-marquee .k-label-bottom{left:4px;right:auto}.k-rtl .k-scheduler-edit-form .k-scheduler-delete{float:right}.k-rtl .k-scheduler .k-scheduler-header-wrap,.k-rtl.k-scheduler .k-scheduler-header-wrap{border-right-width:0}.k-rtl .k-scheduler .k-scheduler-agendaday,.k-rtl.k-scheduler .k-scheduler-agendaday{float:right;margin:0 0 0 .2em}.k-rtl .k-scheduler .k-scheduler-agendaview .k-scheduler-table td:first-child,.k-rtl .k-scheduler .k-scheduler-agendaview .k-scheduler-table th:first-child,.k-rtl.k-scheduler .k-scheduler-agendaview .k-scheduler-table td:first-child,.k-rtl.k-scheduler .k-scheduler-agendaview .k-scheduler-table th:first-child{border-left-width:0}.k-rtl .k-scheduler .k-scheduler-agendaview .k-scheduler-table tr+tr td:first-child,.k-rtl .k-scheduler .k-scheduler-agendaview .k-scheduler-table tr+tr th:first-child,.k-rtl.k-scheduler .k-scheduler-agendaview .k-scheduler-table tr+tr td:first-child,.k-rtl.k-scheduler .k-scheduler-agendaview .k-scheduler-table tr+tr th:first-child{border-right-width:1px}.k-safari .k-scheduler-tooltip .k-tooltip-event:not(:last-child){margin-bottom:var(--kendo-spacing-2, 0.5rem)}.k-safari .k-scheduler-yearview .k-calendar-view .k-month{margin-block:0;margin-inline:var(--kendo-spacing-5, 1.25rem)/2}.k-scheduler-footer{border-top-width:1px}.k-scheduler-header{text-align:start}.k-scheduler-header th,.k-scheduler-header td{font-size:var(--kendo-font-size-sm, inherit)}.k-scheduler-times{font-size:var(--kendo-font-size-sm, inherit)}kendo-scheduler .k-event.k-selected::before,.k-event.k-selected::before{display:block}kendo-scheduler .k-event .k-event-template,.k-event .k-event-template{padding-block:var(--kendo-spacing-0\.5, 0.125rem);padding-inline:var(--kendo-spacing-2, 0.5rem)}kendo-scheduler .k-event .k-event-actions,.k-event .k-event-actions{right:var(--kendo-spacing-2, 0.5rem)}.k-event .k-event-delete{border-radius:50%;display:inline-block;font-size:var(--kendo-font-size-sm, inherit);line-height:normal}.k-event .k-event-delete .k-icon{padding:calc(var(--kendo-font-size, 0.875rem) - var(--kendo-font-size-sm, 0.75rem));box-sizing:content-box;vertical-align:unset}.k-event .k-resize-handle{opacity:1}.k-event .k-resize-handle::before{border-width:0}.k-event .k-resize-n::before{height:2px;align-self:flex-start;border-radius:0 0 1px 1px}.k-event .k-resize-s::before{height:2px;align-self:flex-end;border-radius:1px 1px 0 0}.k-event .k-resize-e::before{width:2px;border-radius:0 1px 1px 0}.k-event .k-resize-w::before{width:2px;border-radius:1px 0 0 1px}.k-more-events{border-width:0;box-shadow:none}.k-scheduler-layout-flex .k-scheduler-cell{min-height:calc(2*1em)}.k-scheduler-monthview .k-scheduler-table td{height:85px}.k-scheduler-edit-form .k-edit-label{width:auto;margin-bottom:.5em}.k-scheduler-edit-form .k-edit-label label{margin-bottom:0}.k-scheduler-edit-form .k-edit-field{width:auto;align-items:center}.k-edit-field .k-reset{width:100%}.k-edit-field .k-widget{font-size:inherit}.k-edit-field .k-reset .k-widget{margin-right:0}.k-scheduler-timezones .k-edit-field>div{width:100%}.k-scheduler-timezones .k-edit-field .k-widget{width:45%}.k-scheduler{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-scheduler-toolbar{background-color:var(--kendo-color-surface, #f5f5f5)}.k-scheduler-footer{background-color:var(--kendo-color-surface, #f5f5f5)}.k-scheduler-header{background-color:var(--kendo-color-app-surface, #ffffff)}.k-scheduler-header-wrap{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-scheduler-nonwork,.k-scheduler .k-nonwork-hour{background-color:var(--kendo-color-surface, #f5f5f5)}.k-scheduler-other-month,.k-scheduler .k-other-month{background-color:var(--kendo-color-surface, #f5f5f5)}.k-scheduler-layout td.k-selected,.k-scheduler-layout .k-scheduler-cell.k-selected{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 25%, transparent)}.k-scheduler-layout-flex .k-scheduler-head,.k-scheduler-layout-flex .k-sticky-cell{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-event{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-event.k-selected{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary-active, #354498);box-shadow:k-elevation(3)}.k-event.k-event-inverse{color:var(--kendo-color-on-app-surface, #212121)}.k-event.k-event-ongoing{box-shadow:inset 0px 0px 0px 1px red}.k-scheduler-marquee::before,.k-scheduler-marquee::after{border-color:var(--kendo-color-primary, #3f51b5)}.k-scheduler-edit-dialog .k-dialog-actions{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-scheduler-agendaview .k-scheduler-content tr:hover,.k-scheduler-agendaview .k-scheduler-content tr.k-hover,.k-scheduler-agendaview .k-scheduler-content .k-scheduler-row:hover,.k-scheduler-agendaview .k-scheduler-content .k-scheduler-row.k-hover{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-base-hover, #ebebeb)}.k-scheduler-agendaview .k-scheduler-content tr:hover .k-scheduler-datecolumn,.k-scheduler-agendaview .k-scheduler-content tr:hover .k-scheduler-groupcolumn,.k-scheduler-agendaview .k-scheduler-content tr.k-hover .k-scheduler-datecolumn,.k-scheduler-agendaview .k-scheduler-content tr.k-hover .k-scheduler-groupcolumn{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-scheduler-agendaview .k-scheduler-content tr.k-selected{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 25%, transparent)}.k-scheduler-agendaview .k-scheduler-content tr.k-selected .k-scheduler-datecolumn,.k-scheduler-agendaview .k-scheduler-content tr.k-selected .k-scheduler-groupcolumn{background-color:var(--kendo-color-surface-alt, #ffffff)}.k-scheduler-yearview .k-day-indicator{background-color:var(--kendo-color-primary, #3f51b5)}.k-scheduler-yearview .k-selected .k-day-indicator{background-color:var(--kendo-color-on-primary, #ffffff)}.k-tooltip.k-scheduler-tooltip{color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-on-primary, #ffffff);box-shadow:k-elevation(2)}.k-tooltip.k-scheduler-tooltip .k-callout{color:var(--kendo-color-on-primary, #ffffff)}.k-scheduler-layout td.k-selected,.k-scheduler-layout .k-scheduler-cell.k-selected{background-color:color-mix(in srgb, var(--kendo-color-secondary, #e51a5f) 25%, transparent)}.k-scheduler-agendaview .k-scheduler-content tr.k-selected{background-color:color-mix(in srgb, var(--kendo-color-secondary, #e51a5f) 25%, transparent)}.k-event .k-event-actions .k-link{color:var(--kendo-color-primary, #3f51b5);background-color:var(--kendo-color-on-primary, #ffffff)}.k-event .k-resize-handle::before{background-color:var(--kendo-color-on-primary, #ffffff)}.k-scheduler-edit-form .k-edit-label{color:var(--kendo-color-subtle, #757575)}.k-chat{margin:auto;max-width:500px;height:600px;max-height:100%;border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-direction:column;overflow:hidden;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-chat .k-message-list{display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}.k-chat .k-message-list-content{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-4, 1rem);width:100%;box-sizing:border-box;position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}.k-chat .k-message-list-content>*+*{margin-top:var(--kendo-spacing-4, 1rem)}.k-chat .k-message-group{max-width:80%;background:none;box-sizing:border-box;display:flex;flex-shrink:0;flex-direction:column;position:relative}.k-chat .k-message-group:not(.k-alt){align-items:flex-start;text-align:start}.k-chat .k-message-group:not(.k-alt) .k-message-time{margin-inline-start:var(--kendo-spacing-2, 0.5rem);inset-inline-start:100%}.k-chat .k-message-group:not(.k-alt) .k-message-status{inset-inline-start:0}.k-chat .k-message-group:not(.k-alt) .k-first .k-chat-bubble,.k-chat .k-message-group:not(.k-alt) .k-only .k-chat-bubble{border-bottom-left-radius:2px}.k-chat .k-message-group:not(.k-alt) .k-middle .k-chat-bubble,.k-chat .k-message-group:not(.k-alt) .k-last .k-chat-bubble{border-top-left-radius:2px;border-bottom-left-radius:2px}.k-chat .k-message-group.k-alt{align-self:flex-end;align-items:flex-end;text-align:end}.k-chat .k-message-group.k-alt .k-message-time{margin-inline-end:var(--kendo-spacing-2, 0.5rem);inset-inline-end:100%}.k-chat .k-message-group.k-alt .k-message-status{inset-inline-end:0}.k-chat .k-message-group.k-alt .k-first .k-chat-bubble,.k-chat .k-message-group.k-alt .k-only .k-chat-bubble{border-bottom-right-radius:2px}.k-chat .k-message-group.k-alt .k-middle .k-chat-bubble,.k-chat .k-message-group.k-alt .k-last .k-chat-bubble{border-top-right-radius:2px;border-bottom-right-radius:2px}.k-chat .k-message{max-width:100%;margin:var(--kendo-spacing-0\.5, 0.125rem) 0 0;position:relative;transition:margin .2s ease-in-out;outline:none}.k-chat .k-message-time,.k-chat .k-message-status{font-size:var(--kendo-font-size-sm, inherit);line-height:var(--kendo-line-height-lg, normal);white-space:nowrap;pointer-events:none;position:absolute}.k-chat .k-message-time{opacity:0;top:50%;transform:translateY(-50%);transition:opacity .2s ease-in-out}.k-chat .k-message-status{margin-top:var(--kendo-spacing-0\.5, 0.125rem);height:0;overflow:hidden;top:100%;transition:height .2s ease-in-out}.k-chat .k-chat-bubble{border-radius:12px;padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-3, 0.75rem);border-width:1px;border-style:solid;line-height:1.4285714286;word-wrap:break-word;white-space:pre-wrap}.k-chat .k-chat-bubble a{color:inherit;text-decoration:underline}.k-chat .k-message.k-selected{margin-bottom:var(--kendo-spacing-4, 1rem);border:0;color:inherit;background:none}.k-chat .k-message.k-selected .k-message-time{opacity:1}.k-chat .k-message.k-selected .k-message-status{height:1.2em}.k-chat .k-message-error,.k-chat .k-message-sending{margin-bottom:var(--kendo-spacing-4, 1rem)}.k-chat .k-message-error .k-message-status,.k-chat .k-message-sending .k-message-status{height:1.2em}.k-chat .k-avatar{margin:0;position:absolute}.k-message-group:not(.k-alt)>.k-avatar{inset-inline-start:0;bottom:0}.k-message-group.k-alt>.k-avatar{inset-inline-end:0;bottom:0}.k-chat .k-avatars .k-message-group:not(.k-no-avatar){padding-inline-start:calc(32px + var(--kendo-spacing-2, 0.5rem))}.k-chat .k-avatars .k-message-group.k-alt:not(.k-no-avatar){padding-inline-end:calc(32px + var(--kendo-spacing-2, 0.5rem))}.k-author{margin:0;font-size:var(--kendo-font-size-sm, inherit);line-height:var(--kendo-line-height-lg, normal)}.k-chat .k-author{margin:0}.k-chat .k-timestamp{font-size:var(--kendo-font-size-sm, inherit);line-height:var(--kendo-line-height-lg, normal);text-transform:uppercase;text-align:center;align-self:stretch}.k-quick-replies{display:block;max-width:100%}.k-quick-reply{border-radius:100px;margin-inline-end:var(--kendo-spacing-2, 0.5rem);margin-block-end:calc(var(--kendo-spacing-2, 0.5rem)/2);padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-3, 0.75rem);border-width:1px;border-style:solid;line-height:1.4285714286;cursor:pointer;user-select:none;display:inline-block;flex:0 0 auto;transition-property:color,background-color,border-color;transition-duration:.2s;transition-timing-function:ease-in-out;outline:none}.k-scrollable-quick-replies{margin-inline-start:-var(--kendo-spacing-4, 1rem);margin-inline-end:-var(--kendo-spacing-4, 1rem);padding-inline-start:var(--kendo-spacing-4, 1rem);padding-inline-end:var(--kendo-spacing-4, 1rem);display:flex;flex-flow:row nowrap;flex:0 0 auto;overflow-x:auto;overflow-y:hidden}.k-scrollable-quick-replies::-webkit-scrollbar{display:none}.k-scrollable-quick-replies .k-quick-reply{margin:0}.k-scrollable-quick-replies .k-quick-reply+.k-quick-reply{margin-inline-start:var(--kendo-spacing-2, 0.5rem)}.k-message-box{width:100%;height:auto;box-sizing:border-box;border-width:1px 0 0;border-style:solid;border-color:inherit !important;border-radius:0 !important;flex:none;display:flex;flex-flow:row nowrap;align-items:center}.k-message-box:focus,.k-message-box.k-focus,.k-message-box:focus-within{outline:0;box-shadow:none}.k-message-box .k-button{border-width:0;flex-shrink:0}.k-message-box .k-button svg{width:20px;height:20px;fill:currentColor;display:inline-block}.k-rtl .k-message-box .k-button,[dir=rtl] .k-message-box .k-button{transform:scaleX(-1)}.k-chat .k-card-list{margin:var(--kendo-spacing-0\.5, 0.125rem) 0 0}.k-message-group.k-alt+.k-card-list,.k-message-group.k-alt+kendo-chat-message-attachments.k-card-list{align-self:flex-end}.k-chat .k-card-deck{max-width:calc(100% + var(--kendo-spacing-4, 1rem)*2);box-sizing:border-box;margin-inline-start:calc(var(--kendo-spacing-4, 1rem)*-1);margin-inline-end:calc(var(--kendo-spacing-4, 1rem)*-1);padding:var(--kendo-spacing-4, 1rem) var(--kendo-spacing-4, 1rem) var(--kendo-spacing-4, 1rem);overflow:hidden;overflow-x:auto;scroll-behavior:smooth}.k-chat .k-card-deck .k-card{width:200px}.k-chat .k-card-deck-scrollwrap{margin-right:calc(var(--kendo-spacing-4, 1rem)*-1);margin-left:calc(var(--kendo-spacing-4, 1rem)*-1);padding-left:var(--kendo-spacing-4, 1rem);padding-right:var(--kendo-spacing-4, 1rem)}.k-chat .k-card-deck-scrollwrap>.k-card-deck{margin-bottom:-20px;padding-bottom:20px}.k-chat .k-card-deck .k-card-wrap{display:flex;flex-flow:row nowrap;align-items:stretch;flex:0 0 auto;padding-bottom:5px}.k-chat .k-card-deck .k-card-wrap .k-card{flex:0 0 auto}.k-chat .k-card-deck .k-card-wrap.k-selected{background:none}.k-typing-indicator{padding:0;border-radius:50px;display:inline-flex;flex-flow:row nowrap}.k-typing-indicator span{width:8px;height:8px;border-radius:50%;flex:0 0 8px;background-color:currentColor;opacity:.4}.k-typing-indicator span:nth-of-type(1){animation:1s k-animation-blink infinite .3333s}.k-typing-indicator span:nth-of-type(2){animation:1s k-animation-blink infinite .6666s}.k-typing-indicator span:nth-of-type(3){animation:1s k-animation-blink infinite .9999s}.k-typing-indicator span+span{margin-left:5px}@keyframes k-animation-blink{50%{opacity:1}}.k-chat-toolbar,.k-chat .k-toolbar-box{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);width:100%;border-width:1px 0 0;box-sizing:border-box;flex:none;overflow:hidden;position:relative;gap:var(--kendo-spacing-2, 0.5rem)}.k-chat-toolbar::before,.k-chat .k-toolbar-box::before{display:none}.k-chat-toolbar .k-button-list,.k-chat .k-toolbar-box .k-button-list{display:flex;flex-flow:row nowrap;overflow:hidden;scroll-behavior:smooth}.k-chat-toolbar .k-button,.k-chat .k-toolbar-box .k-button{flex:none}.k-chat-toolbar .k-scroll-button,.k-chat .k-toolbar-box .k-scroll-button{padding:0 var(--kendo-spacing-1, 0.25rem);height:100%;aspect-ratio:auto;position:absolute;z-index:2;top:0}.k-chat-toolbar .k-scroll-button .k-button-icon,.k-chat .k-toolbar-box .k-scroll-button .k-button-icon{min-width:auto;min-height:auto}.k-chat-toolbar .k-scroll-button-left,.k-chat .k-toolbar-box .k-scroll-button-left{left:0}.k-chat-toolbar .k-scroll-button-right,.k-chat .k-toolbar-box .k-scroll-button-right{right:0}.k-chat .k-quick-reply{position:relative}.k-chat .k-quick-reply::before{border-radius:inherit;content:"";background:currentColor;opacity:0;display:block;pointer-events:none;position:absolute;left:-1px;right:-1px;top:-1px;bottom:-1px;z-index:0;transition:opacity .2s ease-in-out}.k-chat .k-quick-reply:focus::before,.k-chat .k-quick-reply.k-focus::before{opacity:.12}.k-chat{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-app-surface, #ffffff)}.k-chat .k-timestamp{color:var(--kendo-color-subtle, #757575)}.k-chat .k-author{font-weight:bold}.k-chat .k-chat-bubble{border-color:var(--kendo-color-surface-alt, #ffffff);color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff);box-shadow:k-elevation(1);transition:color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out;order:-1}.k-chat .k-chat-bubble a{color:var(--kendo-color-secondary, #e51a5f)}.k-chat .k-chat-bubble a:hover{color:var(--kendo-color-secondary-hover, #d31857)}.k-chat .k-chat-bubble:hover{box-shadow:k-elevation(2)}.k-chat .k-selected .k-chat-bubble{box-shadow:k-elevation(3)}.k-chat .k-alt .k-chat-bubble{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5);box-shadow:k-elevation(1)}.k-chat .k-alt .k-chat-bubble:hover{box-shadow:k-elevation(2)}.k-chat .k-alt .k-selected .k-chat-bubble{box-shadow:k-elevation(3)}.k-chat .k-quick-reply{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-primary, #3f51b5);background-color:rgba(0,0,0,0)}.k-chat .k-quick-reply:hover,.k-chat .k-quick-reply.k-hover{border-color:var(--kendo-color-primary, #3f51b5);color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-chat .k-quick-reply:focus,.k-chat .k-quick-reply.k-focus{box-shadow:0 0 color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 0%, transparent)}.k-chat-toolbar,.k-chat .k-toolbar-box{border-color:inherit;color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface, #f5f5f5)}.k-chat .k-quick-reply:focus,.k-chat .k-quick-reply.k-focus{color:var(--kendo-color-primary-on-surface, #3f51b5)}.k-mediaplayer{border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:block;position:relative;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-mediaplayer *,.k-mediaplayer *::before,.k-mediaplayer *::after{box-sizing:border-box}.k-mediaplayer>iframe{width:100%;height:100%;border:0;vertical-align:top}.k-mediaplayer-titlebar{padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);position:absolute;z-index:2;top:0;left:0;right:0}.k-mediaplayer-toolbar-wrap{position:absolute;z-index:2;bottom:0;left:0;right:0}.k-mediaplayer-toolbar{border-width:0;width:100% !important;box-shadow:none}.k-mediaplayer-toolbar .k-dropdown-list,.k-mediaplayer-toolbar .k-dropdown,.k-mediaplayer-toolbar .k-dropdownlist{width:auto}.k-mediaplayer-time-wrap{flex:1}.k-mediaplayer-volume-wrap{padding:0 7px;align-items:center}.k-mediaplayer-volume{width:100px}.k-slider.k-mediaplayer-seekbar{width:100%;position:absolute;z-index:3;top:0;left:0;transform:translateY(-50%)}.k-mediaplayer-seekbar .k-slider-track{width:100% !important;border-radius:0}.k-mediaplayer-seekbar .k-slider-selection{border-radius:0}.k-mediaplayer-fullscreen{z-index:10000;position:fixed;top:0;left:0;width:100% !important;height:100% !important}.k-mediaplayer{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-mediaplayer-titlebar{color:var(--kendo-color-surface-alt, #ffffff);background-image:linear-gradient(color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 70%, transparent), color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 0%, transparent));text-shadow:0 0 2px color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 50%, transparent)}.k-timeline{box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:block;background-color:rgba(0,0,0,0);-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-timeline *,.k-timeline *::before,.k-timeline *::after,.k-timeline::before,.k-timeline::after{box-sizing:border-box}.k-timeline ul{margin:0;padding:0}.k-timeline ul li{list-style-type:none}.k-timeline .k-timeline-flag{display:inline-block;text-align:center;padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-4, 1rem);border-radius:var(--kendo-border-radius-md, 0.25rem);line-height:1.4285714286;min-width:80px;max-width:calc(80px + 2*var(--kendo-spacing-10, 2.5rem));position:relative;z-index:1}.k-timeline .k-timeline-circle{width:16px;height:16px;border-radius:50%;flex-shrink:0;position:relative;z-index:1}.k-timeline.k-timeline-dates-hidden .k-timeline-date{display:none}.k-timeline.k-timeline-collapsible .k-card-header{cursor:pointer}.k-timeline.k-timeline-collapsible .k-event-collapse{display:flex}.k-timeline-card .k-card{position:relative;overflow:visible}.k-timeline-card .k-card .k-card-header{overflow:visible;border-bottom:0}.k-timeline-card .k-card .k-card-header+.k-card-body{padding-top:0}.k-timeline-card .k-card .k-card-body{overflow-y:auto;scrollbar-width:thin}.k-timeline-card .k-card .k-card-body::-webkit-scrollbar{width:5px}.k-timeline-card .k-card .k-card-body::-webkit-scrollbar-thumb{border-radius:var(--kendo-border-radius-md, 0.25rem)}.k-timeline-card .k-timeline-card-callout.k-callout-w,.k-timeline-card .k-timeline-card-callout.k-callout-e{top:36px}.k-timeline-vertical,.k-timeline-horizontal{padding-block:0;padding-inline:var(--kendo-spacing-10, 2.5rem);margin-block:var(--kendo-spacing-10, 2.5rem);margin-inline:0;width:100%;position:relative;border:0}.k-timeline-vertical::after,.k-timeline-horizontal .k-timeline-track-wrap::after{content:"";position:absolute;top:0;border-width:1px;border-style:solid}.k-timeline-vertical{padding-left:calc(calc(var(--kendo-spacing-10, 2.5rem) + (80px - 6px) / 2) + 50px)}.k-timeline-vertical.k-timeline-dates-hidden{padding-left:calc(var(--kendo-spacing-10, 2.5rem) + (80px - 6px)/2)}.k-timeline-vertical::after{height:100%;width:6px;transform:translateX(-50%);border-radius:var(--kendo-border-radius-lg, 0.5rem)}.k-timeline-vertical .k-timeline-flag-wrap{display:flex;align-items:center}.k-timeline-vertical .k-timeline-flag-wrap:first-child{padding-top:var(--kendo-spacing-10, 2.5rem)}.k-timeline-vertical .k-timeline-flag{transform:translateX(-50%)}.k-timeline-vertical .k-timeline-date-wrap{position:absolute;padding-right:var(--kendo-spacing-4, 1rem);margin-top:36px;transform:translate(-100%, -50%);text-align:end}.k-timeline-vertical .k-timeline-event{display:flex;align-items:flex-start;padding-block:var(--kendo-spacing-10, 2.5rem);padding-inline:0}.k-timeline-vertical .k-timeline-card{padding-left:var(--kendo-spacing-4, 1rem)}.k-timeline-vertical .k-timeline-card .k-card{margin-left:var(--kendo-spacing-4, 1rem);min-height:calc(2*(36px - 0px));width:400px;max-width:100%}.k-timeline-vertical .k-timeline-card .k-card .k-card-header{border-radius:var(--kendo-border-radius-md, 0.25rem)}.k-timeline-vertical .k-timeline-card .k-card .k-card-title{display:flex;justify-content:space-between}.k-timeline-vertical .k-timeline-card .k-card .k-card-title .k-event-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.k-timeline-vertical .k-timeline-card .k-event-collapse{margin-block:calc(var(--kendo-spacing-2, 0.5rem)*-1);margin-inline:0;transform:rotate(90deg);transition:transform .2s ease-in-out}.k-timeline-vertical .k-timeline-card.k-collapsed .k-card-body,.k-timeline-vertical .k-timeline-card.k-collapsed .k-card-actions{display:none}.k-timeline-vertical .k-timeline-card.k-collapsed .k-event-collapse{transform:rotate(0deg)}.k-timeline-vertical .k-timeline-circle{margin-top:36px;transform:translate(-50%, -50%);margin-right:-8px}.k-timeline-vertical.k-timeline-alternating{padding-left:var(--kendo-spacing-10, 2.5rem)}.k-timeline-vertical.k-timeline-alternating::after{left:50%}.k-timeline-vertical.k-timeline-alternating .k-timeline-flag-wrap{justify-content:center}.k-timeline-vertical.k-timeline-alternating .k-timeline-flag{transform:translateX(0)}.k-timeline-vertical.k-timeline-alternating .k-timeline-event{justify-content:space-between}.k-timeline-vertical.k-timeline-alternating .k-timeline-event.k-reverse{flex-direction:row-reverse}.k-timeline-vertical.k-timeline-alternating .k-timeline-event.k-reverse .k-timeline-date-wrap{text-align:start;padding-right:0;padding-left:var(--kendo-spacing-4, 1rem)}.k-timeline-vertical.k-timeline-alternating .k-timeline-event.k-reverse .k-timeline-card{padding-left:0;padding-right:var(--kendo-spacing-4, 1rem)}.k-timeline-vertical.k-timeline-alternating .k-timeline-event.k-reverse .k-timeline-card .k-card{margin-right:var(--kendo-spacing-4, 1rem);margin-left:auto}.k-timeline-vertical.k-timeline-alternating .k-timeline-card,.k-timeline-vertical.k-timeline-alternating .k-timeline-date-wrap{flex-basis:50%;min-width:0}.k-timeline-vertical.k-timeline-alternating .k-timeline-date-wrap{position:static;transform:translateY(-50%)}.k-timeline-vertical.k-timeline-alternating .k-timeline-circle{transform:translateY(-50%);margin-right:0}.k-timeline-horizontal .k-timeline-track-item{flex:1 0 20%;display:flex;align-items:center;justify-content:flex-start;position:relative;flex-direction:column}.k-timeline-horizontal .k-timeline-track-item:hover{cursor:pointer}.k-timeline-horizontal .k-timeline-track-item.k-timeline-flag-wrap:hover{cursor:default}.k-timeline-horizontal .k-timeline-date-wrap{margin-top:auto;margin-bottom:var(--kendo-spacing-2, 0.5rem)}.k-timeline-horizontal .k-timeline-card{height:100%}.k-timeline-horizontal .k-card{max-height:100%}.k-timeline-horizontal .k-timeline-events-list{overflow-x:hidden;padding-top:var(--kendo-spacing-4\.5, 1.125rem)}.k-timeline-horizontal .k-timeline-events-list .k-timeline-scrollable-wrap{position:relative;height:600px}.k-timeline-horizontal .k-timeline-events-list .k-timeline-scrollable-wrap .k-timeline-event{position:absolute;top:0;left:0;width:100%;height:100%}.k-timeline-horizontal .k-timeline-track-wrap{position:relative;padding:18px 0}.k-timeline-horizontal .k-timeline-track-wrap::after{top:auto;bottom:calc(18px + 3px);left:calc(36px - 2*1px);right:calc(36px - 2*1px);transform:translateY(-50%);height:6px}.k-timeline-horizontal .k-timeline-track-wrap .k-timeline-track{overflow:hidden;margin-block:0;margin-inline:36px;position:relative;z-index:2}.k-timeline-horizontal .k-timeline-track-wrap .k-timeline-track .k-timeline-scrollable-wrap{transition:transform 1s ease-in-out}.k-timeline-horizontal .k-timeline-track-wrap .k-timeline-flag{margin-bottom:calc(6px + 2*1px + 4px + 10px);position:relative;min-width:60px}.k-timeline-horizontal .k-timeline-track-wrap .k-timeline-flag::after{content:"";width:10px;height:10px;position:absolute;left:50%;bottom:0;transform:translate(-50%, 50%) rotate(45deg)}.k-timeline-horizontal .k-timeline-scrollable-wrap{padding-bottom:3px;display:flex;outline:0}.k-timeline-arrow{width:36px;height:36px;border-radius:50%;position:absolute;bottom:calc(6px + 3px + 2*1px);z-index:3;display:flex;align-items:center;justify-content:center}.k-timeline-arrow-left{left:0}.k-timeline-arrow-right{right:0}.k-timeline-mobile{padding-block:0;padding-inline:var(--kendo-spacing-4, 1rem);margin-block:var(--kendo-spacing-4, 1rem);margin-inline:0}.k-timeline-mobile .k-timeline-flag{max-width:calc(80px + 2*var(--kendo-spacing-4, 1rem))}.k-timeline-mobile.k-timeline-horizontal .k-timeline-flag-wrap{display:none}.k-timeline-mobile.k-timeline-vertical{padding-left:calc(calc(var(--kendo-spacing-4, 1rem) + (80px - 6px) / 2) + 50px)}.k-timeline-mobile.k-timeline-vertical.k-timeline-dates-hidden{padding-left:calc(var(--kendo-spacing-4, 1rem) + (80px - 6px)/2)}.k-timeline-mobile.k-timeline-vertical.k-timeline-alternating{padding-left:var(--kendo-spacing-4, 1rem)}.k-timeline-mobile.k-timeline-vertical .k-timeline-card{width:100%}.k-timeline-mobile.k-timeline-vertical .k-timeline-card .k-card{width:auto}.k-timeline-horizontal .k-timeline-card{padding:0 5px 5px}.k-timeline-card .k-timeline-card-callout.k-callout-s{bottom:5px}.k-timeline-track-item:hover .k-timeline-circle::before,.k-timeline-track-item.k-hover .k-timeline-circle::before{opacity:.08}.k-timeline-track-item.k-focus .k-timeline-circle::before{opacity:.12}.k-timeline .k-timeline-flag{color:var(--kendo-color-on-primary, #ffffff);background-color:var(--kendo-color-primary, #3f51b5)}.k-timeline .k-timeline-circle{background-color:var(--kendo-color-primary, #3f51b5)}.k-timeline .k-timeline-card .k-card-header{background-color:var(--kendo-color-surface-alt, #ffffff);color:var(--kendo-color-on-app-surface, #212121)}.k-timeline .k-timeline-card .k-card-body{scrollbar-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12)) var(--kendo-color-surface-alt, #ffffff)}.k-timeline .k-timeline-card .k-card-body::-webkit-scrollbar-track{background:var(--kendo-color-surface-alt, #ffffff)}.k-timeline .k-timeline-card .k-card-body::-webkit-scrollbar-thumb{background:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-timeline .k-timeline-card .k-card-body::-webkit-scrollbar-thumb:hover{background:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-timeline .k-timeline-date{color:var(--kendo-color-on-app-surface, #212121)}.k-timeline .k-timeline-arrow.k-disabled{opacity:1;color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 32%, transparent);background-color:color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 9%, transparent);border-color:rgba(0,0,0,0)}.k-timeline-vertical::after,.k-timeline-horizontal .k-timeline-track-wrap::after{background-color:var(--kendo-color-base-subtle, #ebebeb);border-color:var(--kendo-color-base-subtle, #ebebeb)}.k-timeline-horizontal .k-timeline-flag::after{background-color:var(--kendo-color-primary, #3f51b5)}.k-timeline-track-item.k-focus .k-timeline-circle{box-shadow:k-elevation(2)}.k-pdf-viewer{border-width:1px;border-style:solid;box-sizing:border-box;position:relative;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);display:flex;flex-direction:column;overflow:hidden;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-pdf-viewer .k-toolbar{border-top-width:0;border-right-width:0;border-left-width:0;border-color:inherit;flex:0 0 auto;z-index:2}.k-pdf-viewer .k-toolbar .k-pager-wrap,.k-pdf-viewer .k-toolbar .k-pager{padding:0;border-width:0;color:inherit;background:none;overflow:visible}.k-pdf-viewer .k-canvas{display:flex;flex-direction:column;flex:1 1 auto;outline:none}.k-pdf-viewer .k-canvas.k-enable-text-select{user-select:text;cursor:text}.k-pdf-viewer .k-canvas.k-enable-panning{cursor:grab}.k-pdf-viewer .k-canvas.k-enable-panning span::selection{background-color:rgba(0,0,0,0)}.k-pdf-viewer .k-pdf-viewer-pages{flex:1 1 auto}.k-pdf-viewer .k-page{position:relative;margin-block:var(--kendo-spacing-7\.5, 1.875rem);margin-inline:auto}.k-pdf-viewer .k-page canvas{direction:ltr}.k-pdf-viewer .k-page .k-text-layer{position:absolute;top:0;left:0;opacity:.2;overflow:hidden}.k-pdf-viewer .k-page .k-text-layer>span{position:absolute;line-height:1.2;transform-origin:0% 0%;color:rgba(0,0,0,0)}.k-pdf-viewer .k-page .k-text-layer .k-search-highlight-mark{color:rgba(0,0,0,0)}.k-pdf-viewer .k-blank-page{margin:0;display:flex;flex-flow:column nowrap;width:100%;height:100%;align-items:center;justify-content:center;background-color:inherit !important}.k-pdf-viewer .k-blank-page .k-upload,.k-pdf-viewer .k-blank-page .k-dropzone,.k-pdf-viewer .k-blank-page .k-dropzone-inner{border:0;background:none}.k-pdf-viewer-canvas>.k-search-panel{width:max-content;margin-top:calc((calc(1.4285714286em + var(--kendo-spacing-2, 0.5rem) * 2 + 2px) + 2*1px + 2*calc(var(--kendo-spacing-2, 0.5rem) * 2))*-1);padding-block:calc(var(--kendo-spacing-2, 0.5rem)*2);padding-inline:var(--kendo-spacing-2, 0.5rem);border-width:1px;border-style:solid;border-radius:var(--kendo-spacing-1, 0.25rem);display:flex;gap:var(--kendo-spacing-2, 0.5rem);flex-flow:row nowrap;flex:0 0 auto;justify-content:flex-start;align-items:center;z-index:10;cursor:default}.k-pdf-viewer-canvas>.k-search-panel .k-search-dialog-draghandle{cursor:move;margin-left:0}.k-pdf-viewer-canvas>.k-search-panel .k-textbox{width:10em;flex:none}.k-pdf-viewer-canvas>.k-search-panel .k-textbox .k-button{border-width:0}.k-pdf-viewer-canvas>.k-search-panel .k-search-matches{display:inline-flex;gap:var(--kendo-spacing-2, 0.5rem)}.k-pdf-viewer{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-pdf-viewer .k-toolbar{background-color:var(--kendo-color-surface, #f5f5f5)}.k-pdf-viewer .k-canvas{background-color:var(--kendo-color-app-surface, #ffffff)}.k-pdf-viewer .k-page{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:#fff;box-shadow:k-elevation(3)}.k-pdf-viewer .k-blank-page>.k-icon{color:var(--kendo-color-subtle, #757575)}.k-pdf-viewer .k-search-highlight{background-color:var(--kendo-color-on-app-surface, #212121)}.k-pdf-viewer .k-search-highlight-mark{background-color:#ff0}.k-pdf-viewer-canvas>.k-search-panel{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff);box-shadow:k-elevation(8)}.km-scrollview,.km-scroll-container{user-select:none;border-collapse:separate}.km-scroll-wrapper{position:relative}.km-scroll-header{position:absolute;z-index:1001;width:100%;top:0;left:0}.km-scroller-pull{width:100%;display:block;position:absolute;line-height:3em;font-size:1.4em;text-align:center;transform:translate3d(0, -3em, 0)}.km-scroller-pull .km-template{display:inline-block;min-width:200px;text-align:start}.km-load-more .km-icon,.km-widget .km-scroller-pull .km-icon{display:inline-block;height:2rem;margin-right:1rem;vertical-align:middle;width:2rem;font-size:2rem;transform:rotate(0deg);transition:transform 300ms linear}.km-widget .km-scroller-release .km-icon{transform:rotate(180deg)}.km-widget .km-scroller-refresh .km-icon{transition:none}.km-touch-scrollbar{position:absolute;visibility:hidden;z-index:200000;height:.4em;width:.4em;opacity:0;transform-origin:0 0;transition:opacity .3s linear}.k-map .km-touch-scrollbar,.k-diagram .km-touch-scrollbar{display:none}.km-vertical-scrollbar{height:100%;right:2px;top:0}.km-horizontal-scrollbar{width:100%;left:0;bottom:2px}.km-touch-scrollbar{background-color:#333}.k-scrollview{border-width:1px;border-style:solid;box-sizing:border-box;outline:0;font-family:var(--kendo-font-family, inherit);font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);position:relative;overflow:hidden;display:block;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-scrollview-wrap{position:absolute;margin:0;padding:0;height:100%;width:100%;display:flex;flex-flow:row nowrap;cursor:default;white-space:nowrap}.k-scrollview-wrap>.k-scrollview-view{display:inline-block;overflow:hidden;flex-shrink:0}.k-scrollview-wrap img{user-select:none}.k-scrollview-wrap.k-scrollview-animate{width:calc(var(--kendo-scrollview-views, 1)*100%);transition-duration:.3s;transition-timing-function:ease-in-out;transform:translateX(calc(-100% / var(--kendo-scrollview-views, 1) * (var(--kendo-scrollview-current, 1) - 1)))}[dir=rtl] .k-scrollview-wrap.k-scrollview-animate,.k-rtl .k-scrollview-wrap.k-scrollview-animate{transform:translateX(calc(100% / var(--kendo-scrollview-views, 1) * (var(--kendo-scrollview-current, 1) - 1)))}.k-scrollview-wrap.k-scrollview-animate .k-scrollview-view{width:calc(100%/var(--kendo-scrollview-views, 1));flex:0 0 calc(100%/var(--kendo-scrollview-views, 1))}.k-scrollview-nav-wrap{padding:0;margin:0;position:absolute;left:0;right:0;bottom:0;height:calc(10px + 0px + var(--kendo-spacing-5, 1.25rem)*2);text-align:center}kendo-scrollview.k-scrollview kendo-scrollview-pager{pointer-events:none}kendo-scrollview.k-scrollview .k-scrollview-nav{pointer-events:initial}.k-scrollview-nav{margin:0;padding:var(--kendo-spacing-5, 1.25rem);max-width:100%;box-sizing:border-box;line-height:0;text-align:center;white-space:nowrap;list-style:none;display:inline-flex;align-items:center;overflow-x:scroll;overflow-y:hidden;pointer-events:initial}.k-scrollview-nav:focus{outline:none}.k-scrollview-nav>.k-link{margin-block:0;margin-inline:calc(var(--kendo-spacing-5, 1.25rem)/2);padding:0;width:10px;height:10px;border-width:0px;border-style:solid;border-radius:50%;box-sizing:content-box;display:inline-block;position:relative;flex:0 0 auto;cursor:pointer;pointer-events:all;vertical-align:top}.k-scrollview-nav>.k-link::before{content:"";width:calc(10px + var(--kendo-spacing-5, 1.25rem));height:calc(10px + var(--kendo-spacing-5, 1.25rem));display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:initial;border-radius:0}.k-scrollview-next,.k-scrollview-prev{display:table;position:absolute;padding:0;height:60%;top:20%;text-decoration:none;user-select:none;cursor:pointer}.k-scrollview-next .k-icon,.k-scrollview-prev .k-icon{display:table-cell;overflow:visible;margin:0;padding:0;vertical-align:middle;font-weight:normal}.k-scrollview-prev{inset-inline-start:0}.k-scrollview-next{inset-inline-end:0}.k-scrollview-animation{transition-duration:.3s;transition-timing-function:ease-in-out}.k-scrollview{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-scrollview.k-scrollview-dark kendo-scrollview-pager,.k-scrollview.k-scrollview-dark .k-scrollview-nav-wrap{background-color:rgba(0,0,0,.4)}.k-scrollview.k-scrollview-dark .k-scrollview-next,.k-scrollview.k-scrollview-dark .k-scrollview-prev{color:rgba(0,0,0,.4)}.k-scrollview.k-scrollview-light kendo-scrollview-pager,.k-scrollview.k-scrollview-light .k-scrollview-nav-wrap{background-color:hsla(0,0%,100%,.4)}.k-scrollview:focus,.k-scrollview-wrap:focus{outline:none}.k-scrollview-elements{color:#fff}.k-scrollview-next,.k-scrollview-prev{color:#fff;background-color:rgba(0,0,0,0);text-shadow:rgba(0,0,0,.3) 0 0 15px;opacity:.7;outline-width:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-scrollview-next:focus,.k-scrollview-next.k-focus,.k-scrollview-prev:focus,.k-scrollview-prev.k-focus{color:#fff;opacity:1}.k-scrollview-next:focus .k-icon::before,.k-scrollview-next.k-focus .k-icon::before,.k-scrollview-prev:focus .k-icon::before,.k-scrollview-prev.k-focus .k-icon::before{box-shadow:0 0 0 2px rgba(0,0,0,.13)}.k-scrollview-next:hover,.k-scrollview-next.k-hover,.k-scrollview-prev:hover,.k-scrollview-prev.k-hover{color:#fff;opacity:1}.k-scrollview-nav>.k-link{background:var(--kendo-color-base, #ffffff);border:var(--kendo-color-base, #ffffff)}.k-scrollview-nav>.k-link.k-primary{background:var(--kendo-color-primary, #3f51b5);border:var(--kendo-color-primary, #3f51b5)}.k-scrollview-nav>.k-link:focus,.k-scrollview-nav>.k-link.k-focus{box-shadow:0 0 0 2px rgba(0,0,0,.13)}.k-scrollview-nav>.k-link:hover,.k-scrollview-nav>.k-link.k-hover{box-shadow:0 0 0 2px rgba(0,0,0,.13)}.k-prompt{display:flex;flex-direction:column;position:relative;overflow:hidden}.k-prompt-content{padding-block:var(--kendo-spacing-4, 1rem);padding-inline:var(--kendo-spacing-4, 1rem);display:flex;flex-flow:column nowrap;flex:1 1 auto;gap:var(--kendo-spacing-4, 1rem);overflow:auto}.k-prompt-view{display:flex;flex-direction:column;flex:1 1 auto;gap:var(--kendo-spacing-4, 1rem)}.k-prompt-expander{display:flex;flex-direction:column;flex:1;align-items:flex-start;gap:var(--kendo-spacing-2, 0.5rem)}.k-prompt-expander-content{display:flex;flex-flow:column;flex:0 0 auto;gap:var(--kendo-spacing-2, 0.5rem);align-self:stretch}.k-prompt-suggestion{border-width:1px;border-style:solid;border-radius:var(--kendo-border-radius-md, 0.25rem);padding-block:var(--kendo-spacing-2, 0.5rem);padding-inline:var(--kendo-spacing-2, 0.5rem);cursor:pointer}.k-prompt-setting{display:flex;flex-direction:column}.k-prompt-actions.k-actions,.k-prompt-actions.k-edit-buttons,.k-prompt-actions.k-action-buttons,.k-prompt-actions.k-columnmenu-actions,.k-prompt-actions.k-form-buttons{margin:0}.k-prompt{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-prompt-header{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-prompt-content{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-app-surface, #ffffff)}.k-prompt-suggestion{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-app-surface, #ffffff);box-shadow:var(--kendo-elevation-1, 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 2px 1px 0px rgba(0, 0, 0, 0.12), 0px 1px 1px 0px rgba(0, 0, 0, 0.14))}.k-map{height:600px;box-sizing:border-box;border-width:0px;border-style:solid;font-size:var(--kendo-font-size, inherit);line-height:var(--kendo-line-height, normal);font-family:var(--kendo-font-family, inherit)}.k-map *,.k-map *::before,.k-map *::after{box-sizing:border-box}.k-map .km-scroll-wrapper{width:100%;height:100%;user-select:none;position:absolute}.k-map .km-scroll-container{height:100%}.k-map .k-touch-scrollbar{display:none}.k-map .k-layer{position:absolute;left:0;top:0}.k-map .k-marker{transform:translate(-50%, -100%);cursor:pointer;position:absolute;overflow:visible}.k-map .k-attribution{padding-block:var(--kendo-spacing-0\.5, 0.125rem);padding-inline:var(--kendo-spacing-2, 0.5rem);border-width:0;font-size:calc(var(--kendo-font-size, inherit)*.75);z-index:1000}.k-map-controls{position:absolute;display:flex;align-items:center}.k-navigator{margin:var(--kendo-spacing-4, 1rem);width:calc(16px*3 + var(--kendo-spacing-0\.5, 0.125rem)*2);height:calc(16px*3 + var(--kendo-spacing-0\.5, 0.125rem)*2);border-width:1px;border-style:solid;box-sizing:border-box;border-radius:50%;position:relative}.k-pdf-export .k-navigator{display:none}.k-navigator .k-button{padding:0;width:auto;height:auto;line-height:1;box-shadow:none;position:absolute}.k-navigator .k-button .k-icon{min-width:0;min-height:0}.k-navigator .k-navigator-n,.k-navigator .k-navigator-up{transform:translateX(-50%);top:var(--kendo-spacing-0\.5, 0.125rem);left:50%}.k-navigator .k-navigator-e,.k-navigator .k-navigator-right{transform:translateY(-50%);right:var(--kendo-spacing-0\.5, 0.125rem);top:50%}.k-navigator .k-navigator-s,.k-navigator .k-navigator-down{transform:translateX(-50%);bottom:var(--kendo-spacing-0\.5, 0.125rem);left:50%}.k-navigator .k-navigator-w,.k-navigator .k-navigator-left{transform:translateY(-50%);left:var(--kendo-spacing-0\.5, 0.125rem);top:50%}.k-zoom-control{margin:var(--kendo-spacing-4, 1rem);border:0;background:none;display:flex}.k-pdf-export .k-zoom-control{display:none}.k-map{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-map .k-navigator{border-color:var(--kendo-color-base, #ffffff);color:var(--kendo-color-on-base, #212121);background-color:var(--kendo-color-base, #ffffff);box-shadow:k-elevation(2)}.k-map .k-marker{color:var(--kendo-color-primary, #3f51b5)}.k-map .k-attribution{background-color:color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 80%, transparent)}.k-orgchart{width:100%;padding-block:var(--kendo-spacing-6, 1.5rem);padding-inline:var(--kendo-spacing-6, 1.5rem);box-sizing:border-box;font-size:var(--kendo-font-size, inherit);font-family:var(--kendo-font-family, inherit);line-height:var(--kendo-line-height, normal);overflow:auto}.k-orgchart *,.k-orgchart *::before,.k-orgchart *::after{box-sizing:border-box}.k-orgchart-container{margin-block:0;margin-inline:auto;width:100%;height:100%;position:relative}.k-orgchart-group{gap:var(--kendo-spacing-6, 1.5rem)}.k-orgchart-group.k-vstack>.k-orgchart-node-container,.k-orgchart-group.k-vbox>.k-orgchart-node-container{gap:0}.k-orgchart-node-container{gap:var(--kendo-spacing-6, 1.5rem)}.k-orgchart-node-group-container{border-radius:var(--kendo-border-radius-md, 0.25rem);padding-block:var(--kendo-spacing-6, 1.5rem);padding-inline:var(--kendo-spacing-6, 1.5rem);border-width:1px;border-style:solid;outline:0}.k-orgchart-node-group-title{margin:0 0 calc(var(--kendo-spacing-6, 1.5rem)/4);font-size:var(--kendo-font-size-xl, inherit);line-height:var(--kendo-line-height-sm, normal)}.k-orgchart-node-group-subtitle{margin:0 0 var(--kendo-spacing-6, 1.5rem);font-size:var(--kendo-font-size, inherit)}.k-orgchart-card{width:300px;border-width:1px}.k-orgchart-card .k-card-title{margin:0 0 var(--kendo-spacing-0, 0px)}.k-orgchart-card .k-card-subtitle{margin:0 0 var(--kendo-spacing-0, 0px)}.k-orgchart-card .k-card-body{border-width:2px 0 0;border-style:solid;flex-grow:0}.k-orgchart-card .k-card-body .k-card-title-wrap{margin:0 var(--kendo-spacing-6, 1.5rem)/2 0 0;min-width:0;min-height:45px}.k-orgchart-line{background-color:currentColor}.k-orgchart-line-h{height:1px}.k-orgchart-line-v{margin-block:0;margin-inline:auto;width:1px;height:25px}.k-orgchart-button{z-index:1}.k-orgchart{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface-alt, #ffffff)}.k-orgchart-card{box-shadow:none}.k-orgchart-card .k-card-body{border-color:rgba(0,0,0,0)}.k-orgchart-card:focus,.k-orgchart-card.k-focus{box-shadow:0 2px 4px -1px color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 20%, transparent),0 4px 5px 0 color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 14%, transparent),0 1px 10px 0 color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 12%, transparent)}.k-orgchart-node-group-container{border-color:var(--kendo-color-border, rgba(0, 0, 0, 0.12));color:var(--kendo-color-on-app-surface, #212121);background-color:var(--kendo-color-surface, #f5f5f5)}.k-orgchart-node-group-container:focus,.k-orgchart-node-group-container.k-focus{box-shadow:0 2px 4px -1px color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 20%, transparent),0 4px 5px 0 color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 14%, transparent),0 1px 10px 0 color-mix(in srgb, var(--kendo-color-on-app-surface, #212121) 12%, transparent)}.k-orgchart-node-group-subtitle{color:rgba(0,0,0,.54)}.k-orgchart-line-h,.k-orgchart-line-v{color:var(--kendo-color-border, rgba(0, 0, 0, 0.12))}.k-signature{width:246px;min-height:108px;position:relative;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between}.k-signature.k-signature-maximized{width:750px;height:252px}.k-signature.k-signature-maximized>.k-signature-line{border-bottom-width:3px}.k-signature-actions{display:flex;width:min-content;margin-inline-start:auto;gap:var(--kendo-spacing-1, 0.25rem);z-index:2}.k-signature-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block;z-index:1;outline:none}.k-signature-line{position:absolute;bottom:33%;z-index:2;pointer-events:none;border-bottom-width:1px;border-bottom-style:dashed}.k-signature-sm{padding-inline:var(--kendo-spacing-0\.5, 0.125rem);padding-block:var(--kendo-spacing-0\.5, 0.125rem)}.k-signature-sm .k-signature-line{width:calc(100% - 2*var(--kendo-spacing-0\.5, 0.125rem))}.k-signature-md{padding-inline:var(--kendo-spacing-1, 0.25rem);padding-block:var(--kendo-spacing-1, 0.25rem)}.k-signature-md .k-signature-line{width:calc(100% - 2*var(--kendo-spacing-1, 0.25rem))}.k-signature-lg{padding-inline:var(--kendo-spacing-1\.5, 0.375rem);padding-block:var(--kendo-spacing-1\.5, 0.375rem)}.k-signature-lg .k-signature-line{width:calc(100% - 2*var(--kendo-spacing-1\.5, 0.375rem))}.k-signature-lg{min-height:110px}.k-signature .k-signature-line{border-bottom-color:color-mix(in srgb, var(--kendo-color-info, #0058e9) 24%, transparent)}.sis-ico-notifications::before{content:url("data:image/svg+xml,%3Csvg id=%27notifications_white%27 xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath id=%27Path_225%27 data-name=%27Path 225%27 d=%27M0,0H38V38H0Z%27 fill=%27none%27/%3E%3Cpath id=%27Path_226%27 data-name=%27Path 226%27 d=%27M16.667,33.375a3.176,3.176,0,0,0,3.167-3.167H13.5A3.176,3.176,0,0,0,16.667,33.375Zm9.5-9.5V15.958c0-4.861-2.581-8.93-7.125-10.007V4.875a2.375,2.375,0,0,0-4.75,0V5.952c-4.528,1.077-7.125,5.13-7.125,10.007v7.917L4,27.042v1.583H29.333V27.042ZM23,25.458H10.333v-9.5c0-3.927,2.391-7.125,6.333-7.125S23,12.032,23,15.958Z%27 transform=%27translate%282.333 1.458%29%27 fill=%27%23fff%27/%3E%3C/svg%3E%0A");width:40px;height:40px}.sis-ico-logo-dark::before{content:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 width=%2743.2%27 height=%2741.573%27 viewBox=%270 0 43.2 41.573%27%3E%3Cdefs%3E%3CclipPath id=%27clip-path%27%3E%3Cpath id=%27Path_227%27 data-name=%27Path 227%27 d=%27M29.28,0l-.033,7.433a2.2,2.2,0,0,1,.623.323,15.264,15.264,0,0,1,.114,25.582c-.2.132-.744.459-.744.459V20.656L21.6,24.216l-7.641-3.56V33.8s-.543-.327-.744-.459A15.264,15.264,0,0,1,13.33,7.755a2.2,2.2,0,0,1,.623-.323L13.92,0a5.135,5.135,0,0,0-.554.163C1.754,5.236.007,14.872,0,20.222v.068A21.644,21.644,0,0,0,.3,24,21.8,21.8,0,0,0,18.077,41.572V27.412l3.523,2.4,3.523-2.4v14.16A21.8,21.8,0,0,0,42.9,24a21.657,21.657,0,0,0,.3-3.712v-.066C43.193,14.873,41.447,5.236,29.834.162A5.136,5.136,0,0,0,29.28,0Z%27 transform=%27translate%280 0.001%29%27 fill=%27%23fff%27/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id=%27Group_568%27 data-name=%27Group 568%27 transform=%27translate%280 0.001%29%27%3E%3Cg id=%27Group_567%27 data-name=%27Group 567%27 transform=%27translate%280 -0.001%29%27 clip-path=%27url%28%23clip-path%29%27%3E%3Crect id=%27Rectangle_230%27 data-name=%27Rectangle 230%27 width=%2743.2%27 height=%2741.573%27 transform=%27translate%280 0%29%27 fill=%27%23fff%27/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");width:100%;height:100%}.sis-ico-logo-light::before{content:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 width=%2743.2%27 height=%2741.573%27 viewBox=%270 0 43.2 41.573%27%3E%3Cdefs%3E%3CclipPath id=%27clip-path%27%3E%3Cpath id=%27Path_227%27 data-name=%27Path 227%27 d=%27M29.28,0l-.033,7.433a2.2,2.2,0,0,1,.623.323,15.264,15.264,0,0,1,.114,25.582c-.2.132-.744.459-.744.459V20.656L21.6,24.216l-7.641-3.56V33.8s-.543-.327-.744-.459A15.264,15.264,0,0,1,13.33,7.755a2.2,2.2,0,0,1,.623-.323L13.92,0a5.135,5.135,0,0,0-.554.163C1.754,5.236.007,14.872,0,20.222v.068A21.644,21.644,0,0,0,.3,24,21.8,21.8,0,0,0,18.077,41.572V27.412l3.523,2.4,3.523-2.4v14.16A21.8,21.8,0,0,0,42.9,24a21.657,21.657,0,0,0,.3-3.712v-.066C43.193,14.873,41.447,5.236,29.834.162A5.136,5.136,0,0,0,29.28,0Z%27 transform=%27translate%280 0.001%29%27 fill=%27%23fff%27/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id=%27Group_568%27 data-name=%27Group 568%27 transform=%27translate%280 0.001%29%27%3E%3Cg id=%27Group_567%27 data-name=%27Group 567%27 transform=%27translate%280 -0.001%29%27 clip-path=%27url%28%23clip-path%29%27%3E%3Crect id=%27Rectangle_230%27 data-name=%27Rectangle 230%27 width=%2743.2%27 height=%2741.573%27 transform=%27translate%280 0%29%27 fill=%27%23fff%27/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");width:100%;height:100%}.sis-ico-menu-light::before{content:url("data:image/svg+xml,%3Csvg id=%27menu_black_24dp%27 xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cpath id=%27Path_223%27 data-name=%27Path 223%27 d=%27M0,0H24V24H0Z%27 fill=%27none%27/%3E%3Cpath id=%27Path_224%27 data-name=%27Path 224%27 d=%27M3,18H21V16H3Zm0-5H21V11H3ZM3,6V8H21V6Z%27 fill=%27%23fff%27/%3E%3C/svg%3E%0A");width:25px;height:25px}.sis-ico-list-board::before{content:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 version=%271.1%27 viewBox=%270 0 64 72%27%3E%3Cg id=%27Layer_1%27%3E%3Cpath fill=%27%23a7c6ed%27 d=%27M47.73,24.82c0-3.1-1.49-4.54-4.62-4.55-1.89,0-3.79,0-5.79,0-.09-.37-.17-.64-.23-.91-.56-2.55-2.66-4.34-5.1-4.36-2.45-.01-4.63,1.85-5.09,4.46-.13.71-.44.82-1.05.81-1.76-.03-3.51-.02-5.27,0-2.74.02-4.33,1.6-4.33,4.32,0,9.37,0,18.75,0,28.12,0,2.79,1.51,4.3,4.29,4.3,7.55,0,15.1,0,22.65,0,3.08,0,4.53-1.42,4.53-4.48,0-9.23.01-18.47,0-27.7ZM31.96,18.21c1.22-.01,2.04.8,2.03,2.04,0,1.18-.79,1.98-1.97,1.99-1.15.02-2.1-.91-2.09-2.04.01-1.08.93-1.98,2.03-1.99ZM28.95,47.55c.21.21.21.56,0,.78l-.39.39c-.21.21-.56.21-.78,0l-1.74-1.74-1.74,1.74c-.21.21-.56.21-.78,0l-.39-.39c-.21-.21-.21-.56,0-.78l1.74-1.74-1.74-1.74c-.21-.21-.21-.56,0-.78l.39-.39c.21-.21.56-.21.78,0l1.74,1.74,1.74-1.74c.21-.21.56-.21.78,0l.39.39c.21.21.21.56,0,.78l-1.74,1.74,1.74,1.74ZM25.65,35.53c-.45.46-.8.44-1.22-.02-.68-.74-1.38-1.48-2.1-2.18-.72-.7.02-.99.35-1.39.34-.42.71-.7,1.2-.14.34.39.71.76,1.2,1.28,1.05-1.04,2.07-2,3.02-3.02.54-.57.92-.55,1.42.01.46.51.88.87.13,1.55-1.38,1.25-2.69,2.59-4,3.92ZM41.92,47.82c0,.35-.29.64-.64.64h-11.3l2.96-3.59h8.34c.35,0,.64.29.64.64v2.31ZM41.92,34.97c0,.35-.29.64-.64.64h-11.3l2.96-3.59h8.34c.35,0,.64.29.64.64v2.31Z%27/%3E%3C/g%3E%3C/svg%3E");width:100%;height:100%}.sis-ico-list-board-green::before{content:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 version=%271.1%27 viewBox=%270 0 64 72%27%3E%3Cpath fill=%27%23b2e0b2%27 d=%27M47.73,24.82c0-3.1-1.49-4.54-4.62-4.55-1.89,0-3.79,0-5.79,0-.09-.37-.17-.64-.23-.91-.56-2.55-2.66-4.34-5.1-4.36-2.45-.01-4.63,1.85-5.09,4.46-.13.71-.44.82-1.05.81-1.76-.03-3.51-.02-5.27,0-2.74.02-4.33,1.6-4.33,4.32,0,9.37,0,18.75,0,28.12,0,2.79,1.51,4.3,4.29,4.3,7.55,0,15.1,0,22.65,0,3.08,0,4.53-1.42,4.53-4.48,0-9.23.01-18.47,0-27.7ZM31.96,18.21c1.22-.01,2.04.8,2.03,2.04,0,1.18-.79,1.98-1.97,1.99-1.15.02-2.1-.91-2.09-2.04.01-1.08.93-1.98,2.03-1.99ZM28.95,47.55c.21.21.21.56,0,.78l-.39.39c-.21.21-.56.21-.78,0l-1.74-1.74-1.74,1.74c-.21.21-.56.21-.78,0l-.39-.39c-.21-.21-.21-.56,0-.78l1.74-1.74-1.74-1.74c-.21-.21-.21-.56,0-.78l.39-.39c.21-.21.56-.21.78,0l1.74,1.74,1.74-1.74c.21-.21.56-.21.78,0l.39.39c.21.21.21.56,0,.78l-1.74,1.74,1.74,1.74ZM25.65,35.53c-.45.46-.8.44-1.22-.02-.68-.74-1.38-1.48-2.1-2.18-.72-.7.02-.99.35-1.39.34-.42.71-.7,1.2-.14.34.39.71.76,1.2,1.28,1.05-1.04,2.07-2,3.02-3.02.54-.57.92-.55,1.42.01.46.51.88.87.13,1.55-1.38,1.25-2.69,2.59-4,3.92ZM41.92,47.82c0,.35-.29.64-.64.64h-11.3l2.96-3.59h8.34c.35,0,.64.29.64.64v2.31ZM41.92,34.97c0,.35-.29.64-.64.64h-11.3l2.96-3.59h8.34c.35,0,.64.29.64.64v2.31Z%27/%3E%3C/svg%3E");width:100%;height:100%}.sis-ico-add-files::before{content:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 version=%271.1%27 viewBox=%270 0 64 72%27%3E%3Cg fill=%27%23ffb3a0%27%3E%3Cpath d=%27M13.75,24.15c.43-.87,1.14-1.24,2.1-1.23,1.83.03,3.66-.16,5.48.1.14.37.07.76.07,1.14,0,7.57,0,15.15,0,22.72,0,.38-.09.77.09,1.13.69,2.55,2.29,3.79,4.93,3.79,4.17,0,8.33.02,12.5-.02.75,0,.97.2.9.93-.07.69-.01,1.4-.01,2.1,0,1.52-.65,2.17-2.17,2.17-5.67,0-11.34,0-17.01,0-1.58,0-3.15-.02-4.73,0-1.02.02-1.76-.35-2.16-1.31-.18-.33-.11-.69-.11-1.03,0-9.83,0-19.65,0-29.48,0-.34-.08-.7.11-1.03Z%27/%3E%3Cpath d=%27M42.53,18.92c0-1.05.03-2.1,0-3.14-.02-.71.27-.85.89-.68.42.11.75.32,1.06.63,1.54,1.55,3.08,3.1,4.64,4.63l.17.16c.5.49,1.02,1.02,1.09,1.75.06.57-.47.62-.93.62-2.03,0-4.05-.02-6.08.01-.63,0-.87-.18-.85-.83.05-1.05.01-2.1.01-3.14Z%27/%3E%3Cpath d=%27M21.51,48.02c-.21-.18-.2-.43-.2-.68,0-8.11.02-16.21.03-24.32.25.11.19.35.19.54,0,8.15-.01,16.3-.02,24.45Z%27/%3E%3Cpath d=%27M49.53,25.56c-2.42.03-4.83.02-7.25.01-1.68,0-2.45-.77-2.45-2.43,0-2.38-.04-4.76.02-7.14.02-.8-.22-1-1-.99-3.96.04-7.92.02-11.87.02-2.24,0-2.79.55-2.79,2.78,0,4.76,0,9.53,0,14.29,0,4.8,0,9.6,0,14.39,0,2.1.59,2.66,2.71,2.66,3.68,0,7.36,0,11.03,0,3.36,0,6.73.02,10.09,0,1.63-.01,2.35-.68,2.35-2.17.01-6.86,0-13.73.02-20.59,0-.66-.21-.82-.85-.82ZM43.34,37.23c0,.17-.13.3-.3.3h-3.76v3.76c0,.17-.13.3-.3.3h-3.41c-.17,0-.3-.13-.3-.3v-3.76h-3.76c-.17,0-.3-.13-.3-.3v-3.41c0-.17.13-.3.3-.3h3.76v-3.76c0-.17.13-.3.3-.3h3.41c.17,0,.3.13.3.3v3.76h3.76c.17,0,.3.13.3.3v3.41Z%27/%3E%3C/g%3E%3C/svg%3E");width:100%;height:100%}.sis-ico-device-enrollments::before{content:url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2064%2072%22%3E%3Cdefs%3E%3Cstyle%3E%20%20%20%20%20%20.cls-1%20%7B%20%20%20%20%20%20%20%20fill%3A%20%23cbbbf0%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3C%21--%20Generator%3A%20Adobe%20Illustrator%2028.7.1%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%201.2.0%20Build%20142%29%20%20--%3E%3Cg%3E%3Cg%20id%3D%22Layer_1%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M51.95%2C46.5h-15.91c-.05%2C1.3-.96%2C2.1-2.15%2C2.1h-3.99c-1.23%2C0-2.17-1.15-2.15-2.1h-15.7c-.58%2C0-1.05.47-1.05%2C1.05v1.05c0%2C2.31%2C1.89%2C4.2%2C4.2%2C4.2h33.6c2.31%2C0%2C4.2-1.89%2C4.2-4.2v-1.05c0-.58-.47-1.05-1.05-1.05Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M45.65%2C19.2h-27.3c-1.73%2C0-3.15%2C1.42-3.15%2C3.15v22.05h33.6v-22.05c0-1.73-1.42-3.15-3.15-3.15ZM44.6%2C40.2h-25.2v-16.8h25.2v16.8Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M26.25%2C33.24h4.31v4.31c0%2C.53.43.96.96.96h.96c.53%2C0%2C.96-.43.96-.96v-4.31h4.31c.53%2C0%2C.96-.43.96-.96v-.96c0-.53-.43-.96-.96-.96h-4.31v-4.31c0-.53-.43-.96-.96-.96h-.96c-.53%2C0-.96.43-.96.96v4.31h-4.31c-.53%2C0-.96.43-.96.96v.96c0%2C.53.43.96.96.96Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");width:100%;height:100%}.sis-ico-info-commands::before{content:url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2064%2072%22%3E%3C%21--%20Generator%3A%20Adobe%20Illustrator%2028.7.1%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%201.2.0%20Build%20142%29%20%20--%3E%3Cg%3E%3Cg%20id%3D%22Layer_1%22%3E%3Cpath%20fill%3D%22%23ffb3a0%22%20d%3D%22M14.17%2C15v42h35.65V15H14.17ZM19.4%2C22.77c0-1.42%2C1.15-2.56%2C2.56-2.56h.79c1.42%2C0%2C2.56%2C1.15%2C2.56%2C2.56v.79c0%2C1.42-1.15%2C2.56-2.56%2C2.56h-.79c-1.42%2C0-2.56-1.15-2.56-2.56v-.79ZM19.05%2C34.61l1.29-1.28c.21-.21.55-.21.77%2C0l2.08%2C2.1%2C4.8-4.76c.21-.21.55-.21.77%2C0l1.28%2C1.29c.21.21.21.55%2C0%2C.77l-6.47%2C6.41c-.21.21-.55.21-.77%2C0l-3.74-3.77c-.22-.21-.21-.55%2C0-.77ZM25.32%2C49.27c0%2C1.42-1.15%2C2.56-2.56%2C2.56h-.79c-1.42%2C0-2.56-1.15-2.56-2.56v-.79c0-1.42%2C1.15-2.56%2C2.56-2.56h.79c1.42%2C0%2C2.56%2C1.15%2C2.56%2C2.56v.79ZM45.15%2C50.69c0%2C.27-.22.49-.49.49h-15.24c-.27%2C0-.49-.22-.49-.49v-3.64c0-.27.22-.49.49-.49h15.24c.27%2C0%2C.49.22.49.49v3.64ZM45.15%2C37.46c0%2C.46-.37.83-.83.83h-14.57l3.82-4.63h10.75c.46%2C0%2C.83.37.83.83v2.98ZM45.15%2C24.99c0%2C.27-.22.49-.49.49h-15.24c-.27%2C0-.49-.22-.49-.49v-3.64c0-.27.22-.49.49-.49h15.24c.27%2C0%2C.49.22.49.49v3.64Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");width:100%;height:100%}.sis-ico-info-commands-yellow::before{content:url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2064%2072%22%3E%3C%21--%20Generator%3A%20Adobe%20Illustrator%2028.7.1%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%201.2.0%20Build%20142%29%20%20--%3E%3Cg%3E%3Cg%20id%3D%22Layer_1%22%3E%3Cpath%20fill%3D%22%23E9D8C4%22%20d%3D%22M14.17%2C15v42h35.65V15H14.17ZM19.4%2C22.77c0-1.42%2C1.15-2.56%2C2.56-2.56h.79c1.42%2C0%2C2.56%2C1.15%2C2.56%2C2.56v.79c0%2C1.42-1.15%2C2.56-2.56%2C2.56h-.79c-1.42%2C0-2.56-1.15-2.56-2.56v-.79ZM19.05%2C34.61l1.29-1.28c.21-.21.55-.21.77%2C0l2.08%2C2.1%2C4.8-4.76c.21-.21.55-.21.77%2C0l1.28%2C1.29c.21.21.21.55%2C0%2C.77l-6.47%2C6.41c-.21.21-.55.21-.77%2C0l-3.74-3.77c-.22-.21-.21-.55%2C0-.77ZM25.32%2C49.27c0%2C1.42-1.15%2C2.56-2.56%2C2.56h-.79c-1.42%2C0-2.56-1.15-2.56-2.56v-.79c0-1.42%2C1.15-2.56%2C2.56-2.56h.79c1.42%2C0%2C2.56%2C1.15%2C2.56%2C2.56v.79ZM45.15%2C50.69c0%2C.27-.22.49-.49.49h-15.24c-.27%2C0-.49-.22-.49-.49v-3.64c0-.27.22-.49.49-.49h15.24c.27%2C0%2C.49.22.49.49v3.64ZM45.15%2C37.46c0%2C.46-.37.83-.83.83h-14.57l3.82-4.63h10.75c.46%2C0%2C.83.37.83.83v2.98ZM45.15%2C24.99c0%2C.27-.22.49-.49.49h-15.24c-.27%2C0-.49-.22-.49-.49v-3.64c0-.27.22-.49.49-.49h15.24c.27%2C0%2C.49.22.49.49v3.64Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");width:100%;height:100%}.gridfilter-topbar{padding:14px 14px;display:flow-root;column-gap:.5em;z-index:99;background-color:#fff;position:relative}.gridfilter-topbar .k-toolbar{box-shadow:none}.gridfilter-topbar .k-toolbar-item.actionToolbar .k-button-group{column-gap:.5rem}.gridfilter-topbar .actionToolbar .k-button-group>.k-button:first-child:not(:only-child){border-start-end-radius:4px;border-end-end-radius:4px}.gridfilter-topbar .actionToolbar .k-button-group>.k-button:last-child:not(:only-child){border-start-start-radius:4px;border-end-start-radius:4px}.gridfilter-topbar .menu-toolbar{padding:0px 1px;display:flex;flex-direction:row;column-gap:.5em;z-index:99;background-color:#fff;position:relative}.gridfilter-topbar .menu-toolbar.left{float:left}.gridfilter-topbar .menu-toolbar.right{float:right}.gridfilter-topbar .menu-toolbar input[type=checkbox i]{vertical-align:middle;border:1px solid #e2e6ec;padding:0px;border-radius:50%}.gridfilter-topbar .menu-toolbar .checkbox-group span.k-button-text{display:flex;column-gap:4px}@media(max-width: 700px){.menu-toolbar span .k-button-text{display:none}}.allow-reposition-div{text-align:right;padding-right:20px}.k-icon{width:1em;height:1em;outline:0;font-size:16px;font-family:"WebComponentsIcons";font-style:normal;font-variant:normal;font-weight:400;line-height:1;speak:none;text-transform:none;text-decoration:none;flex-shrink:0;display:inline-flex;flex-flow:row nowrap;align-items:center;justify-content:center;vertical-align:middle;position:relative;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.home-page .k-tilelayout>div{box-shadow:0 4px 8px rgba(0,0,0,.1)}.home-page .k-tilelayout.k-grid-flow-col{grid-auto-flow:row}.home-page .k-tilelayout-item-header.k-card-header .card-header .k-card-title{font-size:22px;color:#666}.home-page .k-tilelayout-item-header.k-card-header .card-header .add-button{float:right}@media(max-width: 650px){.home-page .k-tilelayout-item-header.k-card-header .card-header .add-button .k-button-text{display:none}}.home-page .k-tilelayout-item-body.k-card-body{position:relative}.home-page .k-tilelayout-item-body.k-card-body .test-cases-result .k-loading-mask{z-index:-1}.tile-header{display:flex;align-items:center;justify-content:space-between;margin:10px;margin-bottom:0;padding:2px 0}.edit-tiles span{font-size:16px}.k-tilelayout-item.k-card{touch-action:auto !important}.k-tilelayout-item.k-card .k-chart-surface{touch-action:auto !important}.k-tilelayout-item.k-card.k-cursor-grab{touch-action:none !important}.k-tilelayout-item.k-card.k-cursor-grab .k-chart-surface{touch-action:none !important}@media(min-width: 1440px){.k-tilelayout.k-grid-flow-col{grid-template-columns:repeat(5, minmax(0px, 1fr)) !important}}@media(min-width: 577px)and (max-width: 820px){.k-tilelayout.k-grid-flow-col{grid-template-columns:repeat(2, minmax(0px, 1fr)) !important}}.dashboard-action{text-decoration:none;height:100%}.metric-card{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);position:relative;overflow:hidden;height:100%}.metric-card.blue-card{border-left:4px solid #a7c6ed}.metric-card.purple-card{border-left:4px solid #cbbbf0}.metric-card.green-card{border-left:4px solid #b2e0b2}.metric-card.amber-card{border-left:4px solid #ffb3a0}.metric-card.lavender-card{border-left:4px solid #d8b9f3}.metric-card.yellow-card{border-left:4px solid #e9d8c4}.metric-card .card-header{display:flex;align-items:flex-start;justify-content:space-between}.metric-card .card-info{flex:1}.metric-card .metric-label{font-size:.875rem;color:#666;margin-bottom:.25rem}.metric-card .metric-value{font-size:2.875rem;font-weight:700;color:#666}.metric-card .metric-change{font-size:.75rem;margin-top:.5rem}.metric-card .metric-change.positive{color:#b2e0b2}.metric-card .metric-change.negative{color:#ef4444}.metric-card .dashboard-action{text-decoration:none}.metric-card .dashboard-icon-container{display:flex;align-items:center;justify-content:center;padding:.75rem;border-radius:9999px}.metric-card .dashboard-icon-container.blue{background-color:rgba(167,198,237,.2);color:#a7c6ed}.metric-card .dashboard-icon-container.purple{background-color:rgba(203,187,240,.2);color:#cbbbf0}.metric-card .dashboard-icon-container.green{background-color:rgba(178,224,178,.2);color:#b2e0b2}.metric-card .dashboard-icon-container.amber{background-color:rgba(255,179,160,.2);color:#ffb3a0}.metric-card .dashboard-icon-container.yellow{background-color:rgba(233,216,196,.2);color:#e9d8c4}.metric-card .dashboard-icon-container.lavender{background-color:rgba(216,185,243,.2);color:#d8b9f3}.metric-card .chart-container{margin-top:1rem;height:4rem}.activity-card{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.activity-title{padding:1rem;border-bottom:1px solid #e5e7eb}.dashboard-font-icons{height:25px;width:25px}.metric-card{transition:all .3s ease-in-out}.metric-card .k-card-body{padding-block:var(--kendo-spacing-4, 1rem) !important;padding-inline:var(--kendo-spacing-4, 1rem) !important}.metric-card .k-card-body:hover{transform:scale(1.05);box-shadow:0 0 20px rgba(0,0,0,.1);z-index:1;height:100%}.metric-card .k-card-body:hover .dashboard-icon-container{transform:rotate(12deg)}.card-header{transition:all .3s ease-in-out}.metric-label{transition:color .3s ease-in-out}.metric-value{transition:all .5s ease-in-out}.dashboard-icon-container{transition:all .3s ease-in-out}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.metric-card{animation:fadeInUp .5s ease-out}@keyframes pulse{0%{opacity:.6}50%{opacity:1}100%{opacity:.6}}html,body{margin:0;background-color:#f5f5f5;overscroll-behavior-y:contain}.k-card-title{color:#354052}.k-form{padding:14px 16px}.page-title,.k-card-header{border-width:0 0 1px;border-style:solid;border-color:rgba(0,0,0,.12);padding:14px 16px;color:#354052}.page-title h4,.k-card-header h4{margin:0;font-size:24px;font-family:Arial;line-height:1.25;font-weight:500}.page-title.page-button-title,.k-card-header.page-button-title{display:flex;justify-content:space-between;align-items:center;padding:14px 16px}.page-title.page-button-title h4,.k-card-header.page-button-title h4{margin-bottom:0}.page-title h5,.k-card-header h5{margin-bottom:0}.header-bold{margin:0;font-size:24px;font-family:Arial;line-height:1.25;font-weight:500;color:#fff}.page{margin:10px;padding:0;border-color:rgba(0,0,0,.12);color:rgba(0,0,0,.87);background-color:#fff;border-radius:4px;outline:0;box-shadow:unset;border-width:1px;border-style:solid;box-shadow:.7px .7px .5px rgba(0,0,0,.04),1.7px 1.7px 1.2px rgba(0,0,0,.03),3.1px 3.1px 2.1px rgba(0,0,0,.025),5.1px 5.1px 3.5px rgba(0,0,0,.022),8.5px 8.5px 5.8px rgba(0,0,0,.018),14.8px 14.8px 10.2px rgba(0,0,0,.015),32px 32px 22px rgba(0,0,0,.01)}.page .card-detail-content .action-buttons-container a{text-decoration:none !important}.page .card-detail-content .card-title-header{display:flex;align-items:center;padding:0 10px;background:#fff;border-color:rgba(0,0,0,.12);color:rgba(0,0,0,.87);background-color:#fff}.page .card-detail-content .card-title-header .page-title.page-button-title{border:0}.page .card-detail-content .card-title-header span.gp-ico-arrow-left{display:inherit;color:#354052;font-size:26px}.page .card-detail-content .k-card.Separate-Card{box-shadow:none;border-top:1px solid rgba(0,0,0,.12)}.page .card-detail-content .k-card.Separate-Card .k-card-title{font-size:14px;font-weight:700;color:#495ab8}@media(max-width: 576px){.page{margin:0;padding:0}}.k-button-group{box-shadow:none}.rounded-checkbox.k-checkbox,.rounded-checkbox input[type=checkbox]{border:2px solid #9e9d9d;border-radius:50%;cursor:pointer;vertical-align:middle}.rounded-checkbox.k-checkbox :checked,.rounded-checkbox input[type=checkbox] :checked{background-color:#3f51b5;border-color:#3f51b5;color:#fff}[class^=gp-ico-]{vertical-align:middle !important}.gp-ico-nowifi:before{color:#c00}.gp-ico-wifi:before{color:#393}.k-button-text [class^=gp-ico-]{font-size:18px !important}.k-dialog-actions{margin:0;border-width:1px 0 0;border-color:inherit;border-bottom-right-radius:0px;border-bottom-left-radius:0px;padding:8px 8px;border-width:1px 0 0;border-style:solid;border-color:inherit;flex:0 0 auto;display:flex;flex-flow:row wrap;align-items:center;gap:8px;overflow:hidden}.k-window-titlebar{padding:12px 16px;border-color:inherit;border-width:0 0 1px}.card-col.switchable{display:flex;justify-content:start;justify-items:baseline}.card-col.switchable strong.heading{margin-left:12px}@media(max-width: 1199px){.k-tooltip{visibility:hidden}}.hide-network-icon{display:none}.hidden{display:none}.page-title.action-buttons-container{display:flex}.k-grid-norecords-template{border:none}.sis-ico-notifications::before{content:url("data:image/svg+xml,%3Csvg id=%27notifications_white%27 xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath id=%27Path_225%27 data-name=%27Path 225%27 d=%27M0,0H38V38H0Z%27 fill=%27none%27/%3E%3Cpath id=%27Path_226%27 data-name=%27Path 226%27 d=%27M16.667,33.375a3.176,3.176,0,0,0,3.167-3.167H13.5A3.176,3.176,0,0,0,16.667,33.375Zm9.5-9.5V15.958c0-4.861-2.581-8.93-7.125-10.007V4.875a2.375,2.375,0,0,0-4.75,0V5.952c-4.528,1.077-7.125,5.13-7.125,10.007v7.917L4,27.042v1.583H29.333V27.042ZM23,25.458H10.333v-9.5c0-3.927,2.391-7.125,6.333-7.125S23,12.032,23,15.958Z%27 transform=%27translate%282.333 1.458%29%27 fill=%27%23fff%27/%3E%3C/svg%3E%0A");width:40px;height:40px}.k-w-50{width:50%}.single-row-25{width:25%}.single-row-60{width:60%}.single-row-80{width:80%}.single-row-100{width:100%}.detail-card .detail-card-body{width:60%}.detail-card .k-card-header{padding:12px 12px}.detail-card .k-card-body{padding-inline:6px}.detail-card .k-w-30{width:30%}.detail-card .k-w-40{width:40%}.detail-card .k-w-70{width:70%}.detail-card .card-title-secondary{margin:0;font-size:20px}.detail-card .single-field-row .field-wrapper{padding:10px}.detail-card .single-row-60{width:60%}.detail-card .single-row-70{width:60%}.detail-card .single-row-80{width:80%}.detail-card .single-row-100{width:100%}.k-button-md{padding-block:5px;padding-inline:10px}@media(max-width: 820px){.add-page-section .detail-card .detail-card-body{width:100%}.add-page-section .detail-card .single-row-60{width:100%}.add-page-section .detail-card .single-row-80{width:100%}.add-page-section .detail-card .single-row-100{width:100%}.add-page-section .detail-card .k-w-30{width:100%}.add-page-section .detail-card .k-w-40{width:100%}.add-page-section .detail-card .k-w-70{width:100%}}.k-switch-on .k-switch-track{background-color:color-mix(in srgb, var(--kendo-color-primary, #3f51b5) 80%, transparent)}.k-textbox,.k-input{border:1px solid #ced4da !important;border-radius:6px !important;font-size:14px;transition:border-color .3s ease;background-color:#fff;width:100%}.k-textbox:focus,.k-input:focus{border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1);outline:none}.k-textbox::placeholder,.k-input::placeholder{color:#adb5bd}.select-field,.k-dropdownlist.k-picker{padding:10px 16px;border:1px solid #ced4da !important;border-radius:6px !important;font-size:14px;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 20 20%27%3e%3cpath stroke=%27%236b7280%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%271.5%27 d=%27m6 8 4 4 4-4%27/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px;appearance:none;cursor:pointer}.select-field .k-input-inner,.k-dropdownlist.k-picker .k-input-inner{padding:0;min-height:18px}.select-field .k-icon-button.k-input-button,.k-dropdownlist.k-picker .k-icon-button.k-input-button{display:none}.select-field .k-input-loading-icon,.k-dropdownlist.k-picker .k-input-loading-icon{padding:0}.select-field:focus,.k-dropdownlist.k-picker:focus{border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1);outline:none}.k-dropdownlist .k-input{min-height:18px}.filter-slider-wrapper .filtercell,.filter-slider-wrapper .k-filtercell{align-items:start}.filter-slider-wrapper .filtercell .k-form-field,.filter-slider-wrapper .k-filtercell .k-form-field{margin-bottom:0}.default-slider-wrapper span.k-floating-label-container.k-label{margin:0}.k-drawer-container.k-drawer-expanded .k-drawer-item .icon-container .font-icon{font-size:.8rem;width:24px}.okta-login-btn{width:100%}.okta-login-btn img{width:26px;height:26px}
#root[device-type=Desktop] .wr-detail .card-actions-content .card-actions{display:flex !important}#root[device-type=Desktop] .layout-facility .alert.alert-suggestion{margin-top:16%}#root[device-type=Tablet] .k-notification-group,#root[device-type=Tablet] .k-notification-group .k-notification-containe{width:80%;left:50%;transform:translateX(-50%)}#root[device-type=Tablet] .k-notification-group .k-animation-container{background:rgba(0,0,0,0);width:100%}#root[device-type=Tablet] .k-notification-group .k-animation-container .k-notification-container{float:unset}#root[device-type=Tablet] .layout-facility{width:100% !important}#root[device-type=Tablet] .layout-facility .main-facility-label{text-align:center}#root[device-type=Tablet] .layout-facility .alert-suggestion{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}#root[device-type=Tablet] .slider-content-card .slider-card{height:calc(100vh - 69px);overflow:auto;padding-bottom:28px}#root[device-type=Tablet] .slider-content-card .slider-card .k-card-body{margin-bottom:6em}#root[device-type=Tablet] .slider-content-card .content-slider-actions{position:fixed;bottom:0}#root[device-type=Tablet] .wr-detail{background:none}#root[device-type=Tablet] .wr-detail .card-actions-content{display:grid !important;position:fixed;bottom:0}#root[device-type=Tablet] .wr-detail .card-actions-content .card-actions{position:fixed !important;border-top:2px solid rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}#root[device-type=Tablet] .wr-detail .card-detail-content{margin-bottom:160px}#root[device-type=Tablet] .wr-detail .card-detail-content .k-loading-mask.wr-detail-loader{position:fixed !important}@media(max-width: 819px)and (orientation: portrait){#root[device-type=Tablet] .wr-detail .card-detail-content .orientation-Portrait .k-step-list-horizontal .k-step-indicator+.k-step-label{font-size:12px !important}}#root[device-type=Tablet][device-orientation=Landscape] .slider,#root[device-type=Tablet][device-orientation=Landscape] .slider-content-card{width:600px}#root[device-type=Tablet][device-orientation=Landscape] .slider .content-slider-actions,#root[device-type=Tablet][device-orientation=Landscape] .slider-content-card .content-slider-actions{width:600px}#root[device-type=Tablet][device-orientation=Landscape] .wr-detail .card-actions-content .card-actions{justify-content:flex-end;display:grid !important}#root[device-type=Tablet][device-orientation=Portrait] .slider,#root[device-type=Tablet][device-orientation=Portrait] .slider-content-card{width:100%}#root[device-type=Tablet][device-orientation=Portrait] .slider .content-slider-actions,#root[device-type=Tablet][device-orientation=Portrait] .slider-content-card .content-slider-actions{width:100%}@media(max-width: 576px){#root[device-type=Tablet][device-orientation=Portrait] .home-page .k-tilelayout.k-grid-flow-col{grid-template-columns:repeat(2, minmax(0px, 1fr)) !important}}#root[device-type=Tablet][device-orientation=Portrait] .wr-detail .card-detail-content{height:70vh !important}#root[device-type=Tablet][device-orientation=Portrait] .wr-detail .card-detail-content .description-card .description .k-form-field-wrap .k-input{width:100%}#root[device-type=Tablet][device-orientation=Portrait] .wr-detail .card-detail-content .orientation-Portrait .stepper-body{height:calc(100vh - 184px - 19vh);overflow:scroll}@media(min-width: 821px){#root[device-type=Tablet] .k-drawer-expanded .home-page .k-tilelayout.k-grid-flow-col{grid-template-columns:repeat(3, minmax(0px, 1fr)) !important}}#root[device-type=Phone] .k-notification-group,#root[device-type=Phone] .k-notification-group .k-notification-containe{width:100%}#root[device-type=Phone] .k-notification-group .k-animation-container{background:rgba(0,0,0,0);width:100%}#root[device-type=Phone] .k-notification-group .k-animation-container .k-notification-container{float:unset}#root[device-type=Phone] .slider,#root[device-type=Phone] .slider-content-card{width:100%}#root[device-type=Phone] .slider .slider-card,#root[device-type=Phone] .slider-content-card .slider-card{height:calc(100vh - 69px);overflow:auto;padding-bottom:28px}#root[device-type=Phone] .slider .content-slider-actions,#root[device-type=Phone] .slider-content-card .content-slider-actions{position:fixed;bottom:0;width:100%}#root[device-type=Phone] .wr-detail{background:none}#root[device-type=Phone] .wr-detail .card-actions-content{display:grid !important;position:fixed;bottom:0}#root[device-type=Phone] .wr-detail .card-actions-content .card-actions{position:fixed !important;border-top:1px solid rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}#root[device-type=Phone] .wr-detail .card-detail-content{margin-bottom:136px}#root[device-type=Phone] .layout-facility .alert-suggestion{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}#root[device-type=Phone] .layout-facility .main-facility-label{text-align:center}#root[device-type=Phone][device-orientation=Landscape] .drawer-wrapper.drawer-active .facility-drawer-item{position:sticky}#root[device-type=Phone][device-orientation=Portrait] .drawer-wrapper.drawer-active .facility-drawer-item{bottom:49px}#root[device-type=Phone][device-orientation=Portrait] .home-page .k-tilelayout.k-grid-flow-col{grid-template-columns:repeat(1, minmax(0px, 1fr)) !important}#root[device-type=Phone][device-orientation=Portrait] .wr-detail .card-detail-content{height:75vh !important}#root[device-type=Phone][device-orientation=Portrait] .wr-detail .card-detail-content .orientation-Portrait .stepper-body{height:55vh;overflow:scroll}#root[device-type=Phone][device-orientation=Portrait] .wr-detail .card-detail-content .description-card .description .k-form-field-wrap .k-input{width:100%}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FFYlI7QUZlUTtFQUVJO0FFZFo7O0FGbUJJO0VBQ0k7QUVoQlI7O0FGcUJJO0VBQ0ksNEJDcERVO0FDa0NsQjs7QUZvQkk7RUFDSSw2QkN0RFU7QUNxQ2xCOztBRm1CSTtFQUNJLGVDNURPO0FDNENmOztBRmtCSTtFQUNJLDRCQzFEVTtBQzJDbEI7O0FGaUJJO0VBQ0ksMkJDNURVO0FDOENsQjs7QUZnQkk7RUFDSSx5QkM5RFc7QUNpRG5COztBRmVJO0VBQ0kseUJDaEVZO0FDb0RwQjs7QUZpQkk7RUFDSTtBRWRSOztBRmdCSTtFQUNJO0FFYlI7O0FGZUk7O0VBRUk7QUVaUjs7QUZrQlE7RUFDSTtBRWZaOztBRmNRO0VBQ0k7QUVYWjs7QUZVUTtFQUNJO0FFUFo7O0FGTVE7RUFDSTtBRUhaOztBRkVRO0VBQ0k7QUVDWjs7QUZGUTtFQUNJO0FFS1o7O0FGTlE7RUFDSTtBRVNaOztBRlZRO0VBQ0k7QUVhWjs7QUMzR0k7RUFBd0I7QUQrRzVCOztBQzlHSTtFQUFpQztBRGtIckM7O0FDakhJO0VBQTJCO0FEcUgvQjs7QUNwSEk7RUFBeUI7QUR3SDdCOztBQ3ZISTtFQUF3QjtBRDJINUI7O0FDMUhJO0VBQW1DO0FEOEh2Qzs7QUM3SEk7RUFBMkI7QURpSS9COztBQ2hJSTtFQUF5QjtBRG9JN0I7O0FDbklJO0VBQXdCO0FEdUk1Qjs7QUN0SUk7RUFBa0M7QUQwSXRDOztBQ3pJSTtFQUEyQjtBRDZJL0I7O0FDNUlJO0VBQXlCO0FEZ0o3Qjs7QUMvSUk7RUFBd0I7QURtSjVCOztBQ2xKSTtFQUFnQztBRHNKcEM7O0FDckpJO0VBQTJCO0FEeUovQjs7QUN4Skk7RUFBeUI7QUQ0SjdCOztBQzNKSTtFQUE0QjtBRCtKaEM7O0FDOUpJO0VBQTJCO0FEa0svQjs7QUNqS0k7RUFBdUI7QURxSzNCOztBQ3BLSTtFQUFrQztBRHdLdEM7O0FDdktJO0VBQXdCO0FEMks1Qjs7QUMxS0k7RUFBd0I7QUQ4SzVCOztBQzdLSTtFQUErQjtBRGlMbkM7O0FDaExJO0VBQThCO0FEb0xsQzs7QUNuTEk7RUFBdUI7QUR1TDNCOztBQ3RMSTtFQUFzQjtBRDBMMUI7O0FDekxJO0VBQXdCO0FENkw1Qjs7QUM1TEk7RUFBd0I7QURnTTVCOztBQy9MSTtFQUE4QjtBRG1NbEM7O0FDbE1JO0VBQTZCO0FEc01qQzs7QUNyTUk7RUFBdUI7QUR5TTNCOztBQ3hNSTtFQUFrQztBRDRNdEM7O0FDM01JO0VBQXdCO0FEK001Qjs7QUM5TUk7RUFBd0I7QURrTjVCOztBQ2pOSTtFQUF3QjtBRHFONUI7O0FDcE5JO0VBQThCO0FEd05sQzs7QUN2Tkk7RUFBNkI7QUQyTmpDOztBQzFOSTtFQUF1QjtBRDhOM0I7O0FDN05JO0VBQXdCO0FEaU81Qjs7QUNoT0k7RUFBd0I7QURvTzVCOztBQ25PSTtFQUFnQztBRHVPcEM7O0FDdE9JO0VBQTRCO0FEME9oQzs7QUN6T0k7RUFBc0I7QUQ2TzFCOztBQzVPSTtFQUFrQztBRGdQdEM7O0FDL09JO0VBQStCO0FEbVBuQzs7QUNsUEk7RUFBc0I7QURzUDFCOztBQ3JQSTtFQUFtQztBRHlQdkM7O0FDeFBJO0VBQThCO0FENFBsQzs7QUMzUEk7RUFBc0I7QUQrUDFCOztBQzlQSTtFQUFpQztBRGtRckM7O0FDalFJO0VBQThCO0FEcVFsQzs7QUNwUUk7RUFBc0I7QUR3UTFCOztBQ3ZRSTtFQUFtQztBRDJRdkM7O0FDMVFJO0VBQWtDO0FEOFF0Qzs7QUM3UUk7RUFBNkI7QURpUmpDOztBQ2hSSTtFQUFzQztBRG9SMUM7O0FDblJJO0VBQXFDO0FEdVJ6Qzs7QUN0Ukk7RUFBZ0M7QUQwUnBDOztBQ3pSSTtFQUEwQjtBRDZSOUI7O0FDNVJJO0VBQXFDO0FEZ1N6Qzs7QUMvUkk7RUFBb0M7QURtU3hDOztBQ2xTSTtFQUErQjtBRHNTbkM7O0FDclNJO0VBQXFDO0FEeVN6Qzs7QUN4U0k7RUFBb0M7QUQ0U3hDOztBQzNTSTtFQUErQjtBRCtTbkM7O0FDOVNJO0VBQXlCO0FEa1Q3Qjs7QUNqVEk7RUFBZ0M7QURxVHBDOztBQ3BUSTtFQUEwQjtBRHdUOUI7O0FDdlRJO0VBQW1CO0FEMlR2Qjs7QUMxVEk7RUFBOEI7QUQ4VGxDOztBQzdUSTtFQUFnQztBRGlVcEM7O0FDaFVJO0VBQW1DO0FEb1V2Qzs7QUNuVUk7RUFBMEI7QUR1VTlCOztBQ3RVSTtFQUFnQztBRDBVcEM7O0FDelVJO0VBQTJCO0FENlUvQjs7QUM1VUk7RUFBNkI7QURnVmpDOztBQy9VSTtFQUFtQztBRG1WdkM7O0FDbFZJO0VBQTJCO0FEc1YvQjs7QUNyVkk7RUFBNEI7QUR5VmhDOztBQ3hWSTtFQUFrQztBRDRWdEM7O0FDM1ZJO0VBQTJCO0FEK1YvQjs7QUM5Vkk7RUFBNEI7QURrV2hDOztBQ2pXSTtFQUFrQztBRHFXdEM7O0FDcFdJO0VBQTJCO0FEd1cvQjs7QUN2V0k7RUFBd0I7QUQyVzVCOztBQzFXSTtFQUEyQjtBRDhXL0I7O0FDN1dJO0VBQTBCO0FEaVg5Qjs7QUNoWEk7RUFBMEI7QURvWDlCOztBQ25YSTtFQUEwQjtBRHVYOUI7O0FDdFhJO0VBQTJCO0FEMFgvQjs7QUN6WEk7RUFBd0I7QUQ2WDVCOztBQzVYSTtFQUE0QjtBRGdZaEM7O0FDL1hJO0VBQTRCO0FEbVloQzs7QUNsWUk7RUFBMEI7QURzWTlCOztBQ3JZSTtFQUEwQjtBRHlZOUI7O0FDeFlJO0VBQTBCO0FENFk5Qjs7QUMzWUk7RUFBK0I7QUQrWW5DOztBQzlZSTtFQUEyQjtBRGtaL0I7O0FDalpJO0VBQWlDO0FEcVpyQzs7QUNwWkk7RUFBeUI7QUR3WjdCOztBQ3ZaSTtFQUEyQjtBRDJaL0I7O0FDMVpJO0VBQTZCO0FEOFpqQzs7QUM3Wkk7RUFBMEI7QURpYTlCOztBQ2hhSTtFQUFvQjtBRG9heEI7O0FDbmFJO0VBQTJCO0FEdWEvQjs7QUN0YUk7RUFBcUI7QUQwYXpCOztBQ3phSTtFQUF1QjtBRDZhM0I7O0FDNWFJO0VBQTJCO0FEZ2IvQjs7QUMvYUk7RUFBNEI7QURtYmhDOztBQ2xiSTtFQUFzQjtBRHNiMUI7O0FDcmJJO0VBQTZCO0FEeWJqQzs7QUN4Ykk7RUFBNkI7QUQ0YmpDOztBQzNiSTtFQUEyQjtBRCtiL0I7O0FDOWJJO0VBQW1DO0FEa2N2Qzs7QUNqY0k7RUFBOEI7QURxY2xDOztBQ3BjSTtFQUF1QjtBRHdjM0I7O0FDdmNJO0VBQW9CO0FEMmN4Qjs7QUMxY0k7RUFBdUI7QUQ4YzNCOztBQzdjSTtFQUFvQjtBRGlkeEI7O0FDaGRJO0VBQXlCO0FEb2Q3Qjs7QUNuZEk7RUFBNkI7QUR1ZGpDOztBQ3RkSTtFQUFzQjtBRDBkMUI7O0FDemRJO0VBQXFCO0FENmR6Qjs7QUM1ZEk7RUFBK0I7QURnZW5DOztBQy9kSTtFQUFzQjtBRG1lMUI7O0FDbGVJO0VBQXFCO0FEc2V6Qjs7QUNyZUk7RUFBdUI7QUR5ZTNCOztBQ3hlSTtFQUFvQjtBRDRleEI7O0FDM2VJO0VBQW9CO0FEK2V4Qjs7QUM5ZUk7RUFBaUM7QURrZnJDOztBQ2pmSTtFQUFpQztBRHFmckM7O0FDcGZJO0VBQXlDO0FEd2Y3Qzs7QUN2Zkk7RUFBMEM7QUQyZjlDOztBQzFmSTtFQUFzQztBRDhmMUM7O0FDN2ZJO0VBQXVDO0FEaWdCM0M7O0FDaGdCSTtFQUE2QjtBRG9nQmpDOztBQ25nQkk7RUFBbUM7QUR1Z0J2Qzs7QUN0Z0JJO0VBQWlDO0FEMGdCckM7O0FDemdCSTtFQUFrQztBRDZnQnRDOztBQzVnQkk7RUFBZ0M7QURnaEJwQzs7QUMvZ0JJO0VBQTRCO0FEbWhCaEM7O0FDbGhCSTtFQUEwQjtBRHNoQjlCOztBQ3JoQkk7RUFBbUM7QUR5aEJ2Qzs7QUN4aEJJO0VBQW1DO0FENGhCdkM7O0FDM2hCSTtFQUFvQztBRCtoQnhDOztBQzloQkk7RUFBaUM7QURraUJyQzs7QUNqaUJJO0VBQXdCO0FEcWlCNUI7O0FDcGlCSTtFQUE4QjtBRHdpQmxDOztBQ3ZpQkk7RUFBNkI7QUQyaUJqQzs7QUMxaUJJO0VBQTRCO0FEOGlCaEM7O0FDN2lCSTtFQUFtQztBRGlqQnZDOztBQ2hqQkk7RUFBOEI7QURvakJsQzs7QUNuakJJO0VBQTRCO0FEdWpCaEM7O0FDdGpCSTtFQUEyQjtBRDBqQi9COztBQ3pqQkk7RUFBMEI7QUQ2akI5Qjs7QUM1akJJO0VBQXVCO0FEZ2tCM0I7O0FDL2pCSTtFQUFpQztBRG1rQnJDOztBQ2xrQkk7RUFBNkI7QURza0JqQzs7QUNya0JJO0VBQXNCO0FEeWtCMUI7O0FDeGtCSTtFQUE0QjtBRDRrQmhDOztBQzNrQkk7RUFBMkI7QUQra0IvQjs7QUM5a0JJO0VBQThCO0FEa2xCbEM7O0FDamxCSTtFQUFnQztBRHFsQnBDOztBQ3BsQkk7RUFBOEI7QUR3bEJsQzs7QUN2bEJJO0VBQWdDO0FEMmxCcEM7O0FDMWxCSTtFQUFzQztBRDhsQjFDOztBQzdsQkk7RUFBcUM7QURpbUJ6Qzs7QUNobUJJO0VBQTBCO0FEb21COUI7O0FDbm1CSTtFQUF5QjtBRHVtQjdCOztBQ3RtQkk7RUFBMEI7QUQwbUI5Qjs7QUN6bUJJO0VBQXlCO0FENm1CN0I7O0FDNW1CSTtFQUE4QjtBRGduQmxDOztBQy9tQkk7RUFBNkI7QURtbkJqQzs7QUNsbkJJO0VBQThCO0FEc25CbEM7O0FDcm5CSTtFQUE0QjtBRHluQmhDOztBQ3huQkk7RUFBNkI7QUQ0bkJqQzs7QUMzbkJJO0VBQTJCO0FEK25CL0I7O0FDOW5CSTtFQUF1QjtBRGtvQjNCOztBQ2pvQkk7RUFBK0I7QURxb0JuQzs7QUNwb0JJO0VBQTZCO0FEd29CakM7O0FDdm9CSTtFQUE4QjtBRDJvQmxDOztBQzFvQkk7RUFBNEI7QUQ4b0JoQzs7QUM3b0JJO0VBQWtDO0FEaXBCdEM7O0FDaHBCSTtFQUEyQjtBRG9wQi9COztBQ25wQkk7RUFBOEI7QUR1cEJsQzs7QUN0cEJJO0VBQThCO0FEMHBCbEM7O0FDenBCSTtFQUFtQztBRDZwQnZDOztBQzVwQkk7RUFBMEI7QURncUI5Qjs7QUMvcEJJO0VBQTBCO0FEbXFCOUI7O0FDbHFCSTtFQUF3QjtBRHNxQjVCOztBQ3JxQkk7RUFBOEI7QUR5cUJsQzs7QUN4cUJJO0VBQXlCO0FENHFCN0I7O0FDM3FCSTtFQUEyQjtBRCtxQi9COztBQzlxQkk7RUFBb0M7QURrckJ4Qzs7QUNqckJJO0VBQTJCO0FEcXJCL0I7O0FDcHJCSTtFQUE0QjtBRHdyQmhDOztBQ3ZyQkk7RUFBNEI7QUQyckJoQzs7QUMxckJJO0VBQTRCO0FEOHJCaEM7O0FDN3JCSTtFQUE2QjtBRGlzQmpDOztBQ2hzQkk7RUFBd0I7QURvc0I1Qjs7QUNuc0JJO0VBQThCO0FEdXNCbEM7O0FDdHNCSTtFQUFnQztBRDBzQnBDOztBQ3pzQkk7RUFBMEI7QUQ2c0I5Qjs7QUM1c0JJO0VBQXlCO0FEZ3RCN0I7O0FDL3NCSTtFQUEyQjtBRG10Qi9COztBQ2x0Qkk7RUFBNkI7QURzdEJqQzs7QUNydEJJO0VBQStCO0FEeXRCbkM7O0FDeHRCSTtFQUE2QjtBRDR0QmpDOztBQzN0Qkk7RUFBeUI7QUQrdEI3Qjs7QUM5dEJJO0VBQTRCO0FEa3VCaEM7O0FDanVCSTtFQUEyQjtBRHF1Qi9COztBQ3B1Qkk7RUFBa0M7QUR3dUJ0Qzs7QUN2dUJJO0VBQTBCO0FEMnVCOUI7O0FDMXVCSTtFQUFnQztBRDh1QnBDOztBQzd1Qkk7RUFBd0I7QURpdkI1Qjs7QUNodkJJO0VBQXdCO0FEb3ZCNUI7O0FDbnZCSTtFQUE4QjtBRHV2QmxDOztBQ3R2Qkk7RUFBdUI7QUQwdkIzQjs7QUN6dkJJO0VBQWdDO0FENnZCcEM7O0FDNXZCSTtFQUE0QjtBRGd3QmhDOztBQy92Qkk7RUFBNEI7QURtd0JoQzs7QUNsd0JJO0VBQXFCO0FEc3dCekI7O0FDcndCSTtFQUEyQjtBRHl3Qi9COztBQ3h3Qkk7RUFBNkI7QUQ0d0JqQzs7QUMzd0JJO0VBQThCO0FEK3dCbEM7O0FDOXdCSTtFQUFnQztBRGt4QnBDOztBQ2p4Qkk7RUFBeUI7QURxeEI3Qjs7QUNweEJJO0VBQThCO0FEd3hCbEM7O0FDdnhCSTtFQUF5QjtBRDJ4QjdCOztBQzF4Qkk7RUFBc0I7QUQ4eEIxQjs7QUM3eEJJO0VBQXdCO0FEaXlCNUI7O0FDaHlCSTtFQUFxQjtBRG95QnpCOztBQ255Qkk7RUFBbUI7QUR1eUJ2Qjs7QUN0eUJJO0VBQXFCO0FEMHlCekI7O0FDenlCSTtFQUE4QjtBRDZ5QmxDOztBQzV5Qkk7RUFBNEI7QURnekJoQzs7QUMveUJJO0VBQWdDO0FEbXpCcEM7O0FDbHpCSTtFQUF3QjtBRHN6QjVCOztBQ3J6Qkk7RUFBaUM7QUR5ekJyQzs7QUN4ekJJO0VBQStCO0FENHpCbkM7O0FDM3pCSTtFQUEwQjtBRCt6QjlCOztBQzl6Qkk7RUFBNkI7QURrMEJqQzs7QUNqMEJJO0VBQWtDO0FEcTBCdEM7O0FDcDBCSTtFQUErQjtBRHcwQm5DOztBQ3YwQkk7RUFBMkI7QUQyMEIvQjs7QUMxMEJJO0VBQTZCO0FEODBCakM7O0FDNzBCSTtFQUE4QjtBRGkxQmxDOztBQ2gxQkk7RUFBOEI7QURvMUJsQzs7QUNuMUJJO0VBQXFCO0FEdTFCekI7O0FDdDFCSTtFQUErQjtBRDAxQm5DOztBQ3oxQkk7RUFBNkI7QUQ2MUJqQzs7QUM1MUJJO0VBQTZCO0FEZzJCakM7O0FDLzFCSTtFQUF5QjtBRG0yQjdCOztBQ2wyQkk7RUFBOEI7QURzMkJsQzs7QUNyMkJJO0VBQTRCO0FEeTJCaEM7O0FDeDJCSTtFQUFzQztBRDQyQjFDOztBQzMyQkk7RUFBOEI7QUQrMkJsQzs7QUM5MkJJO0VBQW9DO0FEazNCeEM7O0FDajNCSTtFQUE0QjtBRHEzQmhDOztBQ3AzQkk7RUFBeUI7QUR3M0I3Qjs7QUN2M0JJO0VBQThCO0FEMjNCbEM7O0FDMTNCSTtFQUE0QjtBRDgzQmhDOztBQzczQkk7RUFBNkI7QURpNEJqQzs7QUNoNEJJO0VBQTJCO0FEbzRCL0I7O0FDbjRCSTtFQUE0QjtBRHU0QmhDOztBQ3Q0Qkk7RUFBd0I7QUQwNEI1Qjs7QUN6NEJJO0VBQTBCO0FENjRCOUI7O0FDNTRCSTtFQUEyQjtBRGc1Qi9COztBQy80Qkk7RUFBeUI7QURtNUI3Qjs7QUNsNUJJO0VBQWlDO0FEczVCckM7O0FDcjVCSTtFQUErQjtBRHk1Qm5DOztBQ3g1Qkk7RUFBNkI7QUQ0NUJqQzs7QUMzNUJJO0VBQStCO0FEKzVCbkM7O0FDOTVCSTtFQUEyQjtBRGs2Qi9COztBQ2o2Qkk7RUFBNkI7QURxNkJqQzs7QUNwNkJJO0VBQTRCO0FEdzZCaEM7O0FDdjZCSTtFQUFzQztBRDI2QjFDOztBQzE2Qkk7RUFBb0M7QUQ4NkJ4Qzs7QUM3NkJJO0VBQXFDO0FEaTdCekM7O0FDaDdCSTtFQUFtQztBRG83QnZDOztBQ243Qkk7RUFBK0I7QUR1N0JuQzs7QUN0N0JJO0VBQThCO0FEMDdCbEM7O0FDejdCSTtFQUE2QjtBRDY3QmpDOztBQzU3Qkk7RUFBMEI7QURnOEI5Qjs7QUMvN0JJO0VBQTRCO0FEbThCaEM7O0FDbDhCSTtFQUFvQjtBRHM4QnhCOztBQ3I4Qkk7RUFBMkI7QUR5OEIvQjs7QUN4OEJJO0VBQXVDO0FENDhCM0M7O0FDMzhCSTtFQUE0QjtBRCs4QmhDOztBQzk4Qkk7RUFBNEI7QURrOUJoQzs7QUNqOUJJO0VBQXdCO0FEcTlCNUI7O0FDcDlCSTtFQUFvQjtBRHc5QnhCOztBQ3Y5Qkk7RUFBd0I7QUQyOUI1Qjs7QUMxOUJJO0VBQXlCO0FEODlCN0I7O0FDNzlCSTtFQUF3QjtBRGkrQjVCOztBQ2grQkk7RUFBNEI7QURvK0JoQzs7QUNuK0JJO0VBQTZCO0FEdStCakM7O0FDdCtCSTtFQUFnQztBRDArQnBDOztBQ3orQkk7RUFBMEI7QUQ2K0I5Qjs7QUM1K0JJO0VBQTRCO0FEZy9CaEM7O0FDLytCSTtFQUF5QjtBRG0vQjdCOztBQ2wvQkk7RUFBK0I7QURzL0JuQzs7QUNyL0JJO0VBQWlDO0FEeS9CckM7O0FDeC9CSTtFQUFpQztBRDQvQnJDOztBQzMvQkk7RUFBK0I7QUQrL0JuQzs7QUM5L0JJO0VBQTJCO0FEa2dDL0I7O0FDamdDSTtFQUFzQztBRHFnQzFDOztBQ3BnQ0k7RUFBb0M7QUR3Z0N4Qzs7QUN2Z0NJO0VBQW9DO0FEMmdDeEM7O0FDMWdDSTtFQUFrQztBRDhnQ3RDOztBQzdnQ0k7RUFBa0M7QURpaEN0Qzs7QUNoaENJO0VBQWdDO0FEb2hDcEM7O0FDbmhDSTtFQUFnQztBRHVoQ3BDOztBQ3RoQ0k7RUFBOEI7QUQwaENsQzs7QUN6aENJO0VBQWdDO0FENmhDcEM7O0FDNWhDSTtFQUE4QjtBRGdpQ2xDOztBQy9oQ0k7RUFBMkI7QURtaUMvQjs7QUNsaUNJO0VBQXlCO0FEc2lDN0I7O0FDcmlDSTtFQUEyQjtBRHlpQy9COztBQ3hpQ0k7RUFBeUI7QUQ0aUM3Qjs7QUMzaUNJO0VBQWlDO0FEK2lDckM7O0FDOWlDSTtFQUErQjtBRGtqQ25DOztBQ2pqQ0k7RUFBdUI7QURxakMzQjs7QUNwakNJO0VBQW1CO0FEd2pDdkI7O0FDdmpDSTtFQUFtQjtBRDJqQ3ZCOztBQzFqQ0k7RUFBaUM7QUQ4akNyQzs7QUM3akNJO0VBQStCO0FEaWtDbkM7O0FDaGtDSTtFQUF3QjtBRG9rQzVCOztBQ25rQ0k7RUFBMEI7QUR1a0M5Qjs7QUN0a0NJO0VBQWlDO0FEMGtDckM7O0FDemtDSTtFQUErQjtBRDZrQ25DOztBQzVrQ0k7RUFBdUI7QURnbEMzQjs7QUMva0NJO0VBQStCO0FEbWxDbkM7O0FDbGxDSTtFQUE2QjtBRHNsQ2pDOztBQ3JsQ0k7RUFBZ0M7QUR5bENwQzs7QUN4bENJO0VBQThCO0FENGxDbEM7O0FDM2xDSTtFQUE2QjtBRCtsQ2pDOztBQzlsQ0k7RUFBMkI7QURrbUMvQjs7QUNqbUNJO0VBQW9CO0FEcW1DeEI7O0FDcG1DSTtFQUFvQjtBRHdtQ3hCOztBQ3ZtQ0k7RUFBMEI7QUQybUM5Qjs7QUMxbUNJO0VBQW9CO0FEOG1DeEI7O0FDN21DSTtFQUEwQjtBRGluQzlCOztBQ2huQ0k7RUFBZ0M7QURvbkNwQzs7QUNubkNJO0VBQXFCO0FEdW5DekI7O0FDdG5DSTtFQUErQjtBRDBuQ25DOztBQ3puQ0k7RUFBc0I7QUQ2bkMxQjs7QUM1bkNJO0VBQXVCO0FEZ29DM0I7O0FDL25DSTtFQUEwQjtBRG1vQzlCOztBQ2xvQ0k7RUFBNkI7QURzb0NqQzs7QUNyb0NJO0VBQWdDO0FEeW9DcEM7O0FDeG9DSTtFQUE4QjtBRDRvQ2xDOztBQzNvQ0k7RUFBNkI7QUQrb0NqQzs7QUM5b0NJO0VBQXNDO0FEa3BDMUM7O0FDanBDSTtFQUF3QjtBRHFwQzVCOztBQ3BwQ0k7RUFBcUM7QUR3cEN6Qzs7QUN2cENJO0VBQXlCO0FEMnBDN0I7O0FDMXBDSTtFQUEwQjtBRDhwQzlCOztBQzdwQ0k7RUFBNkI7QURpcUNqQzs7QUNocUNJO0VBQWdDO0FEb3FDcEM7O0FDbnFDSTtFQUFxQjtBRHVxQ3pCOztBQ3RxQ0k7RUFBd0I7QUQwcUM1Qjs7QUN6cUNJO0VBQW9CO0FENnFDeEI7O0FDNXFDSTtFQUFzQjtBRGdyQzFCOztBQy9xQ0k7RUFBcUI7QURtckN6Qjs7QUNsckNJO0VBQXVCO0FEc3JDM0I7O0FDcnJDSTtFQUFzQjtBRHlyQzFCOztBQ3hyQ0k7RUFBb0I7QUQ0ckN4Qjs7QUMzckNJO0VBQXFCO0FEK3JDekI7O0FDOXJDSTtFQUFzQjtBRGtzQzFCOztBQ2pzQ0k7RUFBeUI7QURxc0M3Qjs7QUNwc0NJO0VBQTBCO0FEd3NDOUI7O0FDdnNDSTtFQUFvQjtBRDJzQ3hCOztBQzFzQ0k7RUFBNkI7QUQ4c0NqQzs7QUM3c0NJO0VBQTZCO0FEaXRDakM7O0FDaHRDSTtFQUF1QjtBRG90QzNCOztBQ250Q0k7RUFBb0I7QUR1dEN4Qjs7QUN0dENJO0VBQStCO0FEMHRDbkM7O0FDenRDSTtFQUF5QjtBRDZ0QzdCOztBQzV0Q0k7RUFBc0I7QURndUMxQjs7QUMvdENJO0VBQXNCO0FEbXVDMUI7O0FDbHVDSTtFQUFpQztBRHN1Q3JDOztBQ3J1Q0k7RUFBZ0M7QUR5dUNwQzs7QUN4dUNJO0VBQXdCO0FENHVDNUI7O0FDM3VDSTtFQUE2QjtBRCt1Q2pDOztBQzl1Q0k7RUFBc0I7QURrdkMxQjs7QUNqdkNJO0VBQStCO0FEcXZDbkM7O0FDcHZDSTtFQUF3QjtBRHd2QzVCOztBQ3Z2Q0k7RUFBb0I7QUQydkN4Qjs7QUMxdkNJO0VBQXNCO0FEOHZDMUI7O0FDN3ZDSTtFQUFzQjtBRGl3QzFCOztBQ2h3Q0k7RUFBOEI7QURvd0NsQzs7QUNud0NJO0VBQW9CO0FEdXdDeEI7O0FDdHdDSTtFQUE2QjtBRDB3Q2pDOztBQ3p3Q0k7RUFBcUI7QUQ2d0N6Qjs7QUM1d0NJO0VBQXlCO0FEZ3hDN0I7O0FDL3dDSTtFQUFvQjtBRG14Q3hCOztBQ2x4Q0k7RUFBNkI7QURzeENqQzs7QUNyeENJO0VBQWlDO0FEeXhDckM7O0FDeHhDSTtFQUF1QjtBRDR4QzNCOztBQzN4Q0k7RUFBNEI7QUQreENoQzs7QUM5eENJO0VBQWdDO0FEa3lDcEM7O0FDanlDSTtFQUFpQjtBRHF5Q3JCOztBQ3B5Q0k7RUFBcUI7QUR3eUN6Qjs7QUN2eUNJO0VBQXFCO0FEMnlDekI7O0FDMXlDSTtFQUFxQjtBRDh5Q3pCOztBQzd5Q0k7RUFBNEI7QURpekNoQzs7QUNoekNJO0VBQXlCO0FEb3pDN0I7O0FDbnpDSTtFQUE2QjtBRHV6Q2pDOztBQ3R6Q0k7RUFBNkI7QUQwekNqQzs7QUN6ekNJO0VBQTZCO0FENnpDakM7O0FDNXpDSTtFQUFxQjtBRGcwQ3pCOztBQy96Q0k7RUFBd0I7QURtMEM1Qjs7QUNsMENJO0VBQTRCO0FEczBDaEM7O0FDcjBDSTtFQUE0QjtBRHkwQ2hDOztBQ3gwQ0k7RUFBNEI7QUQ0MENoQzs7QUMzMENJO0VBQW9CO0FEKzBDeEI7O0FDOTBDSTtFQUFtQjtBRGsxQ3ZCOztBQ2oxQ0k7RUFBNEI7QURxMUNoQzs7QUNwMUNJO0VBQTJCO0FEdzFDL0I7O0FDdjFDSTtFQUEyQjtBRDIxQy9COztBQzExQ0k7RUFBMEI7QUQ4MUM5Qjs7QUM3MUNJO0VBQXFCO0FEaTJDekI7O0FDaDJDSTtFQUErQjtBRG8yQ25DOztBQ24yQ0k7RUFBNkI7QUR1MkNqQzs7QUN0MkNJO0VBQTRCO0FEMDJDaEM7O0FDejJDSTtFQUF3QjtBRDYyQzVCOztBQzUyQ0k7RUFBeUI7QURnM0M3Qjs7QUMvMkNJO0VBQTBCO0FEbTNDOUI7O0FDbDNDSTtFQUFzQjtBRHMzQzFCOztBQ3IzQ0k7RUFBOEI7QUR5M0NsQzs7QUN4M0NJO0VBQTJCO0FENDNDL0I7O0FDMzNDSTtFQUErQjtBRCszQ25DOztBQzkzQ0k7RUFBNEI7QURrNENoQzs7QUNqNENJO0VBQXNCO0FEcTRDMUI7O0FDcDRDSTtFQUE0QjtBRHc0Q2hDOztBQ3Y0Q0k7RUFBNEI7QUQyNENoQzs7QUMxNENJO0VBQXlCO0FEODRDN0I7O0FDNzRDSTtFQUFxQztBRGk1Q3pDOztBQ2g1Q0k7RUFBa0M7QURvNUN0Qzs7QUNuNUNJO0VBQXNDO0FEdTVDMUM7O0FDdDVDSTtFQUFtQztBRDA1Q3ZDOztBQ3o1Q0k7RUFBcUM7QUQ2NUN6Qzs7QUM1NUNJO0VBQWdDO0FEZzZDcEM7O0FDLzVDSTtFQUFxQjtBRG02Q3pCOztBQ2w2Q0k7RUFBdUI7QURzNkMzQjs7QUNyNkNJO0VBQXNCO0FEeTZDMUI7O0FDeDZDSTtFQUF3QjtBRDQ2QzVCOztBQzM2Q0k7RUFBd0I7QUQrNkM1Qjs7QUM5NkNJO0VBQXNCO0FEazdDMUI7O0FDajdDSTtFQUE4QjtBRHE3Q2xDOztBQ3A3Q0k7RUFBaUM7QUR3N0NyQzs7QUN2N0NJO0VBQXNCO0FEMjdDMUI7O0FDMTdDSTtFQUFzQjtBRDg3QzFCOztBQzc3Q0k7RUFBK0I7QURpOENuQzs7QUNoOENJO0VBQXdCO0FEbzhDNUI7O0FDbjhDSTtFQUE4QjtBRHU4Q2xDOztBQ3Q4Q0k7RUFBdUI7QUQwOEMzQjs7QUN6OENJO0VBQXFCO0FENjhDekI7O0FDNThDSTtFQUF1QjtBRGc5QzNCOztBQy84Q0k7RUFBK0I7QURtOUNuQzs7QUNsOUNJO0VBQXdCO0FEczlDNUI7O0FDcjlDSTtFQUFvQjtBRHk5Q3hCOztBQ3g5Q0k7RUFBbUI7QUQ0OUN2Qjs7QUMzOUNJO0VBQXNCO0FEKzlDMUI7O0FDOTlDSTtFQUFxQjtBRGsrQ3pCOztBQ2orQ0k7RUFBb0I7QURxK0N4Qjs7QUNwK0NJO0VBQXNCO0FEdytDMUI7O0FDditDSTtFQUF3QjtBRDIrQzVCOztBQzErQ0k7RUFBbUI7QUQ4K0N2Qjs7QUM3K0NJO0VBQXVCO0FEaS9DM0I7O0FDaC9DSTtFQUFzQjtBRG8vQzFCOztBQ24vQ0k7RUFBb0I7QUR1L0N4Qjs7QUN0L0NJO0VBQXVCO0FEMC9DM0I7O0FDei9DSTtFQUF3QjtBRDYvQzVCOztBQzUvQ0k7RUFBMkI7QURnZ0QvQjs7QUMvL0NJO0VBQW1CO0FEbWdEdkI7O0FDbGdESTtFQUFvQjtBRHNnRHhCOztBQ3JnREk7RUFBMEI7QUR5Z0Q5Qjs7QUN4Z0RJO0VBQW9CO0FENGdEeEI7O0FDM2dESTtFQUE2QjtBRCtnRGpDOztBQzlnREk7RUFBeUI7QURraEQ3Qjs7QUNqaERJO0VBQXVCO0FEcWhEM0I7O0FDcGhESTtFQUFxQjtBRHdoRHpCOztBQ3ZoREk7RUFBd0I7QUQyaEQ1Qjs7QUMxaERJO0VBQXNCO0FEOGhEMUI7O0FDN2hESTtFQUErQjtBRGlpRG5DOztBQ2hpREk7RUFBK0I7QURvaURuQzs7QUNuaURJO0VBQStCO0FEdWlEbkM7O0FDdGlESTtFQUFxQjtBRDBpRHpCOztBQ3ppREk7RUFBeUI7QUQ2aUQ3Qjs7QUM1aURJO0VBQTZCO0FEZ2pEakM7O0FDL2lESTtFQUFnQztBRG1qRHBDOztBQ2xqREk7RUFBc0I7QURzakQxQjs7QUNyakRJO0VBQTZCO0FEeWpEakM7O0FDeGpESTtFQUErQjtBRDRqRG5DOztBQzNqREk7RUFBdUI7QUQrakQzQjs7QUM5akRJO0VBQStCO0FEa2tEbkM7O0FDamtESTtFQUErQjtBRHFrRG5DOztBQ3BrREk7RUFBdUI7QUR3a0QzQjs7QUN2a0RJO0VBQStCO0FEMmtEbkM7O0FDMWtESTtFQUF1QztBRDhrRDNDOztBQzdrREk7RUFBeUI7QURpbEQ3Qjs7QUNobERJO0VBQW9CO0FEb2xEeEI7O0FDbmxESTtFQUF1QjtBRHVsRDNCOztBQ3RsREk7RUFBc0I7QUQwbEQxQjs7QUN6bERJO0VBQXFCO0FENmxEekI7O0FDNWxESTtFQUF1QjtBRGdtRDNCOztBQy9sREk7RUFBbUM7QURtbUR2Qzs7QUNsbURJO0VBQWtDO0FEc21EdEM7O0FDcm1ESTtFQUE4QjtBRHltRGxDOztBQ3htREk7RUFBNkI7QUQ0bURqQzs7QUMzbURJO0VBQTJCO0FEK21EL0I7O0FDOW1ESTtFQUE4QjtBRGtuRGxDOztBQ2puREk7RUFBZ0M7QURxbkRwQzs7QUNwbkRJO0VBQThCO0FEd25EbEM7O0FDdm5ESTtFQUE4QjtBRDJuRGxDOztBQzFuREk7RUFBNEI7QUQ4bkRoQzs7QUM3bkRJO0VBQXNDO0FEaW9EMUM7O0FDaG9ESTtFQUFvQztBRG9vRHhDOztBQ25vREk7RUFBK0I7QUR1b0RuQzs7QUN0b0RJO0VBQW9DO0FEMG9EeEM7O0FDem9ESTtFQUFrQztBRDZvRHRDOztBQzVvREk7RUFBZ0M7QURncERwQzs7QUMvb0RJO0VBQWtDO0FEbXBEdEM7O0FDbHBESTtFQUEwQjtBRHNwRDlCOztBQ3JwREk7RUFBNEI7QUR5cERoQzs7QUN4cERJO0VBQW9CO0FENHBEeEI7O0FDM3BESTtFQUFxQjtBRCtwRHpCOztBQzlwREk7RUFBb0I7QURrcUR4Qjs7QUNqcURJO0VBQXNCO0FEcXFEMUI7O0FDcHFESTtFQUF1QjtBRHdxRDNCOztBQ3ZxREk7RUFBMkI7QUQycUQvQjs7QUMxcURJO0VBQTBCO0FEOHFEOUI7O0FDN3FESTtFQUF5QjtBRGlyRDdCOztBQ2hyREk7RUFBMkI7QURvckQvQjs7QUNuckRJO0VBQTJCO0FEdXJEL0I7O0FDdHJESTtFQUEwQjtBRDByRDlCOztBQ3pyREk7RUFBa0I7QUQ2ckR0Qjs7QUM1ckRJO0VBQStCO0FEZ3NEbkM7O0FDL3JESTtFQUF5QjtBRG1zRDdCOztBQ2xzREk7RUFBd0I7QURzc0Q1Qjs7QUNyc0RJO0VBQTJCO0FEeXNEL0I7O0FDeHNESTtFQUFxQjtBRDRzRHpCOztBQzNzREk7RUFBdUI7QUQrc0QzQjs7QUM5c0RJO0VBQXdCO0FEa3RENUI7O0FDanRESTtFQUF1QjtBRHF0RDNCOztBQ3B0REk7RUFBNkI7QUR3dERqQzs7QUN2dERJO0VBQTJCO0FEMnREL0I7O0FDMXRESTtFQUFnQztBRDh0RHBDOztBQzd0REk7RUFBcUI7QURpdUR6Qjs7QUNodURJO0VBQW1CO0FEb3VEdkI7O0FDbnVESTtFQUF3QjtBRHV1RDVCOztBQ3R1REk7RUFBNEI7QUQwdURoQzs7QUN6dURJO0VBQWdDO0FENnVEcEM7O0FDNXVESTtFQUFvQjtBRGd2RHhCOztBQy91REk7RUFBd0I7QURtdkQ1Qjs7QUNsdkRJO0VBQXdCO0FEc3ZENUI7O0FDcnZESTtFQUEwQjtBRHl2RDlCOztBQ3h2REk7RUFBZ0M7QUQ0dkRwQzs7QUMzdkRJO0VBQXNDO0FEK3ZEMUM7O0FDOXZESTtFQUF1QztBRGt3RDNDOztBQ2p3REk7RUFBNkI7QURxd0RqQzs7QUNwd0RJO0VBQThCO0FEd3dEbEM7O0FDdndESTtFQUFzQjtBRDJ3RDFCOztBQzF3REk7RUFBMkI7QUQ4d0QvQjs7QUM3d0RJO0VBQTRCO0FEaXhEaEM7O0FDaHhESTtFQUFtQztBRG94RHZDOztBQ254REk7RUFBb0I7QUR1eER4Qjs7QUN0eERJO0VBQTRCO0FEMHhEaEM7O0FDenhESTtFQUEyQjtBRDZ4RC9COztBQzV4REk7RUFBMkI7QURneUQvQjs7QUMveERJO0VBQW9CO0FEbXlEeEI7O0FDbHlESTtFQUFvQjtBRHN5RHhCOztBQ3J5REk7RUFBK0I7QUR5eURuQzs7QUN4eURJO0VBQXdCO0FENHlENUI7O0FDM3lESTtFQUFvQjtBRCt5RHhCOztBQzl5REk7RUFBa0M7QURrekR0Qzs7QUNqekRJO0VBQXVCO0FEcXpEM0I7O0FDcHpESTtFQUF5QjtBRHd6RDdCOztBQ3Z6REk7RUFBc0I7QUQyekQxQjs7QUMxekRJO0VBQTRCO0FEOHpEaEM7O0FDN3pESTtFQUFxQjtBRGkwRHpCOztBQ2gwREk7RUFBcUI7QURvMER6Qjs7QUNuMERJO0VBQTRCO0FEdTBEaEM7O0FDdDBESTtFQUE0QjtBRDAwRGhDOztBQ3owREk7RUFBZ0M7QUQ2MERwQzs7QUM1MERJO0VBQTZCO0FEZzFEakM7O0FDLzBESTtFQUE0QjtBRG0xRGhDOztBQ2wxREk7RUFBb0I7QURzMUR4Qjs7QUNyMURJO0VBQXNCO0FEeTFEMUI7O0FDeDFESTtFQUErQjtBRDQxRG5DOztBQzMxREk7RUFBc0I7QUQrMUQxQjs7QUM5MURJO0VBQTZCO0FEazJEakM7O0FDajJESTtFQUFzQjtBRHEyRDFCOztBQ3AyREk7RUFBc0I7QUR3MkQxQjs7QUN2MkRJO0VBQTRCO0FEMjJEaEM7O0FDMTJESTtFQUF5QjtBRDgyRDdCOztBQzcyREk7RUFBMkI7QURpM0QvQjs7QUNoM0RJO0VBQTBCO0FEbzNEOUI7O0FDbjNESTtFQUFxQjtBRHUzRHpCOztBQ3QzREk7RUFBdUI7QUQwM0QzQjs7QUN6M0RJO0VBQXVCO0FENjNEM0I7O0FDNTNESTtFQUFxQjtBRGc0RHpCOztBQy8zREk7RUFBMEI7QURtNEQ5Qjs7QUNsNERJO0VBQTBCO0FEczREOUI7O0FDcjRESTtFQUFvQjtBRHk0RHhCOztBQ3g0REk7RUFBbUM7QUQ0NER2Qzs7QUMzNERJO0VBQXVCO0FEKzREM0I7O0FDOTRESTtFQUEwQjtBRGs1RDlCOztBQ2o1REk7RUFBNkI7QURxNURqQzs7QUNwNURJO0VBQTRCO0FEdzVEaEM7O0FDdjVESTtFQUF1QjtBRDI1RDNCOztBQzE1REk7RUFBeUI7QUQ4NUQ3Qjs7QUM3NURJO0VBQW9CO0FEaTZEeEI7O0FDaDZESTtFQUF1QjtBRG82RDNCOztBQ242REk7RUFBc0I7QUR1NkQxQjs7QUN0NkRJO0VBQXFCO0FEMDZEekI7O0FDejZESTtFQUE2QjtBRDY2RGpDOztBQzU2REk7RUFBOEI7QURnN0RsQzs7QUMvNkRJO0VBQTZCO0FEbTdEakM7O0FDbDdESTtFQUE2QjtBRHM3RGpDOztBQ3I3REk7RUFBNEI7QUR5N0RoQzs7QUN4N0RJO0VBQTZCO0FENDdEakM7O0FDMzdESTtFQUErQjtBRCs3RG5DOztBQzk3REk7RUFBOEI7QURrOERsQzs7QUNqOERJO0VBQWdDO0FEcThEcEM7O0FDcDhESTtFQUFnQztBRHc4RHBDOztBQ3Y4REk7RUFBa0M7QUQyOER0Qzs7QUMxOERJO0VBQWlDO0FEODhEckM7O0FDNzhESTtFQUFvQztBRGk5RHhDOztBQ2g5REk7RUFBOEI7QURvOURsQzs7QUNuOURJO0VBQW1DO0FEdTlEdkM7O0FDdDlESTtFQUFvQztBRDA5RHhDOztBQ3o5REk7RUFBaUM7QUQ2OURyQzs7QUM1OURJO0VBQXFDO0FEZytEekM7O0FDLzlESTtFQUFvQztBRG0rRHhDOztBQ2wrREk7RUFBa0M7QURzK0R0Qzs7QUNyK0RJO0VBQW9DO0FEeStEeEM7O0FDeCtESTtFQUE2QjtBRDQrRGpDOztBQzMrREk7RUFBZ0M7QUQrK0RwQzs7QUM5K0RJO0VBQStCO0FEay9EbkM7O0FDai9ESTtFQUErQjtBRHEvRG5DOztBQ3AvREk7RUFBMEI7QUR3L0Q5Qjs7QUN2L0RJO0VBQTJCO0FEMi9EL0I7O0FDMS9ESTtFQUFnQztBRDgvRHBDOztBQzcvREk7RUFBK0I7QURpZ0VuQzs7QUNoZ0VJO0VBQWdDO0FEb2dFcEM7O0FDbmdFSTtFQUE2QjtBRHVnRWpDOztBQ3RnRUk7RUFBMkI7QUQwZ0UvQjs7QUN6Z0VJO0VBQTRCO0FENmdFaEM7O0FDNWdFSTtFQUFpQztBRGdoRXJDOztBQy9nRUk7RUFBc0I7QURtaEUxQjs7QUNsaEVJO0VBQXNCO0FEc2hFMUI7O0FDcmhFSTtFQUF1QjtBRHloRTNCOztBQ3hoRUk7RUFBNkI7QUQ0aEVqQzs7QUMzaEVJO0VBQTRCO0FEK2hFaEM7O0FDOWhFSTtFQUE4QjtBRGtpRWxDOztBQ2ppRUk7RUFBK0I7QURxaUVuQzs7QUNwaUVJO0VBQWdDO0FEd2lFcEM7O0FDdmlFSTtFQUE2QztBRDJpRWpEOztBQzFpRUk7RUFBMkM7QUQ4aUUvQzs7QUM3aUVJO0VBQTJDO0FEaWpFL0M7O0FDaGpFSTtFQUF5QztBRG9qRTdDOztBQ25qRUk7RUFBMkM7QUR1akUvQzs7QUN0akVJO0VBQXlDO0FEMGpFN0M7O0FDempFSTtFQUF5QztBRDZqRTdDOztBQzVqRUk7RUFBdUM7QURna0UzQzs7QUMvakVJO0VBQTBCO0FEbWtFOUI7O0FDbGtFSTtFQUF5QjtBRHNrRTdCOztBQ3JrRUk7RUFBaUM7QUR5a0VyQzs7QUN4a0VJO0VBQWlDO0FENGtFckM7O0FDM2tFSTtFQUEwQjtBRCtrRTlCOztBQzlrRUk7RUFBa0M7QURrbEV0Qzs7QUNqbEVJO0VBQWdEO0FEcWxFcEQ7O0FDcGxFSTtFQUFzQztBRHdsRTFDOztBQ3ZsRUk7RUFBOEM7QUQybEVsRDs7QUMxbEVJO0VBQWlDO0FEOGxFckM7O0FDN2xFSTtFQUFtQztBRGltRXZDOztBQ2htRUk7RUFBa0M7QURvbUV0Qzs7QUNubUVJO0VBQXFDO0FEdW1FekM7O0FDdG1FSTtFQUErQjtBRDBtRW5DOztBQ3ptRUk7RUFBb0M7QUQ2bUV4Qzs7QUM1bUVJO0VBQW1DO0FEZ25FdkM7O0FDL21FSTtFQUFpRDtBRG1uRXJEOztBQ2xuRUk7RUFBb0M7QURzbkV4Qzs7QUNybkVJO0VBQXlDO0FEeW5FN0M7O0FDeG5FSTtFQUFxQztBRDRuRXpDOztBQzNuRUk7RUFBa0M7QUQrbkV0Qzs7QUM5bkVJO0VBQXNDO0FEa29FMUM7O0FDam9FSTtFQUFxQztBRHFvRXpDOztBQ3BvRUk7RUFBbUM7QUR3b0V2Qzs7QUN2b0VJO0VBQXFDO0FEMm9FekM7O0FDMW9FSTtFQUF1QztBRDhvRTNDOztBQzdvRUk7RUFBK0M7QURpcEVuRDs7QUNocEVJO0VBQXdDO0FEb3BFNUM7O0FDbnBFSTtFQUF1QztBRHVwRTNDOztBQ3RwRUk7RUFBcUM7QUQwcEV6Qzs7QUN6cEVJO0VBQXdDO0FENnBFNUM7O0FDNXBFSTtFQUFzQztBRGdxRTFDOztBQy9wRUk7RUFBeUM7QURtcUU3Qzs7QUNscUVJO0VBQW1DO0FEc3FFdkM7O0FDcnFFSTtFQUFzQztBRHlxRTFDOztBQ3hxRUk7RUFBdUM7QUQ0cUUzQzs7QUMzcUVJO0VBQTBDO0FEK3FFOUM7O0FDOXFFSTtFQUFzQztBRGtyRTFDOztBQ2pyRUk7RUFBeUM7QURxckU3Qzs7QUNwckVJO0VBQXlDO0FEd3JFN0M7O0FDdnJFSTtFQUFzQztBRDJyRTFDOztBQzFyRUk7RUFBMEM7QUQ4ckU5Qzs7QUM3ckVJO0VBQXVDO0FEaXNFM0M7O0FDaHNFSTtFQUF1QztBRG9zRTNDOztBQ25zRUk7RUFBb0M7QUR1c0V4Qzs7QUN0c0VJO0VBQTJDO0FEMHNFL0M7O0FDenNFSTtFQUF3QztBRDZzRTVDOztBQzVzRUk7RUFBMEM7QURndEU5Qzs7QUMvc0VJO0VBQXVDO0FEbXRFM0M7O0FDbHRFSTtFQUEyQjtBRHN0RS9COztBQ3J0RUk7RUFBK0I7QUR5dEVuQzs7QUN4dEVJO0VBQW9CO0FENHRFeEI7O0FDM3RFSTtFQUFzQjtBRCt0RTFCOztBQzl0RUk7RUFBeUI7QURrdUU3Qjs7QUNqdUVJO0VBQTJCO0FEcXVFL0I7O0FDcHVFSTtFQUFnQztBRHd1RXBDOztBQ3Z1RUk7RUFBb0I7QUQydUV4Qjs7QUMxdUVJO0VBQWlDO0FEOHVFckM7O0FDN3VFSTtFQUFpQztBRGl2RXJDOztBQ2h2RUk7RUFBNkI7QURvdkVqQzs7QUNudkVJO0VBQThCO0FEdXZFbEM7O0FDdHZFSTtFQUF5QjtBRDB2RTdCOztBQ3p2RUk7RUFBMEI7QUQ2dkU5Qjs7QUM1dkVJO0VBQXlCO0FEZ3dFN0I7O0FDL3ZFSTtFQUEwQjtBRG13RTlCOztBQ2x3RUk7RUFBMkI7QURzd0UvQjs7QUNyd0VJO0VBQW1CO0FEeXdFdkI7O0FDeHdFSTtFQUFtQjtBRDR3RXZCOztBQzN3RUk7RUFBa0I7QUQrd0V0Qjs7QUM5d0VJO0VBQWtCO0FEa3hFdEI7O0FDanhFSTtFQUFrQjtBRHF4RXRCOztBQ3B4RUk7RUFBa0I7QUR3eEV0Qjs7QUN2eEVJO0VBQWtCO0FEMnhFdEI7O0FDMXhFSTtFQUFrQjtBRDh4RXRCOztBQzd4RUk7RUFBNEI7QURpeUVoQzs7QUNoeUVJO0VBQTZCO0FEb3lFakM7O0FDbnlFSTtFQUFtQztBRHV5RXZDOztBQ3R5RUk7RUFBOEI7QUQweUVsQzs7QUN6eUVJO0VBQTZCO0FENnlFakM7O0FDNXlFSTtFQUFxQztBRGd6RXpDOztBQy95RUk7RUFBc0I7QURtekUxQjs7QUNsekVJO0VBQStCO0FEc3pFbkM7O0FDcnpFSTtFQUF1QjtBRHl6RTNCOztBQ3h6RUk7RUFBK0I7QUQ0ekVuQzs7QUMzekVJO0VBQTBCO0FEK3pFOUI7O0FDOXpFSTtFQUF5QjtBRGswRTdCOztBQ2owRUk7RUFBd0I7QURxMEU1Qjs7QUNwMEVJO0VBQTZCO0FEdzBFakM7O0FDdjBFSTtFQUF3QjtBRDIwRTVCOztBQzEwRUk7RUFBNkI7QUQ4MEVqQzs7QUM3MEVJO0VBQTJCO0FEaTFFL0I7O0FDaDFFSTtFQUF3QjtBRG8xRTVCOztBQ24xRUk7RUFBeUI7QUR1MUU3Qjs7QUN0MUVJO0VBQTRCO0FEMDFFaEM7O0FDejFFSTtFQUE0QjtBRDYxRWhDOztBQzUxRUk7RUFBMEI7QURnMkU5Qjs7QUMvMUVJO0VBQTRCO0FEbTJFaEM7O0FDbDJFSTtFQUE0QjtBRHMyRWhDOztBQ3IyRUk7RUFBOEI7QUR5MkVsQzs7QUN4MkVJO0VBQTJCO0FENDJFL0I7O0FDMzJFSTtFQUE0QjtBRCsyRWhDOztBQzkyRUk7RUFBNkI7QURrM0VqQzs7QUNqM0VJO0VBQTRCO0FEcTNFaEM7O0FDcDNFSTtFQUE0QjtBRHczRWhDOztBQ3YzRUk7RUFBNkI7QUQyM0VqQzs7QUMxM0VJO0VBQXlCO0FEODNFN0I7O0FDNzNFSTtFQUErQjtBRGk0RW5DOztBQ2g0RUk7RUFBK0I7QURvNEVuQzs7QUNuNEVJO0VBQWtCO0FEdTRFdEI7O0FDdDRFSTtFQUFvQztBRDA0RXhDOztBQ3o0RUk7RUFBc0M7QUQ2NEUxQzs7QUM1NEVJO0VBQXFDO0FEZzVFekM7O0FDLzRFSTtFQUF1QztBRG01RTNDOztBQ2w1RUk7RUFBeUM7QURzNUU3Qzs7QUNyNUVJO0VBQXdDO0FEeTVFNUM7O0FDeDVFSTtFQUF1QztBRDQ1RTNDOztBQzM1RUk7RUFBeUM7QUQrNUU3Qzs7QUM5NUVJO0VBQXdDO0FEazZFNUM7O0FDajZFSTtFQUFrQztBRHE2RXRDOztBQ3A2RUk7RUFBMkI7QUR3NkUvQjs7QUN2NkVJO0VBQTJCO0FEMjZFL0I7O0FDMTZFSTtFQUErQjtBRDg2RW5DOztBQzc2RUk7RUFBK0I7QURpN0VuQzs7QUNoN0VJO0VBQThCO0FEbzdFbEM7O0FDbjdFSTtFQUE4QjtBRHU3RWxDOztBQ3Q3RUk7RUFBeUM7QUQwN0U3Qzs7QUN6N0VJO0VBQStCO0FENjdFbkM7O0FDNTdFSTtFQUF5QztBRGc4RTdDOztBQy83RUk7RUFBdUM7QURtOEUzQzs7QUNsOEVJO0VBQWdDO0FEczhFcEM7O0FDcjhFSTtFQUF1QztBRHk4RTNDOztBQ3g4RUk7RUFBMEI7QUQ0OEU5Qjs7QUMzOEVJO0VBQTBCO0FEKzhFOUI7O0FDOThFSTtFQUE2QjtBRGs5RWpDOztBQ2o5RUk7RUFBNkI7QURxOUVqQzs7QUNwOUVJO0VBQTJCO0FEdzlFL0I7O0FDdjlFSTtFQUEyQjtBRDI5RS9COztBQzE5RUk7RUFBNEI7QUQ4OUVoQzs7QUM3OUVJO0VBQTRCO0FEaStFaEM7O0FDaCtFSTtFQUE0QjtBRG8rRWhDOztBQ24rRUk7RUFBeUI7QUR1K0U3Qjs7QUN0K0VJO0VBQTBCO0FEMCtFOUI7O0FDeitFSTtFQUFpQztBRDYrRXJDOztBQzUrRUk7RUFBb0I7QURnL0V4Qjs7QUMvK0VJO0VBQXNCO0FEbS9FMUI7O0FDbC9FSTtFQUE0QjtBRHMvRWhDOztBQ3IvRUk7RUFBNEI7QUR5L0VoQzs7QUN4L0VJO0VBQTBCO0FENC9FOUI7O0FDMy9FSTtFQUFzQjtBRCsvRTFCOztBQzkvRUk7RUFBMEI7QURrZ0Y5Qjs7QUNqZ0ZJO0VBQTZCO0FEcWdGakM7O0FDcGdGSTtFQUF5QjtBRHdnRjdCOztBQ3ZnRkk7RUFBd0I7QUQyZ0Y1Qjs7QUMxZ0ZJO0VBQXVCO0FEOGdGM0I7O0FDN2dGSTtFQUE4QjtBRGloRmxDOztBQ2hoRkk7RUFBd0I7QURvaEY1Qjs7QUNuaEZJO0VBQTZCO0FEdWhGakM7O0FDdGhGSTtFQUEwQjtBRDBoRjlCOztBQ3poRkk7RUFBZ0M7QUQ2aEZwQzs7QUM1aEZJO0VBQStCO0FEZ2lGbkM7O0FDL2hGSTtFQUE2QjtBRG1pRmpDOztBQ2xpRkk7RUFBb0M7QURzaUZ4Qzs7QUNyaUZJO0VBQW9DO0FEeWlGeEM7O0FDeGlGSTtFQUF3QztBRDRpRjVDOztBQzNpRkk7RUFBb0M7QUQraUZ4Qzs7QUM5aUZJO0VBQXdDO0FEa2pGNUM7O0FDampGSTtFQUFnQztBRHFqRnBDOztBQ3BqRkk7RUFBMkI7QUR3akYvQjs7QUN2akZJO0VBQW9CO0FEMmpGeEI7O0FDMWpGSTtFQUE4QjtBRDhqRmxDOztBQzdqRkk7RUFBeUI7QURpa0Y3Qjs7QUNoa0ZJO0VBQWtDO0FEb2tGdEM7O0FDbmtGSTtFQUE0QjtBRHVrRmhDOztBQ3RrRkk7RUFBNEI7QUQwa0ZoQzs7QUN6a0ZJO0VBQTBCO0FENmtGOUI7O0FDNWtGSTtFQUFnQztBRGdsRnBDOztBQy9rRkk7RUFBdUI7QURtbEYzQjs7QUNsbEZJO0VBQThCO0FEc2xGbEM7O0FDcmxGSTtFQUErQjtBRHlsRm5DOztBQ3hsRkk7RUFBbUM7QUQ0bEZ2Qzs7QUMzbEZJO0VBQTJCO0FEK2xGL0I7O0FDOWxGSTtFQUE2QjtBRGttRmpDOztBQ2ptRkk7RUFBOEI7QURxbUZsQzs7QUNwbUZJO0VBQTZCO0FEd21GakM7O0FDdm1GSTtFQUEwQjtBRDJtRjlCOztBQzFtRkk7RUFBZ0M7QUQ4bUZwQzs7QUM3bUZJO0VBQW9CO0FEaW5GeEI7O0FDaG5GSTtFQUFvQjtBRG9uRnhCOztBQ25uRkk7RUFBcUI7QUR1bkZ6Qjs7QUN0bkZJO0VBQW1CO0FEMG5GdkI7O0FDem5GSTtFQUF5QjtBRDZuRjdCOztBQzVuRkk7RUFBcUI7QURnb0Z6Qjs7QUMvbkZJO0VBQThCO0FEbW9GbEM7O0FDbG9GSTtFQUE2QjtBRHNvRmpDOztBQ3JvRkk7RUFBOEI7QUR5b0ZsQzs7QUN4b0ZJO0VBQStCO0FENG9GbkM7O0FDM29GSTtFQUFrQztBRCtvRnRDOztBQzlvRkk7RUFBMEM7QURrcEY5Qzs7QUNqcEZJO0VBQThCO0FEcXBGbEM7O0FDcHBGSTtFQUEwQjtBRHdwRjlCOztBQ3ZwRkk7RUFBa0M7QUQycEZ0Qzs7QUMxcEZJO0VBQThCO0FEOHBGbEM7O0FDN3BGSTtFQUE4QjtBRGlxRmxDOztBQ2hxRkk7RUFBZ0M7QURvcUZwQzs7QUNucUZJO0VBQTRCO0FEdXFGaEM7O0FDdHFGSTtFQUF5QjtBRDBxRjdCOztBQ3pxRkk7RUFBMkI7QUQ2cUYvQjs7QUM1cUZJO0VBQTJCO0FEZ3JGL0I7O0FDL3FGSTtFQUFvQztBRG1yRnhDOztBQ2xyRkk7RUFBZ0M7QURzckZwQzs7QUNyckZJO0VBQW1DO0FEeXJGdkM7O0FDeHJGSTtFQUFtQztBRDRyRnZDOztBQzNyRkk7RUFBcUM7QUQrckZ6Qzs7QUM5ckZJO0VBQWlDO0FEa3NGckM7O0FDanNGSTtFQUErQjtBRHFzRm5DOztBQ3BzRkk7RUFBNkI7QUR3c0ZqQzs7QUN2c0ZJO0VBQTRCO0FEMnNGaEM7O0FDMXNGSTtFQUE4QjtBRDhzRmxDOztBQzdzRkk7RUFBc0I7QURpdEYxQjs7QUNodEZJO0VBQXdCO0FEb3RGNUI7O0FDbnRGSTtFQUFzQztBRHV0RjFDOztBQ3R0Rkk7RUFBZ0M7QUQwdEZwQzs7QUN6dEZJO0VBQTBCO0FENnRGOUI7O0FDNXRGSTtFQUErQjtBRGd1Rm5DOztBQy90Rkk7RUFBNEI7QURtdUZoQzs7QUNsdUZJO0VBQXNDO0FEc3VGMUM7O0FDcnVGSTtFQUE0QjtBRHl1RmhDOztBQ3h1Rkk7RUFBK0I7QUQ0dUZuQzs7QUMzdUZJO0VBQXNCO0FEK3VGMUI7O0FDOXVGSTtFQUF5QjtBRGt2RjdCOztBQ2p2Rkk7RUFBa0M7QURxdkZ0Qzs7QUNwdkZJO0VBQTRCO0FEd3ZGaEM7O0FDdnZGSTtFQUE0QjtBRDJ2RmhDOztBQzF2Rkk7RUFBcUI7QUQ4dkZ6Qjs7QUM3dkZJO0VBQWdDO0FEaXdGcEM7O0FDaHdGSTtFQUEwQjtBRG93RjlCOztBQ253Rkk7RUFBcUM7QUR1d0Z6Qzs7QUN0d0ZJO0VBQXdDO0FEMHdGNUM7O0FDendGSTtFQUErQjtBRDZ3Rm5DOztBQzV3Rkk7RUFBeUM7QURneEY3Qzs7QUMvd0ZJO0VBQWdDO0FEbXhGcEM7O0FDbHhGSTtFQUFzQztBRHN4RjFDOztBQ3J4Rkk7RUFBNkI7QUR5eEZqQzs7QUN4eEZJO0VBQXNDO0FENHhGMUM7O0FDM3hGSTtFQUE2QjtBRCt4RmpDOztBQzl4Rkk7RUFBbUM7QURreUZ2Qzs7QUNqeUZJO0VBQTZCO0FEcXlGakM7O0FDcHlGSTtFQUFnQztBRHd5RnBDOztBQ3Z5Rkk7RUFBMEI7QUQyeUY5Qjs7QUMxeUZJO0VBQWlDO0FEOHlGckM7O0FDN3lGSTtFQUE0QjtBRGl6RmhDOztBQ2h6Rkk7RUFBMkI7QURvekYvQjs7QUNuekZJO0VBQTJCO0FEdXpGL0I7O0FDdHpGSTtFQUF3QztBRDB6RjVDOztBQ3p6Rkk7RUFBNkI7QUQ2ekZqQzs7QUM1ekZJO0VBQWtDO0FEZzBGdEM7O0FDL3pGSTtFQUFzQztBRG0wRjFDOztBQ2wwRkk7RUFBNkI7QURzMEZqQzs7QUNyMEZJO0VBQWdDO0FEeTBGcEM7O0FDeDBGSTtFQUF1QztBRDQwRjNDOztBQzMwRkk7RUFBNkI7QUQrMEZqQzs7QUM5MEZJO0VBQXFDO0FEazFGekM7O0FDajFGSTtFQUE2QjtBRHExRmpDOztBQ3AxRkk7RUFBNkI7QUR3MUZqQzs7QUN2MUZJO0VBQTZCO0FEMjFGakM7O0FDMTFGSTtFQUEyQjtBRDgxRi9COztBQzcxRkk7RUFBMkI7QURpMkYvQjs7QUNoMkZJO0VBQTBCO0FEbzJGOUI7O0FDbjJGSTtFQUEwQjtBRHUyRjlCOztBQ3QyRkk7RUFBNkI7QUQwMkZqQzs7QUN6MkZJO0VBQTBCO0FENjJGOUI7O0FDNTJGSTtFQUEwQjtBRGczRjlCOztBQy8yRkk7RUFBNkI7QURtM0ZqQzs7QUNsM0ZJO0VBQTZCO0FEczNGakM7O0FDcjNGSTtFQUFnQztBRHkzRnBDOztBQ3gzRkk7RUFBK0I7QUQ0M0ZuQzs7QUMzM0ZJO0VBQXVDO0FEKzNGM0M7O0FDOTNGSTtFQUEwQjtBRGs0RjlCOztBQ2o0Rkk7RUFBa0I7QURxNEZ0Qjs7QUNwNEZJO0VBQW1CO0FEdzRGdkI7O0FDdjRGSTtFQUFzQjtBRDI0RjFCOztBQzE0Rkk7RUFBc0I7QUQ4NEYxQjs7QUM3NEZJO0VBQXdCO0FEaTVGNUI7O0FDaDVGSTtFQUF1QjtBRG81RjNCOztBQ241Rkk7RUFBNkI7QUR1NUZqQzs7QUN0NUZJO0VBQTZCO0FEMDVGakM7O0FDejVGSTtFQUFnQztBRDY1RnBDOztBQzU1Rkk7RUFBZ0M7QURnNkZwQzs7QUMvNUZJO0VBQWdDO0FEbTZGcEM7O0FDbDZGSTtFQUFnQztBRHM2RnBDOztBQ3I2Rkk7RUFBeUI7QUR5NkY3Qjs7QUN4NkZJO0VBQXVDO0FENDZGM0M7O0FDMzZGSTtFQUE0QjtBRCs2RmhDOztBQzk2Rkk7RUFBd0I7QURrN0Y1Qjs7QUNqN0ZJO0VBQStCO0FEcTdGbkM7O0FDcDdGSTtFQUEwQjtBRHc3RjlCOztBQ3Y3Rkk7RUFBbUM7QUQyN0Z2Qzs7QUMxN0ZJO0VBQTRCO0FEODdGaEM7O0FDNzdGSTtFQUFnQztBRGk4RnBDOztBQ2g4Rkk7RUFBNkI7QURvOEZqQzs7QUNuOEZJO0VBQXFCO0FEdThGekI7O0FDdDhGSTtFQUEwQjtBRDA4RjlCOztBQ3o4Rkk7RUFBMEI7QUQ2OEY5Qjs7QUM1OEZJO0VBQWlDO0FEZzlGckM7O0FDLzhGSTtFQUFpQztBRG05RnJDOztBQ2w5Rkk7RUFBbUI7QURzOUZ2Qjs7QUNyOUZJO0VBQXFCO0FEeTlGekI7O0FDeDlGSTtFQUFxQjtBRDQ5RnpCOztBQzM5Rkk7RUFBb0I7QUQrOUZ4Qjs7QUM5OUZJO0VBQXFCO0FEaytGekI7O0FDaitGSTtFQUF1QjtBRHErRjNCOztBQ3ArRkk7RUFBMkI7QUR3K0YvQjs7QUN2K0ZJO0VBQXlCO0FEMitGN0I7O0FDMStGSTtFQUE2QjtBRDgrRmpDOztBQzcrRkk7RUFBb0I7QURpL0Z4Qjs7QUNoL0ZJO0VBQXdCO0FEby9GNUI7O0FDbi9GSTtFQUF1QjtBRHUvRjNCOztBQ3QvRkk7RUFBcUI7QUQwL0Z6Qjs7QUN6L0ZJO0VBQXNCO0FENi9GMUI7O0FDNS9GSTtFQUEyQjtBRGdnRy9COztBQy8vRkk7RUFBeUI7QURtZ0c3Qjs7QUNsZ0dJO0VBQTBCO0FEc2dHOUI7O0FDcmdHSTtFQUF3QjtBRHlnRzVCOztBQ3hnR0k7RUFBNEI7QUQ0Z0doQzs7QUMzZ0dJO0VBQXNCO0FEK2dHMUI7O0FDOWdHSTtFQUEwQjtBRGtoRzlCOztBQ2poR0k7RUFBMkI7QURxaEcvQjs7QUNwaEdJO0VBQStCO0FEd2hHbkM7O0FDdmhHSTtFQUF3QjtBRDJoRzVCOztBQzFoR0k7RUFBNEI7QUQ4aEdoQzs7QUM3aEdJO0VBQXVCO0FEaWlHM0I7O0FDaGlHSTtFQUEyQjtBRG9pRy9COztBQ25pR0k7RUFBeUI7QUR1aUc3Qjs7QUN0aUdJO0VBQTZCO0FEMGlHakM7O0FDemlHSTtFQUFzQjtBRDZpRzFCOztBQzVpR0k7RUFBMEI7QURnakc5Qjs7QUMvaUdJO0VBQTRCO0FEbWpHaEM7O0FDbGpHSTtFQUFnQztBRHNqR3BDOztBQ3JqR0k7RUFBNkI7QUR5akdqQzs7QUN4akdJO0VBQWlDO0FENGpHckM7O0FDM2pHSTtFQUFzQjtBRCtqRzFCOztBQzlqR0k7RUFBMEI7QURra0c5Qjs7QUNqa0dJO0VBQXVCO0FEcWtHM0I7O0FDcGtHSTtFQUEyQjtBRHdrRy9COztBQ3ZrR0k7RUFBc0I7QUQya0cxQjs7QUMxa0dJO0VBQTBCO0FEOGtHOUI7O0FDN2tHSTtFQUF1QjtBRGlsRzNCOztBQ2hsR0k7RUFBMkI7QURvbEcvQjs7QUNubEdJO0VBQXdCO0FEdWxHNUI7O0FDdGxHSTtFQUE0QjtBRDBsR2hDOztBQ3psR0k7RUFBbUI7QUQ2bEd2Qjs7QUM1bEdJO0VBQXVCO0FEZ21HM0I7O0FDL2xHSTtFQUFxQjtBRG1tR3pCOztBQ2xtR0k7RUFBeUI7QURzbUc3Qjs7QUNybUdJO0VBQXVCO0FEeW1HM0I7O0FDeG1HSTtFQUEyQjtBRDRtRy9COztBQzNtR0k7RUFBc0I7QUQrbUcxQjs7QUM5bUdJO0VBQTJCO0FEa25HL0I7O0FDam5HSTtFQUEwQjtBRHFuRzlCOztBQ3BuR0k7RUFBeUI7QUR3bkc3Qjs7QUN2bkdJO0VBQTJCO0FEMm5HL0I7O0FDMW5HSTtFQUEyQjtBRDhuRy9COztBQzduR0k7RUFBZ0M7QURpb0dwQzs7QUNob0dJO0VBQW9CO0FEb29HeEI7O0FDbm9HSTtFQUE2QjtBRHVvR2pDOztBQ3RvR0k7RUFBNkI7QUQwb0dqQzs7QUN6b0dJO0VBQXNCO0FENm9HMUI7O0FDNW9HSTtFQUF3QjtBRGdwRzVCOztBQy9vR0k7RUFBMkI7QURtcEcvQjs7QUNscEdJO0VBQXdCO0FEc3BHNUI7O0FDcnBHSTtFQUFtQjtBRHlwR3ZCOztBQ3hwR0k7RUFBd0I7QUQ0cEc1Qjs7QUMzcEdJO0VBQW1CO0FEK3BHdkI7O0FDOXBHSTtFQUEwQjtBRGtxRzlCOztBQ2pxR0k7RUFBd0I7QURxcUc1Qjs7QUNwcUdJO0VBQXFCO0FEd3FHekI7O0FDdnFHSTtFQUFtQjtBRDJxR3ZCOztBQzFxR0k7RUFBb0I7QUQ4cUd4Qjs7QUM3cUdJO0VBQXlCO0FEaXJHN0I7O0FDaHJHSTtFQUF3QjtBRG9yRzVCOztBQ25yR0k7RUFBb0I7QUR1ckd4Qjs7QUN0ckdJO0VBQW1CO0FEMHJHdkI7O0FDenJHSTtFQUF3QjtBRDZyRzVCOztBQzVyR0k7RUFBbUI7QURnc0d2Qjs7QUMvckdJO0VBQXdCO0FEbXNHNUI7O0FDbHNHSTtFQUFtQjtBRHNzR3ZCOztBQ3JzR0k7RUFBd0I7QUR5c0c1Qjs7QUN4c0dJO0VBQW1CO0FENHNHdkI7O0FDM3NHSTtFQUFvQjtBRCtzR3hCOztBQzlzR0k7RUFBd0I7QURrdEc1Qjs7QUNqdEdJO0VBQW1CO0FEcXRHdkI7O0FDcHRHSTtFQUEwQjtBRHd0RzlCOztBQ3Z0R0k7RUFBcUI7QUQydEd6Qjs7QUMxdEdJO0VBQTJCO0FEOHRHL0I7O0FDN3RHSTtFQUFzQjtBRGl1RzFCOztBQ2h1R0k7RUFBeUI7QURvdUc3Qjs7QUNudUdJO0VBQW9CO0FEdXVHeEI7O0FDdHVHSTtFQUF3QjtBRDB1RzVCOztBQ3p1R0k7RUFBbUI7QUQ2dUd2Qjs7QUM1dUdJO0VBQXdCO0FEZ3ZHNUI7O0FDL3VHSTtFQUFtQjtBRG12R3ZCOztBQ2x2R0k7RUFBb0I7QURzdkd4Qjs7QUNydkdJO0VBQW9CO0FEeXZHeEI7O0FDeHZHSTtFQUFxQjtBRDR2R3pCOztBQzN2R0k7RUFBb0I7QUQrdkd4Qjs7QUM5dkdJO0VBQW9CO0FEa3dHeEI7O0FDandHSTtFQUEyQjtBRHF3Ry9COztBQ3B3R0k7RUFBMkI7QUR3d0cvQjs7QUN2d0dJO0VBQW1CO0FEMndHdkI7O0FDMXdHSTtFQUFrQjtBRDh3R3RCOztBQzd3R0k7RUFBbUI7QURpeEd2Qjs7QUNoeEdJO0VBQXNCO0FEb3hHMUI7O0FDbnhHSTtFQUFzQjtBRHV4RzFCOztBQ3R4R0k7RUFBa0I7QUQweEd0Qjs7QUN6eEdJO0VBQWtCO0FENnhHdEI7O0FDNXhHSTtFQUFtQjtBRGd5R3ZCOztBQy94R0k7RUFBcUI7QURteUd6Qjs7QUNseUdJO0VBQStCO0FEc3lHbkM7O0FDcnlHSTtFQUE4QjtBRHl5R2xDOztBQ3h5R0k7RUFBc0I7QUQ0eUcxQjs7QUMzeUdJO0VBQXlCO0FEK3lHN0I7O0FDOXlHSTtFQUFvQjtBRGt6R3hCOztBQ2p6R0k7RUFBMkI7QURxekcvQjs7QUNwekdJO0VBQXFDO0FEd3pHekM7O0FDdnpHSTtFQUEyQjtBRDJ6Ry9COztBQzF6R0k7RUFBcUM7QUQ4ekd6Qzs7QUM3ekdJO0VBQW9DO0FEaTBHeEM7O0FDaDBHSTtFQUFvQztBRG8wR3hDOztBQ24wR0k7RUFBbUM7QUR1MEd2Qzs7QUN0MEdJO0VBQW1DO0FEMDBHdkM7O0FDejBHSTtFQUE4QjtBRDYwR2xDOztBQzUwR0k7RUFBMkI7QURnMUcvQjs7QUMvMEdJO0VBQTZCO0FEbTFHakM7O0FDbDFHSTtFQUEwQjtBRHMxRzlCOztBQ3IxR0k7RUFBd0I7QUR5MUc1Qjs7QUN4MUdJO0VBQXlCO0FENDFHN0I7O0FDMzFHSTtFQUF3QjtBRCsxRzVCOztBQzkxR0k7RUFBd0I7QURrMkc1Qjs7QUNqMkdJO0VBQWdDO0FEcTJHcEM7O0FDcDJHSTtFQUFpQztBRHcyR3JDOztBQ3YyR0k7RUFBbUM7QUQyMkd2Qzs7QUMxMkdJO0VBQStCO0FEODJHbkM7O0FDNzJHSTtFQUFpQztBRGkzR3JDOztBQ2gzR0k7RUFBZ0M7QURvM0dwQzs7QUNuM0dJO0VBQWlDO0FEdTNHckM7O0FDdDNHSTtFQUF5QjtBRDAzRzdCOztBQ3ozR0k7RUFBMEI7QUQ2M0c5Qjs7QUM1M0dJO0VBQTBCO0FEZzRHOUI7O0FDLzNHSTtFQUEwQjtBRG00RzlCOztBQ2w0R0k7RUFBaUM7QURzNEdyQzs7QUNyNEdJO0VBQXlCO0FEeTRHN0I7O0FDeDRHSTtFQUErQjtBRDQ0R25DOztBQzM0R0k7RUFBZ0M7QUQrNEdwQzs7QUM5NEdJO0VBQXFDO0FEazVHekM7O0FDajVHSTtFQUFrQztBRHE1R3RDOztBQ3A1R0k7RUFBMEI7QUR3NUc5Qjs7QUN2NUdJO0VBQStCO0FEMjVHbkM7O0FDMTVHSTtFQUEyQjtBRDg1Ry9COztBQzc1R0k7RUFBZ0M7QURpNkdwQzs7QUNoNkdJO0VBQXlCO0FEbzZHN0I7O0FDbjZHSTtFQUErQjtBRHU2R25DOztBQ3Q2R0k7RUFBb0M7QUQwNkd4Qzs7QUN6NkdJO0VBQW1DO0FENjZHdkM7O0FDNTZHSTtFQUFxQztBRGc3R3pDOztBQy82R0k7RUFBa0M7QURtN0d0Qzs7QUNsN0dJO0VBQW9DO0FEczdHeEM7O0FDcjdHSTtFQUFnQztBRHk3R3BDOztBQ3g3R0k7RUFBZ0M7QUQ0N0dwQzs7QUMzN0dJO0VBQXNCO0FEKzdHMUI7O0FDOTdHSTtFQUFzQjtBRGs4RzFCOztBQ2o4R0k7RUFBcUI7QURxOEd6Qjs7QUNwOEdJO0VBQXNDO0FEdzhHMUM7O0FDdjhHSTtFQUFvQztBRDI4R3hDOztBQzE4R0k7RUFBdUM7QUQ4OEczQzs7QUM3OEdJO0VBQWtDO0FEaTlHdEM7O0FDaDlHSTtFQUFtQztBRG85R3ZDOztBQ245R0k7RUFBaUM7QUR1OUdyQzs7QUN0OUdJO0VBQW9DO0FEMDlHeEM7O0FDejlHSTtFQUErQjtBRDY5R25DOztBQzU5R0k7RUFBb0M7QURnK0d4Qzs7QUMvOUdJO0VBQWtDO0FEbStHdEM7O0FDbCtHSTtFQUFxQztBRHMrR3pDOztBQ3IrR0k7RUFBZ0M7QUR5K0dwQzs7QUN4K0dJO0VBQTBCO0FENCtHOUI7O0FDMytHSTtFQUFrQztBRCsrR3RDOztBQzkrR0k7RUFBcUM7QURrL0d6Qzs7QUNqL0dJO0VBQWtDO0FEcS9HdEM7O0FDcC9HSTtFQUEwQztBRHcvRzlDOztBQ3YvR0k7RUFBNkM7QUQyL0dqRDs7QUMxL0dJO0VBQXlCO0FEOC9HN0I7O0FDNy9HSTtFQUE4QjtBRGlnSGxDOztBQ2hnSEk7RUFBNkI7QURvZ0hqQzs7QUNuZ0hJO0VBQWtEO0FEdWdIdEQ7O0FDdGdISTtFQUEwQztBRDBnSDlDOztBQ3pnSEk7RUFBb0Q7QUQ2Z0h4RDs7QUM1Z0hJO0VBQTRDO0FEZ2hIaEQ7O0FDL2dISTtFQUE0QjtBRG1oSGhDOztBQ2xoSEk7RUFBaUM7QURzaEhyQzs7QUNyaEhJO0VBQTBCO0FEeWhIOUI7O0FDeGhISTtFQUEyQjtBRDRoSC9COztBQzNoSEk7RUFBbUM7QUQraEh2Qzs7QUM5aEhJO0VBQWtDO0FEa2lIdEM7O0FDamlISTtFQUEwQjtBRHFpSDlCOztBQ3BpSEk7RUFBZ0M7QUR3aUhwQzs7QUFFQSxvQ0FBb0M7O0FFOXJKNUIsTUNvd0xKLGtDQUdZLDA2S0FxaUNaLGlCQUNJLFVBQ0EsVUFDQSxXQUNBLGdCQUNBLDBDQVdBLDZCQUVJLHdEQUdKLHlCQUVJLHVDQUNBLG9CQUdKLHlCQUNJLDJCQUdKLDRCQUNJLHVDQUNBLHdDQUtKLDRCQUVJLHNEQUdK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QWhCWixXQUtZLGVBTVosc0JBS1ksVUFoQlosU0FLWSxZQU1aLG9CQUtZLGFBaEJaLFdBS1ksZUFNWixzQkFLWSxVQWhCWixVQUtZLFlBTVoscUJBS1ksYUFoQlosV0FLWSxlQU1aLHNCQUtZLFVBaEJaLFFBS1ksWUFNWixtQkFLWSxhQWhCWixZQUtZLGVBTVosdUJBS1ksVUFoQlosV0FLWSxZQU1aLHNCQUtZLGFBaEJaLFlBS1ksZUFNWix1QkFLWSxVQWhCWixVQUtZLFlBTVoscUJBS1ksYUFoQlosWUFLWSxlQU1aLHVCQUtZLFVBaEJaLFdBS1ksWUFNWixzQkFLWSxhQWhCWixZQUtZLGVBTVosdUJBS1ksVUFoQlosUUFLWSxZQU1aLG1CQUtZLFVBaEJaLFdBS1ksWUFNWixzQkFLWSxXQWhCWixVQUtZLGFBTVoscUJBS1ksV0FoQlosV0FLWSxhQU1aLHNCQUtZLFdBaEJaLFFBS1ksYUFNWixtQkFLWSxXQWhCWixXQUtZLGFBTVosc0JBS1ksV0FoQlosVUFLWSxhQU1aLHFCQUtZLFdBaEJaLFdBS1ksYUFNWixzQkFLWSxXQWhCWixRQUtZLGFBTVosbUJBS1ksV0FoQlosV0FLWSxhQU1aLHNCQUtZLFdBaEJaLFVBS1ksYUFNWixxQkFLWSxXQWhCWixXQUtZLGFBTVosc0JBS1ksV0FoQlosUUFLWSxhQU1aLG1CQUtZLFdBaEJaLFdBS1ksYUFNWixzQkFLWSxXQWhCWixVQUtZLGFBTVoscUJBS1ksV0FoQlosV0FLWSxhQU1aLHNCQUtZLFdBaEJaLFFBS1ksYUFNWixtQkFLWSxXQWhCWixRQUtZLGFBTVosbUJBS1ksV0FoQlosUUFLWSxhQU1aLG1CQUtZLFdBaEJaLFFBS1ksYUFNWixtQkFLWSxXQWhCWixTQUtZLGFBTVosb0JBS1ksV0FoQlosU0FLWSxhQU1aLG9CQUtZLFdBaEJaLFNBS1ksYUFNWixvQkFLWSxXQWhCWixRQUtZLGFBTVosbUJBS1ksWUFoQlosU0FLWSxjQU1aLG9CQUtZLGNBaEJaLFNBS1ksZ0JBTVosb0JBS1ksZUFoQlosYUFLWSxpQkFNWix3QkFLWSxZQWhCWixZQUtZLGNBTVosdUJBS1ksZUFoQlosYUFLWSxpQkFNWix3QkFLWSxZQWhCWixXQUtZLGNBTVosc0JBS1ksZUFoQlosYUFLWSxpQkFNWix3QkFLWSxZQWhCWixZQUtZLGNBTVosdUJBS1ksZUFoQlosYUFLWSxpQkFNWix3QkFLWSxZQWhCWixVQUtZLGNBTVoscUJBS1ksZUFoQlosY0FLWSxpQkFNWix5QkFLWSxZQWhCWixhQUtZLGNBTVosd0JBS1ksZUFoQlosY0FLWSxpQkFNWix5QkFLWSxZQWhCWixZQUtZLGNBTVosdUJBS1ksZUFoQlosY0FLWSxpQkFNWix5QkFLWSxZQWhCWixhQUtZLGNBTVosd0JBS1ksZUFoQlosY0FLWSxpQkFNWix5QkFLWSxZQWhCWixVQUtZLGNBTVoscUJBS1ksWUFoQlosYUFLWSxjQU1aLHdCQUtZLGFBaEJaLFlBS1ksZUFNWix1QkFLWSxhQWhCWixhQUtZLGVBTVosd0JBS1ksYUFoQlosVUFLWSxlQU1aLHFCQUtZLGFBaEJaLGFBS1ksZUFNWix3QkFLWSxhQWhCWixZQUtZLGVBTVosdUJBS1ksYUFoQlosYUFLWSxlQU1aLHdCQUtZLGFBaEJaLFVBS1ksZUFNWixxQkFLWSxhQWhCWixhQUtZLGVBTVosd0JBS1ksYUFoQlosWUFLWSxlQU1aLHVCQUtZLGFBaEJaLGFBS1ksZUFNWix3QkFLWSxhQWhCWixVQUtZLGVBTVoscUJBS1ksYUFoQlosYUFLWSxlQU1aLHdCQUtZLGFBaEJaLFlBS1ksZUFNWix1QkFLWSxhQWhCWixhQUtZLGVBTVosd0JBS1ksYUFoQlosVUFLWSxlQU1aLHFCQUtZLGFBaEJaLFVBS1ksZUFNWixxQkFLWSxhQWhCWixVQUtZLGVBTVoscUJBS1ksYUFoQlosVUFLWSxlQU1aLHFCQUtZLGFBaEJaLFdBS1ksZUFNWixzQkFLWSxhQWhCWixXQUtZLGVBTVosc0JBS1ksYUFoQlosV0FLWSxlQU1aLHNCQUtZLGFBaEJaLFVBS1ksZUFNWixxQkFLWSxhQWhCWixVQUtZLGVBTVoscUJBS1ksZUFoQlosVUFLWSxpQkFNWixxQkFLWSxnQkFoQlosY0FLWSxrQkFNWix5QkFLWSxhQWhCWixh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S1ksbUJBaEJaLCtCQUtZLHFCQU1aLDBDQUtZLG9CQWhCWixnQ0FLWSxzQkFNWiwyQ0FLWSxZQWhCWixvQkFLWSxjQU1aLCtCQUtZLGFBaEJaLHFCQUtZLGVBTVosZ0NBS1ksZUFoQlosdUJBS1ksaUJBTVosa0NBS1ksdUJBaEJaLG9EQUdZLHlCQVFaLCtEQUdZLDBCQWRaLHVEQUdZLDRCQVFaLGtFQUdZLGtCQWRaLCtDQUdZLG9CQVFaLDBEQUdZLG1CQWRaLGdEQUdZLHFCQVFaLDJEQUdZLHVCQWRaLG9EQUdZLHlCQVFaLCtEQUdZLGtCQWRaLDJEQUdZLG9CQVFaLHNFQUdZLHNCQWRaLCtEQUdZLHdCQVFaLDBFQUdZLHVCQWRaLG9EQUdZLHlCQVFaLCtEQUdZLHlCQWRaLHNEQUdZLDJCQVFaLGlFQUdZLDBCQWRaLHVEQUdZLDRCQVFaLGtFQUdZLG1CQWRaLGdEQUdZLHFCQVFaLDJEQUdZLDRCQWRaLHlEQUdZLDhCQVFaLG9FQUdZLDRCQWRaLHlEQUdZLDhCQVFaLG9FQUdZLHFCQWRaLGtEQUdZLHVCQVFaLDZEQUdZLDhCQWRaLDJEQUdZLGdDQVFaLHNFQUdZLDJCQWRaLHdEQUdZLDZCQVFaLG1FQUdZLG9CQWRaLGlEQUdZLHNCQVFaLDREQUdZLDZCQWRaLDBEQUdZLCtCQVFaLHFFQUdZLHVCQWRaLG9EQUdZLHlCQVFaLCtEQUdZLGdCQWRaLDZDQUdZLGtCQVFaLHdEQUdZLHlCQWRaLHNEQUdZLDJCQVFaLGlFQUdZLDBCQWRaLHVEQUdZLDRCQVFaLGtFQUdZLG1CQWRaLGdEQUdZLHFCQVFaLDJEQUdZLDRCQWRaLHlEQUdZLDhCQVFaLG9FQUdZLDBCQWRaLHVEQUdZLDRCQVFaLGtFQUdZLG1CQWRaLGdEQUdZLHFCQVFaLDJEQUdZLDRCQWRaLHlEQUdZLDhCQVFaLG9FQUdZLHdCQWRaLHFEQUdZLDBCQVFaLGdFQUdZLGlCQWRaLDhDQUdZLG1CQVFaLHlEQUdZLDBCQWRaLHVEQUdZLDRCQVFaLGtFQUdZLHdCQWRaLHFEQUdZLDBCQVFaLGdFQUdZLGlCQWRaLDhDQUdZLG1CQVFaLHlEQUdZLDBCQWRaLHVEQUdZLDRCQVFaLGtFQUdZLHVCQWRaLG9EQUdZLHlCQVFaLCtEQUdZLGdCQWRaLDZDQUdZLGtCQVFaLHdEQUdZLHlCQWRaLHNEQUdZLDJCQVFaLGlFQUdZLG1CQWRaLGdEQUdZLHFCQVFaLDJEQUdZLG1CQWRaLHFEQUdZLHFCQVFaLGdFQUdZLHVCQWRaLHdEQUdZLHlCQVFaLG1FQUdZLGlCQWRaLDRDQUdZLG1CQVFaLHVEQUdZLGlCQWRaLDRDQUdZLG1CQVFaLHVEQUdZLGlCQWRaLGtEQUdZLG1CQVFaLDZEQUdZLGVBZFosZ0RBR1ksaUJBUVosMkRBR1ksZUFkWixxREFHWSxpQkFRWixnRUFHWSxlQWRaLG9EQUdZLGlCQVFaLCtEQUdZLGVBZFosbURBR1ksaUJBUVosOERBR1ksZUFkWixvREFHWSxpQkFRWiwrREFHWSxnQkFkWixrREFHWSxrQkFRWiw2REFHWSxpQkFkWixzREFHWSxtQkFRWixpRUFHWSxpQkFkWixxREFHWSxtQkFRWixnRUFHWSxvQkFkWiwyREFHWSxzQkFRWixzRUFHWSxrQkFkWix5REFHWSxvQkFRWixvRUFHWSxrQkFkWiw4REFHWSxvQkFRWix5RUFHWSxrQkFkWiw2REFHWSxvQkFRWix3RUFHWSxrQkFkWiw0REFHWSxvQkFRWix1RUFHWSxrQkFkWiw2REFHWSxvQkFRWix3RUFHWSxtQkFkWiwyREFHWSxxQkFRWixzRUFHWSxvQkFkWiwrREFHWSxzQkFRWiwwRUFHWSxvQkFkWiw4REFHWSxzQkFRWix5RUFHWSxvQkFkWiw0REFHWSxzQkFRWix1RUFHWSxrQkFkWiwwREFHWSxvQkFRWixxRUFHWSxrQkFkWiwrREFHWSxvQkFRWiwwRUFHWSxrQkFkWiw4REFHWSxvQkFRWix5RUFHWSxrQkFkWiw2REFHWSxvQkFRWix3RUFHWSxrQkFkWiw4REFHWSxvQkFRWix5RUFHWSxtQkFkWiw0REFHWSxxQkFRWix1RUFHWSxvQkFkWixnRUFHWSxzQkFRWiwyRUFHWSxvQkFkWiwrREFHWSxzQkFRWiwwRUFHWSxvQkFkWiwrREFHWSxzQkFRWiwwRUFHWSxrQkFkWiw2REFHWSxvQkFRWix3RUFHWSxrQkFkWixrRUFHWSxvQkFRWiw2RUFHWSxrQkFkWixpRUFHWSxvQkFRWiw0RUFHWSxrQkFkWixnRUFHWSxvQkFRWiwyRUFHWSxrQkFkWixpRUFHWSxvQkFRWiw0RUFHWSxtQkFkWiwrREFHWSxxQkFRWiwwRUFHWSxvQkFkWixtRUFHWSxzQkFRWiw4RUFHWSxvQkFkWixrRUFHWSxzQkFRWiw2RUFHWSxvQkFkWiw4REFHWSxzQkFRWix5RUFHWSxrQkFkWiw0REFHWSxvQkFRWix1RUFHWSxrQkFkWixpRUFHWSxvQkFRWiw0RUFHWSxrQkFkWixnRUFHWSxvQkFRWiwyRUFHWSxrQkFkWiwrREFHWSxvQkFRWiwwRUFHWSxrQkFkWixnRUFHWSxvQkFRWiwyRUFHWSxtQkFkWiw4REFHWSxxQkFRWix5RUFHWSxvQkFkWixrRUFHWSxzQkFRWiw2RUFHWSxvQkFkWixpRUFHWSxzQkFRWiw0RUFHWSxtQkFkWiwyREFHWSxrRkFRWixzRUFHWSx5RkFkWix5REFHWSw4RUFRWixvRUFHWSx1RkFkWiw4REFHWSxtRkFRWix5RUFHWSw0RkFkWiw2REFHWSxrRkFRWix3RUFHWSwyRkFkWiw0REFHWSxpRkFRWix1RUFHWSwwRkFkWiw2REFHWSxrRkFRWix3RUFHWSw0RkFkWiwyREFHWSxpRkFRWixzRUFHWSwyRkFkWiwrREFHWSxzRkFRWiwwRUFHWSwrRkFkWiw4REFHWSxxRkFRWix5RUFHWSw4RkFkWiw0REFHWSxxRkFRWix1RUFHWSw0RkFkWiwwREFHWSxpRkFRWixxRUFHWSwwRkFkWiwrREFHWSxzRkFRWiwwRUFHWSwrRkFkWiw4REFHWSxxRkFRWix5RUFHWSw4RkFkWiw2REFHWSxvRkFRWix3RUFHWSw2RkFkWiw4REFHWSxxRkFRWix5RUFHWSwrRkFkWiw0REFHWSxvRkFRWix1RUFHWSw4RkFkWixnRUFHWSx5RkFRWiwyRUFHWSxrR0FkWiwrREFHWSx3RkFRWiwwRUFHWSxpR0FkWiw4REFHWSxxRkFRWix5RUFHWSw0RkFkWiw0REFHWSxpRkFRWix1RUFHWSwwRkFkWixpRUFHWSxzRkFRWiw0RUFHWSwrRkFkWixnRUFHWSxxRkFRWiwyRUFHWSw4RkFkWiwrREFHWSxvRkFRWiwwRUFHWSw2RkFkWixnRUFHWSxxRkFRWiwyRUFHWSwrRkFkWiw4REFHWSxvRkFRWix5RUFHWSw4RkFkWixrRUFHWSx5RkFRWiw2RUFHWSxrR0FkWixpRUFHWSx3RkFRWiw0RUFHWSxpR0FkWiwyREFHWSxvRkFRWixzRUFHWSwyRkFkWix5REFHWSxnRkFRWixvRUFHWSx5RkFkWiw4REFHWSxxRkFRWix5RUFHWSw4RkFkWiw2REFHWSxvRkFRWix3RUFHWSw2RkFkWiw0REFHWSxtRkFRWix1RUFHWSw0RkFkWiw2REFHWSxvRkFRWix3RUFHWSw4RkFkWiwyREFHWSxtRkFRWixzRUFHWSw2RkFkWiwrREFHWSx3RkFRWiwwRUFHWSxpR0FkWiw4REFHWSx1RkFRWix5RUFHWSw4RkFkWixrQkFLWSxtQkFNWiw2QkFLWSxrQkFoQlosbUJBS1ksb0JBTVosOEJBS1ksa0JBaEJaLG1CQUtZLG9CQU1aLDhCQUtZLGtCQWhCWixtQkFLWSxvQkFNWiw4QkFLWSxpQkFoQlosa0JBS1ksbUJBTVosNkJBS1ksa0JBaEJaLG1CQUtZLG9CQU1aLDhCQUtZLGtCQWhCWixtQkFLWSxvQkFNWiw4QkFLWSxnQkFoQlosaUJBS1ksa0JBTVosNEJBS1ksbUJBaEJaLHNCQUtZLHFCQU1aLGlDQUtZLG9CQWhCWix1QkFLWSxzQkFNWixrQ0FLWSxvQkFoQlosdUJBS1ksc0JBTVosa0NBS1ksb0JBaEJaLHVCQUtZLHNCQU1aLGtDQUtZLG1CQWhCWixzQkFLWSxxQkFNWixpQ0FLWSxvQkFoQlosdUJBS1ksc0JBTVosa0NBS1ksb0JBaEJaLHVCQUtZLHNCQU1aLGtDQUtZLGtCQWhCWixxQkFLWSxvQkFNWixnQ0FLWSxtQkFoQlosd0JBS1kscUJBTVosbUNBS1ksb0JBaEJaLHlCQUtZLHNCQU1aLG9DQUtZLG9CQWhCWix5QkFLWSxzQkFNWixvQ0FLWSxvQkFoQloseUJBS1ksc0JBTVosb0NBS1ksbUJBaEJaLHdCQUtZLHFCQU1aLG1DQUtZLG9CQWhCWix5QkFLWSxzQkFNWixvQ0FLWSxvQkFoQloseUJBS1ksc0JBTVosb0NBS1ksa0JBaEJaLHVCQUtZLG9CQU1aLGtDQUtZLG1CQWhCWix5QkFLWSxxQkFNWixvQ0FLWSxvQkFoQlosMEJBS1ksc0JBTVoscUNBS1ksb0JBaEJaLDBCQUtZLHNCQU1aLHFDQUtZLG9CQWhCWiwwQkFLWSxzQkFNWixxQ0FLWSxtQkFoQloseUJBS1kscUJBTVosb0NBS1ksb0JBaEJaLDBCQUtZLHNCQU1aLHFDQUtZLG9CQWhCWiwwQkFLWSxzQkFNWixxQ0FLWSxrQkFoQlosd0JBS1ksb0JBTVosbUNBS1ksbUJBaEJaLHVCQUtZLHFCQU1aLGtDQUtZLG9CQWhCWix3QkFLWSxzQkFNWixtQ0FLWSxvQkFoQlosd0JBS1ksc0JBTVosbUNBS1ksb0JBaEJaLHdCQUtZLHNCQU1aLG1DQUtZLG1CQWhCWix1QkFLWSxxQkFNWixrQ0FLWSxvQkFoQlosd0JBS1ksc0JBTVosbUNBS1ksb0JBaEJaLHdCQUtZLHNCQU1aLG1DQUtZLGtCQWhCWixzQkFLWSxvQkFNWixpQ0FLWSxtQkFoQloseUJBS1kscUJBTVosb0NBS1ksb0JBaEJaLDBCQUtZLHNCQU1aLHFDQUtZLG9CQWhCWiwwQkFLWSxzQkFNWixxQ0FLWSxvQkFoQlosMEJBS1ksc0JBTVoscUNBS1ksbUJBaEJaLHlCQUtZLHFCQU1aLG9DQUtZLG9CQWhCWiwwQkFLWSxzQkFNWixxQ0FLWSxvQkFoQlosMEJBS1ksc0JBTVoscUNBS1ksa0JBaEJaLHdCQUtZLG9CQU1aLG1DQUtZLG1CQWhCWix3QkFLWSxxQkFNWixtQ0FLWSxvQkFoQloseUJBS1ksc0JBTVosb0NBS1ksb0JBaEJaLHlCQUtZLHNCQU1aLG9DQUtZLG9CQWhCWix5QkFLWSxzQkFNWixvQ0FLWSxtQkFoQlosd0JBS1kscUJBTVosbUNBS1ksb0JBaEJaLHlCQUtZLHNCQU1aLG9DQUtZLG9CQWhCWix5QkFLWSxzQkFNWixvQ0FLWSxrQkFoQlosdUJBS1ksb0JBTVosa0NBS1ksV0FoQlosZ0JBS1ksYUFNWiwyQkFLWSxhQWhCWixjQUtZLGVBTVoseUJBS1ksYUFoQlosZ0JBS1ksZUFNWiwyQkFLWSxhQWhCWixnQkFLWSxlQU1aLDJCQUtZLGFBaEJaLGdCQUtZLGVBTVosMkJBS1ksYUFoQlosb0JBS1ksZUFNWiwrQkFLWSxlQWhCWixrQkFLWSxpQkFNWiw2QkFLWSxlQWhCWixvQkFLWSxpQkFNWiwrQkFLWSxlQWhCWixvQkFLWSxpQkFNWiwrQkFLWSxlQWhCWixvQkFLWSxpQkFNWiwrQkFLWSxhQWhCWixzQkFLWSxlQU1aLGlDQUtZLGVBaEJaLG9CQUtZLGlCQU1aLCtCQUtZLGVBaEJaLHNCQUtZLGlCQU1aLGlDQUtZLGVBaEJaLHNCQUtZLGlCQU1aLGlDQUtZLGVBaEJaLHNCQUtZLGlCQU1aLGlDQUtZLGFBaEJaLHVCQUtZLGVBTVosa0NBS1ksZUFoQloscUJBS1ksaUJBTVosZ0NBS1ksZUFoQlosdUJBS1ksaUJBTVosa0NBS1ksZUFoQlosdUJBS1ksaUJBTVosa0NBS1ksZUFoQlosdUJBS1ksaUJBTVosa0NBS1ksYUFoQloscUJBS1ksZUFNWixnQ0FLWSxlQWhCWixtQkFLWSxpQkFNWiw4QkFLWSxlQWhCWixxQkFLWSxpQkFNWixnQ0FLWSxlQWhCWixxQkFLWSxpQkFNWixnQ0FLWSxlQWhCWixxQkFLWSxpQkFNWixnQ0FLWSxhQWhCWix1QkFLWSxlQU1aLGtDQUtZLGVBaEJaLHFCQUtZLGlCQU1aLGdDQUtZLGVBaEJaLHVCQUtZLGlCQU1aLGtDQUtZLGVBaEJaLHVCQUtZLGlCQU1aLGtDQUtZLGVBaEJaLHVCQUtZLGlCQU1aLGtDQUtZLGFBaEJaLHNCQUtZLGVBTVosaUNBS1ksZUFoQlosb0JBS1ksaUJBTVosK0JBS1ksZUFoQlosc0JBS1ksaUJBTVosaUNBS1ksZUFoQlosc0JBS1ksaUJBTVosaUNBS1ksZUFoQlosc0JBS1ksaUJBTVosaUNBS1ksZUFoQlosb0JBS1ksaUJBTVosK0JBS1ksaUJBaEJaLGtCQUtZLG1CQU1aLDZCQUtZLGlCQWhCWixvQkFLWSxtQkFNWiwrQkFLWSxpQkFoQlosb0JBS1ksbUJBTVosK0JBS1ksaUJBaEJaLG9CQUtZLG1CQU1aLCtCQUtZLGlCQWhCWixzQkFLWSxtQkFNWixpQ0FLWSxtQkFoQlosb0JBS1kscUJBTVosK0JBS1ksbUJBaEJaLHNCQUtZLHFCQU1aLGlDQUtZLG1CQWhCWixzQkFLWSxxQkFNWixpQ0FLWSxtQkFoQlosc0JBS1kscUJBTVosaUNBS1ksa0JBaEJaLHVCQUtZLG9CQU1aLGtDQUtZLG9CQWhCWixxQkFLWSxzQkFNWixnQ0FLWSxvQkFoQlosdUJBS1ksc0JBTVosa0NBS1ksb0JBaEJaLHVCQUtZLHNCQU1aLGtDQUtZLG9CQWhCWix1QkFLWSxzQkFNWixrQ0FLWSxnQkFoQloscUJBS1ksa0JBTVosZ0NBS1ksa0JBaEJaLG1CQUtZLG9CQU1aLDhCQUtZLGtCQWhCWixxQkFLWSxvQkFNWixnQ0FLWSxrQkFoQloscUJBS1ksb0JBTVosZ0NBS1ksa0JBaEJaLHFCQUtZLG9CQU1aLGdDQUtZLHdCQWhCWixxREFHWSwwQkFRWixnRUFHWSwyQkFkWix3REFHWSw2QkFRWixtRUFHWSxtQkFkWixnREFHWSxxQkFRWiwyREFHWSxvQkFkWixpREFHWSxzQkFRWiw0REFHWSx3QkFkWixxREFHWSwwQkFRWixnRUFHWSxtQkFkWiw0REFHWSxxQkFRWix1RUFHWSx1QkFkWixnRUFHWSx5QkFRWiwyRUFHWSx3QkFkWixxREFHWSwwQkFRWixnRUFHWSwwQkFkWix1REFHWSw0QkFRWixrRUFHWSwyQkFkWix3REFHWSw2QkFRWixtRUFHWSxvQkFkWixpREFHWSxzQkFRWiw0REFHWSw2QkFkWiwwREFHWSwrQkFRWixxRUFHWSw2QkFkWiwwREFHWSwrQkFRWixxRUFHWSxzQkFkWixtREFHWSx3QkFRWiw4REFHWSwrQkFkWiw0REFHWSxpQ0FRWix1RUFHWSw0QkFkWix5REFHWSw4QkFRWixvRUFHWSxxQkFkWixrREFHWSx1QkFRWiw2REFHWSw4QkFkWiwyREFHWSxnQ0FRWixzRUFHWSx3QkFkWixxREFHWSwwQkFRWixnRUFHWSxpQkFkWiw4Q0FHWSxtQkFRWix5REFHWSwwQkFkWix1REFHWSw0QkFRWixrRUFHWSwyQkFkWix3REFHWSw2QkFRWixtRUFHWSxvQkFkWixpREFHWSxzQkFRWiw0REFHWSw2QkFkWiwwREFHWSwrQkFRWixxRUFHWSwyQkFkWix3REFHWSw2QkFRWixtRUFHWSxvQkFkWixpREFHWSxzQkFRWiw0REFHWSw2QkFkWiwwREFHWSwrQkFRWixxRUFHWSx5QkFkWixzREFHWSwyQkFRWixpRUFHWSxrQkFkWiwrQ0FHWSxvQkFRWiwwREFHWSwyQkFkWix3REFHWSw2QkFRWixtRUFHWSx5QkFkWixzREFHWSwyQkFRWixpRUFHWSxrQkFkWiwrQ0FHWSxvQkFRWiwwREFHWSwyQkFkWix3REFHWSw2QkFRWixtRUFHWSx3QkFkWixxREFHWSwwQkFRWixnRUFHWSxpQkFkWiw4Q0FHWSxtQkFRWix5REFHWSwwQkFkWix1REFHWSw0QkFRWixrRUFHWSxvQkFkWixpREFHWSxzQkFRWiw0REFHWSxvQkFkWixzREFHWSxzQkFRWixpRUFHWSx3QkFkWix5REFHWSwwQkFRWixvRUFHWSxrQkFkWiw2Q0FHWSxvQkFRWix3REFHWSxrQkFkWiw2Q0FHWSxvQkFRWix3REFHWSxxQkFkWixnQkFLWSx1QkFNWiwyQkFLWSxxQkFoQlosa0JBS1ksdUJBTVosNkJBS1kscUJBaEJaLGtCQUtZLHVCQU1aLDZCQUtZLHFCQWhCWixrQkFLWSx1QkFNWiw2QkFLWSxxQkFoQlosa0JBS1ksdUJBTVosNkJBS1ksa0JBaEJaLG1CQUtZLG9CQU1aLDhCQUtZLG1CQWhCWixvQkFLWSxxQkFNWiwrQkFLWSxtQkFoQlosb0JBS1kscUJBTVosK0JBS1ksbUJBaEJaLG9CQUtZLHFCQU1aLCtCQUtZLGtCQWhCWixtQkFLWSxvQkFNWiw4QkFLWSxtQkFoQlosb0JBS1kscUJBTVosK0JBS1ksaUJBaEJaLGtCQUtZLG1CQU1aLDZCQUtZLFlBaEJaLGlCQUtZLGNBTVosNEJBS1ksY0FoQlosZUFLWSxnQkFNWiwwQkFLWSxjQWhCWixpQkFLWSxnQkFNWiw0QkFLWSxjQWhCWixpQkFLWSxnQkFNWiw0QkFLWSxjQWhCWixpQkFLWSxnQkFNWiw0QkFLWSxjQWhCWixTQUtZLGdCQU1aLG9CQUtZLGNBaEJaLFdBS1ksZ0JBTVosc0JBS1ksZUFoQlosVUFLWSxpQkFNWixxQkFLWSxlQWhCWixVQUtZLGlCQU1aLHFCQUtZLGVBaEJaLFVBS1ksaUJBTVoscUJBS1ksZUFoQlosVUFLWSxpQkFNWixxQkFLWSxlQWhCWixVQUtZLGlCQU1aLHFCQUtZLGVBaEJaLFVBS1ksaUJBTVoscUJBS1ksZUFoQlosVUFLWSxpQkFNWixxQkFLWSxlQWhCWixVQUtZLGlCQU1aLHFCQUtZLGVBaEJaLFVBS1ksaUJBTVoscUJBS1ksZ0JBaEJaLFNBS1ksa0JBTVosb0JBS1ksa0JBaEJaLHlCQUtZLG9CQU1aLG9DQUtZLHVCQWhCWix1QkFLWSx5QkFNWixrQ0FLWSxxQkFoQloseUJBS1ksdUJBTVosb0NBS1kscUJBaEJaLHlCQUtZLHVCQU1aLG9DQUtZLHFCQWhCWiwwQkFLWSx1QkFNWixxQ0FLWSxvQkFoQlosd0JBS1ksc0JBTVosbUNBS1ksb0JBaEJaLHdCQUtZLHNCQU1aLG1DQUtZLGVBaEJaLGlCQUtZLGlCQU1aLDRCQUtZLGdCQWhCWixrQkFLWSxrQkFNWiw2QkFLWSxzQkFoQlosaUJBS1ksd0JBTVosNEJBS1ksdUJBaEJaLGtCQUtZLHlCQU1aLDZCQUtZLHFCQTArSXBCLDZDQUNBLG9EQUNBLDZDQUNBLDRHQUNBLG9IQUNBLG9EQS8vSVEsdUJBS1ksb0JBTVosa0NBS1ksZUFoQlosb0JBS1ksaUJBTVosK0JBS1ksaUJBaEJaLHNCQUtZLG1CQU1aLGlDQUtZLGtCQWhCWix1QkFLWSxvQkFNWixrQ0FLWSxnQkFoQloscUJBS1ksa0JBTVosZ0NBS1ksb0JBaEJaLHlCQUtZLHNCQU1aLG9DQUtZLHFCQWhCWiwwQkFLWSx1QkFNWixxQ0FLWSx1QkFoQlosNEJBS1kseUJBTVosdUNBS1ksd0JBaEJaLDZCQUtZLDBCQU1aLHdDQUtZLGFBaEJaLHNCQUtZLGVBTVosaUNBS1ksY0FoQlosdUJBS1ksZ0JBTVosa0NBS1ksY0FoQlosdUJBS1ksZ0JBTVosa0NBS1ksZUFoQlosd0JBS1ksaUJBTVosbUNBS1ksZUFoQlosd0JBS1ksaUJBTVosbUNBS1ksZUFoQlosd0JBS1ksaUJBTVosbUNBS1ksZUFoQlosd0JBS1ksaUJBTVosbUNBS1ksZUFoQlosd0JBS1ksaUJBTVosbUNBS1ksWUFoQlosa0JBS1ksY0FNWiw2QkFLWSxnQkFoQloscUJBS1ksa0JBTVosZ0NBS1ksZUFoQlosb0JBS1ksaUJBTVosK0JBS1ksZ0JBaEJaLHFCQUtZLGtCQU1aLGdDQUtZLFlBaEJaLGtCQUtZLGNBTVosNkJBS1ksZ0JBaEJaLHFCQUtZLGtCQU1aLGdDQUtZLGVBaEJaLG9CQUtZLGlCQU1aLCtCQUtZLFlBaEJaLGtCQUtZLGNBTVosNkJBS1ksY0FoQlosbUJBS1ksZ0JBTVosOEJBS1ksa0JBaEJaLHNCQUtZLG9CQU1aLGlDQUtZLGlCQWhCWixxQkFLWSxtQkFNWixnQ0FLWSxrQkFoQlosc0JBS1ksb0JBTVosaUNBS1ksY0FoQlosbUJBS1ksZ0JBTVosOEJBS1ksa0JBaEJaLHNCQUtZLG9CQU1aLGlDQUtZLGlCQWhCWixxQkFLWSxtQkFNWixnQ0FLWSxjQWhCWixtQkFLWSxnQkFNWiw4QkFLWSxjQWhCWixtQkFLWSxnQkFNWiw4QkFLWSxrQkFoQlosc0JBS1ksb0JBTVosaUNBS1ksaUJBaEJaLHFCQUtZLG1CQU1aLGdDQUtZLGtCQWhCWixzQkFLWSxvQkFNWixpQ0FLWSxjQWhCWixtQkFLWSxnQkFNWiw4QkFLWSxrQkFoQlosc0JBS1ksb0JBTVosaUNBS1ksaUJBaEJaLHFCQUtZLG1CQU1aLGdDQUtZLGNBaEJaLG1CQUtZLGdCQU1aLDhCQUtZLGFBaEJaLHFCQUtZLGVBTVosZ0NBS1ksYUFoQloscUJBS1ksZUFNWixnQ0FLWSxhQWhCWixxQkFLWSxlQU1aLGdDQUtZLGFBaEJaLHFCQUtZLGVBTVosZ0NBS1ksYUFoQloscUJBS1ksZUFNWixnQ0FLWSxhQWhCWixxQkFLWSxlQU1aLGdDQUtZLGFBaEJaLHFCQUtZLGVBTVosZ0NBS1ksYUFoQloscUJBS1ksZUFNWixnQ0FLWSxhQWhCWixxQkFLWSxlQU1aLGdDQUtZLGFBaEJaLHFCQUtZLGVBTVosZ0NBS1ksY0FoQlosc0JBS1ksZ0JBTVosaUNBS1ksY0FoQlosc0JBS1ksZ0JBTVosaUNBS1ksY0FoQlosc0JBS1ksZ0JBTVosaUNBS1ksYUFoQloscUJBS1ksZUFNWixnQ0FLWSxhQWhCWixxQkFLWSxlQU1aLGdDQUtZLGFBaEJaLHFCQUtZLGVBTVosZ0NBS1ksYUFoQloscUJBS1ksZUFNWixnQ0FLWSxhQWhCWixxQkFLWSxlQU1aLGdDQUtZLGFBaEJaLHFCQUtZLGVBTVosZ0NBS1ksYUFoQloscUJBS1ksZUFNWixnQ0FLWSxhQWhCWixxQkFLWSxlQU1aLGdDQUtZLGFBaEJaLHFCQUtZLGVBTVosZ0NBS1ksYUFoQloscUJBS1ksZUFNWixnQ0FLWSxjQWhCWixzQkFLWSxnQkFNWixpQ0FLWSxjQWhCWixzQkFLWSxnQkFNWixpQ0FLWSxjQWhCWixzQkFLWSxnQkFNWixpQ0FLWSxnQkFoQloseUJBS1ksa0JBTVosb0NBS1ksbUJBaEJaLDJCQUtZLHFCQU1aLHNDQUtZLG9CQWhCWiw0QkFLWSxzQkFNWix1Q0FLWSxtQkFoQlosMkJBS1kscUJBTVosc0NBS1ksb0JBaEJaLDZCQUtZLHNCQU1aLHdDQUtZLHFCQWhCWiw4QkFLWSx1QkFNWix5Q0FLWSxvQkFoQlosNEJBS1ksc0JBTVosdUNBS1kscUJBaEJaLDhCQUtZLHVCQU1aLHlDQUtZLHNCQWhCWiwrQkFLWSx3QkFNWiwwQ0FLWSxrQkFoQloseUJBS1ksb0JBTVosb0NBS1ksb0JBaEJaLHlCQUtZLHNCQU1aLG9DQUtZLHFCQWhCWiw4QkFLWSx1QkFNWix5Q0FLWSxrQkFoQlosNkJBS1ksb0JBTVosd0NBS1kscUJBaEJaLDhCQUtZLHVCQU1aLHlDQUtZLGtCQWhCWiw0QkFLWSxvQkFNWix1Q0FLWSxxQkFoQlosOEJBS1ksdUJBTVoseUNBS1ksa0JBaEJaLDZCQUtZLG9CQU1aLHdDQUtZLHFCQWhCWiw4QkFLWSx1QkFNWix5Q0FLWSxrQkFoQlosMEJBS1ksb0JBTVoscUNBS1kscUJBaEJaLDhCQUtZLHVCQU1aLHlDQUtZLGtCQWhCWiw2QkFLWSxvQkFNWix3Q0FLWSxxQkFoQlosOEJBS1ksdUJBTVoseUNBS1ksa0JBaEJaLDRCQUtZLG9CQU1aLHVDQUtZLHFCQWhCWiw4QkFLWSx1QkFNWix5Q0FLWSxrQkFoQlosNkJBS1ksb0JBTVosd0NBS1kscUJBaEJaLDhCQUtZLHVCQU1aLHlDQUtZLGtCQWhCWiwwQkFLWSxvQkFNWixxQ0FLWSxrQkFoQlosNkJBS1ksb0JBTVosd0NBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxtQkFoQlosMEJBS1kscUJBTVoscUNBS1ksbUJBaEJaLDZCQUtZLHFCQU1aLHdDQUtZLG1CQWhCWiw0QkFLWSxxQkFNWix1Q0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksbUJBaEJaLDBCQUtZLHFCQU1aLHFDQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxtQkFoQlosNEJBS1kscUJBTVosdUNBS1ksbUJBaEJaLDZCQUtZLHFCQU1aLHdDQUtZLG1CQWhCWiwwQkFLWSxxQkFNWixxQ0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxtQkFoQlosMEJBS1kscUJBTVoscUNBS1ksbUJBaEJaLDBCQUtZLHFCQU1aLHFDQUtZLG1CQWhCWiwwQkFLWSxxQkFNWixxQ0FLWSxtQkFoQlosMEJBS1kscUJBTVoscUNBS1ksbUJBaEJaLDJCQUtZLHFCQU1aLHNDQUtZLG1CQWhCWiwyQkFLWSxxQkFNWixzQ0FLWSxtQkFoQlosMkJBS1kscUJBTVosc0NBS1kscUJBaEJaLHlCQUtZLHVCQU1aLG9DQUtZLHFCQWhCWixnQ0FLWSx1QkFNWiwyQ0FLWSxxQkFoQlosZ0NBS1ksdUJBTVosMkNBS1kscUJBaEJaLHlCQUtZLHVCQU1aLG9DQUtZLHFCQWhCWix5QkFLWSx1QkFNWixvQ0FLWSxxQkFoQloseUJBS1ksdUJBTVosb0NBS1kscUJBaEJaLHlCQUtZLHVCQU1aLG9DQUtZLHFCQWhCWix5QkFLWSx1QkFNWixvQ0FLWSxxQkFoQloseUJBS1ksdUJBTVosb0NBS1kscUJBaEJaLHlCQUtZLHVCQU1aLG9DQUtZLHFCQWhCWixnQ0FLWSx1QkFNWiwyQ0FLWSxxQkFoQlosZ0NBS1ksdUJBTVosMkNBS1kscUJBaEJaLHlCQUtZLHVCQU1aLG9DQUtZLHFCQWhCWixnQ0FLWSx1QkFNWiwyQ0FLWSxxQkFoQlosZ0NBS1ksdUJBTVosMkNBS1ksc0JBaEJaLCtCQUtZLHdCQU1aLDBDQUtZLHNCQWhCWixnQ0FLWSx3QkFNWiwyQ0FLWSxzQkFoQloseUJBS1ksd0JBTVosb0NBS1ksc0JBaEJaLGdDQUtZLHdCQU1aLDJDQUtZLHNCQWhCWixnQ0FLWSx3QkFNWiwyQ0FLWSxzQkFoQloseUJBS1ksd0JBTVosb0NBS1ksc0JBaEJaLGdDQUtZLHdCQU1aLDJDQUtZLHNCQWhCWixnQ0FLWSx3QkFNWiwyQ0FLWSxzQkFoQloseUJBS1ksd0JBTVosb0NBS1ksdUJBaEJaLGdDQUtZLHlCQU1aLDJDQUtZLHVCQWhCWixnQ0FLWSx5QkFNWiwyQ0FLWSxxQkFoQlosMEJBS1ksdUJBTVoscUNBS1ksa0JBaEJaLHlCQUtZLG9CQU1aLG9DQUtZLG9CQWhCWix5QkFLWSxzQkFNWixvQ0FLWSxxQkFoQlosOEJBS1ksdUJBTVoseUNBS1ksa0JBaEJaLDZCQUtZLG9CQU1aLHdDQUtZLHFCQWhCWiw4QkFLWSx1QkFNWix5Q0FLWSxrQkFoQlosNEJBS1ksb0JBTVosdUNBS1kscUJBaEJaLDhCQUtZLHVCQU1aLHlDQUtZLGtCQWhCWiw2QkFLWSxvQkFNWix3Q0FLWSxxQkFoQlosOEJBS1ksdUJBTVoseUNBS1ksa0JBaEJaLDBCQUtZLG9CQU1aLHFDQUtZLHFCQWhCWiw4QkFLWSx1QkFNWix5Q0FLWSxrQkFoQlosNkJBS1ksb0JBTVosd0NBS1kscUJBaEJaLDhCQUtZLHVCQU1aLHlDQUtZLGtCQWhCWiw0QkFLWSxvQkFNWix1Q0FLWSxxQkFoQlosOEJBS1ksdUJBTVoseUNBS1ksa0JBaEJaLDZCQUtZLG9CQU1aLHdDQUtZLHFCQWhCWiw4QkFLWSx1QkFNWix5Q0FLWSxrQkFoQlosMEJBS1ksb0JBTVoscUNBS1ksa0JBaEJaLDZCQUtZLG9CQU1aLHdDQUtZLG1CQWhCWiw0QkFLWSxxQkFNWix1Q0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksbUJBaEJaLDBCQUtZLHFCQU1aLHFDQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxtQkFoQlosNEJBS1kscUJBTVosdUNBS1ksbUJBaEJaLDZCQUtZLHFCQU1aLHdDQUtZLG1CQWhCWiwwQkFLWSxxQkFNWixxQ0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxtQkFoQlosMEJBS1kscUJBTVoscUNBS1ksbUJBaEJaLDZCQUtZLHFCQU1aLHdDQUtZLG1CQWhCWiw0QkFLWSxxQkFNWix1Q0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksbUJBaEJaLDBCQUtZLHFCQU1aLHFDQUtZLG1CQWhCWiwwQkFLWSxxQkFNWixxQ0FLWSxtQkFoQlosMEJBS1kscUJBTVoscUNBS1ksbUJBaEJaLDBCQUtZLHFCQU1aLHFDQUtZLG1CQWhCWiwyQkFLWSxxQkFNWixzQ0FLWSxtQkFoQlosMkJBS1kscUJBTVosc0NBS1ksbUJBaEJaLDJCQUtZLHFCQU1aLHNDQUtZLHFCQWhCWix5QkFLWSx1QkFNWixvQ0FLWSxxQkFoQlosZ0NBS1ksdUJBTVosMkNBS1kscUJBaEJaLGdDQUtZLHVCQU1aLDJDQUtZLHFCQWhCWix5QkFLWSx1QkFNWixvQ0FLWSxxQkFoQloseUJBS1ksdUJBTVosb0NBS1kscUJBaEJaLHlCQUtZLHVCQU1aLG9DQUtZLHFCQWhCWix5QkFLWSx1QkFNWixvQ0FLWSxxQkFoQloseUJBS1ksdUJBTVosb0NBS1kscUJBaEJaLHlCQUtZLHVCQU1aLG9DQUtZLHFCQWhCWix5QkFLWSx1QkFNWixvQ0FLWSxxQkFoQlosZ0NBS1ksdUJBTVosMkNBS1kscUJBaEJaLGdDQUtZLHVCQU1aLDJDQUtZLHFCQWhCWix5QkFLWSx1QkFNWixvQ0FLWSxxQkFoQlosZ0NBS1ksdUJBTVosMkNBS1kscUJBaEJaLGdDQUtZLHVCQU1aLDJDQUtZLHNCQWhCWiwrQkFLWSx3QkFNWiwwQ0FLWSxzQkFoQlosZ0NBS1ksd0JBTVosMkNBS1ksc0JBaEJaLHlCQUtZLHdCQU1aLG9DQUtZLHNCQWhCWixnQ0FLWSx3QkFNWiwyQ0FLWSxzQkFoQlosZ0NBS1ksd0JBTVosMkNBS1ksc0JBaEJaLHlCQUtZLHdCQU1aLG9DQUtZLHNCQWhCWixnQ0FLWSx3QkFNWiwyQ0FLWSxzQkFoQlosZ0NBS1ksd0JBTVosMkNBS1ksc0JBaEJaLHlCQUtZLHdCQU1aLG9DQUtZLHVCQWhCWixnQ0FLWSx5QkFNWiwyQ0FLWSx1QkFoQlosZ0NBS1kseUJBTVosMkNBS1kscUJBaEJaLDBCQUtZLHVCQU1aLHFDQUtZLG9CQWhCWixlQUtZLHNCQU1aLDBCQUtZLG9CQWhCWixlQUtZLHNCQU1aLDBCQUtZLGdCQWhCWixXQUtZLGtCQU1aLHNCQUtZLGdCQWhCWixXQUtZLGtCQU1aLHNCQUtZLG1CQWhCWixjQUtZLHFCQU1aLHlCQUtZLHdCQWhCWixtQkFLWSwwQkFNWiw4QkFLWSxnQkFoQlosV0FLWSxrQkFNWixzQkFLWSxtQkFoQlosY0FLWSxxQkFNWix5QkFLWSxvQkFoQlosZUFLWSxzQkFNWiwwQkFLWSxnQkFoQlosV0FLWSxrQkFNWixzQkFLWSxnQkFoQlosV0FLWSxrQkFNWixzQkFLWSxxQkFoQlosZ0JBS1ksdUJBTVosMkJBS1ksZ0JBaEJaLFdBS1ksa0JBTVosc0JBS1kseUJBaEJaLG9CQUtZLDJCQU1aLCtCQUtZLGlCQWhCWixZQUtZLG1CQU1aLHVCQUtZLGdCQWhCWixXQUtZLGtCQU1aLHNCQUtZLGdCQWhCWixXQUtZLGtCQU1aLHNCQUtZLG1CQWhCWixjQUtZLHFCQU1aLHlCQUtZLHVCQWhCWixrQkFLWSx5QkFNWiw2QkFLWSxvQkFoQlosZUFLWSxzQkFNWiwwQkFLWSxvQkFoQlosZUFLWSxzQkFNWiwwQkFLWSxxQkFoQlosZ0JBS1ksdUJBTVosMkJBS1kscUJBaEJaLGdCQUtZLHVCQU1aLDJCQUtZLG9CQWhCWixlQUtZLHNCQU1aLDBCQUtZLHFCQWhCWixnQkFLWSx1QkFNWiwyQkFLWSxxQkFoQlosZ0JBS1ksdUJBTVosMkJBS1ksb0JBaEJaLGVBS1ksc0JBTVosMEJBS1kscUJBaEJaLGdCQUtZLHVCQU1aLDJCQUtZLHFCQWhCWixnQkFLWSx1QkFNWiwyQkFLWSx1QkFoQlosa0JBS1kseUJBTVosNkJBS1ksdUJBaEJaLGtCQUtZLHlCQU1aLDZCQUtZLHNCQWhCWixpQkFLWSx3QkFNWiw0QkFLWSxzQkFoQlosaUJBS1ksd0JBTVosNEJBS1ksc0JBaEJaLGlCQUtZLHdCQU1aLDRCQUtZLG1CQWhCWixjQUtZLHFCQU1aLHlCQUtZLG9CQWhCWixlQUtZLHNCQU1aLDBCQUtZLGdCQWhCWixXQUtZLGtCQU1aLHNCQUtZLG9CQWhCWixlQUtZLHNCQU1aLDBCQUtZLHdCQWhCWixtQkFLWSwwQkFNWiw4QkFLWSx3QkFoQlosbUJBS1ksMEJBTVosOEJBS1ksV0FoQlosV0FLWSxhQU1aLHNCQUtZLGdCQWhCWixXQUtZLGtCQU1aLHNCQUtZLGFBaEJaLGlCQUtZLGVBTVosNEJBS1ksYUFoQlosZUFLWSxlQU1aLDBCQUtZLGdCQWhCWixvQkFLWSxrQkFNWiwrQkFLWSxrQkFoQlosc0JBS1ksb0JBTVosaUNBS1kscUJBaEJaLHFCQUtZLHVCQU1aLGdDQUtZLHVCQWhCWixrREFLWSx5QkFNWiw2REFLWSx1QkFoQlosa0RBS1kseUJBTVosNkRBS1ksMEJBaEJaLHFEQUtZLDRCQU1aLGdFQUtZLDBCQWt4S3hCLDhEQUNBLGdFQW55S1ksdUJBS1ksOEJBTVosa0NBS1ksNEJBaEJaLHVCQUtZLDhCQU1aLGtDQUtZLDRCQWhCWix1QkFLWSw4QkFNWixrQ0FLWSwwQkFoQloscUJBS1ksNEJBTVosZ0NBS1ksNkJBaEJaLHdCQUtZLCtCQU1aLG1DQUtZLDJCQWhCWixzQkFLWSw2QkFNWixpQ0FLWSxlQWhCWixpQkFLWSxpQkFNWiw0QkFLWSxpQkFoQlosaUJBS1ksbUJBTVosNEJBS1ksa0JBaEJaLHFCQUtZLG9CQU1aLGdDQUtZLGVBaEJaLG9CQUtZLGlCQU1aLCtCQUtZLGtCQWhCWixxQkFLWSxvQkFNWixnQ0FLWSxlQWhCWixtQkFLWSxpQkFNWiw4QkFLWSxrQkFoQloscUJBS1ksb0JBTVosZ0NBS1ksZUFoQlosb0JBS1ksaUJBTVosK0JBS1ksa0JBaEJaLHFCQUtZLG9CQU1aLGdDQUtZLGVBaEJaLGtCQUtZLGlCQU1aLDZCQUtZLGtCQWhCWixzQkFLWSxvQkFNWixpQ0FLWSxlQWhCWixxQkFLWSxpQkFNWixnQ0FLWSxrQkFoQlosc0JBS1ksb0JBTVosaUNBS1ksZUFoQlosb0JBS1ksaUJBTVosK0JBS1ksa0JBaEJaLHNCQUtZLG9CQU1aLGlDQUtZLGVBaEJaLHFCQUtZLGlCQU1aLGdDQUtZLGtCQWhCWixzQkFLWSxvQkFNWixpQ0FLWSxlQWhCWixrQkFLWSxpQkFNWiw2QkFLWSxlQWhCWixxQkFLWSxpQkFNWixnQ0FLWSxnQkFoQlosb0JBS1ksa0JBTVosK0JBS1ksZ0JBaEJaLHFCQUtZLGtCQU1aLGdDQUtZLGdCQWhCWixrQkFLWSxrQkFNWiw2QkFLWSxnQkFoQloscUJBS1ksa0JBTVosZ0NBS1ksZ0JBaEJaLG9CQUtZLGtCQU1aLCtCQUtZLGdCQWhCWixxQkFLWSxrQkFNWixnQ0FLWSxnQkFoQlosa0JBS1ksa0JBTVosNkJBS1ksZ0JBaEJaLHFCQUtZLGtCQU1aLGdDQUtZLGdCQWhCWixvQkFLWSxrQkFNWiwrQkFLWSxnQkFoQloscUJBS1ksa0JBTVosZ0NBS1ksZ0JBaEJaLGtCQUtZLGtCQU1aLDZCQUtZLGdCQWhCWixxQkFLWSxrQkFNWixnQ0FLWSxnQkFoQlosb0JBS1ksa0JBTVosK0JBS1ksZ0JBaEJaLHFCQUtZLGtCQU1aLGdDQUtZLGdCQWhCWixrQkFLWSxrQkFNWiw2QkFLWSxnQkFoQlosa0JBS1ksa0JBTVosNkJBS1ksZ0JBaEJaLGtCQUtZLGtCQU1aLDZCQUtZLGdCQWhCWixrQkFLWSxrQkFNWiw2QkFLWSxnQkFoQlosbUJBS1ksa0JBTVosOEJBS1ksZ0JBaEJaLG1CQUtZLGtCQU1aLDhCQUtZLGdCQWhCWixtQkFLWSxrQkFNWiw4QkFLWSxnQkFoQloscUJBS1ksa0JBTVosZ0NBS1ksa0JBaEJaLHFCQUtZLG9CQU1aLGdDQUtZLG1CQWhCWix5QkFLWSxxQkFNWixvQ0FLWSxnQkFoQlosd0JBS1ksa0JBTVosbUNBS1ksbUJBaEJaLHlCQUtZLHFCQU1aLG9DQUtZLGdCQWhCWix1QkFLWSxrQkFNWixrQ0FLWSxtQkFoQloseUJBS1kscUJBTVosb0NBS1ksZ0JBaEJaLHdCQUtZLGtCQU1aLG1DQUtZLG1CQWhCWix5QkFLWSxxQkFNWixvQ0FLWSxnQkFoQlosc0JBS1ksa0JBTVosaUNBS1ksbUJBaEJaLDBCQUtZLHFCQU1aLHFDQUtZLGdCQWhCWix5QkFLWSxrQkFNWixvQ0FLWSxtQkFoQlosMEJBS1kscUJBTVoscUNBS1ksZ0JBaEJaLHdCQUtZLGtCQU1aLG1DQUtZLG1CQWhCWiwwQkFLWSxxQkFNWixxQ0FLWSxnQkFoQloseUJBS1ksa0JBTVosb0NBS1ksbUJBaEJaLDBCQUtZLHFCQU1aLHFDQUtZLGdCQWhCWixzQkFLWSxrQkFNWixpQ0FLWSxnQkFoQloseUJBS1ksa0JBTVosb0NBS1ksaUJBaEJaLHdCQUtZLG1CQU1aLG1DQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQlosc0JBS1ksbUJBTVosaUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWix3QkFLWSxtQkFNWixtQ0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLHNCQUtZLG1CQU1aLGlDQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQlosd0JBS1ksbUJBTVosbUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWixzQkFLWSxtQkFNWixpQ0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLHdCQUtZLG1CQU1aLG1DQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQlosc0JBS1ksbUJBTVosaUNBS1ksaUJBaEJaLHNCQUtZLG1CQU1aLGlDQUtZLGlCQWhCWixzQkFLWSxtQkFNWixpQ0FLWSxpQkFoQlosc0JBS1ksbUJBTVosaUNBS1ksaUJBaEJaLHVCQUtZLG1CQU1aLGtDQUtZLGlCQWhCWix1QkFLWSxtQkFNWixrQ0FLWSxpQkFoQlosdUJBS1ksbUJBTVosa0NBS1ksZ0JBaEJaLHVCQUtZLGtCQU1aLGtDQUtZLGtCQWhCWix1QkFLWSxvQkFNWixrQ0FLWSxtQkFoQlosMkJBS1kscUJBTVosc0NBS1ksZ0JBaEJaLDBCQUtZLGtCQU1aLHFDQUtZLG1CQWhCWiwyQkFLWSxxQkFNWixzQ0FLWSxnQkFoQloseUJBS1ksa0JBTVosb0NBS1ksbUJBaEJaLDJCQUtZLHFCQU1aLHNDQUtZLGdCQWhCWiwwQkFLWSxrQkFNWixxQ0FLWSxtQkFoQlosMkJBS1kscUJBTVosc0NBS1ksZ0JBaEJaLHdCQUtZLGtCQU1aLG1DQUtZLG1CQWhCWiw0QkFLWSxxQkFNWix1Q0FLWSxnQkFoQlosMkJBS1ksa0JBTVosc0NBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLGdCQWhCWiwwQkFLWSxrQkFNWixxQ0FLWSxtQkFoQlosNEJBS1kscUJBTVosdUNBS1ksZ0JBaEJaLDJCQUtZLGtCQU1aLHNDQUtZLG1CQWhCWiw0QkFLWSxxQkFNWix1Q0FLWSxnQkFoQlosd0JBS1ksa0JBTVosbUNBS1ksZ0JBaEJaLDJCQUtZLGtCQU1aLHNDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLHdCQUtZLG1CQU1aLG1DQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGlCQWhCWix3QkFLWSxtQkFNWixtQ0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosd0JBS1ksbUJBTVosbUNBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLHdCQUtZLG1CQU1aLG1DQUtZLGlCQWhCWix3QkFLWSxtQkFNWixtQ0FLWSxpQkFoQlosd0JBS1ksbUJBTVosbUNBS1ksaUJBaEJaLHdCQUtZLG1CQU1aLG1DQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGdCQWhCWix3QkFLWSxrQkFNWixtQ0FLWSxrQkFoQlosd0JBS1ksb0JBTVosbUNBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLGdCQWhCWiwyQkFLWSxrQkFNWixzQ0FLWSxtQkFoQlosNEJBS1kscUJBTVosdUNBS1ksZ0JBaEJaLDBCQUtZLGtCQU1aLHFDQUtZLG1CQWhCWiw0QkFLWSxxQkFNWix1Q0FLWSxnQkFoQlosMkJBS1ksa0JBTVosc0NBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLGdCQWhCWix5QkFLWSxrQkFNWixvQ0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksZ0JBaEJaLDRCQUtZLGtCQU1aLHVDQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxnQkFoQlosMkJBS1ksa0JBTVosc0NBS1ksbUJBaEJaLDZCQUtZLHFCQU1aLHdDQUtZLGdCQWhCWiw0QkFLWSxrQkFNWix1Q0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksZ0JBaEJaLHlCQUtZLGtCQU1aLG9DQUtZLGdCQWhCWiw0QkFLWSxrQkFNWix1Q0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLDRCQUtZLG1CQU1aLHVDQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGlCQWhCWiw0QkFLWSxtQkFNWix1Q0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLDRCQUtZLG1CQU1aLHVDQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWiw0QkFLWSxtQkFNWix1Q0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLDRCQUtZLG1CQU1aLHVDQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxnQkFoQlosc0JBS1ksa0JBTVosaUNBS1ksa0JBaEJaLHNCQUtZLG9CQU1aLGlDQUtZLG1CQWhCWiwwQkFLWSxxQkFNWixxQ0FLWSxnQkFoQloseUJBS1ksa0JBTVosb0NBS1ksbUJBaEJaLDBCQUtZLHFCQU1aLHFDQUtZLGdCQWhCWix3QkFLWSxrQkFNWixtQ0FLWSxtQkFoQlosMEJBS1kscUJBTVoscUNBS1ksZ0JBaEJaLHlCQUtZLGtCQU1aLG9DQUtZLG1CQWhCWiwwQkFLWSxxQkFNWixxQ0FLWSxnQkFoQlosdUJBS1ksa0JBTVosa0NBS1ksbUJBaEJaLDJCQUtZLHFCQU1aLHNDQUtZLGdCQWhCWiwwQkFLWSxrQkFNWixxQ0FLWSxtQkFoQlosMkJBS1kscUJBTVosc0NBS1ksZ0JBaEJaLHlCQUtZLGtCQU1aLG9DQUtZLG1CQWhCWiwyQkFLWSxxQkFNWixzQ0FLWSxnQkFoQlosMEJBS1ksa0JBTVoscUNBS1ksbUJBaEJaLDJCQUtZLHFCQU1aLHNDQUtZLGdCQWhCWix1QkFLWSxrQkFNWixrQ0FLWSxnQkFoQlosMEJBS1ksa0JBTVoscUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosdUJBS1ksbUJBTVosa0NBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLHVCQUtZLG1CQU1aLGtDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWix1QkFLWSxtQkFNWixrQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosdUJBS1ksbUJBTVosa0NBS1ksaUJBaEJaLHVCQUtZLG1CQU1aLGtDQUtZLGlCQWhCWix1QkFLWSxtQkFNWixrQ0FLWSxpQkFoQlosdUJBS1ksbUJBTVosa0NBS1ksaUJBaEJaLHdCQUtZLG1CQU1aLG1DQUtZLGlCQWhCWix3QkFLWSxtQkFNWixtQ0FLWSxpQkFoQlosd0JBS1ksbUJBTVosbUNBS1ksZ0JBaEJaLHdCQUtZLGtCQU1aLG1DQUtZLGtCQWhCWix3QkFLWSxvQkFNWixtQ0FLWSxtQkFoQlosNEJBS1kscUJBTVosdUNBS1ksZ0JBaEJaLDJCQUtZLGtCQU1aLHNDQUtZLG1CQWhCWiw0QkFLWSxxQkFNWix1Q0FLWSxnQkFoQlosMEJBS1ksa0JBTVoscUNBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLGdCQWhCWiwyQkFLWSxrQkFNWixzQ0FLWSxtQkFoQlosNEJBS1kscUJBTVosdUNBS1ksZ0JBaEJaLHlCQUtZLGtCQU1aLG9DQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxnQkFoQlosNEJBS1ksa0JBTVosdUNBS1ksbUJBaEJaLDZCQUtZLHFCQU1aLHdDQUtZLGdCQWhCWiwyQkFLWSxrQkFNWixzQ0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksZ0JBaEJaLDRCQUtZLGtCQU1aLHVDQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxnQkFoQloseUJBS1ksa0JBTVosb0NBS1ksZ0JBaEJaLDRCQUtZLGtCQU1aLHVDQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWiw0QkFLWSxtQkFNWix1Q0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLDRCQUtZLG1CQU1aLHVDQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGlCQWhCWiw0QkFLWSxtQkFNWix1Q0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLDRCQUtZLG1CQU1aLHVDQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGdCQWhCWix1QkFLWSxrQkFNWixrQ0FLWSxrQkFoQlosdUJBS1ksb0JBTVosa0NBS1ksbUJBaEJaLDJCQUtZLHFCQU1aLHNDQUtZLGdCQWhCWiwwQkFLWSxrQkFNWixxQ0FLWSxtQkFoQlosMkJBS1kscUJBTVosc0NBS1ksZ0JBaEJaLHlCQUtZLGtCQU1aLG9DQUtZLG1CQWhCWiwyQkFLWSxxQkFNWixzQ0FLWSxnQkFoQlosMEJBS1ksa0JBTVoscUNBS1ksbUJBaEJaLDJCQUtZLHFCQU1aLHNDQUtZLGdCQWhCWix3QkFLWSxrQkFNWixtQ0FLWSxtQkFoQlosNEJBS1kscUJBTVosdUNBS1ksZ0JBaEJaLDJCQUtZLGtCQU1aLHNDQUtZLG1CQWhCWiw0QkFLWSxxQkFNWix1Q0FLWSxnQkFoQlosMEJBS1ksa0JBTVoscUNBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLGdCQWhCWiwyQkFLWSxrQkFNWixzQ0FLWSxtQkFoQlosNEJBS1kscUJBTVosdUNBS1ksZ0JBaEJaLHdCQUtZLGtCQU1aLG1DQUtZLGdCQWhCWiwyQkFLWSxrQkFNWixzQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGlCQWhCWix3QkFLWSxtQkFNWixtQ0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosd0JBS1ksbUJBTVosbUNBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLHdCQUtZLG1CQU1aLG1DQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGlCQWhCWix3QkFLWSxtQkFNWixtQ0FLWSxpQkFoQlosd0JBS1ksbUJBTVosbUNBS1ksaUJBaEJaLHdCQUtZLG1CQU1aLG1DQUtZLGlCQWhCWix3QkFLWSxtQkFNWixtQ0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxlQWhCWixrQkFLWSxpQkFNWiw2QkFLWSxpQkFoQlosa0JBS1ksbUJBTVosNkJBS1ksa0JBaEJaLHNCQUtZLG9CQU1aLGlDQUtZLGVBaEJaLHFCQUtZLGlCQU1aLGdDQUtZLGtCQWhCWixzQkFLWSxvQkFNWixpQ0FLWSxlQWhCWixvQkFLWSxpQkFNWiwrQkFLWSxrQkFoQlosc0JBS1ksb0JBTVosaUNBS1ksZUFoQloscUJBS1ksaUJBTVosZ0NBS1ksa0JBaEJaLHNCQUtZLG9CQU1aLGlDQUtZLGVBaEJaLG1CQUtZLGlCQU1aLDhCQUtZLGtCQWhCWix1QkFLWSxvQkFNWixrQ0FLWSxlQWhCWixzQkFLWSxpQkFNWixpQ0FLWSxrQkFoQlosdUJBS1ksb0JBTVosa0NBS1ksZUFoQloscUJBS1ksaUJBTVosZ0NBS1ksa0JBaEJaLHVCQUtZLG9CQU1aLGtDQUtZLGVBaEJaLHNCQUtZLGlCQU1aLGlDQUtZLGtCQWhCWix1QkFLWSxvQkFNWixrQ0FLWSxlQWhCWixtQkFLWSxpQkFNWiw4QkFLWSxlQWhCWixzQkFLWSxpQkFNWixpQ0FLWSxnQkFoQloscUJBS1ksa0JBTVosZ0NBS1ksZ0JBaEJaLHNCQUtZLGtCQU1aLGlDQUtZLGdCQWhCWixtQkFLWSxrQkFNWiw4QkFLWSxnQkFoQlosc0JBS1ksa0JBTVosaUNBS1ksZ0JBaEJaLHFCQUtZLGtCQU1aLGdDQUtZLGdCQWhCWixzQkFLWSxrQkFNWixpQ0FLWSxnQkFoQlosbUJBS1ksa0JBTVosOEJBS1ksZ0JBaEJaLHNCQUtZLGtCQU1aLGlDQUtZLGdCQWhCWixxQkFLWSxrQkFNWixnQ0FLWSxnQkFoQlosc0JBS1ksa0JBTVosaUNBS1ksZ0JBaEJaLG1CQUtZLGtCQU1aLDhCQUtZLGdCQWhCWixzQkFLWSxrQkFNWixpQ0FLWSxnQkFoQloscUJBS1ksa0JBTVosZ0NBS1ksZ0JBaEJaLHNCQUtZLGtCQU1aLGlDQUtZLGdCQWhCWixtQkFLWSxrQkFNWiw4QkFLWSxnQkFoQlosbUJBS1ksa0JBTVosOEJBS1ksZ0JBaEJaLG1CQUtZLGtCQU1aLDhCQUtZLGdCQWhCWixtQkFLWSxrQkFNWiw4QkFLWSxnQkFoQlosb0JBS1ksa0JBTVosK0JBS1ksZ0JBaEJaLG9CQUtZLGtCQU1aLCtCQUtZLGdCQWhCWixvQkFLWSxrQkFNWiwrQkFLWSxnQkFoQlosc0JBS1ksa0JBTVosaUNBS1ksa0JBaEJaLHNCQUtZLG9CQU1aLGlDQUtZLG1CQWhCWiwwQkFLWSxxQkFNWixxQ0FLWSxnQkFoQloseUJBS1ksa0JBTVosb0NBS1ksbUJBaEJaLDBCQUtZLHFCQU1aLHFDQUtZLGdCQWhCWix3QkFLWSxrQkFNWixtQ0FLWSxtQkFoQlosMEJBS1kscUJBTVoscUNBS1ksZ0JBaEJaLHlCQUtZLGtCQU1aLG9DQUtZLG1CQWhCWiwwQkFLWSxxQkFNWixxQ0FLWSxnQkFoQlosdUJBS1ksa0JBTVosa0NBS1ksbUJBaEJaLDJCQUtZLHFCQU1aLHNDQUtZLGdCQWhCWiwwQkFLWSxrQkFNWixxQ0FLWSxtQkFoQlosMkJBS1kscUJBTVosc0NBS1ksZ0JBaEJaLHlCQUtZLGtCQU1aLG9DQUtZLG1CQWhCWiwyQkFLWSxxQkFNWixzQ0FLWSxnQkFoQlosMEJBS1ksa0JBTVoscUNBS1ksbUJBaEJaLDJCQUtZLHFCQU1aLHNDQUtZLGdCQWhCWix1QkFLWSxrQkFNWixrQ0FLWSxnQkFoQlosMEJBS1ksa0JBTVoscUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosdUJBS1ksbUJBTVosa0NBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLHVCQUtZLG1CQU1aLGtDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWix1QkFLWSxtQkFNWixrQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosdUJBS1ksbUJBTVosa0NBS1ksaUJBaEJaLHVCQUtZLG1CQU1aLGtDQUtZLGlCQWhCWix1QkFLWSxtQkFNWixrQ0FLWSxpQkFoQlosdUJBS1ksbUJBTVosa0NBS1ksaUJBaEJaLHdCQUtZLG1CQU1aLG1DQUtZLGlCQWhCWix3QkFLWSxtQkFNWixtQ0FLWSxpQkFoQlosd0JBS1ksbUJBTVosbUNBS1ksZ0JBaEJaLHdCQUtZLGtCQU1aLG1DQUtZLGtCQWhCWix3QkFLWSxvQkFNWixtQ0FLWSxtQkFoQlosNEJBS1kscUJBTVosdUNBS1ksZ0JBaEJaLDJCQUtZLGtCQU1aLHNDQUtZLG1CQWhCWiw0QkFLWSxxQkFNWix1Q0FLWSxnQkFoQlosMEJBS1ksa0JBTVoscUNBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLGdCQWhCWiwyQkFLWSxrQkFNWixzQ0FLWSxtQkFoQlosNEJBS1kscUJBTVosdUNBS1ksZ0JBaEJaLHlCQUtZLGtCQU1aLG9DQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxnQkFoQlosNEJBS1ksa0JBTVosdUNBS1ksbUJBaEJaLDZCQUtZLHFCQU1aLHdDQUtZLGdCQWhCWiwyQkFLWSxrQkFNWixzQ0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksZ0JBaEJaLDRCQUtZLGtCQU1aLHVDQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxnQkFoQloseUJBS1ksa0JBTVosb0NBS1ksZ0JBaEJaLDRCQUtZLGtCQU1aLHVDQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWiw0QkFLWSxtQkFNWix1Q0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLDRCQUtZLG1CQU1aLHVDQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGlCQWhCWiw0QkFLWSxtQkFNWix1Q0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLDRCQUtZLG1CQU1aLHVDQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGdCQWhCWix5QkFLWSxrQkFNWixvQ0FLWSxrQkFoQloseUJBS1ksb0JBTVosb0NBS1ksbUJBaEJaLDZCQUtZLHFCQU1aLHdDQUtZLGdCQWhCWiw0QkFLWSxrQkFNWix1Q0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksZ0JBaEJaLDJCQUtZLGtCQU1aLHNDQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxnQkFoQlosNEJBS1ksa0JBTVosdUNBS1ksbUJBaEJaLDZCQUtZLHFCQU1aLHdDQUtZLGdCQWhCWiwwQkFLWSxrQkFNWixxQ0FLWSxtQkFoQlosOEJBS1kscUJBTVoseUNBS1ksZ0JBaEJaLDZCQUtZLGtCQU1aLHdDQUtZLG1CQWhCWiw4QkFLWSxxQkFNWix5Q0FLWSxnQkFoQlosNEJBS1ksa0JBTVosdUNBS1ksbUJBaEJaLDhCQUtZLHFCQU1aLHlDQUtZLGdCQWhCWiw2QkFLWSxrQkFNWix3Q0FLWSxtQkFoQlosOEJBS1kscUJBTVoseUNBS1ksZ0JBaEJaLDBCQUtZLGtCQU1aLHFDQUtZLGdCQWhCWiw2QkFLWSxrQkFNWix3Q0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLDZCQUtZLG1CQU1aLHdDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosNkJBS1ksbUJBTVosd0NBS1ksaUJBaEJaLDRCQUtZLG1CQU1aLHVDQUtZLGlCQWhCWiw2QkFLWSxtQkFNWix3Q0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLDZCQUtZLG1CQU1aLHdDQUtZLGlCQWhCWiw0QkFLWSxtQkFNWix1Q0FLWSxpQkFoQlosNkJBS1ksbUJBTVosd0NBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWiw2QkFLWSxtQkFNWix3Q0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLDZCQUtZLG1CQU1aLHdDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxnQkFoQlosdUJBS1ksa0JBTVosa0NBS1ksa0JBaEJaLHVCQUtZLG9CQU1aLGtDQUtZLG1CQWhCWiwyQkFLWSxxQkFNWixzQ0FLWSxnQkFoQlosMEJBS1ksa0JBTVoscUNBS1ksbUJBaEJaLDJCQUtZLHFCQU1aLHNDQUtZLGdCQWhCWix5QkFLWSxrQkFNWixvQ0FLWSxtQkFoQlosMkJBS1kscUJBTVosc0NBS1ksZ0JBaEJaLDBCQUtZLGtCQU1aLHFDQUtZLG1CQWhCWiwyQkFLWSxxQkFNWixzQ0FLWSxnQkFoQlosd0JBS1ksa0JBTVosbUNBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLGdCQWhCWiwyQkFLWSxrQkFNWixzQ0FLWSxtQkFoQlosNEJBS1kscUJBTVosdUNBS1ksZ0JBaEJaLDBCQUtZLGtCQU1aLHFDQUtZLG1CQWhCWiw0QkFLWSxxQkFNWix1Q0FLWSxnQkFoQlosMkJBS1ksa0JBTVosc0NBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLGdCQWhCWix3QkFLWSxrQkFNWixtQ0FLWSxnQkFoQlosMkJBS1ksa0JBTVosc0NBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosd0JBS1ksbUJBTVosbUNBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLHdCQUtZLG1CQU1aLG1DQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGlCQWhCWix3QkFLWSxtQkFNWixtQ0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosd0JBS1ksbUJBTVosbUNBS1ksaUJBaEJaLHdCQUtZLG1CQU1aLG1DQUtZLGlCQWhCWix3QkFLWSxtQkFNWixtQ0FLWSxpQkFoQlosd0JBS1ksbUJBTVosbUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksZ0JBaEJaLHlCQUtZLGtCQU1aLG9DQUtZLGtCQWhCWix5QkFLWSxvQkFNWixvQ0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksZ0JBaEJaLDRCQUtZLGtCQU1aLHVDQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxnQkFoQlosMkJBS1ksa0JBTVosc0NBS1ksbUJBaEJaLDZCQUtZLHFCQU1aLHdDQUtZLGdCQWhCWiw0QkFLWSxrQkFNWix1Q0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksZ0JBaEJaLDBCQUtZLGtCQU1aLHFDQUtZLG1CQWhCWiw4QkFLWSxxQkFNWix5Q0FLWSxnQkFoQlosNkJBS1ksa0JBTVosd0NBS1ksbUJBaEJaLDhCQUtZLHFCQU1aLHlDQUtZLGdCQWhCWiw0QkFLWSxrQkFNWix1Q0FLWSxtQkFoQlosOEJBS1kscUJBTVoseUNBS1ksZ0JBaEJaLDZCQUtZLGtCQU1aLHdDQUtZLG1CQWhCWiw4QkFLWSxxQkFNWix5Q0FLWSxnQkFoQlosMEJBS1ksa0JBTVoscUNBS1ksZ0JBaEJaLDZCQUtZLGtCQU1aLHdDQUtZLGlCQWhCWiw0QkFLWSxtQkFNWix1Q0FLWSxpQkFoQlosNkJBS1ksbUJBTVosd0NBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWiw2QkFLWSxtQkFNWix3Q0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLDZCQUtZLG1CQU1aLHdDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosNkJBS1ksbUJBTVosd0NBS1ksaUJBaEJaLDRCQUtZLG1CQU1aLHVDQUtZLGlCQWhCWiw2QkFLWSxtQkFNWix3Q0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLDZCQUtZLG1CQU1aLHdDQUtZLGlCQWhCWiw0QkFLWSxtQkFNWix1Q0FLWSxpQkFoQlosNkJBS1ksbUJBTVosd0NBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGdCQWhCWix3QkFLWSxrQkFNWixtQ0FLWSxrQkFoQlosd0JBS1ksb0JBTVosbUNBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLGdCQWhCWiwyQkFLWSxrQkFNWixzQ0FLWSxtQkFoQlosNEJBS1kscUJBTVosdUNBS1ksZ0JBaEJaLDBCQUtZLGtCQU1aLHFDQUtZLG1CQWhCWiw0QkFLWSxxQkFNWix1Q0FLWSxnQkFoQlosMkJBS1ksa0JBTVosc0NBS1ksbUJBaEJaLDRCQUtZLHFCQU1aLHVDQUtZLGdCQWhCWix5QkFLWSxrQkFNWixvQ0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksZ0JBaEJaLDRCQUtZLGtCQU1aLHVDQUtZLG1CQWhCWiw2QkFLWSxxQkFNWix3Q0FLWSxnQkFoQlosMkJBS1ksa0JBTVosc0NBS1ksbUJBaEJaLDZCQUtZLHFCQU1aLHdDQUtZLGdCQWhCWiw0QkFLWSxrQkFNWix1Q0FLWSxtQkFoQlosNkJBS1kscUJBTVosd0NBS1ksZ0JBaEJaLHlCQUtZLGtCQU1aLG9DQUtZLGdCQWhCWiw0QkFLWSxrQkFNWix1Q0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLDRCQUtZLG1CQU1aLHVDQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLDJCQUtZLG1CQU1aLHNDQUtZLGlCQWhCWiw0QkFLWSxtQkFNWix1Q0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLDRCQUtZLG1CQU1aLHVDQUtZLGlCQWhCWiwyQkFLWSxtQkFNWixzQ0FLWSxpQkFoQlosNEJBS1ksbUJBTVosdUNBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWiw0QkFLWSxtQkFNWix1Q0FLWSxpQkFoQlosMkJBS1ksbUJBTVosc0NBS1ksaUJBaEJaLDRCQUtZLG1CQU1aLHVDQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQloseUJBS1ksbUJBTVosb0NBS1ksaUJBaEJaLHlCQUtZLG1CQU1aLG9DQUtZLGlCQWhCWix5QkFLWSxtQkFNWixvQ0FLWSxpQkFoQlosMEJBS1ksbUJBTVoscUNBS1ksaUJBaEJaLDBCQUtZLG1CQU1aLHFDQUtZLGlCQWhCWiwwQkFLWSxtQkFNWixxQ0FLWSxzQkFoQlosaUJBS1ksd0JBTVosNEJBS1ksc0JBaEJaLGlCQUtZLHdCQU1aLDRCQUtZLHVCQWhCWixrQkFLWSx5QkFNWiw2QkFLWSwwQkFoQloscUJBS1ksNEJBTVosZ0NBS1ksMkJBaEJaLHNCQUtZLDZCQU1aLGlDQUtZLHVCQWhCWixrQkFLWSx5QkFNWiw2QkFLWSx3QkFoQlosbUJBS1ksMEJBTVosOEJBS1ksMEJBaEJaLHFCQUtZLDRCQU1aLGdDQUtZLDRCQWhCWix1QkFLWSw4QkFNWixrQ0FLWSw4QkFoQloseUJBS1ksZ0NBTVosb0NBS1kscUJBaEJaLGdCQUtZLHVCQU1aLDJCQUtZLHFCQWhCWixnQkFLWSx1QkFNWiwyQkFLWSxxQkFoQlosZ0JBS1ksdUJBTVosMkJBS1ksb0JBaEJaLGVBS1ksc0JBTVosMEJBS1ksd0JBaEJaLG1CQUtZLDBCQU1aLDhCQUtZLHFCQWhCWixnQkFLWSx1QkFNWiwyQkFLWSx1QkFoQlosMkJBS1kseUJBTVosc0NBS1kseUJBaEJaLG9CQUtZLDJCQU1aLCtCQUtZLDBCQWhCWixxQkFLWSw0QkFNWixnQ0FLWSxjQWhCWixTQUtZLGdCQU1aLG9CQUtZLGlCQWhCWixZQUtZLG1CQU1aLHVCQUtZLGlCQWhCWixpQkFLWSxtQkFNWiw0QkFLWSxxQkFoQlosa0JBS1ksdUJBTVosNkJBS1ksZUFoQlosU0FLWSxpQkFNWixvQkFLWSxlQWhCWixTQUtZLGlCQU1aLG9CQUtZLGdCQWhCWixXQUtZLGtCQU1aLHNCQUtZLG1CQWhCWixjQUtZLHFCQU1aLHlCQUtZLG1CQWhCWixtQkFLWSxxQkFNWiw4QkFLWSx1QkFoQlosb0JBS1kseUJBTVosK0JBS1ksaUJBaEJaLFdBS1ksbUJBTVosc0JBS1ksaUJBaEJaLFdBS1ksbUJBTVosc0JBS1ksZ0JBaEJaLGlKQUdZLGtCQVFaLDRKQUdZLGdCQWRaLGlKQUdZLGtCQVFaLDRKQUdZLGdCQWRaLGlKQUdZLGtCQVFaLDRKQUdZLGdCQWRaLGtKQUdZLGtCQVFaLDZKQUdZLGdCQWRaLG1KQUdZLGtCQVFaLDhKQUdZLGdCQWRaLG1KQUdZLGtCQVFaLDhKQUdZLGdCQWRaLG9KQUdZLGtCQVFaLCtKQUdZLGdCQWRaLHlJQUdZLGtCQVFaLG9KQUdZLGdCQWRaLDBJQUdZLGtCQVFaLHFKQUdZLDRCQXU5THhCLHlDQUdRLDhDQUNBLDZDQUNBLG9EQUNBLG1EQUNBLFNBRUosa0NBRUEsZUFoTWlCLFVBOE1qQix5Q0FFUSwyRUFDQSwrQ0FDQSxnRkFDQSwyRkFDQSx3Q0FFSixVQVJKLHlDQUVRLDJFQUNBLDhDQUNBLGdGQUNBLHlGQUNBLHdDQUVKLFVBUkoseUNBRVEsMkVBQ0EsOENBQ0EsaUZBQ0EsMEZBQ0Esd0NBRUosVUFSSix5Q0FFUSwyRUFDQSw4Q0FDQSxpRkFDQSx5RkFDQSx3Q0FFSixVQVJKLHlDQUVRLDJFQUNBLDhDQUNBLGlGQUNBLDBGQUNBLHdDQUVKLFVBUkoseUNBRVEsMkVBQ0EsOENBQ0EsaUZBQ0Esd0ZBQ0Esd0NBRUosZ0JBS1IsZ0RBRVEsa0ZBQ0Esb0ZBQ0Esd0ZBQ0EsK0RBQ0EsK0NBRUoseUJBSUosc0VBR1Esc0ZBQ0EsNEVBQ0EsbUZBQ0Esa0RBQ0EsbUJBRUosaUJBOUxrQixZQWtNdEIsMENBck1rQiw4Q0FIQSxjQTJNZCxpREFHSixTQUNJLGVBQ0EsMkJBQ0EsK0JBQ0Esb0JBQ0Esa0JBQ0EsY0FHSix5Q0ExTm1CLCtDQUhBLGNBMk9mLHVGQUVRLGlGQUNBLG1EQUNBLHNGQUNBLGlHQUNBLGNBTlIsd0ZBRVEsaUZBQ0EsbURBQ0Esc0ZBQ0EsaUdBQ0EsY0FOUixxRkFFUSxpRkFDQSxtREFDQSxzRkFDQSxpR0FDQSxjQU5SLHdGQUVRLGlGQUNBLG1EQUNBLHNGQUNBLGlHQUNBLGNBdUJaLGdEQTl2UWtCLHlEQURGLHlCQXV3UWhCLDJEQWx3UW1CLGlEQUpELHlEQURGLGFBZzNRaEIsVUMzemdCYyxzQkQ4emdCVixjQUNBLG9CQUNBLHFCQUNBLG1CQUNBLHVCQUNBLHNCQUNBLGtCQUNBLGlCQUVBLGlCQUNJLGNBQ0EsdUJBTUosb0JBNUNVLDZDQWdEVixxQkEvQ1UsOENBbURWLFVDdjFnQlUsbUNEMjFnQlYscUJBckRVLDhDQXlEVixvQkF4RFUsOENBNERWLGtCQTNEVyw2Q0ErRFgsa0JBOURZLHVJQXlFWixjQUNJLDZCQUlKLG9CQUNJLDZCQUlKLG9CQUNJLDhHQUtKLHVCQUNJLHdCQVFBLGNBQ0ksaUJBR0osc0JBQ0kseUJBTEosY0FDSSxrQkFHSix1QkFDSSx5QkFMSixjQUNJLGtCQUdKLHVCQUNJLDBCQUxKLGNBQ0ksbUJBR0osd0JBQ0ksMEJBTEosY0FDSSxtQkFHSix3QkFDSSwwQkFMSixjQUNJLG1CQUdKLHdCQUNJLDBCQUxKLGNBQ0ksbUJBR0osd0JBQ0ksMEJBTEosY0FDSSxtQkFHSix3QkFDSSxjQWNaLFNBQ0ksb0JBQ0EscUJBQ0EsTUFDQSxtQkFDQSxzQkFDQSxzQkFDQSxrQkFDQSxzQkFFQSxXQUNJLFFBQ0EsZ0JBQ0EsVUFDQSxxQkFDQSxtQkFDQSxzQkFLUixnQkFDSSx1QkFHSixpQkFDSSxhQUNBLHlCQUdKLFNBQ0ksV0FDQSxrQkFDQSxlQUNBLFNBQ0EsUUFDQSx5QkFDQSxtQkFHSixVQUNJLGFBQ0EsZ0JBR0osbUJBQ0ksd0NBanVZYSxjQW11WWIsbUJBQ0Esc0JBQ0EsZUFDQSxXQUdKLG9CQUNJLFdBQ0EsWUFDQSxnQkFDQSw0QkFDQSxZQUNBLGNBQ0Esa0JBQ0EsVUFHSixvQkFDSSxlQXdHSix5Q0FyQnVCLDhDQWgwWU4sNENBREEsdUJBbzBZWSxtQkF1QnpCLHNCQUNBLDBDQXRCc0IsNkNBQ0UsaUJBeUJ4QixhQUNJLGtCQXBCd0IsMEJBQ0ssdUJBNkNqQyx5REFXWSxvREFGQSw0REFDQSx5QkFWWiwyREFXWSxzREFGQSw4REFDQSx3QkFWWiwwREFXWSxxREFGQSw2REFDQSxvQkFWWixzREFXWSxpREFGQSx5REFDQSx1QkFWWix5REFXWSxvREFGQSw0REFDQSx1QkFWWix5REFXWSxvREFGQSw0REFDQSxxQkFWWix1REFXWSxrREFGQSwwREFDQSxvQkFWWixzREFXWSxpREFGQSx5REFDQSxxQkFWWix1REFXWSxrREFGQSwwREFDQSx1QkFWWixtREFLWSxpREFGQSx5REFDQSxjQTRHaEIsb0JBOUI0QixtREFGSiw0Q0EzOFlQLHNCQWkvWWIsMENBbkNvQiw4Q0FDRSx5QkFDQSxvQkFxQ3RCLHFCQUNBLG1CQUNBLHFCQUNBLG1CQUNBLGdCQUVBLGtCQUNBLGNBQ0EsWUFDQSw0Q0FFSixRQUVJLGtCQUNBLGNBS0osWUFDSSxRQTVDd0IsOEJBOEN4QixtQkFDQSxrQkFDQSxhQUNBLGdDQUNBLHFDQUdKLGFBRUksaUJBQ0EsbUJBQ0EsMkJBQ0EsbUJBR0osV0FDSSxxREEvMFJrQixtQ0FvMVJsQixnQ0FDSSxzREFyMVJjLHFCQXUxUmQsa0NBR0osVUF4RXVCLFdBQ0MsaUNBNEV4QixpQ0FDSSx1REFoMlJjLG9CQWsyUmQsZ0JBSVIscUJBQ0ksbUNBRUEsK0JBQ0kscURBMTJSYyxzQkE0MlJkLGtDQUdKLFNBNUZ3QixZQURELGlDQWtHdkIsa0NBQ0ksd0RBcjNSYyxtQkF1M1JkLGdCQU1SLGlCQUNJLDhDQUVBLFVBRUksUUFDQSxTQUNBLCtCQUNBLGtCQUNBLDJCQUNBLHdCQUdKLHFCQUNJLDhCQUNBLFNBQ0EsdUJBRUosa0JBQ0ksaUNBQ0EsWUFDQSxjQXdCUixnREE1NVJrQix5REF3dlJELDBCQTJLYixhQXloQkosUUFDSSxVQUNBLG9CQUNBLGlCQXZNc0IsbUJBeU10QixVQUNBLDJCQUNBLDRCQUNBLHdCQUNBLHFCQUNBLFVBQ0Esc0JBQ0Esa0JBQ0EsZUFDQSx3QkFDQSwyQ0FzQkosd0RBOUUyQix1REE2RjNCLHdEQTFGaUMsNkNBMEdqQyxZQWxrWEEsZUFDQSxpREFzbkV5QixxREFobkV6QixnQkFDQSxrQkFpa1hBLFNBQ0ksb0JBQ0EscUJBQ0EsTUFDQSxtQkFDQSxzQkFDQSxzQkFDQSxrQkFDQSwwQkFFQSxXQUNJLFVBQ0EsZ0JBQ0EsVUFDQSxxQkFDQSxtQkFDQSxtQkFNUixRQUNJLFVBQ0Esb0JBQ0EsdUJBQ0Esb0NBcEl3QixzQkFzSXhCLGtCQUNBLGVBQ0EsNkJBRUEsNEJBRUksaUhBR1IsY0FJSSxvREFuSndCLHlCQXlKNUIsdUJBQ0ksNkJBRUosYUFDSSxrQkFLSixRQUNJLFVBQ0EsYUFDQSx3QkFDQSxNQUNBLGdCQUNBLHdDQUVKLDRDQS9nQjJCLDJDQStXTSxhQW9LN0IscUJBQ0EsbUJBQ0EscUJBQ0Esb0NBQ0EsNEVBRUEsUUFDSSxnRUFHUixZQUVJLG1CQUNBLGlDQXBMc0Isd0NBMkx0QixVQUNJLGNBQ0Esa0JBQ0EsU0FDQSxRQUNBLG1CQUNBLFdBQ0EsNkVBQ0EseUNBQ0EsK0JBQ0EsK0VBR0osMEJBRUksbUdBR0osWUFFSSxnQkFXSixxQ0FKUSwrREFRSiw2Q0FQVSwyQ0FZVixVQVhXLDRCQUVmLGtDQUpRLDREQVFKLDZDQVBVLDJDQVlWLFVBWFcsNEJBRWYscUNBSlEsK0RBUUosNkNBUFUsMkNBWVYsVUFYVyx5QkFzQ25CLDRGQS9Xb0IsdURBNFlwQixnREE3c1RzQiw2Q0FrMVNJLHFEQWwxU0osMkNBd3RUdEIsZ0RBeHRUc0IsNkNBazFTSSxxREFsMVNKLDZDQXd1VHRCLHNEQWxYNkIseUlBMFg3QixzREExWDZCLDBDQVFNLDJEQVJOLHVCQXVZN0IsOENBcHZUb0IseUNBdXZUcEIsdUNBdnZUb0IsaUNBNnZUcEIseUNBdHdUc0IsV0FrOFNNLHdDQXlVeEIsOENBM3dUa0IsV0FrOFNNLHdDQWlXeEIsd0NBQ0ksVUFDQSxZQUNBLG1CQXdDUixZQUNJLHdCQUNBLDJCQUVBLE1BQ0ksWUFDQSxTQUtSLFFBQ0ksVUFDQSxzQkFDQSw4Q0FyMUJpQixlcEJsOWhCRixhb0IyeWpCZix3QkFDQSxhQUNBLGtCQUNBLGdCQUNBLDhDQUVBLHFCQUdJLGtCQU1SLFdBQ0ksZUFDQSw2QkFNSixjQUdJLHFCQW4xQnlCLG1CQXExQnpCLGtEQW4wQndCLG1CQXUwQnhCLGFBQ0EscUJBQ0EsbUJBQ0EsVUFDQSxnQkFDQSx1QkFDQSxlQUNBLGlCQUtKLG9CQUNJLGNBQ0EsZ0JBQ0EsZ0JBQ0Esa0JBQ0EsWUFLSixRQUNJLFVBQ0EsZUFDQSxxQkFDQSxZQUNBLGdCQUNBLGtDQUtKLFFBR0ksYUFHQSxlQUNBLGFBQ0EscUJBQ0EsbUJBQ0EscUJBQ0EsbUNBaG9iYSxrQkFrb2JiLG9FQUNBLDBCQUNBLGdDQUNBLGtFQUVBLFVBQ0kscUJBQ0EsbUJBQ0Esa0JBQ0EsTUFDQSxPQUNBLFFBQ0EsbUZBTUosV0FDSSxVQUNBLGdCQUNBLHFCQUdSLFlBRUksb0JBS0osY0FHSSxxQkF6MkI2QixtQkEyMkI3QixrREF6MUI0QixlQTYxQjVCLGFBQ0EscUJBQ0EsbUJBQ0EscUJBQ0EsbUNBOXFiYSxrQkFncmJiLDBCQUtKLGVBQ0ksb0JBQ0EsZ0JBQ0Esa0JBQ0EsTUFDQSxtQkFDQSxvREFNSixpQkFFSSxrTkFFSixpQkFJSSxXQUNBLHVFQUVKLGtCQUVJLGdCQUNBLHVCQUNBLHFDQUVKLGlCQUNJLGdCQUtKLGFBQ0ksa0JBQ0EscUNBbHRiYSxzQkFvdGJiLFVBQ0EsWUF1QkEseUNBZmEseUJBQ0Usd0NBbUJYLGlEQWpCZ0IsNENBREEsd0RBeUJoQixpREFwQmMsNENBREEsK0JBNEJkLGlEQXZCb0IsNENBREEsWUFLeEIseUNBZmEseUJBQ0Usd0NBbUJYLDRDQWpCZ0IsNENBREEsd0RBeUJoQiw0Q0FwQmMsNENBREEsK0JBNEJkLDRDQXZCb0IsNENBREEsWUFLeEIsNENBZmEsZ0JBQ0Usd0NBbUJYLDRDQWpCZ0IsNENBREEsd0RBeUJoQiw0Q0FwQmMsNENBREEsK0JBNEJkLGlEQXZCb0IsNENBREEsc0JBbUM1QixnQkFDSSxhQUNBLG1CQUNBLHVCQUNBLG9CQUNBLGtCQUNBLG1CQUNBLFNBNkJKLDJEQWhsVW1CLGlEQUpELHlEQU9HLDZCQXdsVXJCLG9CQXg2QnVCLCtGQTA3Qm5CLGdEQWpuVWMsd0RBY0QsK0ZBNG1VYix1REE1bVVhLHdEQXNuVWIsMkNBL29Vb0IseURBa0JILDJJQW1vVWpCLDJDQXJwVW9CLDJEQXdwVWhCLDJFQUtSLHdDQWpwVW9CLG9CQXdwVXBCLG9CQXI3QjJCLDBCQWc4QjNCLDZDQTdwVXFCLDREQVBILHNCQTZxVWxCLHdDQTVxVW9CLDJJQStyVWhCLHdEQUVJLGNBMEVSLG9EQWxCNEIsU0FvQnhCLFVBQ0EsaUJBdEJ1QixtQkF3QnZCLDBDQXJCb0IseUJBQ0UsZ0JBdUJ0QixhQUNBLHNCQUNBLGtCQUNBLGdCQUNBLGlCQUVBLFFBQ0ksVUFDQSxnQkFDQSxhQUNBLHNCQUNBLGtEQUlKLG9CQTlCNEIsb0JBa0NoQyxlQUM0QixvQkFDeEIscUJBQ0EsbUJBSUosNENBMUM2Qiw4Q0FEQSxlQThDekIsbUJBQ0EscUJBQ0EsYUFDQSxtQkFDQSxtQkFDQSwyQkFDQSxjQUNBLGtCQUNBLDJCQUVBLG9EQUNJLHNEQUNBLDZDQXpEcUIsOENBREEsY0E2RHJCLHFCQUNBLFVBQ0EsYUFDQSxtQkFDQSxtQkFDQSwyQkFDQSxjQUNBLGtCQUNBLHFDQUVBLHNDQXRFcUIsYUF3RWpCLG1CQUNBLGNBQ0Esa0JBQ0EsUUFDQSxtQkFDQSwyQkFDQSw2QkFJWixtQkFDSSxxQ0FFQSxjQUNJLHVDQUdKLGdJQUNJLHVDQTFGcUIsdUJBNEZyQixtQkFDQSxxQkFDQSxlQUNBLHVCQU1SLG9EQUNJLHNEQUNBLDZDQXZHeUIsOENBREEsYUEyR3pCLG1CQUNBLG1CQUNBLDhCQUNBLGNBQ0Esa0JBQ0EscURBRUEsU0FDSSxtQkFDQSxnQkFDQSx1QkFDQSx1REFHSixTQUNJLGFBQ0EsbUJBQ0EsbUJBQ0EseUJBQ0EsZUFDQSxrQkFDQSx1akJBRUEsVUFRSSxzQkFDQSxjQUNBLGdFQUdKLGNBQ0ksZ0JBQ0Esd0NBSVosUUFDSSwrQ0FVUSxVQUNJLE9BQ0EsK0NBTVIsb0RBQ0ksY0FDQSxpREFHSixjQUNJLG9EQUNBLHVCQUNBLG9CQUNBLGlIQVFSLGFBSUksY0F3QlIsMkRBcDlVbUIsaURBSkQseURBT0csWUE4aFZyQixVQUNJLFlBQ0EsWUFWZ0IsZUFZaEIsTUFDQSxPQUNBLGNBQ0EsWUF1QkoscUJBenZoQmdCLG9CQSt2aEJaLG9EQWppVmlCLHNCQWlpVmpCLHNEQWppVmlCLHFCQWlpVmpCLHFEQWppVmlCLGlCQWlpVmpCLGlEQWppVmlCLG9CQWlpVmpCLG9EQWppVmlCLG9CQWlpVmpCLG9EQWppVmlCLGtCQWlpVmpCLGtEQWppVmlCLGlCQWlpVmpCLGlEQWppVmlCLGtCQWlpVmpCLGtEQWppVmlCLG9CQWlpVmpCLGlEQWppVmlCLHdCQThvVnJCLGlCQUNJLGdCQUNBLFlBQ0EsOEJBRUEsY0FDSSxpQ0FHSixpQkFDSSxxQkFDQSx3QkFJUiwrQkFqelpJLDhCQXF6WkosZ0JBQ0ksVUFJSixRQUVJLFVBQ0EsaUJBakVtQixtQkFxRW5CLHNCQUNBLDBDQS9EZ0IsNkNBR0UsYUErRGxCLHNCQUNBLG9CQUNBLGtCQUVBLFlBQ0ksMEJBSVIsNENBakU0Qiw4Q0FIQSw4QkEwRTVCLGNBQ0ksK0JBQ0EsZ0JBQ0Esd0JBSUosU0FDSSw0Q0FJSixjQUVJLFdBSUoseUJDbnVsQmlCLFVEMHZsQmpCLDJEQTd3Vm1CLGlEQUpELHlEQU9HLDBCQWd4VmpCLHdCQUdKLCtGQXQ0Wkksa0JBMjhaSixpQkFDSSxXQUdKLGlCQUNJLE1BQ0EsT0FDQSxRQUNBLFNBQ0EsVUFDQSxnQkFDQSxvQkFDQSxnQkFHSixtQkFDSSxrQkFDQSxrQkFDQSxVQUNBLHlDQUNBLDZFQUNBLFdBQ0EsOEJBQ0EsMkJBRUEsVUFDSSx3QkFJUixrQkFDSSxnQ0FDQSxtQkFHSixHQUNJLHdDQUNJLEtBRUosd0NBQ0ksTUFFSixTQUNJLHlDQUNBLFdBd1BSLFVBQ0ksZUFDQSxpQkE5Sm1CLG1CQWdLbkIsaUJBR0EseUJBQ0EsaUJBQ0EsaUJBQ0EsYUFDQSxlQUtKLGdCQTVLdUIsbUJBOEtuQix3QkFFQSxrQkFDSSw0RUFNUixvQkFLSSxtQkFDQSx5QkFFSix3QkFJSSxtQkFDQSxxQkFDQSxzQkFDQSxtQkFDQSxtQkFDQSxtQkFDQSx1QkFDQSxtQkFDQSxnQkFDQSxrQkFDQSxpREFFQSxtQkFDSSxhQUdSLHVCQUNJLGlCQUtKLCtDQUNJLHFCQUNBLG1CQUNBLHNCQUNBLDBCQUVBLGNBQ0ksc0JBR1IsaUJBQ0ksV0FDQSx1QkFDQSxtQkFDQSxxQkFDQSxnQkFDQSx3REFJQSxrQkFDSSw4QkFHUixTQUNJLDBDQUVBLFlBQ0kscUJBQ0EsbUJBQ0EscUJBQ0EsZUFNUixRQUNJLFVBQ0EsV0FDQSxlQUNBLGVBQ0EsY0FDQSx5QkFDQSxpQkFDQSxtQkFDQSxpQkFDQSxnQkFDQSxhQUNBLDRCQUVBLGlCQUNJLDZEQUdKLFVBRUksc0JBQ0Esa0JBQ0Esb0NBRUosaUNBQ0kscURBR0oscUJBRUksa0NBR0osZUFDSSwwQ0FFQSxXQUNJLGlCQUVBLFFBQ0EsY0FDQSxnQkFDQSw4Q0FHSixVQUNJLHFCQUNBLGNBQ0EseUJBQ0Esa0JBQ0EsTUFDQSxrQ0FLUixvQkFDSSxtQkFDQSwrQkFDQSxnQ0FDQSxpQ0FFSixvQkFDSSxtQkFDQSwrQkFDQSxnQ0FDQSxpQkFDQSxzQ0FFQSxlQUNJLGtCQUNBLE1BQ0EsUUFDQSxtRUFRWixpQkFFSSxXQUNBLG1CQUtKLGlCQUNJLGNBQ0EsNEJBRUEsY0FDSSxpQkFNUiwrQ0FDSSxxQkFDQSxtQkFDQSxzQkFDQSwwQkFFQSxjQUNJLHNCQUdSLGlCQUNJLFdBQ0EsdUJBQ0EsbUJBQ0EscUJBQ0EsZ0JBQ0EsYUFXQSx5Q0FMYSw2Q0FDRSxpREFTZiw2Q0FQa0IsbURBREEsa0RBY2xCLGVBQ0ksMkRBQ0Esc0RBR0osNkNBbEJrQixpQkFvQmQsYUFsQkoseUNBTGEsNkNBQ0UsaURBU2YsaURBUGtCLDhDQURBLGtEQWNsQixlQUNJLHNEQUNBLHNEQUdKLGlEQWxCa0IsaUJBb0JkLGFBbEJKLHlDQUxhLDZDQUNFLGlEQVNmLGlEQVBrQiw4Q0FEQSxrREFjbEIsZUFDSSxzREFDQSxzREFHSixpREFsQmtCLGlCQW9CZCx5T0FXQSxtQkFFSSx1QkF6WnlCLHlVQTRaekIsb0JBQ0ksaVRBSVIsY0FFSSxpQkFDQSxzQkFwYXlCLHFCQXNhekIsNEZBS0osTUFDSSxXQUNBLDZFQW9CSixpQkFJSSx5R0FFQSxVQUNJLFdBQ0EsWUFDQSxrQkFDQSxNQUNBLE9BQ0Esb0JBQ0Esb0VBSVIsZUFFSSx3QkFZWiwyREF0OFdtQixpREFKRCx5REFPRyw2REE0OFdyQiwyREEvOFdtQix5Q0E0aVdHLHlEQXppV0QsZ0NBczlXckIsMkRBejlXbUIseUNBNGlXRyx5REF6aVdELG9CQSs5V3JCLDJEQWwrV21CLHlDQTRpV0cseURBemlXRCx3QkFvK1dyQiw2Q0FwK1dxQiw0REFQSCxrQkFrL1dsQiw4QkFqYXFCLDJJQXlhckIsMkRBdC9XbUIsZ0dBd2xXQSwwRkF3Ym5CLHlGQS9ac0IscUtBMGJWLCtGQW5kTyxxQkF3aUJuQixVQUNJLFlBQ0EsY0FDQSxjQUNBLGtCQUNBLDBCQUtKLGlCQUNJLFVBQ0EsNkJBS0osaUJBQ0ksV0FDQSxNQUNBLHFCQUNBLDBCQUtKLGlCQUNJLFVBQ0EsV0F3SEosY0FDSSxtQkFDQSxzQkFDQSxzQkFDQSxvQkFDQSxxQkFDQSx1QkFDQSxtQkFDQSxjQUNBLGdCQUNBLG9EQUVBLHFCQUdJLG1DQU1SLGNwQjd3bkJRLDhDb0I4dG5CZSw2Q0FNQSxnQkFrRHZCLFlBQ0kscUJBQ0EsbUJBQ0EsaUJBS0osVUFDSSxZQUNBLDJCQUNBLHNCQUNBLDRCQUNBLHFCQUVBLFVBQ0ksWUFDQSxpQkFDQSxtQkFDQSxjQU9KLGtDQXhFYSwwRkF3RWIsa0NBeEVhLDBGQXdFYixtQ0F4RWEsa0dBbUZqQixnQkFqR3dCLHlCQTJIcEIsZ0RBNzBYaUIsNkNBKzBYYixxREEvMFhhLDJCQTYwWGpCLGtEQTcwWGlCLCtDQSswWGIsdURBLzBYYSwwQkE2MFhqQixpREE3MFhpQiw4Q0ErMFhiLHNEQS8wWGEsc0JBNjBYakIsNkNBNzBYaUIsMENBKzBYYixrREEvMFhhLHlCQTYwWGpCLGdEQTcwWGlCLDZDQSswWGIscURBLzBYYSx5QkE2MFhqQixnREE3MFhpQiw2Q0ErMFhiLHFEQS8wWGEsdUJBNjBYakIsOENBNzBYaUIsMkNBKzBYYixtREEvMFhhLHNCQTYwWGpCLDZDQTcwWGlCLDBDQSswWGIsa0RBLzBYYSx1QkE2MFhqQiw4Q0E3MFhpQiwyQ0ErMFhiLG1EQS8wWGEseUJBNjBYakIsNkNBNzBYaUIsNkNBKzBYYixrREEvMFhhLG1CQXExWHJCLHlCQUNJLDJCQUlBLHlDQTExWGlCLDZCQTAxWGpCLDJDQTExWGlCLDRCQTAxWGpCLDBDQTExWGlCLHdCQTAxWGpCLHNDQTExWGlCLDJCQTAxWGpCLHlDQTExWGlCLDJCQTAxWGpCLHlDQTExWGlCLHlCQTAxWGpCLHVDQTExWGlCLHdCQTAxWGpCLHNDQTExWGlCLHlCQTAxWGpCLHVDQTExWGlCLDJCQTAxWGpCLHNDQTExWGlCLFVBMmdZckIsU0FDSSxpQkF4R21CLG1CQTBHbkIsMkJBQ0Esc0JBQ0EsY0FDQSwrQkFDQSxhQUNBLGtCQUNBLG1CQUNBLG9CQUNBLG1CQUNBLHVCQUNBLHNCQUNBLGdCQUNBLHVCQUNBLGlEQUVBLHFCQUdJLFlBR1IsYUFDSSxzQkFLSixvQkFFSSxrQ0FFSix5QkFFSSxlQUtKLGFBQ0ksZUFDQSxrQkFDQSw4QkFFSixpQkFDSSxhQVlBLGlEQUxhLG1EQURBLDZDQUVBLGNBQ0Usa0VBQ0YsbUJBU1QsMkNBWlMsZUFjTCxhQVRSLDZDQUxhLCtDQURBLDZDQUVBLGNBQ0UsOERBQ0YsbUJBU1QsdUNBWlMsZUFjTCxhQVRSLGlEQUxhLG1EQURBLDZDQUVBLGNBQ0Usa0VBQ0YsbUJBU1QsMkNBWlMsZUFjTCx1QkFLWixvQkFDSSxvQkFJSixpQkFDSSxpQkFDQSxpQkFJQSxpQkFDSSxhQUNBLGVBRkosaUJBQ0ksYUFDQSwyQkFFQSwrQkFFUSx5QkFHUiw4QkFFUSw4QkFHUiw4QkFFUSw0QkFHUiw2QkFFUSx5R0FRUiw4QkFFUSxtR0FHUiwrQkFFUSxrSEFHUiw2QkFFUSw0R0FHUiw4QkFFUSxrQkE5Q1osaUJBQ0ksYUFDQSw4QkFFQSxpQ0FFUSw0QkFHUixnQ0FFUSxpQ0FHUixnQ0FFUSwrQkFHUiwrQkFFUSxrSEFRUixnQ0FFUSw0R0FHUixpQ0FFUSwySEFHUiwrQkFFUSxxSEFHUixnQ0FFUSx3QkFRaEIsNERBQ0ksd0JBd0JBLGdEQTlxWWlCLDZDQWdyWWIscURBaHJZYSwwQkE4cVlqQixrREE5cVlpQiwrQ0FnclliLHVEQWhyWWEseUJBOHFZakIsaURBOXFZaUIsOENBZ3JZYixzREFocllhLHFCQThxWWpCLDZDQTlxWWlCLDBDQWdyWWIsa0RBaHJZYSx3QkE4cVlqQixnREE5cVlpQiw2Q0FnclliLHFEQWhyWWEsd0JBOHFZakIsZ0RBOXFZaUIsNkNBZ3JZYixxREFocllhLHNCQThxWWpCLDhDQTlxWWlCLDJDQWdyWWIsbURBaHJZYSxxQkE4cVlqQiw2Q0E5cVlpQiwwQ0FnclliLGtEQWhyWWEsc0JBOHFZakIsOENBOXFZaUIsMkNBZ3JZYixtREFocllhLHdCQThxWWpCLDZDQTlxWWlCLDZDQWdyWWIsa0RBaHJZYSxrQkFzcllyQix5QkFDSSwrQkFDQSwwQkFJQSx5Q0E1cllpQiw0QkE0cllqQiwyQ0E1cllpQiwyQkE0cllqQiwwQ0E1cllpQix1QkE0cllqQixzQ0E1cllpQiwwQkE0cllqQix5Q0E1cllpQiwwQkE0cllqQix5Q0E1cllpQix3QkE0cllqQix1Q0E1cllpQix1QkE0cllqQixzQ0E1cllpQix3QkE0cllqQix1Q0E1cllpQiwwQkE0cllqQixzQ0E1cllpQixTQThyWnJCLDZDQS9KbUIsK0NBYkEsaUJBUEcsbUJBdUxsQixVQUNBLDhDQUNBLDBDQXhKZSx5QkFhRSxvQkE4SWpCLHFCQUNBLG1CQUNBLHVCQUNBLG9DQTVMYSxrQkE4TGIsZ0JBQ0EsZUFDQSxpQkFDQSw4Q0FFQSxxQkFHSSxrQ0FHSix1QkFDSSxpQkFNUixrQkFDSSxpQkFDQSxvQkFDQSxnQkFDQSxZQUNBLGFBQ0EscUJBQ0EsbUJBQ0EsZ0JBQ0EsY0FDQSxzQ0FHQSxlQUNJLDZCQUdSLG1EQWpPaUIsNEJBb09qQixpREFwT2lCLDRCQTBPakIsa0JBRUksdUJBQ0EsZ0JBQ0EsY0FDQSxnQkFLSixpQkFDSSxzQkFDQSwyQkFDQSxVQUNBLGNBS0osWUFDSSxtQkFDQSx1QkFDQSxVQUNBLGlCQUtKLGlCQUNJLGdCQUNBLFVBQ0EsYUFDQSxxQkFDQSxtQkFDQSxrQkFDQSxnQkFFSixTQUNJLGFBQ0EscUJBQ0EsbUJBQ0Esa0JBQ0EsZ0JBS0osaUJBQ0ksYUFDQSxtQkFDQSx1QkFDQSxVQUNBLGNBS0osYUFDSSxvQkFDQSxlQUNBLG1CQUNBLGtCQUNBLFlBV0EsaURBTGEsK0NBREEsMENBRUEseUJBQ0UsMkJBU1gsMkNBWFMsZ0JBZ0JiLFNBYmUsc0NBRWYsNkNBTGEsK0NBREEsMENBRUEseUJBQ0UsMkJBU1gsdUNBWFMsZ0JBZ0JiLFNBYmUsc0NBRWYsaURBTGEsK0NBREEsMENBRUEseUJBQ0UsMkJBU1gsMkNBWFMsZ0JBZ0JiLFNBYmUsMkNBdUJmLG1DQXBLZ0IsaUJBb0toQixtQ0FwS2dCLGlCQW9LaEIsbUNBcEtnQixvQkE4TGhCLG9EQWhRYywwQ0EzUEYseURBMlBFLHFEQTBRTiwrREExUFkscURBZ1FaLDhEQXpQWSwrQkE4UFosK0RBdlBlLHFCQWtPdkIsdURBNEJZLGtEQUZBLDBEQUNBLHVEQUtKLDJGQTE4ZFIsdURBKzhkUSwrREFFd0IsZ0NBR3hCLGdFQUN3QixvQkEzQ2hDLHNEQTRCWSxpREFGQSx5REFDQSxxREFLSiwwRkExOGRSLHFEQSs4ZFEsOERBRXdCLCtCQUd4QiwrREFDd0IsdUJBM0NoQyx5REE0Qlksb0RBRkEsNERBQ0EsMkRBS0osNkZBMThkUiwyREErOGRRLGlFQUV3QixrQ0FHeEIsa0VBQ3dCLHVCQTNDaEMseURBNEJZLG9EQUZBLDREQUNBLDJEQUtKLDZGQTE4ZFIsMkRBKzhkUSxpRUFFd0Isa0NBR3hCLGtFQUN3QixzQkFTaEMsd0RBNVFrQixpRkFnUk4seURBU0osZ0RBNVFnQiwrREFIRixpQ0F1UmQsZ0RBcFJnQixnRUFJQyx1QkEyUHpCLHlEQXlEWSxtREFGQSwrQkFDQSwyREFJSiwyRkExaGVSLDJEQStoZVEsb0RBS1EsMkNBRkEseURBQ0Esa0NBS1IscURBSVEsMkNBRkEsMERBQ0Esc0JBN0VoQix3REF5RFksa0RBRkEsK0JBQ0EseURBSUosMEZBMWhlUix5REEraGVRLG1EQUtRLDBDQUZBLHdEQUNBLGlDQUtSLG9EQUlRLDBDQUZBLHlEQUNBLHlCQTdFaEIsZ0RBK0JZLGlEQUZBLCtCQUNBLCtEQUlKLDZGQWhnZVIsK0RBcWdlUSw0Q0FHZ0IscURBQ0gsb0NBSWIsNENBRWdCLHFEQUNILHlCQWxEckIsMkRBeURZLHFEQUZBLCtCQUNBLCtEQUlKLDZGQTFoZVIsK0RBK2hlUSxzREFLUSw2Q0FGQSwyREFDQSxvQ0FLUix1REFJUSw2Q0FGQSw0REFDQSxlQXVCcEIsMEJBQ0kscURBTUksZUFFSSx1REFGSixlQUVJLHFEQUZKLGVBRUksMkRBRkosZUFFSSwyREFGSixlQUVJLHlEQVNBLGVBRUksZ0VBQ29CLHVCQUxoQyxrREFrQ29CLDJEQUdaLGVBRUksa0RBR1ksaUVBREgsMkRBS2IsaURBSWdCLGdFQURILGtDQUtiLGlEQUdnQixpRUFESCxzQkF4RHJCLGlEQWtDb0IseURBR1osZUFFSSxpREFHWSxnRUFESCx5REFLYixnREFJZ0IsK0RBREgsaUNBS2IsZ0RBR2dCLGdFQURILHlCQXhEckIsZ0RBU29CLCtEQUdaLGVBRUksbUVBQ29CLCtEQUd4QixnREFJZ0Isa0VBREgsb0NBS2IsZ0RBR2dCLG1FQURILHlCQTVCckIsb0RBa0NvQiwrREFHWixlQUVJLG9EQUdZLG1FQURILCtEQUtiLG1EQUlnQixrRUFESCxvQ0FLYixtREFHZ0IsbUVBREgsa0JBaUZ6QixVQUNJLFlBQ0EsaUJBckIyQixxREFEQyxzQkF5QjVCLG1CQUNBLG9CQUNBLHFCQUNBLGtCQUNBLGdCQUNBLHlFQUVBLHFCQUdJLDhCQU1SLGNBQ0ksdUJBS0osY0FDSSxnQkFDQSxhQUNBLHdCQUNBLG1CQUNBLHVCQUNBLFFBQ0EsNkNBRUEsc0JBQ0ksV0FDQSx1QkFNUixVQUNJLFlBQ0Esa0JBQ0EsK0JBRUosVUFDSSxXQUNBLFlBQ0Esa0JBQ0EsTUFDQSxPQUNBLFdBQ0EsbURBaEVzQyx3QkFrRXRDLHdCQUNBLDJDQUtKLFVBQ0ksc0JBdDhtQlkseURBNDNtQmlCLDBCQTZFN0Isd0JBQ0Esa0JBdUJKLDJEQWp5YW1CLGlEQXd5YWYsMkRBeHlhZSxXQW8vYW5CLGlCQUNJLHFCQUNBLHNCQUNBLHNCQUNBLGNBSUEsa0JBR0osWUFDSSxrQkFDQSxtQkFJSixpQkFwSmlDLDhCQXNKN0Isa0JBQ0EsY0FJSiwrQ0E3SXNCLGdDQWdKbEIscUNBMUp1QixxREErSjNCLDhDQWxKc0IsZ0NBcUpsQixvQ0EvSnVCLG9EQW9LM0IsNENBdkpzQixnQ0EwSmxCLGtDQXBLdUIsa0VBOEszQixHQUNJLHVCQUNBLDBCQUNBLHlEQU9BLGtCQUNJLG9EQUdKLE1BQ0kscUJBQ0EsdUJBQ0EsNkNBQ0Esc0JBQ0Esb0RBRUosT0FDSSwwQkFDQSw2Q0FDQSxrREFJQSw2Q0FDSSxpREFDQSxrREFLSiw0Q0FDSSxnREFDQSxrREFLSiwwQ0FDSSw4Q0FDQSw4QkFTWixHQUNJLEtBQ0ksU0FDQSxVQUdKLFFBQ0ksT0FDQSxVQUdKLFFBQ0ksVUFDQSxNQUdKLEtBQ0ksU0FDQSx3Q0FhSiwrQkFDSSxvREFFSixLQUNJLFNBQ0EsNkNBQ0Esb0RBRUosUUFDSSxPQUNBLDZDQUNBLDhCQUNBLG9EQUVKLFFBQ0ksVUFDQSw2Q0FDQSwrQkFDQSxrREFLQSw4Q0FDSSx3RkFDQSw4R0FDQSxrREFLSiw2Q0FDSSxzRkFDQSw0R0FDQSxrREFLSiwyQ0FDSSxrRkFDQSx3R0FDQSxnQ0FTWixHQUNJLE9BQ0ksU0FDQSw0Q0FDQSxPQUdKLEtBQ0ksT0FDQSxzQ0FDQSxPQUdKLEtBQ0ksT0FDQSxzQ0FDQSxNQUdKLE9BQ0ksU0FDQSw0Q0FDQSxpQ0FHUixHQUNJLE9BQ0ksU0FDQSw0Q0FDQSxPQUdKLEtBQ0ksVUFDQSwwQ0FDQSxPQUdKLEtBQ0ksVUFDQSwwQ0FDQSxNQUdKLE9BQ0ksU0FDQSw0Q0FDQSxpQ0FHUixHQUNJLE9BQ0ksU0FDQSw0Q0FDQSxPQUdKLFFBQ0ksVUFDQSw4Q0FDQSxPQUdKLFFBQ0ksVUFDQSw4Q0FDQSxNQUdKLE9BQ0ksU0FDQSw0Q0FDQSxpQ0FHUixHQUNJLE9BQ0ksU0FDQSw0Q0FDQSxPQUdKLFFBQ0ksT0FDQSwwQ0FDQSxPQUdKLFFBQ0ksT0FDQSwwQ0FDQSxNQUdKLE9BQ0ksU0FDQSw0Q0FDQSx1QkFHUixHQUNJLG1CQUNJLE9BR0osbUJBQ0ksT0FHSix3QkFDSSxNQUdKLHdCQUNJLHVDQUtKLHdDQUNJLHVDQUdKLE9BQ0ksU0FDQSw0Q0FDQSxvREFFQSxrREFDSSxvREFHSixrREFDSSxvREFHSixrREFDSSxvREFHSixrREFDSSxrREFLSiw2Q0FyYXNCLGlHQTRhdEIsNENBemFzQixnR0FnYnRCLDBDQTdhc0IsaUVBd2I5QixZQUNJLG1CQUNBLHVCQUNBLGNBQ0EsK0JBRUEsU0FDSSxpREFJUixVQUVJLFlBQ0Esa0JBQ0EsTUFDQSxRQUNBLFNBQ0EsT0FDQSw2QkFJSixXQXoxR29CLDJCQTYxR3BCLFlBQ0ksbUJBQ0Esa0JBQ0EsVUFDQSwyQkFHSixnQkF4Y3dDLG1CQUdBLHFEQU1DLGtEQXVjckMsb0NBaGM0QixvQ0FVSixrREEyYnhCLDRDQWpiOEIsa0RBc2I5Qix1Q0F2YzRCLG1DQVVKLGtEQWtjeEIseUNBeGI4QixrREE2YjlCLHNDQTljNEIsb0NBVUosa0RBeWN4Qiw0Q0EvYjhCLHlDQXNjOUIscUJBQ0ksa0JBQ0EseUNBSUosUUFDSSxtREFXUixVQUdJLFlBQ0Esc0JBQ0Esa0JBQ0EsTUFDQSxPQUNBLHVXQUVBLHFCQUtJLGlCQUlSLFdBN2RtQiwyQ0FpZVgsU0FDSSxpQkFJWixtQkFDSSxrQkFDQSxrQkFDQSxtQkEvZWEsa0JBa2ZqQixTQUNJLG1CQW5mYSxrQkFzZmpCLHdEQTE5YnFCLFdBdSthRCxjQXlmcEIsU0FDSSxXQUNBLGNBQ0Esb0JBQ0EscUJBQ0EsbUJBQ0EsdUJBQ0Esc0JBQ0Esa0JBQ0EsK0JBQ0Esc0JBQ0EsbUJBdmdCYSwwQ0EwZ0JiLHFCQUVJLDJGQUlSLGlCQUlJLFFBQ0EsU0FDQSxxQkFDQSxXQUNBLG1CQUNBLGtCQUNBLG1CQUNBLG1CQUNBLDBCQUNBLCtCQUNBLGtDQUNBLCtCQUNBLHdEQUdKLFVBRUksK0NBR0osaUJBRUksbUJBQ0EsVUFDQSxXQUNBLGtEQUNBLDZDQUdKLGtCQUVJLG9CQUNBLFdBQ0EsWUFDQSwyREFDQSxrREFHSixVQUVJLGlCQUVBLG1DQUNBLGNBQ0EsZ0NBSUosR0FDSSxzQkFDSSxNQUVKLHdCQUNJLG9CQXlCSix5Q0FyaWNpQixxQkFxaWNqQixVQXhwQm9CLG9CQXdwQnBCLDBDQXJpY2lCLGdCQXFpY2pCLHNDQXJpY2lCLG1CQXFpY2pCLHlDQXJpY2lCLG1CQXFpY2pCLHlDQXJpY2lCLGlCQXFpY2pCLHVDQXJpY2lCLGdCQXFpY2pCLHNDQXJpY2lCLGlCQXFpY2pCLHVDQXJpY2lCLG1CQXFpY2pCLHNDQXJpY2lCLDJCQThpY3JCLHFCQWx4b0JnQiw0REFnc01HLDJGQXdsY2YscUJBRUksaUNBNEZSLGFBQ0ksc0NBR0osb0RBMUJnQyx3QkFISixrRUFpQ3hCLFdBQ0ksa0JBSVIsZUEvQmdDLG9CQW1DaEMsb0JBL0JrQyw0QkE0Q2xDLEdBQ0ksMkJBQ0ksS0FFSiwwQkFDSSxNQUVKLDBCQUNJLG9JQU1KLGlCQUVJLGdCQUNBLCtKQUVBLFVBQ0ksa0JBQ0EsTUFDQSxRQUNBLFNBQ0EsT0FDQSw0QkFDQSxtREFDQSw2QkFRWixHQUNJLFNBQ0ksS0FFSixVQUNJLE1BRUosU0FDSSx3SUFNSix3REFFSSxpQ0F3QlIsZ0dBbkhxQiwrSkEySGpCLHlGQUVJLGlCQTRFUixTQVZ1QixrQkFZbkIsZ0lBRUEsT0FHSSxTQUNBLHlCQUNBLCtCQUNBLGlCQXFCUixjQXRDdUIsMkNBeUNuQixzQkF6Q21CLDRDQTZDbkIscUJBN0NtQiwyQ0FpRG5CLG9CQWpEbUIsV0E0S3ZCLHFCQUNJLGlCQWp2RW9CLG1CQW12RXBCLGNBRUEsZ0JBQ0EsK0NBcHRFbUIsa0JBc3RFbkIscUJBQ0EsbUJBQ0Esb0JBQ0EsbUJBQ0EsdUJBQ0EsbUNBN3drQmEsc0JBK3drQmIsaUJBQ0EsZUFDQSxhQUNBLHdCQUNBLGtCQUNBLHlEQXhnRWtCLG9EQTJnRWxCLHFCQUdJLHlDQUdKLFlBN25oQkosZUFDQSxpREFzbkV5QixxREFobkV6QixnQkFDQSw2QkEwbmhCSSxTQUNJLFNBQ0EsVUFDQSxpQ0FHSixvQkFFSSxVQUNBLGdCQU1SLEtBQ0ksd0JBRUEsbUJBQ0ksZ0JBTVIsYUFDSSxrQkFDQSxrQkFDQSxjQWFBLGlEQUphLDRDQURBLDBDQUVBLHlCQUNFLDRCQVNmLDJDQVhhLDJDQWNULDREQUNJLDhEQUNBLG9CQUNBLG1CQUNBLHVCQUNBLGtIQUVBLFVDdGt0QkUscUVENGt0QkYsb0JDMWt0QkssK0VEK2t0QkwscUJDOWt0QkssZ0ZEbWx0QkwscUJDamx0QkssZ0ZEc2x0Qkwsb0JDcmx0QkssZ0ZEMGx0Qkwsa0JDemx0Qk0sK0VEOGx0Qk4sa0JDN2x0Qk8sa0NENml0QmYsNENBSmEsNENBREEsMENBRUEseUJBQ0UsNEJBU2Ysc0NBWGEsMkNBY1QsNERBQ0ksOERBQ0Esb0JBQ0EsbUJBQ0EsdUJBQ0Esa0hBRUEsVUN0a3RCRSxxRUQ0a3RCRixvQkMxa3RCSywrRUQra3RCTCxxQkM5a3RCSyxnRkRtbHRCTCxxQkNqbHRCSyxnRkRzbHRCTCxvQkNybHRCSyxnRkQwbHRCTCxrQkN6bHRCTSwrRUQ4bHRCTixrQkM3bHRCTyxrQ0Q2aXRCZixpREFKYSw0Q0FEQSwwQ0FFQSx5QkFDRSw0QkFTZiwyQ0FYYSwyQ0FjVCw0REFDSSw4REFDQSxvQkFDQSxtQkFDQSx1QkFDQSxrSEFFQSxVQ3RrdEJFLHFFRDRrdEJGLG9CQzFrdEJLLCtFRCtrdEJMLHFCQzlrdEJLLGdGRG1sdEJMLHFCQ2psdEJLLGdGRHNsdEJMLG9CQ3JsdEJLLGdGRDBsdEJMLGtCQ3psdEJNLCtFRDhsdEJOLGtCQzdsdEJPLHNDRHVtdEJuQixjQUNJLGlCQUtKLFFBQ0ksVUFDQSxlQUNBLHNCQUNBLGdCQUNBLFVBQ0Esb0JBQ0EscUJBQ0Esc0JBQ0Esa0JBQ0EsMkJBQ0EsMENBcDJwQnVCLHFDQXUycEJ2Qix3QkFDSSw4T0FHSixTQU9JLDhEQUdKLHlCQUNJLHdCQUNBLDRCQUNBLDBCQUNBLHdEQUVKLHlCQUNJLHdCQUNBLHVEQUVKLDJCQUNJLDBCQUNBLCtFQUdKLFNBR0ksWUFDQSwyQkFJUixVQUNJLDZCQUVBLFdBQ0ksZ0JBQ0EsZ0JBTVIscUNBQ0ksY0FDQSwyQkFDQSwyQkFDQSx3QkFHQSx3QkFDSSx1QkFJSix1Q0FDSSx5QkFDQSxtQkFXUix5QkFDSSxjQUNBLGdCQUNBLGdCQUtKLDBCQUNJLGNBQ0EscUJBQ0EsZ0JBQ0EsNkNBRUEseUJBRUksaUJBTVIscUNBQ0ksY0FDQSwyQkFDQSwyQkFDQSxxQ0FPSixxQkFDNEIsV0FDeEIsd0JBQ0EsVUFDQSxhQUNBLG9CQUNBLGtCQUNBLFVBQ0EsV0FDQSxTQUNBLFlBQ0EsVUFDQSxtQ0FDQSxtREFhSSxXQWp5RXNCLG1EQXl5RXRCLFdBdHlFc0IscUZBNHlFdEIsU0FDSSxxREFPSixXQWp6RXVCLDhCQXd6RXZCLFdBcnpFeUIsa0JBazBFN0IscUJBQzRCLFdBQ3hCLFVBQ0EsYUFDQSxvQkFDQSxrQkFDQSxVQUNBLFdBQ0EsU0FDQSxZQUNBLFVBQ0EsbUNBQ0EsV0FtQlIsd0JBQ0ksZ0JBQ0EsbUJBRUEsYUFDSSx3REFDQSxrQkFFSix1QkFDSSw2REFHSixTQUdJLFlBQ0EseUJBTUosWUFFUSxtQkFNWix5Q0FDSSwyQkFDQSw2SkFXSSxTQUNJLDZEQU1KLFdBejVFc0IsbURBbTZFMUIsWUFDSSxpTUFPQSxhQUNJLG9FQWFSLG1CQUNJLHNCQVlSLDZDQXprRmMsMENBR0Usa0RBSEYsMEJBZ2xGVix5REFHQSxtREE3akZvQix3REFOSix5REEra0ZoQix5QkEzZ2lCQSwyREFpaGlCQSxvREEvakZxQix5REFOSiwwQkE2a0ZiLGlDQUlKLG9EQWpsRmlCLHdIQTRsRmpCLDBCQXRpRnVCLHNGQUhGLGdHQUhGLGdCQW9qRmYseUJBb0JBLGdEQVZpQiw2Q0FGRixxREFDRiwrREFvQlQsc0RBZm1CLDJEQURKLGlFQWtDZix1REE3Qm9CLDREQURKLG9DQXdDaEIsdURBdkNvQiw0REFESixxRUFpRGhCLDBCQWhuRmUsc0ZBSEYsZ0dBSEYsZ0JBOG5GUCwyQkF0RFIsa0RBVmlCLCtDQUZGLHVEQUNGLG1FQW9CVCx3REFmbUIsNkRBREoscUVBa0NmLHlEQTdCb0IsOERBREosc0NBd0NoQix5REF2Q29CLDhEQURKLHlFQWlEaEIsMEJBaG5GZSxzRkFIRixnR0FIRixnQkE4bkZQLDBCQXREUixpREFWaUIsOENBRkYsc0RBQ0YsaUVBb0JULHVEQWZtQiw0REFESixtRUFrQ2Ysd0RBN0JvQiw2REFESixxQ0F3Q2hCLHdEQXZDb0IsNkRBREosdUVBaURoQiwwQkFobkZlLHNGQUhGLGdHQUhGLGdCQThuRlAsc0JBdERSLDZDQVZpQiwwQ0FGRixrREFDRix5REFvQlQsbURBZm1CLHdEQURKLDJEQWtDZixvREE3Qm9CLHlEQURKLGlDQXdDaEIsb0RBdkNvQix5REFESiwrREFpRGhCLDBCQWhuRmUsc0ZBSEYsZ0dBSEYsZ0JBOG5GUCx5QkF0RFIsZ0RBVmlCLDZDQUZGLHFEQUNGLCtEQW9CVCxzREFmbUIsMkRBREosaUVBa0NmLHVEQTdCb0IsNERBREosb0NBd0NoQix1REF2Q29CLDREQURKLHFFQWlEaEIsMEJBaG5GZSxzRkFIRixnR0FIRixnQkE4bkZQLHlCQXREUixnREFWaUIsNkNBRkYscURBQ0YsK0RBb0JULHNEQWZtQiwyREFESixpRUFrQ2YsdURBN0JvQiw0REFESixvQ0F3Q2hCLHVEQXZDb0IsNERBREoscUVBaURoQiwwQkFobkZlLHNGQUhGLGdHQUhGLGdCQThuRlAsdUJBdERSLDhDQVZpQiwyQ0FGRixtREFDRiwyREFvQlQsb0RBZm1CLHlEQURKLDZEQWtDZixxREE3Qm9CLDBEQURKLGtDQXdDaEIscURBdkNvQiwwREFESixpRUFpRGhCLDBCQWhuRmUsc0ZBSEYsZ0dBSEYsZ0JBOG5GUCxzQkF0RFIsNkNBVmlCLDBDQUZGLGtEQUNGLHlEQW9CVCxtREFmbUIsd0RBREosMkRBa0NmLG9EQTdCb0IseURBREosaUNBd0NoQixvREF2Q29CLHlEQURKLCtEQWlEaEIsMEJBaG5GZSxzRkFIRixnR0FIRixnQkE4bkZQLHVCQXREUiw4Q0FWaUIsMkNBRkYsbURBQ0YsMkRBb0JULG9EQWZtQix5REFESiw2REFrQ2YscURBN0JvQiwwREFESixrQ0F3Q2hCLHFEQXZDb0IsMERBREosaUVBaURoQiwwQkFobkZlLHNGQUhGLGdHQUhGLGdCQThuRlAseUJBdERSLGdEQVZpQiw2Q0FGRixxREFDRiwrREFvQlQsc0RBZm1CLDJEQURKLGlFQWtDZix1REE3Qm9CLDREQURKLG9DQXdDaEIsdURBdkNvQiw0REFESixxRUFpRGhCLDBCQWhuRmUsc0ZBSEYsZ0dBSEYsZ0JBOG5GUCwyQkFTWixlQUNJLDBCQUNBLHFEQUNBLCtCQUNBLG1FQUdBLGdEQVJlLDZDQWtCSCxxREFsQkcscUVBc0NmLGdEQXRDZSw2Q0FnREgscURBaERHLHNDQXdEZixnREF4RGUsNkNBaUVILHFEQWpFRyx5RUF5RWYscUZBNXNGaUIsNkJBb29GckIsZUFDSSwwQkFDQSx1REFDQSwrQkFDQSx1RUFHQSxrREFSZSwrQ0FrQkgsdURBbEJHLHlFQXNDZixrREF0Q2UsK0NBZ0RILHVEQWhERyx3Q0F3RGYsa0RBeERlLCtDQWlFSCx1REFqRUcsNkVBeUVmLHFGQTVzRmlCLDRCQW9vRnJCLGVBQ0ksMEJBQ0Esc0RBQ0EsK0JBQ0EscUVBR0EsaURBUmUsOENBa0JILHNEQWxCRyx1RUFzQ2YsaURBdENlLDhDQWdESCxzREFoREcsdUNBd0RmLGlEQXhEZSw4Q0FpRUgsc0RBakVHLDJFQXlFZixxRkE1c0ZpQix3QkFvb0ZyQixlQUNJLDBCQUNBLGtEQUNBLCtCQUNBLDZEQUdBLDZDQVJlLDBDQWtCSCxrREFsQkcsK0RBc0NmLDZDQXRDZSwwQ0FnREgsa0RBaERHLG1DQXdEZiw2Q0F4RGUsMENBaUVILGtEQWpFRyxtRUF5RWYscUZBNXNGaUIsMkJBb29GckIsZUFDSSwwQkFDQSxxREFDQSwrQkFDQSxtRUFHQSxnREFSZSw2Q0FrQkgscURBbEJHLHFFQXNDZixnREF0Q2UsNkNBZ0RILHFEQWhERyxzQ0F3RGYsZ0RBeERlLDZDQWlFSCxxREFqRUcseUVBeUVmLHFGQTVzRmlCLDJCQW9vRnJCLGVBQ0ksMEJBQ0EscURBQ0EsK0JBQ0EsbUVBR0EsZ0RBUmUsNkNBa0JILHFEQWxCRyxxRUFzQ2YsZ0RBdENlLDZDQWdESCxxREFoREcsc0NBd0RmLGdEQXhEZSw2Q0FpRUgscURBakVHLHlFQXlFZixxRkE1c0ZpQix5QkFvb0ZyQixlQUNJLDBCQUNBLG1EQUNBLCtCQUNBLCtEQUdBLDhDQVJlLDJDQWtCSCxtREFsQkcsaUVBc0NmLDhDQXRDZSwyQ0FnREgsbURBaERHLG9DQXdEZiw4Q0F4RGUsMkNBaUVILG1EQWpFRyxxRUF5RWYscUZBNXNGaUIsd0JBb29GckIsZUFDSSwwQkFDQSxrREFDQSwrQkFDQSw2REFHQSw2Q0FSZSwwQ0FrQkgsa0RBbEJHLCtEQXNDZiw2Q0F0Q2UsMENBZ0RILGtEQWhERyxtQ0F3RGYsNkNBeERlLDBDQWlFSCxrREFqRUcsbUVBeUVmLHFGQTVzRmlCLHlCQW9vRnJCLGVBQ0ksMEJBQ0EsbURBQ0EsK0JBQ0EsK0RBR0EsOENBUmUsMkNBa0JILG1EQWxCRyxpRUFzQ2YsOENBdENlLDJDQWdESCxtREFoREcsb0NBd0RmLDhDQXhEZSwyQ0FpRUgsbURBakVHLHFFQXlFZixxRkE1c0ZpQiwyQkFvb0ZyQixlQUNJLDBCQUNBLHFEQUNBLCtCQUNBLG1FQUdBLDZDQVJlLDZDQWtCSCxrREFsQkcscUVBc0NmLDZDQXRDZSw2Q0FnREgsa0RBaERHLHNDQXdEZiw2Q0F4RGUsNkNBaUVILGtEQWpFRyx5RUF5RWYscUZBNXNGaUIsd0JBb29GckIsZUFDSSwwQkFDQSxrREFDQSwrQkFDQSw2REFHQSxnREFNWSx1Q0FGQSxxREFDQSwrREF5QlosZ0RBTVksdUNBRkEscURBQ0EsbUNBYVosZ0RBS1ksdUNBRkEscURBQ0EsbUVBYVoscUZBNXNGaUIsd0JBc3RGckIsb0RBSVEsbUVBSUoscUZBOXRGaUIsMEJBc3RGckIsc0RBSVEsdUVBSUoscUZBOXRGaUIseUJBc3RGckIscURBSVEscUVBSUoscUZBOXRGaUIscUJBc3RGckIsaURBSVEsNkRBSUoscUZBOXRGaUIsd0JBc3RGckIsb0RBSVEsbUVBSUoscUZBOXRGaUIsd0JBc3RGckIsb0RBSVEsbUVBSUoscUZBOXRGaUIsc0JBc3RGckIsa0RBSVEsK0RBSUoscUZBOXRGaUIscUJBc3RGckIsaURBSVEsNkRBSUoscUZBOXRGaUIsc0JBc3RGckIsa0RBSVEsK0RBSUoscUZBOXRGaUIsd0JBc3RGckIsb0RBSVEsbUVBSUoscUZBOXRGaUIscUJBc3RGckIsYUFFUSw2REFNSixxRkE5dEZpQix3QkF3dUZyQix5Q0FEbUIsNkRBS2YsK0NBS1EsK0RBaUJSLGdEQUtRLG1DQUtSLGdEQUlRLG1FQUtSLHFGQXJ4RmlCLDBCQXd1RnJCLDJDQURtQixpRUFLZixpREFLUSxtRUFpQlIsa0RBS1EscUNBS1Isa0RBSVEsdUVBS1IscUZBcnhGaUIseUJBd3VGckIsMENBRG1CLCtEQUtmLGdEQUtRLGlFQWlCUixpREFLUSxvQ0FLUixpREFJUSxxRUFLUixxRkFyeEZpQixxQkF3dUZyQixzQ0FEbUIsdURBS2YsNENBS1EseURBaUJSLDZDQUtRLGdDQUtSLDZDQUlRLDZEQUtSLHFGQXJ4RmlCLHdCQXd1RnJCLHlDQURtQiw2REFLZiwrQ0FLUSwrREFpQlIsZ0RBS1EsbUNBS1IsZ0RBSVEsbUVBS1IscUZBcnhGaUIsd0JBd3VGckIseUNBRG1CLDZEQUtmLCtDQUtRLCtEQWlCUixnREFLUSxtQ0FLUixnREFJUSxtRUFLUixxRkFyeEZpQixzQkF3dUZyQix1Q0FEbUIseURBS2YsNkNBS1EsMkRBaUJSLDhDQUtRLGlDQUtSLDhDQUlRLCtEQUtSLHFGQXJ4RmlCLHFCQXd1RnJCLHNDQURtQix1REFLZiw0Q0FLUSx5REFpQlIsNkNBS1EsZ0NBS1IsNkNBSVEsNkRBS1IscUZBcnhGaUIsc0JBd3VGckIsdUNBRG1CLHlEQUtmLDZDQUtRLDJEQWlCUiw4Q0FLUSxpQ0FLUiw4Q0FJUSwrREFLUixxRkFyeEZpQix3QkF3dUZyQixzQ0FEbUIsNkRBS2YsK0NBS1EsK0RBaUJSLGdEQUtRLG1DQUtSLGdEQUlRLG1FQUtSLHFGQXJ4RmlCLHFCQXd1RnJCLGdEQURtQix1REFLZixnREFHUSx5REFtQlIsZ0RBR1EsZ0NBT1IsZ0RBRVEsNkRBT1IscUZBcnhGaUIseUJBK3hGckIsb0RBQ0ksbUhBS0ksNkJBQ0ksYUE3dkZlLGNBK3ZGZixxRUFLUixxRkE3eUZpQiwyQkEreEZyQixzREFDSSx5SEFLSSw2QkFDSSxhQTd2RmUsY0ErdkZmLHlFQUtSLHFGQTd5RmlCLDBCQSt4RnJCLHFEQUNJLHNIQUtJLDZCQUNJLGFBN3ZGZSxjQSt2RmYsdUVBS1IscUZBN3lGaUIsc0JBK3hGckIsaURBQ0ksMEdBS0ksNkJBQ0ksYUE3dkZlLGNBK3ZGZiwrREFLUixxRkE3eUZpQix5QkEreEZyQixvREFDSSxtSEFLSSw2QkFDSSxhQTd2RmUsY0ErdkZmLHFFQUtSLHFGQTd5RmlCLHlCQSt4RnJCLG9EQUNJLG1IQUtJLDZCQUNJLGFBN3ZGZSxjQSt2RmYscUVBS1IscUZBN3lGaUIsdUJBK3hGckIsa0RBQ0ksNkdBS0ksNkJBQ0ksYUE3dkZlLGNBK3ZGZixpRUFLUixxRkE3eUZpQixzQkEreEZyQixpREFDSSwwR0FLSSw2QkFDSSxhQTd2RmUsY0ErdkZmLCtEQUtSLHFGQTd5RmlCLHVCQSt4RnJCLGtEQUNJLDZHQUtJLDZCQUNJLGFBN3ZGZSxjQSt2RmYsaUVBS1IscUZBN3lGaUIseUJBK3hGckIsb0RBQ0ksbUhBS0ksNkJBQ0ksYUE3dkZlLGNBK3ZGZixxRUFLUixxRkE3eUZpQixzQkEreEZyQixpREFDSSwwR0FLSSw2QkFDSSxhQTd2RmUsY0ErdkZmLCtEQUtSLHFGQTd5RmlCLHlCQXcwRnJCLHlCQUNJLDZDQUlBLHFEQUNBLGlEQUNBLCtEQVNBLDBEQUVJLHVEQUNBLDBCQUNBLGlFQUlKLHlCQUVJLHFFQVNKLGVBRUksMkJBckNSLHlCQUNJLCtDQUlBLHVEQUNBLG1EQUNBLG1FQVNBLDREQUVJLHlEQUNBLDBCQUNBLHFFQUlKLHlCQUVJLHlFQVNKLGVBRUksMEJBckNSLHlCQUNJLDhDQUlBLHNEQUNBLGtEQUNBLGlFQVNBLDJEQUVJLHdEQUNBLDBCQUNBLG1FQUlKLHlCQUVJLHVFQVNKLGVBRUksc0JBckNSLHlCQUNJLDBDQUlBLGtEQUNBLDhDQUNBLHlEQVNBLHVEQUVJLG9EQUNBLDBCQUNBLDJEQUlKLHlCQUVJLCtEQVNKLGVBRUkseUJBckNSLHlCQUNJLDZDQUlBLHFEQUNBLGlEQUNBLCtEQVNBLDBEQUVJLHVEQUNBLDBCQUNBLGlFQUlKLHlCQUVJLHFFQVNKLGVBRUkseUJBckNSLHlCQUNJLDZDQUlBLHFEQUNBLGlEQUNBLCtEQVNBLDBEQUVJLHVEQUNBLDBCQUNBLGlFQUlKLHlCQUVJLHFFQVNKLGVBRUksdUJBckNSLHlCQUNJLDJDQUlBLG1EQUNBLCtDQUNBLDJEQVNBLHdEQUVJLHFEQUNBLDBCQUNBLDZEQUlKLHlCQUVJLGlFQVNKLGVBRUksc0JBckNSLHlCQUNJLDBDQUlBLGtEQUNBLDhDQUNBLHlEQVNBLHVEQUVJLG9EQUNBLDBCQUNBLDJEQUlKLHlCQUVJLCtEQVNKLGVBRUksdUJBckNSLHlCQUNJLDJDQUlBLG1EQUNBLCtDQUNBLDJEQVNBLHdEQUVJLHFEQUNBLDBCQUNBLDZEQUlKLHlCQUVJLGlFQVNKLGVBRUkseUJBckNSLHlCQUNJLDZDQUlBLHFEQUNBLGlEQUNBLCtEQVNBLDBEQUVJLHVEQUNBLDBCQUNBLGlFQUlKLHlCQUVJLHFFQVNKLGVBRUksc0JBckNSLHlCQUNJLDBDQUlBLGtEQUNBLDhDQUNBLHlEQVNBLHVEQUVJLG9EQUNBLDBCQUNBLDJEQUlKLHlCQUVJLCtEQVNKLGVBRUksMkJBUVIsb0RBT1EsOE9BR0osb0RBWVEseUVBS1IscUZBaDVGaUIsNkJBcTNGckIsc0RBT1EsNFBBR0osc0RBWVEsNkVBS1IscUZBaDVGaUIsNEJBcTNGckIscURBT1EscVBBR0oscURBWVEsMkVBS1IscUZBaDVGaUIsd0JBcTNGckIsaURBT1EseU5BR0osaURBWVEsbUVBS1IscUZBaDVGaUIsMkJBcTNGckIsb0RBT1EsOE9BR0osb0RBWVEseUVBS1IscUZBaDVGaUIsMkJBcTNGckIsb0RBT1EsOE9BR0osb0RBWVEseUVBS1IscUZBaDVGaUIseUJBcTNGckIsa0RBT1EsZ09BR0osa0RBWVEscUVBS1IscUZBaDVGaUIsd0JBcTNGckIsaURBT1EseU5BR0osaURBWVEsbUVBS1IscUZBaDVGaUIseUJBcTNGckIsa0RBT1EsZ09BR0osa0RBWVEscUVBS1IscUZBaDVGaUIsMkJBcTNGckIsb0RBT1EsOE9BR0osb0RBWVEseUVBS1IscUZBaDVGaUIsd0JBcTNGckIsaURBS1EseU5BS0osaURBVVEsbUVBT1IscUZBaDVGaUIsbUVBNjVGakIscUZBNzVGaUIsdUVBNjVGakIscUZBNzVGaUIscUVBNjVGakIscUZBNzVGaUIsNkRBNjVGakIscUZBNzVGaUIsbUVBNjVGakIscUZBNzVGaUIsbUVBNjVGakIscUZBNzVGaUIsK0RBNjVGakIscUZBNzVGaUIsNkRBNjVGakIscUZBNzVGaUIsK0RBNjVGakIscUZBNzVGaUIsbUVBNjVGakIscUZBNzVGaUIsNkRBNjVGakIscUZBNzVGaUIsaUJBMDZGekIseUJBQ0ksMkJBRUEsZUFDSSwrRUFJSixlQUdJLG1FQU1SLGVBR0kscUJBdVBKLGdCQS9Lc0IsbUJBaUxsQixzQkFDQSxVQUNBLDhDQWxMaUIsMENBQ0YsNkNBQ0UsYUFvTGpCLGlCQUNBLG9CQUNBLGtCQUNBLGVBQ0EsMkJBQ0EsMENBLzFyQnVCLHVHQWsyckJ2QixxQkFHSSxjQU9SLGNBQ0ksVUFDQSxhQUNBLHdCQUNBLFVBQ0Esa0JBQ0EsaUJBQ0Esc0JBRUosYUFDSSxZQUNBLGlCQUNBLDZMQUVBLFlBQ0ksY0FNUiw2Q0FuTndCLDRDQURBLFVBdU5wQixjQUNBLGFBQ0EscUJBQ0EsY0FDQSxtQ0ExN21CYSxtQkE0N21CYixrQkFDQSxtQkFDQSxlQUNBLG1CQUtKLFlBQ0kscUJBQ0EsY0FDQSxnQkFDQSx1QkFDQSxzQkFLSix5REFDSSxvQkFDQSxtQkFDQSxtQkFDQSxVQUNBLGtCQUNBLG9CQUtKLGtCQUNJLDhDQUVBLHVEQTNQa0IsaUNBK1BsQixjQUNJLDhDQTVPbUIsUUE4T25CLFlBQ0EsdUJBQ0EsbUJBQ0Esa0JBTVIscUJBQ0ksNENBRUEsOENBOVFrQiw0Q0FrUmxCLDRDQTVMMEIsNENBUEEsK0RBY0UsaUVBMkw1QixnREF2TTZCLDRHQTBCTSwrQkFrTG5DLDRDQXpRdUIsZ0JBMlFuQixTQUNBLHFCQUNBLG1CQUNBLDREQTd4ZlcsY0EreGZYLGVBTVIscUJBR0ksaUJBNXBLbUIsbUJBOHBLbkIsY0FDQSxnQkFDQSxnRUFFQSxxQkFHSSxlQU1SLFFBQ0ksVUFDQSxnQkFDQSxhQUNBLHdCQUNBLGtCQUNBLHlDQUVBLHNDQXBOd0IsNEJBd054Qiw0Q0FwVHVCLGdCQXNUbkIsU0FDQSxxQkFDQSxtQkFDQSw0REF4MGZXLGNBMDBmWCw2QkFHUixpQkFDSSxrQkFLSiw0Q0F0UzRCLGlCQU9FLCtCQW9TMUIsNENBM1N3QixpQkFPRSwrQkF5UzFCLGlEQTNRNkIsNENBUEEsK0RBY0UsdUNBMFEvQixnREF4UjZCLDRHQTBCTSxrQkFtUXZDLDRDQTFUNEIsaUJBT0UsK0JBd1QxQiw0Q0EvVHdCLGlCQU9FLCtCQTZUMUIsNENBL1I2Qiw0Q0FQQSwrREFjRSx1Q0E4Ui9CLGdEQTVTNkIsNEdBMEJNLGtCQXVSdkMsNENBOVU0QixpQkFPRSwrQkE0VTFCLDRDQW5Wd0IsaUJBT0UsK0JBaVYxQixpREFuVDZCLDRDQVBBLCtEQWNFLHVDQWtUL0IsZ0RBaFU2Qiw0R0EwQk0sbUJBOFN2QyxpQkFDSSxTQUNBLFNBQ0EsVUFDQSxpQkFFSixRQUNJLGlCQWh4S21CLG1CQW94S25CLDBEQU9KLHVCQUVJLGlCQUNBLHVCQUVKLGFBQ0ksdUNBRUEsY0FDSSxnRUFHUixjQUVJLHdCQUtKLFFBQ0ksVUFDQSxTQUNBLGtCQUNBLGdDQUVBLGVBQ0ksaUJBQ0EsOENBR0osZUFDNEIsVUFDeEIsZUFDQSxxQkFDQSxjQUNBLG1CQUNBLGtCQUNBLDREQUVBLEtBQ0kscUJBQ0EsWUFDQSxXQUNBLHVCQUNBLDZEQUVKLEtBQ0ksbUJBQ0EsWUFDQSxXQUNBLHNCQUNBLDBEQUVKLEtBQ0kscUJBQ0EsV0FDQSxZQUNBLHdCQUNBLDREQUVKLFFBQ0kscUJBQ0EsV0FDQSxZQUNBLHFCQUNBLDJDQXVCUix5SENsOHZCVyw4Q0QwOHZCWCxlQUNJLHlEQUdKLDJEQUNJLHVEQUdKLDREQUNJLDhCQVdSLGdEQS9oZ0JrQiwrQkF3L2VOLHNDQStpQlIsb0VBcmlCYSx5RkE2aUJULHVEQXhpQmUsMkZBa2pCZix3REE3aUJrQixzQ0E4akIxQiwyREF0a2dCbUIsaURBSkQseURBT0csdUtBb2xnQmIsZ0RBM2xnQlUsd0RBY0Qsc1FBdWxnQlQsMkNBaG5nQmdCLHlEQWtCSCw4Q0FvbmdCckIsMEJBcG1COEIseUNBdGhmVix5REFNQyxvREE0bmdCakIsZ0RBbm9nQmMsNERBMm9nQlYsU0FDSSxtR0F3QkosdURBN3BCZSw2SUFnckJmLGdEQXZyZ0JVLHdEQWNELHVFQXlyZ0JULFdBQ0ksMEVBRUosV0FDSSx5RUFFSixXQUNJLHlFQUVKLFdBQ0ksWUF3SlosUUFDSSxlQTFFcUIsbUJBOEVyQixzQkFDQSxVQUNBLDhDQXpFb0IsMENBR0YseUJBR0UsZ0JBdUVwQixhQUNBLG1CQUNBLG1CQUVBLDJCQUNBLGtCQUNBLGdCQUNBLDJCQUNBLDBDQTVpdEJ1QixvQkFnanRCdkIsVUFDSSxxRUFuaElhLGdDQXVoSWpCLGdCQUNJLGNBR0osYUFDSSxvQkFDQSxxQkFDQSxzQkFDQSxvQkFFQSxpQkFFSSwwQ0FzQlIsVUFsR29CLHNEQXNHcEIsaUJBQ0ksdUNBSUosd0JBQ0kseURBS0osT0FFSSxtQkFscXBCVyx1QkFvcXBCWCxtQkFDQSxrQkFDQSw4QkFLSixrQkEzcXBCZSxZQTZxcEJYLHFFQUtKLG9CQUVJLFVBQ0Esa0JBT1IsWUFDSSx1QkFDQSxpQkFDQSxZQUNBLHFCQUtKLG9CQUNJLHFCQUNBLGVBU0EsNkNBSGEsK0NBREEsd0NBRUYsdUJBUVAsZ0VBQ0ksdUJBR0oscURBWk8sZUFFWCw0Q0FIYSw4Q0FEQSxtQ0FFRix1QkFRUCwyREFDSSx1QkFHSixnREFaTyxlQUVYLGlEQUhhLG1EQURBLHdDQUVGLHVCQVFQLGdFQUNJLHVCQUdKLHFEQVpPLHVCQWtCZix5RUF2b0l3Qix1QkEwb0l4QixvRUF6b0l3Qix1QkE0b0l4Qix5RUEzb0l3QiwyREErb0l4Qix1REFFSSx5REFDQSxlQW5PcUIsbUJBcU9yQixhQUNBLHFCQUNBLG1DQTlPbUIsbUJBZ1BuQixpRkFFQSxTQUNJLGVBQ0EsY0FDQSxjQUNBLGdCQUNBLDZCQUdSLFdBQ0ksYUFDQSxtQkFDQSxtQkFDQSxjQUNBLHVCQVNKLDRDQS8rQjRCLGlCQU9FLCtCQTQrQjFCLG9CQUNJLG9DQUdKLHdDQUNJLDhDQUlKLGFBQ0ksMENBSUosNENBNTlCNkIsNENBUEEsV0FzK0J6QixZQUNBLGVBQ0EsZ0JBQ0Esa0JBQ0EsY0FDQSwrQkFDQSxzQkFDQSxhQUNBLGVBQ0EsYUFDQSxxQkFDQSxtQkFDQSxxQkFDQSxtQ0FyeW9CUywyQkF1eW9CVCxrQkFDQSx1Q0FJSixlQUNJLGFBQ0Esd0JBQ0EsaURBRUEsUUFDSSx1Q0FLUixZQUNJLHNCQUNBLDBDQUlKLFlBQ0ksMkJBS1Isa0JBQ0ksMENBQ0EsNEJBQ0EsY0FDQSwyQkFDQSxnQkFDQSxzQkFvQkEsZUFDSSw0QkFLSixlQUNJLDRCQUtKLGVBQ0ksaUNBT0osZUFDSSxtQkFDQSxxQkFDQSx5Q0FFQSxZQUNJLHFGQUdKLFVBRUksc0JBQ0EsWUFjWixnREF6cWhCa0IseURBT0csMEJBeXFoQmpCLHlEQUlBLDJEQWhyaEJlLHFFQXVyaEJmLDZGQTdzbEJBLDJEQXd0bEJKLGdEQXRzaEJrQix5REFPRywrRUErc2hCYixnREF0dGhCVSxrREFjRCxpRkFxdGhCVCxnREFudWhCVSxrREFjRCw0Q0E0dGhCVCwyQ0FydmhCZ0IsbURBa0JILHFGQXl1aEJiLGFBRUksaUNBc0JSLHdEQUNJLHFEQUNBLCtFQUdBLDhEQUVJLDJEQUNBLCtFQUlKLDhEQUVJLDJEQUNBLGlGQUlKLCtEQUVJLDREQUNBLDRDQUlKLCtEQUNJLDREQUNBLHdMQUdKLGVBR0ksMkJBQ0Esb0ZBOEVaLDRDQWZzQiw4Q0FEQSxzQkFtQmxCLHVCQUNBLG1CQUNBLHFCQUNBLGNBQ0EsYUFDQSxxQkFDQSxtQkFDQSxtQ0F2QnVCLGdCQXlCdkIsV0FFQSxtV0FFQSxxQkFHSSxpSUFNUix1Q0ExQ3VCLGtCQStDdkIsMEJBQ0ksbUJBRUosc0JBQ0ksZ0JBRUosd0JBQ0ksd0JBRUosV0FDSSx1QkFLSixVQUNJLHFCQUNBLHFCQUVKLHVCQUNJLHNJQTZCQSxlQUNJLG9LQUtKLGVBQ0ksb0tBS0osZUFDSSw2TEF1Q0osd0RBQ0kscURBQ0Esd0JBdzBCUix5Q0FwS21CLDZDQUdFLGFBeUtyQiwwQ0FwRG9CLHFCQXNEaEIsbUJBQ0EsaUJBQ0Esb0JBRUEsYUFDSSwyQ0FDQSx5QkFDQSxzQkFNUixRQUNJLG1CQUdKLCtDQWxGNEIsNkNBR0Msa0JBR0Msa0JBZ0YxQix3QkFJQSxVQUNJLHFCQUNBLFNBT1IsUUFDSSx3RkFFQSx5Q0FuS3lCLGFBdUtyQixxQkFDQSwyQkFHSixhQUNJLDBCQUdKLGNBL01xQixvQ0FHQyxTQStNbEIsMkdBR0ksWUFFSSx3QkFLWixjQXJObUIsb0NBR0MscUJBR0ssbUJBR0EsV0FNUCwwQ0FHSSx5QkFHSyx1QkE0TTNCLFNBQ0kseUVBSUEsWUFFSSxrREFNUixhQUVJLHNGQUlBLFlBLytuQlIsZUFDQSxpREFzbkV5QixxREFobkV6QixnQkFDQSx3QkE2K25CSSw0Q0FDSSxtREFDQSx1QkFHSixvQkFDSSw2Q0FDQSxjQUNBLGVBQ0EsMkNBdHByQlMseUhBMnByQmIsbUJBSUksV0FDQSxpQkFLUixTQUVJLGlCQUNBLDRCQUlKLDBDQWxQeUIsYUFxUHJCLDZDQTNQb0Isa0JBR0MsZ0NBNlB6QiwwQkFFSSw0QkFHSix3QkFFSSxtQkFJSix5Q0F2UDBCLHFCQXlQdEIsbUJBQ0EsY0FDQSxjQUNBLGtDQUtBLFlBQ0ksdUlBRUEsZ0RBMVAyQix3REFIRyxVQU1OLGVBNlBwQixzQkFDQSxxQkEzUG9CLDJCQTZQcEIsb0RBRUosUUFDSSxtQkFDQSx1Q0FJUixnRUFqUXFDLGNBbVFqQyxzRUFRQSxhQUNJLGlEQS9QZ0IseW5CQTBRaEIsY0FHSSxnREFwU21CLHFEQWdUM0IsdUNBSGlCLHFEQUdqQix5Q0FIaUIscURBR2pCLDBDQUhpQixnQkFZekIsNENBblpnQix5QkFzWlosb0JBQ0ksbUJBQ0Esd0RBQ0EsVUFDQSxtREFFQSxZQUNJLGlEQUdKLGVBQ0ksdUJBSVIsNENBQ0ksaUJBQ0EsZ0JBQ0EsY0FDQSwwREFDQSx5QkFDQSwyQ0FDQSxXQUNBLDhCQUdKLFlBQ0ksdUJBQ0EsaUJBQ0EsMERBQ0Esa0RBRUEsU0E5VXNCLGVBZ1ZsQiw2Q0FDQSxzREFFQSw2Q0FqenJCSyxrQkFtenJCTCxvQ0FHSixpQkFDSSxtRUFHSixhQUNJLDZDQUdKLDRDQUNJLG1EQUNBLDRDQUdKLGFBQ0ksNkNBQ0EsY0FDQSxTQUNBLHlDQUdKLGVBQ0ksd0JBU1osV0FDSSxnQkFDQSxxQkFDQSxrQkFDQSx5WEFLSixtR0FHSSxlQUlKLHlDQUNJLHFEQUVBLFVBQ0EsNkNBM2VpQixlQTZlakIsV0FDQSxXQUNBLGVBRUoseUNBQ0ksVUFDQSxZQUNBLFlBQ0Esa0JBQ0EsMkJBRUEsb0RBRUkseUJBTUosVUFDSSxzQkFDQSxtR0FHSixpQkFFSSw4REFHSix5Q0FFSSw4QkFHSix5Q0FDSSxrQ0FHSixtQkFDSSxlQW1CUixTQUNJLFNBQ0EsV0FDQSw2Q0FDQSxjQUNBLG1CQUNBLGNBQ0EsV0FDQSxlQUVKLFVBQ0ksV0FDQSxhQUNBLG1CQUNBLG1CQUVBLFVBQ0ksY0FDQSxhQUNBLG1CQUNBLHlCQUdKLGNBQ0ksb0NBR0osUUFDSSwyQ0FFQSx3QkFXUixnREFydmtCa0Isc0RBK3ZrQmQsMkRBM3ZrQmUsb0RBK3ZrQmYsd0NBbHdrQmdCLHNEQXN3a0JoQix1Q0E1d2tCZ0IsMERBaXhrQnBCLHVDQWp4a0JvQixtQkF1eGtCcEIsMkRBOXdrQm1CLFlBKzJrQm5CLG9EQTc0QjBCLFNBKzRCdEIsd0RBeDVCa0Isb0RBR0EsaUJBR0csbUJBczVCckIsc0JBQ0EsMkJBQ0EsVUFDQSw4Q0FsNUJvQiw2Q0FHRix5QkFHRSxhQWc1QnBCLHFCQUNBLHVCQUNBLGtCQUNBLGNBQ0EsMkJBQ0EsMENBcmp4QnVCLHVEQXdqeEJ2QixxQkFHSSxpQkFJUixnREFqbnNCaUIsY0FtbnNCYixrQkFHSixtQkFDSSx3REFqNkJ3QixnREFHRSxvQkFtNkI5QixrQkFDSSxjQUNBLGdCQUNBLHVCQUNBLG1CQUdKLGtEQW5vc0JpQixjQXFvc0JiLDJCQUVBLGFBQ0ksbUJBQ0EsWUFNUixpQkFDSSxtQkFDQSxpQkFwN0JxQixtQkFzN0JyQiwyQkFDQSxrQkFDQSxvQkFDQSxjQU9KLHdCQUNJLGlDQUNBLG1CQUVBLFNBQ0Esb0JBRUEsY0FFSix1QkFDSSwrQkFDQSxRQUNBLHFCQUVBLG9CQUVBLGNBRUosd0JBQ0ksOEJBQ0Esc0JBRUEsU0FDQSxvQkFFQSxjQUVKLHVCQUNJLGdDQUNBLFFBQ0Esb0JBRUEsb0JBRUEsWUFzQkosOEJBcC9CZSxXQUdFLG1DQUhGLDBCQTIvQlgsdUJBRUEsdUJBNy9CVyxvQkFvZ0NYLDZDQUlRLDZDQUZBLGtEQUNBLCtCQUlKLHNDQUNJLGtCQVJSLDhDQUlRLDJDQUZBLG1EQUNBLDZCQUlKLHVDQUNJLGlCQVJSLDZDQUlRLDBDQUZBLGtEQUNBLDRCQUlKLHNDQUNJLGtCQVJSLDhDQUlRLDJDQUZBLG1EQUNBLDZCQUlKLHVDQUNJLG9CQVJSLGdEQUlRLDZDQUZBLHFEQUNBLCtCQUlKLHlDQUNJLG9CQVJSLGdEQUlRLDZDQUZBLHFEQUNBLCtCQUlKLHlDQUNJLGlCQVJSLDZDQUlRLDBDQUZBLGtEQUNBLDRCQUlKLHNDQUNJLHFCQVJSLGlEQUlRLDhDQUZBLHNEQUNBLGdDQUlKLDBDQUNJLHNCQVJSLGtEQUlRLCtDQUZBLHVEQUNBLGlDQUlKLDJDQUNJLG9CQVJSLGdEQUlRLDZDQUZBLHFEQUNBLCtCQUlKLHlDQUNJLHNCQTREWiwwQkFDSSxXQUNBLG1CQUNBLGFBQ0EsbUJBQ0EsYUFFQSw4QkFJSixlQUNJLG9CQW1ISixRQUdJLFVBQ0EsV0FycURvQixZQXVxRHBCLHNCQUNBLGlCQXBxRG1CLG1CQXNxRG5CLFVBQ0EsOENBcm9Ea0IsNkNBSUYsaUJBYUUsbUJBd25EbEIsaUJBQ0EsZ0JBQ0Esb0JBQ0EscUJBQ0Esb0JBQ0Esc0JBQ0Esa0JBQ0EsZ0JBQ0EsdUJBQ0Esd0JBQ0Esb0dBRUEscUJBR0ksNkVBR0oseUJBRUksY0FDQSxnQkFDQSxhQUNBLFVBQ0EsZ0JBQ0Esd0JBSUosUUFDSSw4Q0FHSix3Q0FwdmxCZ0IsVUF1d2lCVSxpQkFnL0N0QixtQ0FNUiw0Q0Foc0RvQiw0Q0FiQSwyR0FrdERoQixZQXIwcEJKLGVBQ0EsaURBc25FeUIscURBaG5FekIsZ0JBQ0EsaVRBaTBwQlEsU0FFSSxvQkFDQSxxQkFJWixhQUNJLFdBS0osY0FDSSxpQkFFSiw0Q0F6dERvQiw0Q0FiQSxnQkF5dURoQixvREFFQSxZQTkxcEJKLGVBQ0EsaURBc25FeUIscURBaG5FekIsZ0JBQ0EscUpBMDFwQlEsU0FFSSxvQkFDQSxnQkFPWiw0Q0E1dURvQiw0Q0FiQSxXQTR2RGhCLFNBQ0EsVUFDQSxjQUNBLGdCQUNBLGFBQ0EsT0FDQSxrQkFDQSxVQUNBLGdCQUNBLHVCQUNBLHdCQUNBLDZCQUdBLHdDQTF6bEJnQixVQXV3aUJVLGlCQXNqRHRCLHdCQUlKLGVBQ0ksb0JBR1Isa0JBQ0ksYUFDQSxxQkFDQSxtQkFDQSx3QkFFSixRQUNJLHFCQUtKLFNBQ0kscUJBRUosTUFDSSxnQkFDQSx1QkFDQSw2QkFFSixXQUNJLFVBQ0EsZ0JBQ0EsVUFDQSxxQkFDQSxtQkFDQSxpQkFLSixhQUNJLFdBQ0EsYUFDQSxtQkFDQSxtQkFDQSxZQUNBLDhCQUVKLGdCQUNJLCtCQU1BLHNDQXR6RGdCLHVCQTJ6RFosaUNBTVIsb0JBRUksYUFDQSxtQkFDQSxVQUNBLHFDQUVBLGFBQ0ksWUFDQSxtREFHSixxQkFDSSx1REFHSixrQkFDSSxvQkFNUixRQUNJLG1CQUNBLHFCQUNBLHVCQUNBLFlDdDIxQlUsa0JEdzIxQlYsK0JBRUEsV0FDSSw2Q0EzMURlLG1CQTYxRGYscUJBQ0EsNkJBR0osV0FDSSw0Q0FsMkRlLG1CQW8yRGYsdUJBQ0EsOERBTVIsU0FHSSxrQkFDQSxvQkFDQSxxQkFDQSxtQkFDQSx1QkFDQSx1QkFDQSx1QkFHSixTQUNJLFdBQ0EsZUN6NDFCVSxrTkRpNTFCVixVQ2o1MUJVLG9IRHU1MUJWLG9CQ3I1MUJhLDhIRDA1MUJiLHFCQ3o1MUJhLCtIRDg1MUJiLHFCQzU1MUJhLCtIRGk2MUJiLG9CQ2g2MUJhLGlJRHE2MUJiLGtCQ3A2MUJjLGtJRHk2MUJkLGtCQ3g2MUJlLG9DRGc3MUJuQixTQUNJLFVBRUEsa0JBQ0Esb0JBQ0EsbUJBQ0EsdUJBQ0EsZUFDQSxXQXB1RDBCLDZDQXV1RDlCLFNBanVEb0MsOEJBc3VEcEMsa0JBQ0ksb0JBQ0EsaUJBS0osVUFDSSxlQUNBLDhCQWp1RDBCLFVBbXVEMUIsa0JBQ0EsZ0JBQ0EsZ0NBRUEseUJBQ0ksdUJBSUosZUFDSSwyQkFHUixhQUNJLGdCQUNBLDJCQUNBLGtCQUtKLFVBQ0ksVUFDQSxhQUNBLHdCQUNBLDJFQUVBLGNBRUksOEJBaHdEc0IsYUFrd0R0QixnQkFDQSxrQkFDQSxrQkFDQSx5R0FFQSxpQkFDSSxnQkFDQSwwQkFDQSwyQkFDQSw4Q0FHUixXQUNJLDhDQUVKLFFBQ0ksY0FNUixhQUNJLGFBQ0EscUJBQ0EsdUZBS0osVUFLSSxlQUNBLHFCQUNBLHNCQUNBLGNBQ0EsYUFDQSxxQkFDQSxnQkFDQSxrQkFDQSw4QkFLSix1Q0FFbUMsMERBQy9CLDBDQUNBLGlDQUNBLGtCQUdKLDBCQUNJLDBCQWFBLDRDQUxhLGlCQUNFLDBEQVNYLG1EQUNJLGdEQUNBLDJLQUVKLHFEQUVJLHdEQUdKLGlEQXBCUyw0Q0FEQSw0TEEwQlQsaURBckJnQiwrQ0FEQSxxbEJBNkJoQixpREFoQ1MsMEVBMENMLHNGQUlBLGlEQTlDSyxrRkFrREwsZ0RBbERLLG9GQXVEVCxvQkFDSSxzQkFDQSw0Q0F6REssdUJBMkRMLGtEQUlKLDJDQS9EUyxvQkFtRWIsaURBbkVhLDRDQURBLDBCQU9iLDRDQUxhLGlCQUNFLDBEQVNYLDhDQUNJLDJDQUNBLDJLQUVKLGdEQUVJLHdEQUdKLDRDQXBCUyw0Q0FEQSw0TEEwQlQsNENBckJnQiwrQ0FEQSxxbEJBNkJoQiw0Q0FoQ1MscUVBMENMLHNGQUlBLDRDQTlDSyxrRkFrREwsMkNBbERLLG9GQXVEVCxvQkFDSSxzQkFDQSx1Q0F6REssdUJBMkRMLGtEQUlKLHNDQS9EUyxvQkFtRWIsNENBbkVhLDRDQURBLDBCQU9iLDRDQUxhLGdCQUNFLDBEQVNYLDhDQUNJLDJDQUNBLDJLQUVKLGdEQUVJLHdEQUdKLDRDQXBCUyw0Q0FEQSw0TEEwQlQsNENBckJnQiwrQ0FEQSxxbEJBNkJoQiw0Q0FoQ1MscUVBMENMLHNGQUlBLDRDQTlDSyxrRkFrREwsMkNBbERLLG9GQXVEVCxtQkFDSSxxQkFDQSx1Q0F6REssdUJBMkRMLGtEQUlKLHNDQS9EUyxvQkFtRWIsNENBbkVhLDRDQURBLDRDQTRFakIsY0FFSSwwQkFPSix3QkFJQSw4QkFNQSw0QkFDSSxvQ0FFSiwwQkFDSSwyQkFJSiw0QkFDSSxpQ0FFSiwwQkFDSSxnQ0FrQkosdUNBRW1DLDBEQUMvQiwwQ0FDQSxrUkFFQSxlQUdJLDJCQUNBLDRRQVFKLGVBR0ksMkJBQ0Esb0pBR0osMEJBR0ksc0hBU0osU0FHSSxZQUNBLGlUQUdKLGFBSUksMElBY0osVUFDSSx1QkFDQSxtQkFDQSxxQkFDQSxzQkFDQSxjQUNBLGtCQUNBLFVBQ0EsV0FDQSxVQUNBLG9CQUNBLHFDQUNBLG9CQUNBLDBMQUdKLFNBQ0ksb0JBQ0Esd05BRUosU0FDSSxvQkFDQSxrREFPSixnQkFGbUMsZUFJL0Isa0VBR0osY0FDSSw0RUFFSixjQUNJLGdCQVlSLDRGQXRzRWlCLGlEQTVvaUJDLHFEQXNvaUJMLDZDQW90RVQsdURBMTFtQmMsNkNBcTJtQmQsZ0RBbjNtQmtCLDZCQTQzbUJsQixnREE1M21Ca0IsNEVBczRtQmxCLDJGQS9yRXNCLHNGQUhGLGdHQUhGLGtHQWt0RWxCLDhDQTE0bUJnQiw2S0ErNG1CWix1Q0EvNG1CWSxnQ0E2NW1CaEIsd0NBdjVtQmdCLGdDQTI1bUJoQix3Q0EzNW1CZ0IsbUNBKzVtQmhCLDJEQTU1bUJlLGlCQW02bUJuQiw0RkEzeEVpQixpREE1b2lCQyxxREFzb2lCTCwrQ0EweUVULHVEQWg3bUJjLCtDQTQ3bUJkLGdEQTE4bUJrQiw4QkFvOW1CbEIsZ0RBcDltQmtCLCtFQSs5bUJsQiwyRkF4eEVzQixzRkFIRixnR0FIRixxR0EyeUVsQiw4Q0FuK21CZ0IsZ0xBdyttQlosdUNBeCttQlksa0JBdy9tQnBCLDRGQXYyRWlCLGlEQTVvaUJDLGtDQTAvbUJkLG9CQUNJLG1DQUdKLG9CQUNJLDZHQUVBLG9CQUVJLGlEQUtSLHVEQXhnbkJjLGlEQWtobkJkLGdEQWhpbkJrQiwrQkF5aW5CbEIsZ0RBemluQmtCLGtGQW1qbkJsQiwyRkE1MkVzQixzRkFIRixnR0FIRix3R0ErM0VsQiw4Q0F2am5CZ0IsbUxBNGpuQlosdUNBNWpuQlksa0NBMGtuQmhCLHdDQXBrbkJnQixrQ0F3a25CaEIsd0NBeGtuQmdCLHFDQTRrbkJoQiwyREF6a25CZSxtQkFnbG5CbkIsNEZBeDhFaUIsaURBNW9pQkMsbURBNGxuQmQsdURBNWxuQmMsbURBc21uQmQsZ0RBcG5uQmtCLHFCQXE2aUJNLGdDQXd0RXhCLGdEQTdubkJrQixxQkFxNmlCTSxxRkE2dUV4QiwyRkEzOEVzQixzRkFIRixnR0FIRiwyR0E4OUVsQiw4Q0F0cG5CZ0Isc0xBMnBuQlosdUNBM3BuQlksZUEycW5CcEIsNEZBMWhGaUIsaURBNW9pQkMsMkNBOHFuQmQsdURBOXFuQmMsMkNBd3JuQmQsZ0RBdHNuQmtCLDRCQStzbkJsQixnREEvc25Ca0IseUVBeXRuQmxCLDJGQWxoRnNCLHNGQUhGLGdHQUhGLCtGQXFpRmxCLDhDQTd0bkJnQiwwS0FrdW5CWix1Q0FsdW5CWSwrQkFndm5CaEIsd0NBMXVuQmdCLCtCQTh1bkJoQix3Q0E5dW5CZ0Isa0NBa3ZuQmhCLDJEQS91bkJlLGdCQXN2bkJuQiw0RkE5bUZpQixpREE1b2lCQyw2Q0Frd25CZCx1REFsd25CYyw2Q0E0d25CZCxnREExeG5Ca0IsNkJBbXluQmxCLGdEQW55bkJrQiw0RUF3em5CbEIsMkZBam5Gc0Isc0ZBSEYsZ0dBSEYsa0dBb29GbEIsOENBNXpuQmdCLDZLQWkwbkJaLHVDQWowbkJZLDZCQW03bkJwQix5REEzQzBCLHNCQTZDdEIsb0JBQ0Esc0JBQ0Esa0JBQ0Esc0JBQ0Esd0JBQ0EsMEdBRUEscUJBR0ksK0NBR0osYUFoRXlCLDZDQTl5RlQsaUJBYUUsbUJBcTJGZCx1QkFDQSxrQkFDQSx1SUFDQSxvRkFDQSxnQkFDQSxZQUNBLDZCQUNBLDRLQUNBLHVEQUtBLHNJQUNJLG9GQUNBLG1CQUNBLG9CQUNBLHFHQUlSLG1EQUVJLHFEQUNBLHNCQUNBLDREQUVKLG1EQUNJLHFEQUNBLHNCQUNBLG9GQUdKLG1CQUNJLHFLQU9BLDZCQUNJLDZLQUNBLDZMQUlBLFNBQ0kscUZBQ0EsaVdBSVIsU0FFSSxzREFDQSw0TUFFSixTQUNJLHNEQUNBLCtDQXNCUiw0QkFDSSxxS0FPQSw2QkFDSSwrQ0FnQlIsd0NBM2lvQmdCLHVEQWtqb0JoQix5Q0Fqa29Ca0IsK0xBd2tvQmxCLHVDQS9qb0JnQiwwUEF1bG9CaEIsdUNBdmxvQmdCLHVDQXNzb0JwQiw0Q0E5M1BxQiwrQ0E2MVBZLFdBb0M3QixrQkFDQSxVQUNBLG1EQUVBLGlEQWw0UG9CLCtDQTYxUFksbURBMENoQyw0Q0FwNFBvQiwrQ0E2MVBZLG1EQTRDaEMsaURBdDRQb0IsK0NBNjFQWSxzREE4Q2hDLFdBQ0ksK0NBd0JSLHlCQWx3c0JJLG1DQXUxc0JKLGlCQUVJLFVBQ0Esb0JBQ0EscUJBQ0Esc0JBQ0EsbUVBRUEsNERBQ0ksd0RBQ0EsNkNBbEJ3Qix3REFxQnhCLG9CQUNBLG1CQUNBLHVCQUNBLCtGQUdKLHFCQUNJLDBEQUNBLCtDQTJNUixpQkFDSSxZQStKSixVQTlDa0IsYUFHUyxlQThDdkIsVUFDQSw4Q0F6Q29CLDBDQWpxWEYseUJBT0UsbUJBdXNYcEIsK0JBQ0Esb0JBQ0Esb0NBOURnQiwyQkFnRWhCLDBDQWo0MUJ1QiwrQkFvNDFCdkIsWUFDSSxtQ0FqRW1CLHNFQXFFdkIsa0JBRUksNEdBRUEscUJBQ0ksb0NBSVIsMEJBQ0ksc0VBR0oscUJBRUksNEdBRUEsa0JBQ0kscUNBSVIsNkJBQ0ksNkJBR0osVUFDSSxhQUNBLGVBQ0EsaUJBekZpQixtQkEyRmpCLHNCQUNBLGFBQ0Esd0JBQ0EsOENBRUEsY0FDSSxxQ0FHSixjQUNJLHlCQUNBLHlCQUlSLG9CQTVFd0IsdUJBOEVwQixxQkFHSixVQUNJLFNBSVIsY0FDSSxvQkFrQkEsNENBNXVYdUIsNENBUEEsNkJBa3dYdkIsMkRBL3lwQmUsaURBSkQseURBT0cseUJBbXpwQmpCLG9EQXgwcEJrQixnQkF3OXBCdEIsb0RBQzRCLDZCQUN4QixpQkF0RXlCLG1CQXdFekIsc0JBQ0EsVUFDQSw4Q0F2RXdCLDZDQUdGLGdEQUdFLG9CQXFFeEIsc0JBQ0Esa0JBQ0EsZ0JBQ0EsMkJBQ0EsMENBeG8yQnVCLG1FQTJvMkJ2QixxQkFHSSxxQ0FLSixjQUNJLG1CQUNBLGFBQ0EsZ0JBQ0EsaUJBQ0EsY0FDQSxzQ0FLSixvQkFDSSxxQkFDQSxtQkFDQSxhQUNBLG9CQUNBLE9BQ0EsUUFDQSxpQkFDQSxjQUNBLHFDQUVKLGFBQ0ksZUFDQSxPQUNBLHlCQU9SLFVBQ0ksWUFDQSxhQUNBLG1CQUNBLGNBQ0EsaUJBQ0EsY0FDQSwwQ0FFQSxxRUFDQSw4REFDQSw0Q0FFSixlQUNJLDhDQUNBLGVBQ0Esa0JBQ0EscUJBQ0EsbUJBQ0EsMkJBS0osVUEzSmlDLDRDQTZKN0IsMEJBQ0Esd0JBQ0EsbURBR0Esa0JBQ0ksZ0RBR0osZ0RBQ0ksbUJBQ0Esd0VBRUEsc0RBQ0ksaURBTVIsa0JBQ0ksc0VBTUEsMEJBQ0ksc0JBQ0EsdUVBR0osMEJBQ0kseUJBT1osMENBQ0ksWUFDQSwyQkFDQSx1QkFDQSxpREFHQSw2QkFDSSw0Q0FFSix3QkFDSSw4Q0FHSixpREFDSSw4QkFDQSxvQkFDQSxxQkFDQSxzRUFFQSx1REFDSSwrQ0FNUiw2QkFDSSwrQ0FJSixxQkFDSSxvRUFFQSxxQkFDSSxzQkFDQSxxRUFHSixxQkFDSSwwSkFRUixZQUdJLHFKQVFKLGdDQUVJLCtDQU1SLGFBRUkseUJBS0osb0JBQ0ksaUJBQ0Esa0JBQ0EsaUNBR0osV0FDSSxxQ0FFQSxVQUNJLFlBQ0EscUNBR0osVUFDSSxZQUNBLCtCQUlSLFNBQ0ksNkJBR0osc0JBQ0ksK0JBQ0EseUJBQ0EscUJBQ0EsVUFDQSwrQkFHSixpQkFDSSxrQkFDQSxVQUNBLFNBQ0EsZ0JBb0JKLGVBQzRCLGlCQUN4Qix3Q0FFQSxjQVBpQyxtREFhakMsc0JBQ0ksOENBRUosMkJBQ0ksaURBS0osb0JBQ0ksNENBRUosMEJBQ0ksOEJBSVIsZUFDSSwwRUFFQSxVQUVJLGNBQ0EsV0FDQSxZQUNBLGtCQUNBLHFCQUNBLCtEQUlBLEtBQ0ksV0FDQSx5RUFDQSw4REFFSixLQUNJLFVBQ0EsMkVBQ0EsNkRBS0osU0FDSSxPQUNBLHVFQUNBLDREQUVKLFFBQ0ksT0FDQSx5RUFDQSxzREFXWixLQUNJLDJCQUNBLDBDQUdKLGdEQXR4cUJrQiw0REFtNXBCQyw0QkFzWWYsNENBdHlxQjJCLHFEQURULHNCQTZ5cUJ0Qiw4QkFHSSxzQkFFSiwyREFqWm1CLGtDQW9aZixvREFyenFCa0IsOEJBMHpxQnRCLGdEQTV5cUJrQiw0REFtNXBCQyxvV0FwNXRCbkIsd0JBZ3p1Qkksb0RBQ0EsK0JBS0osaURBbGFtQiw2QkFzYW5CLDBDQXYwcUJzQiwyQkF5MHFCbEIsK0RBdUJKLEdBQ0ksaUNBQ0ksS0FFSixvQ0FDSSw2REFDQSxLQUVKLHNDQUNJLCtEQUNBLE1BRUosdUNBQ0ksa0VBSVIsR0FDSSxvQ0FDSSw0REFDQSxLQUVKLHNDQUNJLDZEQUNBLEtBRUosc0NBQ0ksNERBQ0EsTUFFSix1Q0FDSSw4REEvQlIsR0FDSSxpQ0FDSSxLQUVKLG9DQUNJLDZEQUNBLEtBRUosc0NBQ0ksK0RBQ0EsTUFFSix1Q0FDSSxnRUFJUixHQUNJLG9DQUNJLDREQUNBLEtBRUosc0NBQ0ksNkRBQ0EsS0FFSixzQ0FDSSw0REFDQSxNQUVKLHVDQUNJLCtCQVlSLHFCQUNJLDBFQUVBLDhDQTk0cUJrQixVQXdvckJ0QixpQkExTGlCLFNBNExiLFVBQ0Esb0JBQ0EsaUJBM0xtQixtQkE2TG5CLFVBQ0Esc0JBQ0EsMkJBQ0EsNEJBQ0Esd0JBQ0EscUJBQ0EsVUFDQSxzQkFDQSxrQkFDQSxlQUNBLHdCQUNBLHFDQXNCSix3REFoRndCLHVDQStGeEIsWUFsdnZCQSxlQUNBLGlEQXNuRXlCLHFEQWhuRXpCLGdCQUNBLHlEQTh1dkJBLHdEQWhHaUMsZUF5R2pDLFNBQ0ksb0JBQ0EscUJBQ0EsTUFDQSxtQkFDQSxpQkFDQSxzQkFDQSxrQkFDQSx1QkFFQSxXQUNJLFVBQ0EsZ0JBQ0EsVUFDQSxxQkFDQSxtQkFDQSxnQkFNUixRQUNJLFVBQ0Esb0JBQ0EsdUJBQ0Esb0NBNUhxQixzQkE4SHJCLGtCQUNBLGVBQ0EsMEJBRUEsNEJBRUksK0ZBR1IsY0FJSSxvREEzSXFCLHNCQWlKekIsdUJBQ0ksMEJBRUosYUFDSSxlQUtKLFFBQ0ksVUFDQSxhQUNBLHdCQUNBLE1BQ0EsZ0JBQ0Esa0NBRUosNENBcnNaMkIsMkNBNmlaRyxhQTRKMUIscUJBQ0EsbUJBQ0EscUJBQ0Esb0NBQ0EsZ0VBRUEsUUFDSSwwREFHUixZQUVJLG1CQUNBLGlDQTVLbUIscUNBbUxuQixVQUNJLGNBQ0Esa0JBQ0EsU0FDQSxRQUNBLG1CQUNBLFdBQ0EsNkVBQ0EseUNBQ0EsK0JBQ0EseUVBR0osMEJBRUksNkZBR0osWUFFSSw2RkFHSixZQUVJLGFBV0oscUNBSlEsNERBUUosNkNBUFUsd0NBWVYsVUFYVyx5QkFFZixrQ0FKUSx5REFRSiw2Q0FQVSx3Q0FZVixVQVhXLHlCQUVmLHFDQUpRLDREQVFKLDZDQVBVLHdDQVlWLFVBWFcsOEJBZ0NuQixpQ0FDSSxxQkFDQSxVQVdKLDRGQWpqWm9CLGdGQThrWnBCLDhDQXQ0ckJvQiw2SEEyNHJCcEIsdUNBMzRyQm9CLHFDQW01ckJwQixnREE1NXJCc0IsaUZBNDZyQnRCLHNEQXRqWjZCLHlEQThqWjdCLHNEQTlqWjZCLHFGQTBrWnpCLDhDQWg4ckJrQixXQWdvckJHLGtDQXdWckIsd0NBQ0ksVUFDQSxZQUNBLFdBaU1SLFFBQ0ksc0JBQ0EsVUFDQSw4Q0FoSG1CLDBDQUdGLDZDQUdFLGdCQThHbkIsb0JBQ0EsbUJBQ0Esa0JBQ0EsMkJBQ0EsMENBejA0QnVCLG9EQTQwNEJ2QixxQkFHSSxvQkFHSixVQUNJLGdCQUNBLGNBQ0EsbUJBQ0Esa0JBQ0EsNkNBR0osY0FFSSxtQkFHSiw4QkFDSSxrQ0FDQSw0QkFDQSxTQUNBLFVBQ0Esa0JBQ0Esc0dBS0EsY0FHSSxXQU1aLGlCQUNJLG1CQUNBLGlCQUNBLHFCQUVBLFNBQ0ksZ0NBRUosYUFDSSxhQUNBLGtCQUNBLGtCQUNBLGtCQUNBLGdEQUVBLFFBQ0ksVUFDQSxnQkFDQSxjQUlBLGFBQ0Esa0JBQ0EsOEJBQ0EsaUJBQ0Esd0NBRUosWUFDSSxtREFHSixTQUNJLGdCQUNBLGlEQUdKLFVBQ0ksZUFDQSw4Q0FHSixpQkFDSSwyQ0FLSixXQUNJLDJEQUVBLFVBQ0kseURBR0osT0FDSSxnQ0FDQSw4SEFFSix3Q0FFSSwrREFHSiwwRUFDSSx5REFDQSwrREFFSix3REFDSSw2REFFSixzREFDSSx5Q0FNUixVQUNJLHlEQUVBLFdBQ0ksdURBRUosUUFDSSwrQkFDQSwwSEFFSix1Q0FFSSw2REFHSiw0Q0FDSSw0RUFDQSw2REFFSiw0Q0FDSSwyREFFSiwwQ0FDSSxvQkFTaEIsWUExUmdCLGdDQTRSWiw0QkFFQSxjQUNJLGdCQUNBLDhDQUdKLGdCQUNJLDRCQUtKLDhFQUNBLG1GQUNBLG1FQUVBLFlBQ0ksbUJBQ0EsZ0NBQ0Esb0RBR0osd0ZBQ0EsNkRBRUEsd0VBQ0EsNEVBQ0EsMkZBQ0EsaUZBQ0EsK0ZBQ0EsMERBRUEsb0VBQ0Esd0VBQ0EsdUZBQ0EsNkVBQ0EsMkZBQ0Esd0RBSUEsZ0JBQ0ksd0JBQ0EsUUFDQSwyQkFDQSxzQ0FFSiw2Q0FDQSxvREFFQSx1QkFDSSxzQkFDQSxzQkFPUixXQXhWZ0IscUJBMFZaLDhCQUVBLGdGQUNBLHFGQUNBLHFFQUVBLHFGQUNBLDBGQUNBLCtEQUVBLHVFQUNBLDJFQUNBLDBGQUNBLGdGQUNBLDhGQUNBLHlEQUVBLHlFQUNBLDZFQUNBLDRGQUNBLGtGQUNBLGdHQUNBLDZEQUlBLHNCQUNJLGNBQ0EsMkJBQ0Esd0NBRUosMkRBQ0Esd0VBRUEsVUFDSSxxQ0FJUixRQUVJLFVBQ0Esa0JBQ0EsK0VBRUEsVUF0V3VCLE9Bd1duQixnQkFDQSxRQUNBLDJFQUdKLFFBQ0ksU0FDQSxpQkFDQSxVQWhYbUIsZUFzWDNCLDhCQUNJLDRCQUNBLG1CQUNBLGlCQW5YK0IsVUFxWC9CLGtCQUNBLGtCQUNBLHFCQUNBLFdBM1h1QixxRUErWHZCLHVIQUNJLHVEQUdKLDJHQUNJLHlCQUdKLGVBQ0ksK0RBS0osNkJBQ0ksNkRBR0osOEJBQ0ksK0JBR0osZUFDSSxxSUFPSixtQkFJSSwrREFPSix3QkFFSSwrREFHSixlQUVJLGlRQVFBLDhCQUNJLGtrQkFHSix1Q0FFSSx3T0FHSix5QkFDSSwrQkFjWixpQkFDSSxtQkFzQkEsUUFDSSwwQkFFQSxVQUdJLGtCQUNBLFVBQ0EsV0EvZ0JTLGtCQWtoQlQsU0FDQSxxQkFDQSx5QkFJUixTQUNJLDZDQU1BLE1BQ0ksNENBRUosU0FDSSxRQUNBLDBDQU9KLEtBQ0ksMkNBRUosUUFDSSxTQUNBLFdBa0JaLGdEQTVsdEJrQix5REFnbXRCZCxvREFFNEIsMkJBRzVCLDJEQXJlZ0IsK0JBeWVoQixvREF2bnRCa0IseUJBMm50QmxCLGdEQTNudEJrQiw2Q0FDUyxxREFEVCxrQkFrb3RCVSwrREFxQnhCLDhGQTNweEJKLGlDQWtxeEJJLDhGQWxxeEJKLHNCQXVxeEJBLFdBL2dCd0IsV0EwaUI1QixjQUNJLHlEQUVBLGVBRUksMEJBR0osMkRBeHJ0QmMseUJBNHJ0QmQscUJBQ0ksK0JBRUEsOEZBQ0ksc0JBSVIsU0FDSSxrSEFFQSwyREF2a0JZLG9DQTZrQlosd0JBQ0ksYUE2YVosOERBQ0ksK0RBQ0EsaUJBeFdzQixtQkEwV3RCLHNCQUNBLFVBQ0EsOENBeFdxQiwwQ0FHRix5QkFHRSxrQkFzV3JCLGdCQUNBLG9CQUNBLHdCQUNBLGlCQUNBLDJCQUNBLDBDQTF6NkJ1Qix5QkErejZCdkIsUUFDSSxtQkFNUixjQUNJLG1CQUNBLGVBQ0EscUJBQ0EsaUJBQ0EseUJBQ0EsbUJBQ0Esa0JBQ0EsVUFDQSxjQUNBLGtCQUNBLFVBQ0EsOEdBRUosNkNBOVIrQiw0Q0FIQSxZQWhHUixzQkF3WW5CLG9CQUdBLGlCQUNBLGlCQTVSNkIsZUE4UjdCLCtCQUtKLGNBRUksVUFDQSxrQkFDQSxtQkFDQSxxQkFDQSxtQkFDQSxlQUNBLGdCQUVKLDJEQUdJLDJEQUNBLDZDQW5WK0IsNkNBR0UseUJBbVZqQyxnQkFHSixtQkF6V2dDLG1FQTJXNUIsa0VBQ0EsMkJBQ0Esc0JBRUosZ0JBdDkyQmlCLHdEQTY5MkJqQixtQkF0WGdDLHNFQXdYNUIscUVBQ0EsV0FDQSxZQUNBLHNCQUNBLGFBQ0EsbUJBQ0EsbUJBQ0EsdUJBQ0EsbUJBQ0Esa0JBQ0EsZ0JBQ0EsdUJBS0osNkNBcmI4QiwrQ0FIQSx3QkFNRywwQkFzYjdCLGFBQ0EscUJBQ0EsbUJBRUEsa0JBQ0EsVUFDQSxvQkFLSiw2Q0FwYzhCLCtDQUhBLGdCQTBjMUIsc0JBQ0EsYUFDQSxtQkFDQSw4QkFDQSxjQUNBLG9DQUVBLFlBQ0kscUJBQ0EsbUJBQ0EsMENBT1IsNENBMWI4Qiw0Q0FIQSxrQkFpYzFCLFdBQ0Esa0JBS0osV0FDSSxnQkFDQSwrQ0F2ZTBCLFlBMEdOLDhEQWlZcEIsaUJBOVhxQix1QkFnWXJCLGlDQTVYa0Isa0JBOFhsQixVQUNBLGdCQUNBLDJCQUVBLGdCQUNJLHVFQVVKLFVBNWdCbUIsd0VBK2dCZiwyREFDQSxxRUFVSixVQUZrQix3RUFLZCwyREFDQSx5RUFVSixVQUZvQix3RUFLaEIsMkRBQ0EsMkVBVUosVUFGcUIsd0VBS2pCLDJEQUNBLHVKQUVKLGdCQUNJLHNCQU1SLFdBQ0ksNkNBRUosU0FFSSxxRUFFQSxjQUNJLGtGQU9SLHNCQUVJLGtCQUNBLGdCQUNBLGNBQ0Esb0JBOTF5QjhDLHNDQVM5QywrREFOSyx1Q0FpMnlCVCxpQkFDSSxXQUNBLFVBQ0EsTUFDQSxRQUNBLGdCQW1CQSw0Q0FDSSwwSEFDQSwwSEFDQSwwQ0FkUyw2Q0FDRSxzRUFpQlgsc0ZBRUksb0VBRUoscUZBRUksd0VBRUosdUZBRUksMEVBRUosd0ZBRUksZ0JBckJSLDRDQUNJLHNIQUNBLHNIQUNBLDBDQWRTLDZDQUNFLHNFQWlCWCxzRkFFSSxvRUFFSixxRkFFSSx3RUFFSix1RkFFSSwwRUFFSix3RkFFSSxnQkFyQlIsNENBQ0ksc0hBQ0Esc0hBQ0EsNkNBZFMsZ0RBQ0Usc0VBaUJYLHNGQUVJLG9FQUVKLHFGQUVJLHdFQUVKLHVGQUVJLDBFQUVKLHdGQUVJLHNCQWlCWixzQkFDSSxvQkFDQSxxQkFDQSx1Q0FFQSx5Q0F2YWlDLDRDQUhBLGFBT0gsY0F1YTFCLGFBQ0Esd0JBQ0EsTUFDQSxnQkFDQSwrREFFQSxpQkFDSSw4Q0FHSixhQUNJLGtCQUNBLFNBQ0EsWUFDQSxTQUNBLGNBQ0EsVUFDQSxXQUNBLFVBQ0EsaUVBQ0EseUNBSVIsaURBQ0ksbURBQ0EsNkNBNWMrQiw0Q0FIQSxXQWtkL0IsWUFDQSwyQ0FHSixhQUNJLHdCQU1SLFNBbGY4QixrQkFvZjFCLGNBQ0EsY0FDQSxnQkFDQSxrQkFDQSxVQUNBLDhEQUVBLGFBRUksa0JBQ0EsWUFDQSxTQUNBLGNBQ0EsVUFDQSxXQUNBLFVBQ0EsMkRBRUEsZ0NBR0osb0NBQ0Esc0ZBRUEsd0JBRUksWUFDQSxrQkFDQSxNQUNBLE9BQ0EsU0FDQSxRQUNBLG9GQUVBLFNBdGhCc0Isb0ZBMGhCdEIsVUF2aEI0QiwrQkEwaEJ4QixnQkFDQSxtQkFDQSxnQkFDQSxtQkFDQSxtQkFDQSxzREFJUixnQkFDSSx5REFHSixVQUNJLG1CQUNBLG1CQUNBLFdBMWlCNEIsc0JBNGlCNUIsa0JBQ0EsUUFDQSxRQUNBLDJCQUNBLG1CQVlSLFVBQ0ksb0NBRUEsVUFDSSxtQkFDQSwyQ0FFQSxZQUNJLDBDQUdKLFNBQ0ksZ0JBTVosaUdBQ0ksOERBRUEsb0JBRUksc0JBQ0EsY0FHUixpR0FDSSwwREFFQSxvQkFFSSxzQkFDQSxjQUdSLG9CQUNJLGdCQUNBLDRCQUVKLHFEQTdqQnNDLHFZQXVrQmxDLG1CQWxsekI4QyxpRkFHekMsb0JBVUwsNklBMmt6QkEsaUdBQ0kscUlBRUosaUdBQ0ksb0RBc0JKLGVBRUksb0JBQ0Esb0tBRUosZUFLSSxxR0FFSixlQUVJLGFBV1IsMkRBbnF2Qm1CLGlEQUpELHlEQU9HLHVCQTBxdkJqQixvQkFJUSxpREFycnZCTSxtSEE2cnZCZCx3Q0E1cnZCZ0IsdUNBcXN2QmhCLHlDQXB0dkJrQiw0QkFndXZCbEIsd0NBanR2QmdCLG9CQTZ0dkJoQiw4QkFFSSx5Q0EvdHZCWSx1TUF3dXZCaEIsMkRBcnV2QmUsaURBSkQsd0RBY0QsNEdBb3V2QmIsZ0RBaHd2QmtCLDZDQTQrdEJVLHFEQTUrdEJWLG1QQXd3dkJsQiw0Q0E1eEI0QiwyREFVSSxvQ0FzeUJoQyxnREE5d3ZCYyxxREFvZ3VCUyx1RUErd0JuQiwyRkFFQSxpREEvd3ZCZ0IsOENBb3h2QnBCLDJEQXR4dkJlLGlEQUpELHlEQU9HLHVGQTh4dkJiLHFFQUNJLHFIQUtSLDhDQWh6dkJnQix5Q0EwenZCcEIsd0NBcHp2Qm9CLCtCQXV6dkJaLDhFQWNKLHlGQUgwQix1S0FXdEIsb0RBNTF2QmMsMk1BbTJ2QmQsMkNBQ0ksaUVBSVIsaUJBRUksK0VBRUEsVUFDSSxjQUNBLGtCQUNBLE1BQ0EsU0FDQSxVQS9CMEIseUNBb0NsQyxTQUNJLFdBQ0Esc0lBQ0EsdUNBR0osVUFDSSxVQUNBLHVJQUNBLDhCQXFCSiwyREFsNHZCZSxpREFKRCx3REFjRCx5Q0ErM3ZCYixnREEzNXZCa0IsNkNBNCt0QlUscURBazdCcEIsaUJBbUpaLGdCQTlFK0IsbUJBZ0YzQixzQkFDQSxVQUNBLDhDQWpGMEIsMENBQ0YseUJBQ0Usa0JBbUYxQixnQkFDQSxhQUNBLHdCQUNBLGlCQUNBLDJCQUNBLDBDQWh1OEJ1QiwwQkFtdThCdkIsY0FDSSx3Q0FNUiw0Q0FodE9zQiw4Q0FEQSxzQkFxdE9sQixhQUNBLG1CQUNBLDhCQUNBLGNBQ0EsNkpBRUEsNENBandYaUIsNENBYkEsaUJBa3hYYixxQkFDQSxnRUFHSixjQUNJLG9CQUNBLGVBQ0Esa01BS1IsWUFDSSx3QkFVSixZQUNJLGtCQUNBLGNBQ0EsZ0JBQ0EsMENBS0osVUFFSSw2RkF6SDJCLHFCQURNLG1CQTZIakMsc0JBQ0Esa0JBQ0EsaUdBQ0EsT0FDQSxRQUNBLDJCQUNBLFVBQ0Esc0JBS0osYUFySm9CLGFBQ0MsdUJBdUpqQixvQkFDQSx3QkFDQSxvQkFDQSxnQkFDQSxrQkFDQSxrQkFDQSxjQUNBLCtCQUVBLDRDQTlKMEIsZ0RBQ0UsaUJBZ0t4QixrQkFDQSwwQkFDQSxjQUNBLDBFQUlBLGFBRUksWUFDQSxrQkFDQSxXQUNBLE9BQ0Esb0JBQ0EsK0dBQ0Esc0JBQ0EsZUFDQSxtQkFDQSxzQ0FHSixnRkFwTG1CLHFDQXdMbkIsUUFDSSxjQU9aLFlBQ0kscUJBQ0Esb0JBQ0EsT0FDQSxrQkFDQSxVQUNBLFVBQ0EsZ0JBQ0EsMENBRUEsYUFFSSxrQkFDQSxZQUNBLFNBQ0EsY0FDQSxVQUNBLFdBQ0EsVUFDQSxzQkFHSiwwQkFDQSxnREFLSixpQkFFSSxjQUNBLGNBQ0Esa0JBQ0Esa0JBQ0Esb0JBL3EwQjhDLHNDQVM5QywrREFOSyw4Q0FncjBCTCxXQUNJLFVBNU9ZLFlBOE9aLDRGQUdKLGlCQUNJLFVBQ0EsTUFDQSxRQUNBLHdDQU1SLDRDQXZxZTJCLDRDQVBBLG1CQXNyZTNCLE9BQ0ksNkZBdlAyQixrQkF5UDNCLG9CQUNBLHVCQUNBLG1CQUNBLGtCQUNBLFdBQ0EsMkZBQ0Esb0JBYUEseUNBUGEseUJBQ0UsZ0ZBVVgsaUdBUGdCLHNDQVloQixpR0FaZ0IsOEVBZ0JoQixpREFqQm1CLDRDQURBLG9CQUt2Qix5Q0FQYSx5QkFDRSxnRkFVWCw0RkFQZ0Isc0NBWWhCLDRGQVpnQiw4RUFnQmhCLDRDQWpCbUIsNENBREEsb0JBS3ZCLDRDQVBhLGdCQUNFLGdGQVVYLHNGQVBnQixzQ0FZaEIsc0ZBWmdCLDhFQWdCaEIsNENBakJtQiw0Q0FEQSxpSEFnQ3ZCLG1CQTV2MEI4QyxpRkFHekMsb0JBVUwsaUJBeXcwQkosMkRBOXl3Qm1CLGlEQUpELHlEQU9HLGdFQXd6d0JqQiwyQ0ExMHdCb0IsNEVBODB3QnBCLGlEQTd6d0JvQiwrQkF1MHdCcEIsd0NBNTB3QmdCLHVDQWkxd0JaLGdEQWwxd0JVLDBDQWcyd0JkLGdFQUdJLDRCQUdKLHlDQXAzd0JrQixtQkF5M3dCdEIsd0JBQ0ksbUJBR0osMkRBMzJ3Qm1CLHlEQUdFLDRCQW00d0JqQixnREExNHdCYyx3REFjRCxZQWlueEJqQixXQTlDa0Isc0JBZ0RkLDBDQTFDa0IsOENBSEUsNkNBTUEsYUEyQ3BCLHdCQUNBLG1DQXpEZSx1REE0RGYscUJBR0ksdUJBS1IsaUJBQ0ksbUNBckVlLDJCQXlFbkIsaUJBQ0ksbUNBMUVlLGtCQThFbkIsVUFDSSxZQUNBLGdCQUNBLHNCQUdKLFVBQ0ksWUFDQSxjQUNBLGlCQUNBLHFDQUlKLFdBQ0ksMkJBSUosV0FDSSwrQkFJSixpREFsRTBDLDZDQUdELGtCQUdDLFlBc0YxQyxvREF0c3hCcUIsd0hBNnl4QnJCLGNBQ0ksc0JBQ0EsVUFDQSwwQ0E5QndCLDhDQUhFLGNBTUEsb0JBK0IxQixrQkFDQSwyQkFDQSwwQ0E3KzlCdUIsc0VBZy85QnZCLHFCQUdJLHVCQUtSLFVBQ0ksWUFDQSx5QkFDQSxrQkFDQSxzQkFJSixvQ0FoRDZCLDREQW1EekIsZ0JBQ0EsZUFDQSx5REFFQSxpQkFFSSxZQUNBLCtIQUdKLGlCQUlJLFlBQ0EseURBMEJKLHdFQTk0MUJBLHlEQW01MUJBLHdFQUVJLHVFQUdKLDREQUVJLGtCQXFWUixvREFySWlDLFlBTlIsOENBSkMsa0VBb0p0QixpQkE3STRCLHNCQStJNUIsVUFDQSwwQ0E5SHlCLDhDQUhFLDZDQU1BLGFBK0gzQixzQkFDQSxvQkFDQSxvQ0E3SnNCLDJCQStKdEIsMENBNzUrQnVCLHlFQWc2K0J2QixxQkFHSSx5QkFLUixtQ0ExSzBCLDBDQTZLdEIsb0RBN0hvQyxrQkErSGhDLGNBQ0EsaUJBQ0EseUNBR0osb0RBcElvQyxhQU1HLDJDQW1JdkMsZUF6RTBDLGlCQUdBLGtCQXlFdEMsUUFDQSxTQUNBLFVBQ0EsZUFDQSx5Q0FHSixpQkFDSSxjQUNBLG9DQXJNa0IsZ0NBMk0xQixpQkFwSDRDLFdBWlIsWUFHQyxpQkFHTSxtQkErSHZDLGtCQTVId0Msb0JBOEh4QyxzQkFDQSwyQ0FNQSxVQS9KaUMsYUFVRyxjQXdKaEMsMkRBRUosVUFwS2lDLG1CQUdHLGlCQW9LaEMsNkNBR0osVUE3SnNDLFlBYkwsY0E2SzdCLDZEQUVKLFdBL0tpQyxtQkFHRyxnQkErS2hDLGdFQUdKLFVBQ0ksV0FDQSxZQUNBLGNBQ0EsbUJBQ0Esa0JBQ0EsV0FDQSw4Q0FHSixTQUNJLDZDQUdKLFlBQ0ksdUNBR0osZ0JBak04Qyx5QkF1TWxELGtDQTdJNkIsc0RBZ0p6Qix3QkFDSSxtRUFHSixtQ0FqSitCLDJDQXFKL0IsVUEzSjJCLHdDQStKM0Isd0JBQ0ksdUJBQ0Esa0JBQ0EsbUJBQ0EscUNBT0osWUFDSSxxQkFDQSxtQ0E1SjJCLG1EQWdLL0IsNENBaEsrQix3REFvSy9CLG1EQXZLMEMsd0RBMksxQyxtQkFDSSxtQkFDQSwyQ0FDQSxnRUFFQSxxQkFDSSxpTEFJSix5QkFFSSx1QkFJWixpQkFDSSxNQUNBLE9BQ0EsaUJBQ0Esb0JBQ0Esa0JBdUJKLDJEQXI2eUJtQixpREFKRCx5REFPRyxpREEwNnlCckIsMkRBNzZ5Qm1CLDBCQXRoRWYseUNBMDgyQkosdUhBQ0ksZ0NBSUosK0JBL1FxQywrQkFISixtQkFqMitCakIsMEJBMG4vQlosNkVBRUEsaUJBbG8vQlksK0JBb28vQlksbUJBOW4vQlosMEJBb3FJWiwySkErOTJCQSxpQkF6by9CWSwrQkE2by9CWSxtQkF2by9CWiwwRUE4by9CWixtR0FDSSx3RUFHSixpR0FDSSxnRUFJUixnRUFFSSw4QkFJSix3Q0F0K3lCb0Isd0pBZy95Qlosa0dBQ0ksZ0JBd0taLG9EQXpFK0IsZ0JBTkosaUJBR0csbUJBZ0YxQixzQkFDQSxVQUNBLDBDQXpFdUIsOENBSEUsNkNBTUEsb0JBMEV6QixzQkFDQSxvQkFDQSxtRUFFQSxxQkFHSSx1QkFLUix5RUFDSSwrQkFHSixrQ0FoRW9DLHdCQW9FcEMsWUFDSSx3QkFDQSxvQkFDQSx1QkFDQSxvQ0E5RHlCLGtCQWdFekIsVUFDQSx5Q0FFSixVQXpFcUMsWUFHQyxzQkE0RXRDLHVIQUNJLDhDQWpJb0IsMEhBc0lwQixTQUNJLFdBQ0EsZUFDQSwyRkFFSixrQkFFSSxtQkFsRTZDLGdCQW9FN0Msc0NBR0osaUJBQ0ksMkNBR0osc0VBQ0kseUVBQ0EsNkxBS1IsUUFDSSxnQkF1QkosMkRBeHZ6Qm1CLGlEQUpELHlEQU9HLDZDQTZ2ekJyQiwyREFod3pCbUIsMEJBdGhFZiwrRUE0eDNCSixlQUVJLDZCQWhJZ0QsZ0NBMk5wRCxpQkFDSSxzQkEyaUJKLFlBQ0kseUJBQ0Esa0JBSUosbURBakJtQixnQkFtQmYsMENBRUEsNENBbmpUa0IsOENBREEsK0RBeWpUbEIsVUFFSSxlQUNBLGlEQUtSLGlCQUVJLHVEQUNBLGtDQUlKLHVCQUNJLGtDQUVKLDJCQUNJLHFLQUlBLDBCQUlJLHdDQXdPUixVQWhvVHdCLGFBa29UcEIscUJBQ0EscUJBQ0EsbUNBQ0EsZ0tBRUEscUJBR0ksa0VBR0osVUFyQjZCLHlCQWtDakMsZUFDSSxrQkFDQSxvQkFDQSxZQUNBLHVCQXlISixlQUNJLHFDQUVKLGNBQ0ksc0JBb0hKLGlCQUNJLFVBQ0Esc0NBRUEsY0FDSSxrQkFDQSxxREFHSixVQUNJLGVBQ0EscUNBR0osWUFDSSxhQTJiUixTQUNJLGVBQ0EsZ0JBQ0Esc0JBQ0EsVUFDQSw4Q0FuTXFCLDZDQUdGLGlCQVlFLGNBd0xyQixlQUNBLGNBQ0EsbUJBQ0EsMkJBQ0EsMENBM2pqQ3VCLDBEQThqakN2QixxQkFHSSxvQkFNUixzQ0FDSSxjQUNBLGtCQUNBLFVBQ0EsbUJBS0osUUFDSSxVQUNBLGdCQUNBLGtCQUNBLFVBQ0EsMkJBQ0EsMENBdGxqQ3VCLGdDQXlsakN2QixlQUNJLGlEQU1SLFlBR0ksbUJBQ0EsbUJBQ0EscUJBQ0Esa0JBS0osa0JBQ0ksU0FDQSxtQkFDQSxlQUNBLGNBQ0Esb0JBS0oseUJBQ0ksVUFDQSxvQkFDQSxxQkFDQSxtQkFDQSxlQUNBLDRCQUVKLHVDQTlxK0JpQix1QkFncitCYixxQkFLSiwyQ0F0citCaUIsOERBNHIrQmpCLGlCQUVJLGtCQUtKLDRDQXRQNEIsNENBWkEsK0JBc1F4QixxQkFDQSxvQkFDQSxtQkFDQSxxQkFDQSxzQkFDQSxrQkFDQSwrRUFFQSwyQ0EvcytCYSwwQkFxdCtCYixTQUNJLDBDQU1SLGNBQ0ksaU1BRUEseUJBSUkscUpBWUosY0FDSSxtQkFuVFksaUtBd1RoQixjQUNJLDJDQXR2K0JTLDY4QkE2ditCVCxjQUdJLDJDQWh3K0JLLGdCQTh3K0JiLHlDQVBhLHlCQUNFLGlDQVVYLGlEQVJjLDRDQURBLGlDQWNkLGlEQVhrQiwrQ0FEQSxnQkFHdEIseUNBUGEseUJBQ0UsaUNBVVgsNENBUmMsNENBREEsaUNBY2QsaURBWGtCLCtDQURBLGdCQUd0Qiw0Q0FQYSxnQkFDRSxpQ0FVWCw0Q0FSYyw0Q0FEQSxpQ0FjZCw4Q0Faa0IsYUF1QzFCLGdEQWhsM0JrQixpREFpbTNCZCwrRkF2U3VCLDZCQXdUdkIsMkNBN24zQm9CLDBDQXlvM0J4QixhQW5TMkIsK0JBSEYsaUdBOFNyQixhQWpTNkIsK0JBSEYsaUdBOFMzQixhQWpTNkIsK0JBSEYsaURBeVUzQiwrRkEzWHVCLGlEQXNZdkIsK0ZBdFl1Qiw2QkFpWnZCLDJDQXR0M0JvQiwwR0FreDNCcEIsb0RBQ0ksc0RBQ0EsNkdBR0osNENBbkI2Qiw4Q0FIQSxvQ0E2QjdCLFVBQ0ksZUFDQSwyQ0FHSixXQUNJLFVBQ0EsZ0JBQ0EsVUFDQSxxQkFDQSxtQkFDQSxXQStQUixRQUNJLFVBQ0EsZUFDQSxzQkFDQSxVQUNBLGdCQUNBLDhDQTVEbUIsMENBR0YsNkNBR0Usb0JBMERuQiwyQkFDQSwwQ0F4dGtDdUIsb0RBMnRrQ3ZCLHFCQUdJLHNCQUdKLG1CQUNJLHFCQUlSLGFBQ0ksa0JBQ0EsZUFDQSxxREF4RTBCLG9DQTJFMUIsbUJBQ0ksa0JBQ0EsOENBdngvQlMsc0RBOHMvQlMsbUJBNEVsQixzQkFDQSxTQUNBLFVBQ0EsZ0JBQ0EsbUNBQ0Esc0NBRUEsbUJBQ0ksK0hBR0osZUFFSSxrQkFDQSxvQ0F4eS9CSyw0Q0E4cy9CUyxnQkE2RmQsbUVBR0osYUFDSSx3Q0FHSixpQkFDSSxpQkFLWixtQkFDSSxtQkFDQSxzQkFDQSxnQkEvMGdDZSw2Q0FvaEJGLDZDQUhBLG9FQXMwL0JiLFNBQ0ksNkNBdEhrQiw4R0EwSHRCLGFBQ0ksV0F1QlIsZ0RBdm80QmtCLGlGQThvNEJOLGdEQUNJLHVHQUdKLGdEQUNJLGdCQU1oQix3Q0F4cDRCb0IsMkJBMnA0QmhCLGdEQXhxNEJ5QixtRUEycTRCckIsZ0RBM3E0QnFCLDZDQWlyNEJ6QixnREFqcjRCeUIsZUFvcjRCckIsV0E0V1IscUJBQ0ksVUFFQSxvQkFDQSxtQkFDQSxzQkFDQSxjQUNBLGtCQUNBLGVBQ0EsaUJBQ0EsMkJBQ0EsMENBL3NsQ3VCLG9EQWt0bEN2QixxQkFHSSwyQkFHSixZQUNJLCtCQUdKLG1CQUNJLHNCQU1SLG1CQUNJLGlCQUtKLFNBR0ksYUFDQSxxQkFDQSxjQUNBLGtCQUNBLDhDQUNBLHNCQUtKLE9BQ0ksU0FDQSxpQkFDQSxrQkFDQSxrQ0FDQSxRQUNBLGlCQUVKLGFBR0ksa0JBQ0EsZ0NBQ0Esd0NBS0osWUF0UHlCLGtCQTBQckIsUUFDQSwyQkFDQSxnQkFDQSxjQWVBLFVBUGUsWUFDQyw4QkFXWixVQVpXLFlBQ0MsaUNBZ0JaLFFBWlksa0NBYVosU0FiWSw4QkFlWixVQWxCVyxZQUNDLCtDQXNCWiw0QkFDSSxnREFFSixxQkFDSSwySEFRSixTQUNJLFVBakNRLDhIQW9DWixVQUNJLFNBckNRLHFLQXlDWixxQkFDSSx3S0FFSiw0QkFDSSxjQTNDUixVQVBlLFlBQ0MsOEJBV1osVUFaVyxZQUNDLGlDQWdCWixRQVpZLGtDQWFaLFNBYlksOEJBZVosVUFsQlcsWUFDQywrQ0FzQlosNkJBQ0ksZ0RBRUosc0JBQ0ksMkhBUUosU0FDSSxVQWpDUSw4SEFvQ1osVUFDSSxTQXJDUSxxS0F5Q1osc0JBQ0ksd0tBRUosNkJBQ0ksY0EzQ1IsVUFQZSxZQUNDLDhCQVdaLFVBWlcsWUFDQyxpQ0FnQlosUUFaWSxrQ0FhWixTQWJZLDhCQWVaLFVBbEJXLFlBQ0MsK0NBc0JaLDZCQUNJLGdEQUVKLHNCQUNJLDJIQVFKLFNBQ0ksVUFqQ1EsOEhBb0NaLFVBQ0ksU0FyQ1EscUtBeUNaLHNCQUNJLHdLQUVKLDZCQUNJLHlJQVlSLDhCQUNJLG1DQXVCSixVQUNJLFdBQ0EsWUFDQSxtQkFDQSxhQUNBLFVBQ0EsZ0NBQ0Esa0JBQ0EsV0FDQSxRQUNBLFNBQ0Esb0JBQ0EsbUZBTUEsYUFDSSxZQUNBLG1GQU9KLGFBQ0ksWUFDQSwrQkFtQlIsZ0dBL1hvQiwrQkF1WXBCLHdEQWhWb0Isa0NBOFlwQixtQkFDSSw4QkFTSix5RkE3WG1CLDhCQXFZbkIsb0RBbjE1QmtCLGtDQWk1NUJsQixtQkFDSSwyQkFxQkoseUJDNTRwQ2EsK0NEaTVwQ2Isd0JBQ0ksZ0RBRUosMkRBQ0ksc0JBd0pSLFlBMUR3QixhQTREcEIscUJBQ0EsbUJBSUosNENBdkV1Qiw4Q0FIQSxpQkFNRyxtQkF3RXRCLHNCQUNBLDBDQS9EbUIsOENBSEUseUJBTUEsY0FnRXJCLGFBQ0Esd0JBQ0EsbUJBQ0EsdUJBQ0Esa0JBQ0Esb0NBRUEsNENBekRzQixvQ0E2RHRCLDRDQWhEc0Isb0NBcUR0Qiw0Q0E5Q3dCLG1CQXdFNUIsMkRBaG42Qm1CLGlEQUpELHlEQThnNkJGLDhEQTZHWix3Q0FoR21CLG9DQXVHbkIsd0NBam82QmdCLGdGQTBvNkJoQix5Q0F6cDZCa0IsV0FvejZCdEIsZ0JBeEd3QixtQkEwR3BCLHNCQUNBLFVBQ0EsOENBekdtQiwwQ0FHRix5QkFHRSxrQkF1R25CLGNBQ0EsMkJBQ0EsMENBaCttQ3VCLG9EQW0rbUN2QixxQkFHSSw0QkFHSixhQUNJLG9EQUlKLDRDQW5HMEIsOENBSEEsZUEwR3RCLGVBQ0EsYUFDQSxtQkFDQSw4QkFDQSxrQkFDQSwrQkFDQSxzRkFFQSxpQkFDSSxtQkFDQSxtQkFDQSxnQkFDQSx1QkFDQSxrQkFDQSxPQUNBLHNGQUdKLGtCQUNJLGFBQ0EsbUJBQ0Esa0JBQ0Esc0dBRUEsZ0RBNWppQ0ssd0hBaWtpQ1QsWUFDSSwrQ0FLSixZQUNJLGdFQUdKLGFBQ0ksMkJBS1IsZ0JBcktrQixnQkF1S2QsU0FDQSxVQUNBLHFCQUNBLG1CQUNBLHFCQUNBLGdCQUNBLHFGQUVBLFVBRUksYUFDQSw4QkFDQSwwQ0FHSixrQkFDSSw0Q0FHSixzQkFDSSxtQ0FHSiwwR0FDSSxxQkFDQSxtQkFDQSxhQUNBLGFBQ0EsdUJBQ0Esa0JBQ0EsOENBR0osY0FDSSx1Q0FHSix3Q0FDSSxPQUNBLGdCQUNBLHVCQUNBLG1CQUNBLGtCQUNBLHlDQUdKLGNBQ0ksNkNBbG9pQ0ssbUJBb29pQ0wsc0JBQ0EsMEZBR0osMkNBRUksZUFDQSw4Q0FHSixxQkFDSSx3QkFDQSxpQkFDQSw4S0FHSixhQUlJLHdDQUdKLGVBQ0ksdUJBQ0EsbUJBQ0Esa0JBQ0EsdUlBR0osNENBbk13QixnREFHRSw4REEwTXRCLGlCQUNJLHlDQUlSLGlCQUNJLHdDQUlSLHVCQ3o1cUNjLGNEMjVxQ1YsZ0JBQ0EsV0FDQSwyRUFHSixnREFycmlDYSx3QkMzdUlDLGNEbzZxQ1YsZ0JBQ0EsV0FDQSxrREFJQSw2Q0E1TzBCLGNBOE90QixxREFHSixxREFDSSwwQkFJUiwrQkFDSSxrQkFDQSxrQ0EvUGtCLCtFQWtRbEIsV0FDQSxzSUFJSixvQkFDSSx1QkFLUixpQkFDSSxjQUNBLDZCQUVBLCtCQUVJLFNBQ0EsVUFDQSxXQUNBLFlBQ0EsVUFDQSxlQUNBLGtCQUNBLFNBQ0EsUUFDQSxVQUNBLDhFQUVKLGlCQUVJLFdBdUJSLDJEQXRpN0JtQixpREFKRCx5REFPRyxvREEwaTdCakIsMkRBN2k3QmUsaURBSkQseURBREYsb0VBMGo3QlIsdURBM2k3QlMsc0ZBK2k3QlQsd0NBNWo3QlksNkNBbWs3QmhCLDJEQWhrN0JlLDJCQXNrN0JYLDBDQTVsL0JKLDRDQWdtL0JJLG9DQWhtL0JKLDRCQXNtL0JBLHdDQW5sN0JnQix1REEwbDdCWixpREFubTdCVyxzREEybTdCWCx5Q0ExbTdCYyxzREE4bTdCZCxvREE5bTdCYyxvREFxbjdCZCx1Q0FubjdCWSxvREFzbjdCWixrREF0bjdCWSxnQ0EybjdCaEIsd0NBcm43QmdCLHVJQTBuN0JoQix3Q0ExbjdCZ0IscURBZ283QmhCLGdEQWpvN0JjLG1GQXNvN0JkLDhDQTNvN0JnQiw0QkFrcTdCaEIsZUFDSSx5REFDQSxXQXdIUiw0Q0FoRHFCLDhDQUhBLGlCQU1HLG1CQW1EcEIsc0JBQ0EsVUFDQSw4Q0EvQ21CLDBDQUdGLDZDQUdFLGdCQTZDbkIsYUFDQSxtQ0ExQ1csbUJBNENYLG1CQUNBLGdCQUNBLDJCQUNBLDBDQXo5bkN1QixvREE0OW5DdkIscUJBR0ksYUFHSixhQUNJLDZCQUlKLG1CQUNJLGlCQUNBLG1CQUNBLDRCQUtKLGFBQ0ksa0NBRUosV0FDSSwrQkFLSixRQUNJLFFBQ0EsZUFDQSxtQkFDQSx1QkFDQSxxQkFDQSx3Q0FLSixVQUVJLG9EQUVKLGlCQUNJLGtCQU9SLGVBQ0ksa0JBS0osVUFDSSxnQkFDQSxNQUNBLGFBM0hjLGlCQWlJbEIsVUFDSSxlQUNBLFVBQ0EsZUFLSixLQUNJLFlBQ0Esa0JBRUosUUFDSSxTQUNBLGlDQUVBLFFBQ0ksV0F1QlIseUJBQ0ksa0JBRUoseUJBQ0ksbUJBTUEsNENBUVEscURBaDQ3QlMscUJBdzM3QmpCLDhDQVFRLHVEQWg0N0JTLG9CQXczN0JqQiw2Q0FRUSxzREFoNDdCUyxnQkF3MzdCakIseUNBUVEsa0RBaDQ3QlMsbUJBdzM3QmpCLDRDQVFRLHFEQWg0N0JTLG1CQXczN0JqQiw0Q0FRUSxxREFoNDdCUyxpQkF3MzdCakIsMENBUVEsbURBaDQ3QlMsZ0JBdzM3QmpCLHlDQXhKaUIsa0RBNXc3QkYsaUJBbzY3QmYsMENBL0prQixtREFwdzdCRixtQkFtNjdCaEIsNENBUVEsa0RBaDQ3QlMsUUFnbjhCckIsU0FDSSxlQUNBLG1CQUNBLDJCQUNBLHNCQUNBLGNBQ0EsK0JBQ0EsMENBMUpjLHlCQUdFLDhDQU5BLGtCQWlLaEIsbUJBQ0Esb0JBQ0EsbUJBQ0EsdUJBQ0Esc0JBQ0EsZ0JBQ0EsdUJBQ0EsZUFDQSxhQUNBLDJDQUVBLHFCQUdJLGNBR0osWUFDSSxhQUtSLGtEQXBKdUIseUVBdUpuQixnRkFFQSwyREFuSmlCLHlFQXNKYixXQVVKLGlGQUNJLFdBREosaUVBQ0ksV0FESixxRkFDSSxjQU1SLFFBQ0ksMkNBaktvQiwyQ0FIQSxhQXVLcEIscUJBR0oscUJBQ0ksNENBRUosa0JBQ0ksa0JBR0osNkJBQ0ksMENBRUosa0JBQ0ksYUFHSixvQkFDSSxnREFDQSxhQUNBLG1CQUNBLGFBQ0EsbUJBQ0EseUJBQ0EsZUFDQSwwQkFFQSxrQkFDSSwyQ0FFQSwyQ0FFSSx5QkFHUiwwQkFDSSwwQ0FFQSwwQ0FFSSxrQkFLWiw2Q0E3TTRCLGdFQU1HLGtCQUdDLDZDQUdKLGdEQUdFLGtCQXVNOUIsd0ZBbk00Qix5R0FNRyxrQkFHQyx1QkErTDVCLGFBQ0EsNEZBT0Esa0JBQ0ksOEZBR0osMEJBQ0ksYUFpQlIsd0JBQ0ksc0JBaUpBLHlCQUNJLGlEQTM1OEJhLDZDQTY1OEJiLHFEQTc1OEJhLHdCQTA1OEJqQix5QkFDSSxtREEzNThCYSwrQ0E2NThCYix1REE3NThCYSx1QkEwNThCakIseUJBQ0ksa0RBMzU4QmEsOENBNjU4QmIsc0RBNzU4QmEsbUJBMDU4QmpCLHlCQUNJLDhDQTM1OEJhLDBDQTY1OEJiLGtEQTc1OEJhLHNCQTA1OEJqQix5QkFDSSxpREEzNThCYSw2Q0E2NThCYixxREE3NThCYSxzQkEwNThCakIseUJBQ0ksaURBMzU4QmEsNkNBNjU4QmIscURBNzU4QmEsb0JBMDU4QmpCLHlCQUNJLCtDQTM1OEJhLDJDQTY1OEJiLG1EQTc1OEJhLG1CQTA1OEJqQix5QkFDSSw4Q0EzNThCYSwwQ0E2NThCYixrREE3NThCYSxvQkEwNThCakIseUJBQ0ksK0NBMzU4QmEsMkNBNjU4QmIsbURBNzU4QmEsc0JBMDU4QmpCLHlCQUNJLDhDQTM1OEJhLDZDQTY1OEJiLGtEQTc1OEJhLHlEQW82OEJqQixzREFFSSwyREFDQSw2REFISix3REFFSSw2REFDQSwyREFISix1REFFSSw0REFDQSxtREFISixtREFFSSx3REFDQSx5REFISixzREFFSSwyREFDQSx5REFISixzREFFSSwyREFDQSxxREFISixvREFFSSx5REFDQSxtREFISixtREFFSSx3REFDQSxxREFISixvREFFSSx5REFDQSx5REFISixzREFFSSwyREFDQSx5REFNSix1REFFSSw0REFDQSw2REFISix5REFFSSw4REFDQSwyREFISix3REFFSSw2REFDQSxtREFISixvREFFSSx5REFDQSx5REFISix1REFFSSw0REFDQSx5REFISix1REFFSSw0REFDQSxxREFISixxREFFSSwwREFDQSxtREFISixvREFFSSx5REFDQSxxREFISixxREFFSSwwREFDQSx5REFISix1REFFSSw0REFDQSwyRkFNSix1REFHSSw0REFDQSwwQkM1N3NDUyxpR0R3N3NDYix5REFHSSw4REFDQSwwQkM1N3NDUyw4RkR3N3NDYix3REFHSSw2REFDQSwwQkM1N3NDUyxrRkR3N3NDYixvREFHSSx5REFDQSwwQkM1N3NDUywyRkR3N3NDYix1REFHSSw0REFD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Zk4sb0RxQnBmUSx3SUFDRSwyQkFVViw2SUFFRSxZQUNBLDZMQUNFLFlBS0EsdUdBQ0UseUJBQ0Esd0JBT04sMklBRUUsV0FDQSwyTEFDRSxXckJtZEoseUJxQjdjTSxnR0FDRSw4REFNTix1RkFDRSx1QkFJTSxrSkFDRSxXQU1OLDJIQUNFLGtDQUNBLGdCckJ3YlIseUJxQjNhTSxzRkFDRSw4REFXUix1SEFFRSxXQUVGLHNFQUNFLHlCQUNBLFdBQ0EsZ0dBQ0UsWUFJTiwrRUFFRSxXQUNBLHlHQUNFLDBCQUNBLGNBQ0Esb0JBRUYsK0hBQ0UsZUFDQSxTQUNBLFdBR0osb0NBQ0UsZ0JBQ0EsMERBQ0Usd0JBQ0EsZUFDQSxTQUNBLHdFQUNFLDBCQUNBLHFDQUNBLGdHQUNFLENBS04seURBQ0Usb0JBSUYsNERBQ0UsK0JBQ0EsMkJBRUYsK0RBQ0Usa0JBT0UsMkdBQ0UsZ0JBUUYsMEdBQ0UsWUFNRiwrRkFDRSw2REFLSixzRkFDRSx1QkFFRSwwSEFDRSxZQUNBLGdCQU1FLGlKQUNFLFciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9vaXMtcm9sbG91dC1hcHAtZnJvbnRlbmQvLi9zcmMvTW9kdWxlcy9Mb2dpbi9QYWdlcy9TcGxhc2guc2NzcyIsIndlYnBhY2s6Ly9vaXMtcm9sbG91dC1hcHAtZnJvbnRlbmQvLi9zcmMvYXNzZXRzL3Njc3MvYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9vaXMtcm9sbG91dC1hcHAtZnJvbnRlbmQvLi9zcmMvTW9kdWxlcy9Vc2VyL1BhZ2VzL0FjY291bnQuc2NzcyIsIndlYnBhY2s6Ly9vaXMtcm9sbG91dC1hcHAtZnJvbnRlbmQvLi9zcmMvTW9kdWxlcy9Qcm9qZWN0cy9Db21wb25lbnRzL0RhdGFDb2x1bW5zL0RhdGFDb2x1bW5zLnNjc3MiLCJ3ZWJwYWNrOi8vb2lzLXJvbGxvdXQtYXBwLWZyb250ZW5kLy4vc3JjL01vZHVsZXMvUHJvamVjdHMvQ29tcG9uZW50cy9TZWxlY3RQcm9qZWN0Rm9ybS9TZWxlY3RQcm9qZWN0Rm9ybS5zY3NzIiwid2VicGFjazovL29pcy1yb2xsb3V0LWFwcC1mcm9udGVuZC8uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly9vaXMtcm9sbG91dC1hcHAtZnJvbnRlbmQvLi9zcmMvTW9kdWxlcy9Qcm9qZWN0cy9QYWdlcy9DcmVhdGVSb2xsb3V0LnNjc3MiLCJ3ZWJwYWNrOi8vb2lzLXJvbGxvdXQtYXBwLWZyb250ZW5kLy4vc3JjL01vZHVsZXMvUm9sbG91dExpc3QvQ29tcG9uZW50cy9EYXRhQ29sdW1ucy9EYXRhQ29sdW1ucy5zY3NzIiwid2VicGFjazovL29pcy1yb2xsb3V0LWFwcC1mcm9udGVuZC8uL3NyYy9Nb2R1bGVzL1JvbGxvdXRMaXN0L1BhZ2VzL1JvbGxvdXRMaXN0LnNjc3MiLCJ3ZWJwYWNrOi8vb2lzLXJvbGxvdXQtYXBwLWZyb250ZW5kLy4vc3JjL01vZHVsZXMvU2V0dGluZ3MvUGFnZXMvU2V0dGluZy5zY3NzIiwid2VicGFjazovL29pcy1yb2xsb3V0LWFwcC1mcm9udGVuZC8uL3NyYy9Nb2R1bGVzL0NvcmUvQ29tcG9uZW50cy9Gb3JtRmllbGRzL1RleHRCb3hXaXRoU3VnZ2VzdGlvbi5zY3NzIiwid2VicGFjazovL29pcy1yb2xsb3V0LWFwcC1mcm9udGVuZC8uL3NyYy9Nb2R1bGVzL0xvZ2luL0NvbXBvbmVudHMvUmVkaXJlY3RDYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vb2lzLXJvbGxvdXQtYXBwLWZyb250ZW5kLy4vbm9kZV9tb2R1bGVzL2Ryb3B6b25lL2Rpc3QvZHJvcHpvbmUuY3NzIiwid2VicGFjazovL29pcy1yb2xsb3V0LWFwcC1mcm9udGVuZC8uL3NyYy9Nb2R1bGVzL1JvbGxvdXQvUGFnZXMvR2VuZXJhdGVSb2xsb3V0LnNjc3MiLCJ3ZWJwYWNrOi8vb2lzLXJvbGxvdXQtYXBwLWZyb250ZW5kLy4vc3JjL2Fzc2V0cy9zY3NzL2NvbW1vbi9EYXNoYm9hcmQuc2NzcyIsIndlYnBhY2s6Ly9vaXMtcm9sbG91dC1hcHAtZnJvbnRlbmQvLi9zcmMvTW9kdWxlcy9EYXNoYm9hcmQvUGFnZXMvRGFzaGJvYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vb2lzLXJvbGxvdXQtYXBwLWZyb250ZW5kLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby1mb250LWljb25zL3Njc3MvaW5kZXguc2NzcyIsIndlYnBhY2s6Ly9vaXMtcm9sbG91dC1hcHAtZnJvbnRlbmQvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLWZvbnQtaWNvbnMvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vb2lzLXJvbGxvdXQtYXBwLWZyb250ZW5kLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby1mb250LWljb25zL2Rpc3QvaW5kZXguY3NzIiwid2VicGFjazovL29pcy1yb2xsb3V0LWFwcC1mcm9udGVuZC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tZm9udC1pY29ucy9zY3NzL19pY29uLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9vaXMtcm9sbG91dC1hcHAtZnJvbnRlbmQvLi9zcmMvYXNzZXRzL3Njc3Mvc3R5bGUuc2NzcyIsIndlYnBhY2s6Ly9vaXMtcm9sbG91dC1hcHAtZnJvbnRlbmQvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLW1hdGVyaWFsL2Rpc3QvYWxsLnNjc3MiLCJ3ZWJwYWNrOi8vb2lzLXJvbGxvdXQtYXBwLWZyb250ZW5kLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1tYXRlcmlhbC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9vaXMtcm9sbG91dC1hcHAtZnJvbnRlbmQvLi9zcmMvYXNzZXRzL3Njc3MvYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9vaXMtcm9sbG91dC1hcHAtZnJvbnRlbmQvLi9zcmMvYXNzZXRzL3Njc3MvYmFzZS9faWNvbi5zY3NzIiwid2VicGFjazovL29pcy1yb2xsb3V0LWFwcC1mcm9udGVuZC8uL3NyYy9hc3NldHMvc2Nzcy9jb21tb24vVG9vbGJhci5zY3NzIiwid2VicGFjazovL29pcy1yb2xsb3V0LWFwcC1mcm9udGVuZC8uL3NyYy9hc3NldHMvc2Nzcy9jb21tb24vUmVzcG9uc2l2ZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uLy4uLy4uL2Fzc2V0cy9zY3NzL2Fic3RyYWN0cy92YXJpYWJsZXMnO1xuXG4ubG9naW4tbG9nbyB7XG4gIHdpZHRoOiA1MDBweDtcbn1cblxuLmxvZ2luLWxvZ28tbW9iaWxlIHtcbiAgd2lkdGg6IDMwMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ubG9naW4tdGl0bGUge1xuICBmb250LXNpemU6IDI2cHg7XG4gIGNvbG9yOiAkZGFyaztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4zNnB4O1xufVxuXG4ubG9naW4tYnV0dG9uIHtcbiAgcGFkZGluZzogNXB4IDgwcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JleS1jb2xvciAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmV5LWNvbG9yICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5sb2dpbi1iZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9iZzEyLmpwZWcnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3gtc2hhZG93OiAxMHB4IDVweCA1cHggbGlnaHRncmF5O1xuICBvcGFjaXR5OiAwLjA5O1xufVxuXG4uYmctdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB6LWluZGV4OiAyO1xufVxuXG4ubG9naW4tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgaGVpZ2h0OiAxMDB2aDtcblxuICAubG9naW4tcnNpZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay1jb2xvcjtcbiAgfVxuXG4gIC5sb2dpbi1mc2lkZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWNvbG9yO1xuICB9XG5cbiAgLmxvZ2luLXJzaWRlLFxuICAubG9naW4tZnNpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbi5sb2dpbi1tb2JpbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAmLmtleWJvYXJkLWNsb3NlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cblxuICB3aWR0aDogMTAwJTtcblxuICAubG9naW4tbG9nbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG4ubG9naW4tZ3JpZC1tb2JpbGUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWNvbG9yO1xufVxuXG4ubG9naW4tZ3JpZC5lcnJvciB7XG4gIC5sb2dpbi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG5cbiAgLmFsZXJ0LWluZm8ge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4uay1mb250LWJvbGQge1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbi5rLWxvZ2luLWlucHV0LmstaW5wdXQtc29saWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JleSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLXNtb2tlO1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5rLWxvZ2luLWlucHV0LmstaW52YWxpZC5rLWlucHV0LXNvbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAkZXJyb3ItY29sb3IgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmZvcm0tY29udGFpbmVyLW1vYmlsZSB7XG4gIHdpZHRoOiA3MCU7XG59XG5cbi5rLXctMTAwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5taWNyb3NvZnQtbG9naW4tYnV0dG9uIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRjJGMkY7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5taWNyb3NvZnQtbG9naW4tYnV0dG9uIGltZyB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmdvb2dsZS1sb2dpbi1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJGMkYyRjtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4uZ29vZ2xlLWxvZ2luLWJ0biB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG4ubG9naW4tZ3JpZCAuZ29vZ2xlLWxvZ2luLWJ0biwgLmxvZ2luLWdyaWQgLm1pY3Jvc29mdC1sb2dpbi1idG4sLmxvZ2luLWdyaWQtbW9iaWxlIC5nb29nbGUtbG9naW4tYnRuLC5sb2dpbi1ncmlkLW1vYmlsZSAubWljcm9zb2Z0LWxvZ2luLWJ0bntcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCJAaW1wb3J0ICd+QHByb2dyZXNzL2tlbmRvLXRoZW1lLW1hdGVyaWFsL3Njc3MvX3ZhcmlhYmxlcy5zY3NzJztcblxuLy9LZW5kbyBCYXNlIFRoZW1lIENvbG9yc1xuJHByaW1hcnk6ICMzZjUxYjU7XG4kc2Vjb25kYXJ5OiAjZTUxYTVmO1xuJHdhcm5pbmc6ICNmZmMwMDA7XG4kdGVydGlhcnk6ICMwMDY5NWM7XG4kaW5mbzogIzAwNThlOTtcbiRzdWNjZXNzOiAjMzdiNDAwO1xuJGVycm9yOiAjZjMxNzAwO1xuJGRhcms6ICM0MjQyNDI7XG4kbGlnaHQ6ICNmNWY1ZjU7XG5cbi8vS2VuZG8gQ29tcG9uZW50IENvbG9yXG4kY29tcG9uZW50LWJnOiB3aGl0ZTtcbiRjb21wb25lbnQtdGV4dDogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiRjb21wb25lbnQtYm9yZGVyOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuJGxpbmUtaGVpZ2h0OiAyO1xuXG4vL0tlbmRvIEdyaWQgQ29sb3JzXG4kZ3JpZC1ib3JkZXI6ICNlMmU2ZWM7XG4kZ3JpZC10ZXh0OiAjMzU0MDUyO1xuJGdyaWQtaGVhZGVyLXRleHQ6ICM3ZjhmYTQ7XG5cbi8vY29sb3JzXG4kd2hpdGUtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiRibGFjay1jb2xvcjogcmdiYSgwLCAwLCAwKTtcbiRncmV5LWNvbG9yOiAjOWU5ZDlkO1xuJGRhcmstZ3JleS1jb2xvcjogIzNiM2IzYjtcbiRsaWdodC1ncmV5LWNvbG9yOiAjOWU5ZDlkO1xuJGNvbHVtbi1jb2xvcjogIzIxMjEyMTtcbiRncmVlbi1jb2xvcjogIzQ4OWM0YjtcbiRyZWQtY29sb3I6ICNiOTM4Mzg7XG4kb3JhbmdlLWNvbG9yOiAjZjY4NzJkO1xuJGxpZ2h0LW9yYW5nZS1jb2xvcjogI2ZkODcyNTtcbiRzdWNjZXNzLWNvbG9yOiAjNjdiZDQ4O1xuJGJsdWUtY29sb3I6ICM0ZTVlYjg7XG4kZ3JhZGllbnQtYmx1ZS1wcmltYXJ5LWNvbG9yOiAjM2Y1MWI1O1xuJGdyYWRpZW50LWJsdWUtc2Vjb25kYXJ5LWNvbG9yOiAjMjAyOTViO1xuJGxpZ2h0LWJsdWUtY29sb3I6ICNkOGRjZjA7XG4kbGlnaHQtZ3JleTogI2NlY2RjZDtcbiR3aGl0ZS1zbW9rZTogI2Y3ZjdmNztcbiRlcnJvci1jb2xvcjogI2YzMTcwMDtcbi8vIEJvZHlcbiRib2R5LWJnLWNvbG9yOiAjZjVmNWY1O1xuJGRyYXdlci1ib2R5LWNvbG9yOiByZ2JhKDAsIDAsIDI1NSwgMC4wNCk7XG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4kZm9udC1zaXplOiAxNHB4O1xuJGZvbnQtc2l6ZS14czogMTBweDtcbiRmb250LXNpemUtc206IDEycHg7XG4kZm9udC1zaXplLW1kOiAxNHB4O1xuJGZvbnQtc2l6ZS1sZzogMTZweDtcbiRmb250LXNpemUteGw6IDIwcHg7XG5cbiRrZW5kby1saXN0LWZvbnQtc2l6ZTogMnJlbTtcbiRkcmF3ZXItaXRlbS1mb250LXNpemU6IDFlbTtcbiRkcmF3ZXItaWNvbi1zaXplOiAxZW07XG5cbi8vIG51bGwgaXMgZm9yIGRlZmF1bHQsIGl0IHdpbGwgcGljayBkZWZhdWx0IGNzcyBmcm9tIGtlbmRvIHRoZW1lXG4kZm9udC1mYW1pbHk6IG51bGw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBudWxsO1xuJGtlbmRvLWF2YXRhci1mb250LWZhbWlseTogbnVsbDtcbiRrZW5kby1hdmF0YXItZm9udC1zaXplOiAkZm9udC1zaXplO1xuJGJhc2UtdGV4dDogbnVsbDtcblxuLy8gSW5wdXRcbiRpbnB1dC1jb2xvcjogI2JlYmViZTtcblxuLy8gYmFja2dyb3VuZFxuJGhvdmVyZWQtdGV4dDogbnVsbDtcblxuLy8gSWNvbnNcbiRpY29uLXNpemU6IDE2cHg7XG4kaWNvbi1zaXplLWxnOiAzMnB4O1xuJGljb24tc3BhY2luZzogbnVsbDtcblxuLy8gR2VuZXJhbCBNZXRyaWNzXG4kcGFkZGluZy14OiBudWxsO1xuJHBhZGRpbmcteTogbnVsbDtcblxuLy8gbmF2IGl0ZW1zXG4kbmF2LWl0ZW0tbWFyZ2luOiBudWxsO1xuJG5hdi1pdGVtLXBhZGRpbmcteDogJHBhZGRpbmcteDtcbiRuYXYtaXRlbS1wYWRkaW5nLXk6ICRwYWRkaW5nLXk7XG4kbmF2LWl0ZW0tY29sb3I6ICRjb21wb25lbnQtdGV4dDtcbiRuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRibGFjay1jb2xvcjtcbiRuYXYtaXRlbS1iZy1jb2xvcjogI2Y5ZjlmOTtcbiRuYXYtaXRlbS1tZm9udC1zaXplOiAxOHB4O1xuJG5hdi1pdGVtLWljb24tc2l6ZTogMjJweDtcblxuLy8gdGFibGVcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogbnVsbDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteTogbnVsbDtcbiRoZWFkZXItY2VsbC1wYWRkaW5nLXg6IG51bGw7XG4kaGVhZGVyLWNlbGwtcGFkZGluZy15OiBudWxsO1xuXG4vLyBjaGFydFxuJGNoYXJ0LWZvbnQtZmFtaWx5OiBudWxsO1xuJGNoYXJ0LWZvbnQtc2l6ZTogbnVsbDtcbiRjaGFydC1mb250LXNpemUtc206IG51bGw7XG4kY2hhcnQtZm9udC1zaXplLW1kOiBudWxsO1xuJGNoYXJ0LWZvbnQtc2l6ZS1sZzogbnVsbDtcbiRjaGFydC1saW5lLWhlaWdodDogbnVsbDtcblxuLy8gYmFja2dyb3VuZFxuJGJhc2UtYmc6IG51bGw7XG4kYmFzZS10ZXh0OiBudWxsO1xuJGJhc2UtYm9yZGVyOiBudWxsO1xuJGZvb3Rlci1iZy1jb2xvcjogJHdoaXRlLWNvbG9yO1xuXG4vLyBIZWFkZXJcbiRoZWFkZXItYmc6ICRiYXNlLWJnO1xuJGhlYWRlci10ZXh0OiAkYmFzZS10ZXh0O1xuJGhlYWRlci1ib3JkZXI6ICRiYXNlLWJvcmRlcjtcbiRoZWFkZXItZ3JhZGllbnQ6IG51bGw7XG5cbiR0b3BiYXItYmctY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiR0b3BiYXItYm9yZGVyOiAjMDAwMDAwMWE7XG4kdG9wYmFyLXRpdGxlLWNvbG9yOiAjMzU0MDUyO1xuXG4vLyBoZWFkaW5nc1xuJGgxLWZvbnQtc2l6ZTogbnVsbDtcbiRoMS1mb250LWZhbWlseTogbnVsbDtcbiRoMS1saW5lLWhlaWdodDogbnVsbDtcbiRoMS1mb250LXdlaWdodDogbnVsbDtcbiRoMS1sZXR0ZXItc3BhY2luZzogbnVsbDtcbiRoMS1tYXJnaW46IG51bGw7XG4kaDItZm9udC1zaXplOiBudWxsO1xuJGgyLWZvbnQtZmFtaWx5OiBudWxsO1xuJGgyLWxpbmUtaGVpZ2h0OiBudWxsO1xuJGgyLWZvbnQtd2VpZ2h0OiBudWxsO1xuJGgyLWxldHRlci1zcGFjaW5nOiBudWxsO1xuJGgyLW1hcmdpbjogbnVsbDtcbiRoMy1mb250LXNpemU6IG51bGw7XG4kaDMtZm9udC1mYW1pbHk6IG51bGw7XG4kaDMtbGluZS1oZWlnaHQ6IG51bGw7XG4kaDMtZm9udC13ZWlnaHQ6IG51bGw7XG4kaDMtbGV0dGVyLXNwYWNpbmc6IG51bGw7XG4kaDMtbWFyZ2luOiBudWxsO1xuJGg0LWZvbnQtc2l6ZTogbnVsbDtcbiRoNC1mb250LWZhbWlseTogbnVsbDtcbiRoNC1saW5lLWhlaWdodDogbnVsbDtcbiRoNC1mb250LXdlaWdodDogbnVsbDtcbiRoNC1sZXR0ZXItc3BhY2luZzogbnVsbDtcbiRoNC1tYXJnaW46IG51bGw7XG4kaDUtZm9udC1zaXplOiBudWxsO1xuJGg1LWZvbnQtZmFtaWx5OiBudWxsO1xuJGg1LWxpbmUtaGVpZ2h0OiBudWxsO1xuJGg1LWZvbnQtd2VpZ2h0OiBudWxsO1xuJGg1LWxldHRlci1zcGFjaW5nOiBudWxsO1xuJGg1LW1hcmdpbjogbnVsbDtcbiRoNi1mb250LXNpemU6IG51bGw7XG4kaDYtZm9udC1mYW1pbHk6IG51bGw7XG4kaDYtbGluZS1oZWlnaHQ6IG51bGw7XG4kaDYtZm9udC13ZWlnaHQ6IG51bGw7XG4kaDYtbGV0dGVyLXNwYWNpbmc6IG51bGw7XG4kaDYtbWFyZ2luOiBudWxsO1xuXG4vLyBwYXJhZ3JhcGhcbiRwYXJhZ3JhcGgtbWFyZ2luOiBudWxsO1xuJHBhcmFncmFwaC1mb250LXNpemU6IG51bGw7XG4kcGFyYWdyYXBoLWZvbnQtZmFtaWx5OiBudWxsO1xuJHBhcmFncmFwaC1saW5lLWhlaWdodDogbnVsbDtcbiRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6IG51bGw7XG4kcGFyYWdyYXBoLWxldHRlci1zcGFjaW5nOiBudWxsO1xuXG4vLyBmb3JtXG4kaW5saW5lLWZvcm0tZWxlbWVudC13aWR0aDogbnVsbDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICM4YzhmOTQ7XG4kY2hlY2tib3gtYm9yZGVyLWNvbG9yOiAkZ3JpZC1ib3JkZXI7XG5cbi8vdG9wYmFyXG4kdG9wYmFyLXNlcHJhdG9yLWNvbG9yOiAjZWNkNmQ2O1xuJHRvcGJhci1iYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuJHRvcGJhci1pdGVtLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG5cbi8vRmlsdGVyIElucHV0IENvbG9yOlxuJGZpbHRlci1iZy1jb2xvcjogI2YyZjNmNTtcbiRmaWx0ZXItZm9udC1jb2xvcjogIzM1NDA1MjtcblxuLy9MYWJlbCBDb2xvcnNcbiRsYWJlbC1kZWZhdWx0LWNvbG9yOiAjZmQ4NzI1O1xuXG4vL0FsZXJ0IE1lc3NhZ2Vcbi8vRXJyb3JcbiRlcnJvci1tZXNzYWdlLUNvbG9yOiAkZXJyb3I7XG4kZXJyb3ItbWVzc2FnZS1iZzogI2Y4ZDdkYTtcbiRlcnJvci1tZXNzYWdlLWJvcmRlcjogI2Y1YzZjYjtcblxuLy9XYXJuaW5nXG4kd2FybmluZy1tZXNzYWdlLUNvbG9yOiAkd2FybmluZztcbiR3YXJuaW5nLW1lc3NhZ2UtYmc6ICNmZmYzY2Q7XG4kd2FybmluZy1tZXNzYWdlLWJvcmRlcjogI2ZmZWViYTtcblxuLy9JbmZvXG4kaW5mby1tZXNzYWdlLUNvbG9yOiAkaW5mbztcbiRpbmZvLW1lc3NhZ2UtYmc6ICNkMWVjZjE7XG4kaW5mby1tZXNzYWdlLWJvcmRlcjogI2JlZTVlYjtcblxuLy9QcmltYXJ5XG4kcHJpbWFyeS1tZXNzYWdlLUNvbG9yOiAkcHJpbWFyeTtcbiRwcmltYXJ5LW1lc3NhZ2UtYmc6ICNjY2U1ZmY7XG4kcHJpbWFyeS1tZXNzYWdlLWJvcmRlcjogI2I4ZGFmZjtcblxuLy9TZWNvbmRhcnlcbiRzZWNvbmRhcnktbWVzc2FnZS1Db2xvcjogJHNlY29uZGFyeTtcbiRzZWNvbmRhcnktbWVzc2FnZS1iZzogI2UyZTNlNTtcbiRzZWNvbmRhcnktbWVzc2FnZS1ib3JkZXI6ICNkNmQ4ZGI7XG5cbi8vU3VjY2Vzc1xuJHN1Y2Nlc3MtbWVzc2FnZS1Db2xvcjogJHN1Y2Nlc3M7XG4kc3VjY2Vzcy1tZXNzYWdlLWJnOiAjZDRlZGRhO1xuJHN1Y2Nlc3MtbWVzc2FnZS1ib3JkZXI6ICNjM2U2Y2I7XG5cbi8vU2xpZGVyIENvbG9yc1xuJHNsaWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwZGU7XG5cbi8vTm90aWZpY2F0aW9uIGNvbG9yc1xuXG4vL0Vycm9yXG4kZXJyb3JUaXRsZUNvbG9yOiAjYjkzODM4O1xuJGVycm9yYmdDb2xvcjogI2ZjZjVmNTtcbiRlcnJvckRlc2NDb2xvcjogIzNiM2IzYjtcblxuLy9XYXJuaW5nXG4kd2FybmluZ1RpdGxlQ29sb3I6ICNmZmMwMDA7XG4kd2FybmluZ2JnQ29sb3I6ICNmZmZjZjI7XG5cbi8vc3VjY2Vzc1xuJHN1Y2Nlc3NUaXRsZUNvbG9yOiAjNDg5YzRiO1xuJHN1Y2Nlc3NiZ0NvbG9yOiAjZjVmYWY2O1xuXG4vL2luZm9cbiRpbmZvVGl0bGVDb2xvcjogIzNmNTFiNTtcbiRpbmZvYmdDb2xvcjogI2YyZjZmZTtcblxuLy9EZWZhdWx0XG4kZGVmYXVsdFRpdGxlQ29sb3I6ICMzNjM2MzY7XG4kZGVmYXVsdGJnQ29sb3I6ICNmZWZlZmU7XG5cbiRub3RpRGVzY0NvbG9yOiAjNjQ2NDY0O1xuJG5vdGlDbG9zZUljb246ICNiZWJlYmU7XG5cbi8vQXBwIE5vdGlmaWNhdGlvblxuXG4vL1RvcGJhclxuJHRvcGJhci1iYWRnZS1iZzogI2Q4ZGNmMDtcbiR0b3BiYXItYmFkZ2UtY29sb3I6IHJnYigzNCA0MyA5Nyk7XG4kdG9wYmFyLWJhZGdlLWJvcmRlcjogIzIzMmQ2NDtcblxuLy9XUiBEZXRhaWxcbiR3ci1jYXJkLXRpdGxlLWNvbG9yOiAjNDk1YWI4O1xuXG4vL1RyZWUgTGlzdFxuXG4kc2VsZWN0ZWQtdHJlZS1iZy1jb2xvcjogI2Q4ZGNmMDtcbiIsIkBpbXBvcnQgJy4uLy4uLy4uL2Fzc2V0cy9zY3NzL2Fic3RyYWN0cy92YXJpYWJsZXMnO1xuLmFjY291bnQtZm9ybS1jb250YWluZXJ7XG4gICAgLmFjY291bnQtZm9ybS1jYXJke1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAuYWNjb3VudC1mb3JtLXdyYXBwZXJ7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICAgIC5hY2NvdW50LWltYWdlLWRpc3BsYXl7XG4gICAgICAgICAgICB3aWR0aDo1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgICAudXBsb2FkZWQtaW1hZ2V7XG4gICAgICAgICAgICB3aWR0aDogMzYwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuYWNjb3VudC1mb3JtLWNvbnRhaW5lcntcbiAgICAgICAgLmFjY291bnQtZm9ybS1jYXJke1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC5hY2NvdW50LWZvcm0td3JhcHBlcntcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjY291bnQtaW1hZ2UtZGlzcGxheXtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51cGxvYWRlZC1pbWFnZXtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuLmFjY291bnQtZm9ybS1jb250YWluZXJ7XG4gICAgLmFjY291bnQtZm9ybS1jYXJke1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLmFjY291bnQtZm9ybS13cmFwcGVye1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmFjY291bnQtaW1hZ2UtZGlzcGxheXtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAudXBsb2FkZWQtaW1hZ2V7XG4gICAgICAgICAgICB3aWR0aDogMzYwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG59IiwiLmstZ3JpZHtcbiAgICAuay10YWJsZS10Ym9keXtcbiAgICAgICAgLmstdGFibGUtdGQuZ3JpZC1jZWxsc3tcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgICAgICAucHJvamVjdHMtYWN0aW9ue1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIGEuay1idXR0b257XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgLnRvdGFsLW51bWJlciBhe1xuICAgICAgICAgICAgY29sb3I6IGJsdWV2aW9sZXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvc2Nzcy9hYnN0cmFjdHMvdmFyaWFibGVzXCI7XG5AaW1wb3J0ICcuLi8uLi8uLi8uLi9hc3NldHMvc2Nzcy9hYnN0cmFjdHMvYnJlYWtwb2ludHMnO1xuLnNlbGVjdC1wcm9qZWN0LWZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuc2luZ2xlLWZpZWxkLXJvd3tcbiAgICAgICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgICAgICAgLmstZm9ybS1maWVsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbXBvbmVudC10ZXh0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWZvcm0tZmllbGQtd3JhcCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLmstYXV0b2NvbXBsZXRlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZmllbGQtcm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAucHJvamVjdC1maWVsZCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC52ZXJzaW9uLWZpZWxkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jcmVhdGUtYnRuLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxufVxuQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgLnNlbGVjdC1wcm9qZWN0LWZvcm0ge1xuICAgICAgICAuc2luZ2xlLWZpZWxkLXJvd3tcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2Mi4wLjBcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5AY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptZXRhJztcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHgsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KScsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDAsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIG1ldGEuZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge1xuICB9XG59XG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHtcbn1cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSlcbiAgICAgIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBsaXN0LmluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHJpbmcubGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihsaXN0LmluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0cmluZy5sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLmdldCgkdW5pdC1pbnRlcnZhbHMsIG1hdGgudW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje21hdGgudW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLmdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxpc3QubGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGlzdC5sZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGxpc3QuYXBwZW5kKCRyZXN1bHQsIGxpc3QubnRoKCRsaXN0LCAkaSksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cblxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoXG4gICAgJzAnOiAwLFxuICAgICcxJzogMSxcbiAgICAnMic6IDIsXG4gICAgJzMnOiAzLFxuICAgICc0JzogNCxcbiAgICAnNSc6IDUsXG4gICAgJzYnOiA2LFxuICAgICc3JzogNyxcbiAgICAnOCc6IDgsXG4gICAgJzknOiA5LFxuICApO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyaW5nLmxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdChsaXN0LmluZGV4KG1hcC5rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSkpO1xuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hdGguZGl2KG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpLCAkZGlnaXRzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKFxuICAgICdweCc6IDFweCxcbiAgICAnY20nOiAxY20sXG4gICAgJ21tJzogMW1tLFxuICAgICclJzogMSUsXG4gICAgJ2NoJzogMWNoLFxuICAgICdwYyc6IDFwYyxcbiAgICAnaW4nOiAxaW4sXG4gICAgJ2VtJzogMWVtLFxuICAgICdyZW0nOiAxcmVtLFxuICAgICdwdCc6IDFwdCxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ3Z3JzogMXZ3LFxuICAgICd2aCc6IDF2aCxcbiAgICAndm1pbic6IDF2bWluLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICk7XG5cbiAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC5nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAubWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLm1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSlcbiAge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3N0cmluZy51bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obGlzdC5udGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi8uLi9hc3NldHMvc2Nzcy9hYnN0cmFjdHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uLy4uL2Fzc2V0cy9zY3NzL2Fic3RyYWN0cy9icmVha3BvaW50cyc7XG4uc2VsZWN0LXBsYXRmb3Jte1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLnRvZ2dsZS1sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG4uay1zd2l0Y2h7XG4gICAgbWFyZ2luOiAwcHggMTBweDtcbn1cbi5jYXJkLWRldGFpbC1jb250ZW50e1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC5zZXByYXRlLWNhcmQucm9sbG91dC1kZXRhaWxzLCAuc2VwcmF0ZS1jYXJkLmJ1Zy1saXN0e1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAuc2luZ2xlLWZpZWxkLXJvd3tcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLmZpZWxkLXdyYXBwZXIsIC5rLWZsb2F0aW5nLWxhYmVsLWNvbnRhaW5lcntcbiAgICAgICAgICAgICAgICB3aWR0aDppbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAuY2FyZC1kZXRhaWwtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAuc2VwcmF0ZS1jYXJkLnJvbGxvdXQtZGV0YWlscywgLnNlcHJhdGUtY2FyZC5idWctbGlzdHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiIsIi5rLXRhYmxlLXRib2R5e1xuICAgIC5saW5rLWNvbHVtbntcbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiBibHVldmlvbGV0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5yb2xsb3V0cy1hY3Rpb257XG4gICAgICAgIGF7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG4uZ3JpZC1yb2xsb3V0LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn0iLCJAaW1wb3J0ICcuLi8uLi8uLi9hc3NldHMvc2Nzcy9hYnN0cmFjdHMvdmFyaWFibGVzJztcbi5zZWFyY2gtZGlhbG9ne1xuICAgIC5rLWRpYWxvZy1jb250ZW50e1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGg2e1xuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsdWV2aW9sZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbi5kb3dubG9hZC1idG4td3JhcHBlcntcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufSIsIkBpbXBvcnQgJy4uLy4uLy4uL2Fzc2V0cy9zY3NzL2Fic3RyYWN0cy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vLi4vYXNzZXRzL3Njc3MvYWJzdHJhY3RzL2JyZWFrcG9pbnRzJztcblxuLnNldHRpbmctcGFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEhvcml6b250YWwgbmF2aWdhdGlvbiBiYXIgc3R5bGluZ1xuICAuay10YWJzdHJpcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblxuICAgIC5rLXRhYnN0cmlwLWl0ZW1zIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIC5rLWl0ZW0ge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gICAgICAgICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICAgICAgICAgICAgY29sb3I6ICM0OTUwNTc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAvLyBNYWluIGNvbnRlbnQgY2FyZFxuICAudGFicy1jYXJkIHtcbiAgICBtYXJnaW46IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG5cbiAgICAuay1jYXJkLWJvZHkge1xuICAgICAgcGFkZGluZzogMzJweDtcbiAgICB9XG4gIH1cblxuICAvLyBDYXJkIGhlYWRlciBzdHlsaW5nXG4gIC5jYXJkLWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U5ZWNlZjtcblxuICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGNvbG9yOiAjMDA3YmZmO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLXN1YnRpdGxlIHtcbiAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZmllbGRzIHN0eWxpbmdcbiAgLmZpZWxkLW1haW4ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCg0MDBweCwgMWZyKSk7XG4gICAgZ2FwOiAyNHB4O1xuXG4gICAgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDhweDtcblxuICAgICAgLmstbGFiZWwge1xuICAgICAgICBjb2xvcjogIzQ5NTA1NztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICB9XG5cblxuICAgICAgLy8gSGVscGVyIHRleHRcbiAgICAgIC5oZWxwZXItdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgIH1cblxuICAgICAgLy8gUmFkaW8gYnV0dG9uc1xuICAgICAgLnJhZGlvLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAuay1yYWRpby1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBjb2xvcjogIzQ5NTA1NztcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yYWRpbyB7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrYm94IHN0eWxpbmdcbiAgICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgLmNoZWNrYm94LWl0ZW0ge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gICAgICAgICAgLmN1c3RvbS1jaGVja2JveCB7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNjZWQ0ZGE7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y1MWI1O1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMzZjUxYjU7XG5cbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfinJMnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMCwgMTIzLCAyNTUsIDAuMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNoZWNrYm94LWxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEF1dGhlbnRpY2F0aW9uIG1ldGhvZHMgdGFicyBzdHlsaW5nXG4gIC5hdXRoLW1ldGhvZHMtdGFicyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICAgIC5hdXRoLXRhYnN0cmlwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBwYWRkaW5nOiA0cHg7XG5cbiAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgZmxleDogMTtcblxuICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgICAgICAgICAgICAgY29sb3I6ICM0OTUwNTc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICAuay1saW5rIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5rLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hdXRoLXRhYi1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEF1dGhlbnRpY2F0aW9uIG1ldGhvZCBjb250ZW50XG4gIC5hdXRoLW1ldGhvZC1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuXG4gICAgLmF1dGgtdG9nZ2xlLXNlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U5ZWNlZjtcblxuICAgICAgLnRvZ2dsZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC50b2dnbGUtbGFiZWwge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgY29sb3I6ICM0OTUwNTc7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3dpdGNoIHtcbiAgICAgICAgICAuay1zd2l0Y2gtdHJhY2sge1xuICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VkNGRhO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuay1jaGVja2VkIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5rLXN3aXRjaC10aHVtYiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWJzZWN0aW9uIHN0eWxpbmcgKGZvciBhdXRoZW50aWNhdGlvbiBtb2RlcylcbiAgLnN1YnNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAuc3dpdGNoLW1haW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOWVjZWY7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogIzQ5NTA1NztcbiAgICAgIH1cblxuICAgICAgLmstc3dpdGNoIHtcbiAgICAgICAgLmstc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VkNGRhO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWNoZWNrZWQgLmstc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y1MWI1O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5rLXRhYnN0cmlwLWNvbnRlbnQge1xuICAgIC5rLWFuaW1hdGlvbi1jb250YWluZXIuay1hbmltYXRpb24tY29udGFpbmVyLXJlbGF0aXZlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAvLyBUYWIgdGl0bGVzXG4gIC50YWItdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMyMTI1Mjk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGNvbG9yOiAjMDA3YmZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYiB0aXRsZSBjb250ZW50IGluIG5hdmlnYXRpb25cbiAgLnRhYi10aXRsZS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICB9XG4gIH1cblxuICAvLyBCdXR0b25zXG4gIC5rLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICYuay1idXR0b24tc29saWQtcHJpbWFyeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y1MWI1O1xuICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTZiMztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBGaWxlIHVwbG9hZCBzdHlsaW5nXG4gIC5wcmV2aWV3Q29tcG9uZW50IHtcbiAgICAuZmlsZUlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICBib3JkZXI6IDJweCBkYXNoZWQgI2NlZDRkYTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcyBlYXNlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWdQcmV2aWV3IHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgZGVzaWduXG4gIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAuay10YWJzdHJpcCB7XG4gICAgICAuay10YWJzdHJpcC1pdGVtcyB7XG4gICAgICAgIC5rLWl0ZW0gLmstbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJzLWNhcmQge1xuICAgICAgbWFyZ2luOiAxNnB4O1xuXG4gICAgICAuay1jYXJkLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC1tYWluIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiAxNnB4O1xuICAgIH1cblxuICAgIC5zdWJzZWN0aW9uIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lJykge1xuICAgIC5rLXRhYnN0cmlwIHtcbiAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIC5rLWl0ZW0ge1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcblxuICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiA0cHg7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gWUFNTCBPcmRlciAtIExpZ2h0IEVkaXRvclxuICAueWFtbG9yZGVyLWVkaXRvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTllY2VmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogMTRweDtcbiAgICBjb2xvcjogIzIxMjUyOTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcblxuICAgIC55YW1sb3JkZXItdG9vbGJhciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgIC5rLWlucHV0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgICAgIC5rLWlucHV0LWlubmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogIzIxMjUyOTtcblxuICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2Y1MWI1O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDYzLCA4MSwgMTgxLCAwLjEyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYWRkLWJ0biB7XG4gICAgICAgIG1pbi13aWR0aDogMzZweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuXG4gICAgICAuc2F2ZS1idG4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2Y1MWI1O1xuICAgICAgICBjb2xvcjogIzNmNTFiNTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYzLCA4MSwgMTgxLCAwLjA4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC55YW1sb3JkZXItbGlzdCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiA4cHg7XG5cbiAgICAgIC55YW1sb3JkZXItaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U5ZWNlZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2Y1MWI1O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kcmFnLW92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmM2Y2ZmY7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2Y1MWI1O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDYzLCA4MSwgMTgxLCAwLjEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZHJhZ2dpbmcge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kcmFnLWhhbmRsZSB7XG4gICAgICAgICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgICAgICAgY3Vyc29yOiBncmFiO1xuICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgY3Vyc29yOiBncmFiYmluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudG9rZW4ge1xuICAgICAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tYnRuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZzogNnB4IDhweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcblxuICAgICAgICAgICYuZGFuZ2VyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZGMzNTQ1O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMjAsIDUzLCA2OSwgMC4wOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gWUFNTCBPcmRlciAtIERhcmsgRWRpdG9yXG4gIC55YW1sb3JkZXItZWRpdG9yLmRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjExMTU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzIyMjczMztcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgY29sb3I6ICNlOWVjZWY7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTRweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG5cbiAgICAueWFtbG9yZGVyLXRvb2xiYXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAvLyBLZW5kbyBUZXh0Qm94IHdyYXBwZXJcbiAgICAgIC5rLWlucHV0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgYmFja2dyb3VuZDogIzBiMGUxMztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzIyMjczMztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgICAgIC5rLWlucHV0LWlubmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogI2U5ZWNlZjtcblxuICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOWFhM2IyO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2Y1MWI1O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDYzLCA4MSwgMTgxLCAwLjIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hZGQtYnRuIHtcbiAgICAgICAgbWluLXdpZHRoOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG5cbiAgICAgIC5zYXZlLWJ0biB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBib3JkZXItY29sb3I6ICMzZjUxYjU7XG4gICAgICAgIGNvbG9yOiAjYzdkMmZlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjMsIDgxLCAxODEsIDAuMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAueWFtbG9yZGVyLWxpc3Qge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogOHB4O1xuXG4gICAgICAueWFtbG9yZGVyLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxMjE0MWE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMjI3MzM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSwgYmFja2dyb3VuZCAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzNmNTFiNTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZHJhZy1vdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTYxYTIyO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzNmNTFiNTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg2MywgODEsIDE4MSwgMC4xNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIH1cblxuICAgICAgICAuZHJhZy1oYW5kbGUge1xuICAgICAgICAgIGNvbG9yOiAjOWFhM2IyO1xuICAgICAgICAgIGN1cnNvcjogZ3JhYjtcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGN1cnNvcjogZ3JhYmJpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRva2VuIHtcbiAgICAgICAgICBjb2xvcjogI2VlZjJmNztcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLWJ0biB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG5cbiAgICAgICAgICAmLmRhbmdlciB7XG4gICAgICAgICAgICBjb2xvcjogI2VmNDQ0NDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMDgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogTW9kZXJuIEtlbmRvIFJlYWN0IHN0eWxlcyAqL1xuLnN1Z2dlc3Rpb24taW5wdXQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgXG4gIC5pbnB1dC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIFxuICAuc3VnZ2VzdGlvbi10ZXh0Ym94IHtcbiAgICBmbGV4OiAxO1xuICB9XG4gIFxuICAuay10ZXh0Ym94IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTFlNWU5O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB9XG4gIFxuICAuay10ZXh0Ym94OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM0ZjQ2ZTU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg3OSwgNzAsIDIyOSwgMC4xKTtcbiAgfVxuICBcbiAgLmstdGV4dGJveDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDFkNWRiO1xuICB9XG4gIFxuICAuc3VnZ2VzdGlvbi1idXR0b24ge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB9XG4gIFxuICAuc3VnZ2VzdGlvbi1idXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxuICBcbiAgLnN1Z2dlc3Rpb24tYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzRmNDZlNSAwJSwgIzdjM2FlZCAxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICB9XG4gIFxuICAuc3VnZ2VzdGlvbnMtcG9wdXAge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIG1pbi13aWR0aDogMjgwcHg7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGFuaW1hdGlvbjogcG9wdXBTbGlkZUluIDAuMnMgZWFzZS1vdXQ7XG4gIH1cbiAgXG4gIEBrZXlmcmFtZXMgcG9wdXBTbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxuICBcbiAgLnN1Z2dlc3Rpb25zLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZmFmYyAwJSwgI2UyZThmMCAxMDAlKTtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzM3NDE1MTtcbiAgfVxuICBcbiAgLnN1Z2dlc3Rpb24tZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzZiNzI4MDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuICBcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzZiNzI4MDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICB9XG4gIFxuICAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICAgIGNvbG9yOiAjMzc0MTUxO1xuICB9XG4gIFxuICAuc3VnZ2VzdGlvbnMtbGlzdCB7XG4gICAgbWF4LWhlaWdodDogMjQwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgfVxuICBcbiAgLnN1Z2dlc3Rpb24taXRlbSB7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICBcbiAgLnN1Z2dlc3Rpb24taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2YwZjlmZiAwJSwgI2UwZjJmZSAxMDAlKTtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzBlYTVlOTtcbiAgfVxuICBcbiAgLnN1Z2dlc3Rpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjMzc0MTUxO1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbmFjb1wiLCBcIk1lbmxvXCIsIFwiVWJ1bnR1IE1vbm9cIiwgbW9ub3NwYWNlO1xuICAgIGZsZXg6IDE7XG4gIH1cbiAgXG4gIC5zdWdnZXN0aW9uLWFycm93IHtcbiAgICBjb2xvcjogIzljYTNhZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgfVxuICBcbiAgLnN1Z2dlc3Rpb24taXRlbTpob3ZlciAuc3VnZ2VzdGlvbi1hcnJvdyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb2xvcjogIzBlYTVlOTtcbiAgfVxuICBcbiAgLyogU2Nyb2xsYmFyIHN0eWxpbmcgKi9cbiAgLnN1Z2dlc3Rpb25zLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNnB4O1xuICB9XG4gIFxuICAuc3VnZ2VzdGlvbnMtbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gIH1cbiAgXG4gIC5zdWdnZXN0aW9ucy1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogI2NiZDVlMTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIH1cbiAgXG4gIC5zdWdnZXN0aW9ucy1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzk0YTNiODtcbiAgfVxuICBcbiAgLmstZm9ybS1maWVsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG4gIFxuICAvKiBJY29uIHN0eWxlcyAqL1xuICAuay1pLXF1ZXN0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCI/XCI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjNjY2O1xuICB9XG4gIFxuICBAdGFpbHdpbmQgYmFzZTtcbiAgQHRhaWx3aW5kIGNvbXBvbmVudHM7XG4gIEB0YWlsd2luZCB1dGlsaXRpZXM7XG4gIFxuICBAbGF5ZXIgdXRpbGl0aWVzIHtcbiAgICAudGV4dC1iYWxhbmNlIHtcbiAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICB9XG4gIH1cbiAgXG4gIEBsYXllciBiYXNlIHtcbiAgICA6cm9vdCB7XG4gICAgICAtLWJhY2tncm91bmQ6IDAgMCUgMTAwJTtcbiAgICAgIC0tZm9yZWdyb3VuZDogMCAwJSAzLjklO1xuICAgICAgLS1jYXJkOiAwIDAlIDEwMCU7XG4gICAgICAtLWNhcmQtZm9yZWdyb3VuZDogMCAwJSAzLjklO1xuICAgICAgLS1wb3BvdmVyOiAwIDAlIDEwMCU7XG4gICAgICAtLXBvcG92ZXItZm9yZWdyb3VuZDogMCAwJSAzLjklO1xuICAgICAgLS1wcmltYXJ5OiAwIDAlIDklO1xuICAgICAgLS1wcmltYXJ5LWZvcmVncm91bmQ6IDAgMCUgOTglO1xuICAgICAgLS1zZWNvbmRhcnk6IDAgMCUgOTYuMSU7XG4gICAgICAtLXNlY29uZGFyeS1mb3JlZ3JvdW5kOiAwIDAlIDklO1xuICAgICAgLS1tdXRlZDogMCAwJSA5Ni4xJTtcbiAgICAgIC0tbXV0ZWQtZm9yZWdyb3VuZDogMCAwJSA0NS4xJTtcbiAgICAgIC0tYWNjZW50OiAwIDAlIDk2LjElO1xuICAgICAgLS1hY2NlbnQtZm9yZWdyb3VuZDogMCAwJSA5JTtcbiAgICAgIC0tZGVzdHJ1Y3RpdmU6IDAgODQuMiUgNjAuMiU7XG4gICAgICAtLWRlc3RydWN0aXZlLWZvcmVncm91bmQ6IDAgMCUgOTglO1xuICAgICAgLS1ib3JkZXI6IDAgMCUgODkuOCU7XG4gICAgICAtLWlucHV0OiAwIDAlIDg5LjglO1xuICAgICAgLS1yaW5nOiAwIDAlIDMuOSU7XG4gICAgICAtLWNoYXJ0LTE6IDEyIDc2JSA2MSU7XG4gICAgICAtLWNoYXJ0LTI6IDE3MyA1OCUgMzklO1xuICAgICAgLS1jaGFydC0zOiAxOTcgMzclIDI0JTtcbiAgICAgIC0tY2hhcnQtNDogNDMgNzQlIDY2JTtcbiAgICAgIC0tY2hhcnQtNTogMjcgODclIDY3JTtcbiAgICAgIC0tcmFkaXVzOiAwLjVyZW07XG4gICAgICAtLXNpZGViYXItYmFja2dyb3VuZDogMCAwJSA5OCU7XG4gICAgICAtLXNpZGViYXItZm9yZWdyb3VuZDogMjQwIDUuMyUgMjYuMSU7XG4gICAgICAtLXNpZGViYXItcHJpbWFyeTogMjQwIDUuOSUgMTAlO1xuICAgICAgLS1zaWRlYmFyLXByaW1hcnktZm9yZWdyb3VuZDogMCAwJSA5OCU7XG4gICAgICAtLXNpZGViYXItYWNjZW50OiAyNDAgNC44JSA5NS45JTtcbiAgICAgIC0tc2lkZWJhci1hY2NlbnQtZm9yZWdyb3VuZDogMjQwIDUuOSUgMTAlO1xuICAgICAgLS1zaWRlYmFyLWJvcmRlcjogMjIwIDEzJSA5MSU7XG4gICAgICAtLXNpZGViYXItcmluZzogMjE3LjIgOTEuMiUgNTkuOCU7XG4gICAgICAtLWJhY2tncm91bmQtc3RhcnQtcmdiOiAyNTUsIDI1NSwgMjU1OyAvKiBFeGFtcGxlIHZhbHVlIGZvciBiYWNrZ3JvdW5kLXN0YXJ0LXJnYiAqL1xuICAgIH1cbiAgICAuZGFyayB7XG4gICAgICAtLWJhY2tncm91bmQ6IDAgMCUgMy45JTtcbiAgICAgIC0tZm9yZWdyb3VuZDogMCAwJSA5OCU7XG4gICAgICAtLWNhcmQ6IDAgMCUgMy45JTtcbiAgICAgIC0tY2FyZC1mb3JlZ3JvdW5kOiAwIDAlIDk4JTtcbiAgICAgIC0tcG9wb3ZlcjogMCAwJSAzLjklO1xuICAgICAgLS1wb3BvdmVyLWZvcmVncm91bmQ6IDAgMCUgOTglO1xuICAgICAgLS1wcmltYXJ5OiAwIDAlIDk4JTtcbiAgICAgIC0tcHJpbWFyeS1mb3JlZ3JvdW5kOiAwIDAlIDklO1xuICAgICAgLS1zZWNvbmRhcnk6IDAgMCUgMTQuOSU7XG4gICAgICAtLXNlY29uZGFyeS1mb3JlZ3JvdW5kOiAwIDAlIDk4JTtcbiAgICAgIC0tbXV0ZWQ6IDAgMCUgMTQuOSU7XG4gICAgICAtLW11dGVkLWZvcmVncm91bmQ6IDAgMCUgNjMuOSU7XG4gICAgICAtLWFjY2VudDogMCAwJSAxNC45JTtcbiAgICAgIC0tYWNjZW50LWZvcmVncm91bmQ6IDAgMCUgOTglO1xuICAgICAgLS1kZXN0cnVjdGl2ZTogMCA2Mi44JSAzMC42JTtcbiAgICAgIC0tZGVzdHJ1Y3RpdmUtZm9yZWdyb3VuZDogMCAwJSA5OCU7XG4gICAgICAtLWJvcmRlcjogMCAwJSAxNC45JTtcbiAgICAgIC0taW5wdXQ6IDAgMCUgMTQuOSU7XG4gICAgICAtLXJpbmc6IDAgMCUgODMuMSU7XG4gICAgICAtLWNoYXJ0LTE6IDIyMCA3MCUgNTAlO1xuICAgICAgLS1jaGFydC0yOiAxNjAgNjAlIDQ1JTtcbiAgICAgIC0tY2hhcnQtMzogMzAgODAlIDU1JTtcbiAgICAgIC0tY2hhcnQtNDogMjgwIDY1JSA2MCU7XG4gICAgICAtLWNoYXJ0LTU6IDM0MCA3NSUgNTUlO1xuICAgICAgLS1zaWRlYmFyLWJhY2tncm91bmQ6IDI0MCA1LjklIDEwJTtcbiAgICAgIC0tc2lkZWJhci1mb3JlZ3JvdW5kOiAyNDAgNC44JSA5NS45JTtcbiAgICAgIC0tc2lkZWJhci1wcmltYXJ5OiAyMjQuMyA3Ni4zJSA0OCU7XG4gICAgICAtLXNpZGViYXItcHJpbWFyeS1mb3JlZ3JvdW5kOiAwIDAlIDEwMCU7XG4gICAgICAtLXNpZGViYXItYWNjZW50OiAyNDAgMy43JSAxNS45JTtcbiAgICAgIC0tc2lkZWJhci1hY2NlbnQtZm9yZWdyb3VuZDogMjQwIDQuOCUgOTUuOSU7XG4gICAgICAtLXNpZGViYXItYm9yZGVyOiAyNDAgMy43JSAxNS45JTtcbiAgICAgIC0tc2lkZWJhci1yaW5nOiAyMTcuMiA5MS4yJSA1OS44JTtcbiAgICAgIC0tYmFja2dyb3VuZC1zdGFydC1yZ2I6IDMwLCAzMCwgMzA7IC8qIEV4YW1wbGUgdmFsdWUgZm9yIGJhY2tncm91bmQtc3RhcnQtcmdiIGluIGRhcmsgbW9kZSAqL1xuICAgIH1cbiAgfVxuICBcbiAgQGxheWVyIGJhc2Uge1xuICAgICoge1xuICAgICAgQGFwcGx5IGJvcmRlci1ib3JkZXI7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgaHRtbCxcbiAgICBib2R5IHtcbiAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsXG4gICAgICAgIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgQGFwcGx5IGJnLWJhY2tncm91bmQgdGV4dC1mb3JlZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZDogcmdiKHZhcigtLWJhY2tncm91bmQtc3RhcnQtcmdiKSk7XG4gICAgfVxuICB9XG4gICIsIi8qIEF1dGhlbnRpY2F0aW9uU3RhdHVzLmNzcyAqL1xuLmF1dGgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMjU1LC4wNCk7XG4gIH1cbiAgXG4gIC5hdXRoLWNhcmQge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIFxuICAuYXV0aC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZjUxYjU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2YxNWIyODtcbiAgfVxuICBcbiAgLmF1dGgtaGVhZGVyIC5rLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgXG4gIC5hdXRoLWJvZHkge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIFxuICAuYXV0aC1tZXNzYWdlIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGNvbG9yOiAjMzMzO1xuICB9XG4gIFxuICAuYXV0aC1zdWJtZXNzYWdlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICM2NjY7XG4gIH1cbiAgXG4gIC5sb2FkZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgXG4gIC8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmF1dGgtY2FyZCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5hdXRoLW1lc3NhZ2Uge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbiAgICBcbiAgICAuYXV0aC1zdWJtZXNzYWdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH0iLCJAa2V5ZnJhbWVzIHBhc3NpbmctdGhyb3VnaHswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNDBweCl9MzAlLDcwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMHB4KX0xMDAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNDBweCl9fUBrZXlmcmFtZXMgc2xpZGUtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDQwcHgpfTMwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMHB4KX19QGtleWZyYW1lcyBwdWxzZXswJXt0cmFuc2Zvcm06c2NhbGUoMSl9MTAle3RyYW5zZm9ybTpzY2FsZSgxLjEpfTIwJXt0cmFuc2Zvcm06c2NhbGUoMSl9fS5kcm9wem9uZSwuZHJvcHpvbmUgKntib3gtc2l6aW5nOmJvcmRlci1ib3h9LmRyb3B6b25le21pbi1oZWlnaHQ6MTUwcHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC44KTtib3JkZXItcmFkaXVzOjVweDtwYWRkaW5nOjIwcHggMjBweH0uZHJvcHpvbmUuZHotY2xpY2thYmxle2N1cnNvcjpwb2ludGVyfS5kcm9wem9uZS5kei1jbGlja2FibGUgKntjdXJzb3I6ZGVmYXVsdH0uZHJvcHpvbmUuZHotY2xpY2thYmxlIC5kei1tZXNzYWdlLC5kcm9wem9uZS5kei1jbGlja2FibGUgLmR6LW1lc3NhZ2UgKntjdXJzb3I6cG9pbnRlcn0uZHJvcHpvbmUuZHotc3RhcnRlZCAuZHotbWVzc2FnZXtkaXNwbGF5Om5vbmV9LmRyb3B6b25lLmR6LWRyYWctaG92ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkfS5kcm9wem9uZS5kei1kcmFnLWhvdmVyIC5kei1tZXNzYWdle29wYWNpdHk6LjV9LmRyb3B6b25lIC5kei1tZXNzYWdle3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjozZW0gMH0uZHJvcHpvbmUgLmR6LW1lc3NhZ2UgLmR6LWJ1dHRvbntiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6aW5oZXJpdDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7Zm9udDppbmhlcml0O2N1cnNvcjpwb2ludGVyO291dGxpbmU6aW5oZXJpdH0uZHJvcHpvbmUgLmR6LXByZXZpZXd7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO21hcmdpbjoxNnB4O21pbi1oZWlnaHQ6MTAwcHh9LmRyb3B6b25lIC5kei1wcmV2aWV3OmhvdmVye3otaW5kZXg6MTAwMH0uZHJvcHpvbmUgLmR6LXByZXZpZXc6aG92ZXIgLmR6LWRldGFpbHN7b3BhY2l0eToxfS5kcm9wem9uZSAuZHotcHJldmlldy5kei1maWxlLXByZXZpZXcgLmR6LWltYWdle2JvcmRlci1yYWRpdXM6MjBweDtiYWNrZ3JvdW5kOiM5OTk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWVlLCAjZGRkKX0uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZmlsZS1wcmV2aWV3IC5kei1kZXRhaWxze29wYWNpdHk6MX0uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotaW1hZ2UtcHJldmlld3tiYWNrZ3JvdW5kOiNmZmZ9LmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWltYWdlLXByZXZpZXcgLmR6LWRldGFpbHN7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBsaW5lYXJ9LmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1yZW1vdmV7Zm9udC1zaXplOjE0cHg7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcjtib3JkZXI6bm9uZX0uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXJlbW92ZTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5kcm9wem9uZSAuZHotcHJldmlldzpob3ZlciAuZHotZGV0YWlsc3tvcGFjaXR5OjF9LmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxze3otaW5kZXg6MjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO29wYWNpdHk6MDtmb250LXNpemU6MTNweDttaW4td2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjJlbSAxZW07dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6cmdiYSgwLDAsMCwuOSk7bGluZS1oZWlnaHQ6MTUwJX0uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LXNpemV7bWFyZ2luLWJvdHRvbToxZW07Zm9udC1zaXplOjE2cHh9LmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZXt3aGl0ZS1zcGFjZTpub3dyYXB9LmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZTpob3ZlciBzcGFue2JvcmRlcjoxcHggc29saWQgcmdiYSgyMDAsMjAwLDIwMCwuOCk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44KX0uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lOm5vdCg6aG92ZXIpe292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWU6bm90KDpob3Zlcikgc3Bhbntib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50fS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWUgc3BhbiwuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LXNpemUgc3BhbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpO3BhZGRpbmc6MCAuNGVtO2JvcmRlci1yYWRpdXM6M3B4fS5kcm9wem9uZSAuZHotcHJldmlldzpob3ZlciAuZHotaW1hZ2UgaW1ne3RyYW5zZm9ybTpzY2FsZSgxLjA1LCAxLjA1KTtmaWx0ZXI6Ymx1cig4cHgpfS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotaW1hZ2V7Ym9yZGVyLXJhZGl1czoyMHB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMjBweDtoZWlnaHQ6MTIwcHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazt6LWluZGV4OjEwfS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotaW1hZ2UgaW1ne2Rpc3BsYXk6YmxvY2t9LmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LXN1Y2Nlc3MgLmR6LXN1Y2Nlc3MtbWFya3thbmltYXRpb246cGFzc2luZy10aHJvdWdoIDNzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSl9LmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWVycm9yIC5kei1lcnJvci1tYXJre29wYWNpdHk6MTthbmltYXRpb246c2xpZGUtaW4gM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKX0uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXN1Y2Nlc3MtbWFyaywuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWVycm9yLW1hcmt7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7ei1pbmRleDo1MDA7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0yN3B4O21hcmdpbi10b3A6LTI3cHg7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC44KTtib3JkZXItcmFkaXVzOjUwJX0uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXN1Y2Nlc3MtbWFyayBzdmcsLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tYXJrIHN2Z3tkaXNwbGF5OmJsb2NrO3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHg7ZmlsbDojZmZmfS5kcm9wem9uZSAuZHotcHJldmlldy5kei1wcm9jZXNzaW5nIC5kei1wcm9ncmVzc3tvcGFjaXR5OjE7dHJhbnNpdGlvbjphbGwgLjJzIGxpbmVhcn0uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotY29tcGxldGUgLmR6LXByb2dyZXNze29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2UtaW59LmRyb3B6b25lIC5kei1wcmV2aWV3Om5vdCguZHotcHJvY2Vzc2luZykgLmR6LXByb2dyZXNze2FuaW1hdGlvbjpwdWxzZSA2cyBlYXNlIGluZmluaXRlfS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcHJvZ3Jlc3N7b3BhY2l0eToxO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoyMHB4O3RvcDo1MCU7bWFyZ2luLXRvcDotMTBweDtsZWZ0OjE1JTtyaWdodDoxNSU7Ym9yZGVyOjNweCBzb2xpZCByZ2JhKDAsMCwwLC44KTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO2JvcmRlci1yYWRpdXM6MTBweDtvdmVyZmxvdzpoaWRkZW59LmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1wcm9ncmVzcyAuZHotdXBsb2Fke2JhY2tncm91bmQ6I2ZmZjtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlO3dpZHRoOjA7dHJhbnNpdGlvbjp3aWR0aCAzMDBtcyBlYXNlLWluLW91dDtib3JkZXItcmFkaXVzOjE3cHh9LmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWVycm9yIC5kei1lcnJvci1tZXNzYWdle2Rpc3BsYXk6YmxvY2t9LmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWVycm9yOmhvdmVyIC5kei1lcnJvci1tZXNzYWdle29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvfS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZXJyb3ItbWVzc2FnZXtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6MTAwMDtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO2Rpc3BsYXk6bm9uZTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO2JvcmRlci1yYWRpdXM6OHB4O2ZvbnQtc2l6ZToxM3B4O3RvcDoxMzBweDtsZWZ0Oi0xMHB4O3dpZHRoOjE0MHB4O2JhY2tncm91bmQ6I2IxMDYwNjtwYWRkaW5nOi41ZW0gMWVtO2NvbG9yOiNmZmZ9LmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tZXNzYWdlOmFmdGVye2NvbnRlbnQ6XCJcIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTZweDtsZWZ0OjY0cHg7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItbGVmdDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCAjYjEwNjA2fS8qIyBzb3VyY2VNYXBwaW5nVVJMPWRyb3B6b25lLmNzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvc2Nzcy9hYnN0cmFjdHMvdmFyaWFibGVzXCI7XG5AaW1wb3J0ICcuLi8uLi8uLi9hc3NldHMvc2Nzcy9hYnN0cmFjdHMvYnJlYWtwb2ludHMnO1xuXG4uZHJvcHpvbmUge1xuICBib3JkZXI6IDJweCBkYXNoZWQgI2NjYztcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjNzIGVhc2U7XG4gIGhlaWdodDogMTAwcHg7IC8qIEFkanVzdCB0aGUgaGVpZ2h0IGFzIG5lZWRlZCAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uZHJvcHpvbmU6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM5OTk7XG59XG5cbi5kcm9wem9uZSBwIHtcbiAgY29sb3I6ICNmNTVmNTQ7XG59XG5cbi8qIEV4YW1wbGUgc3R5bGluZyBpbiBHZW5lcmF0ZVJvbGxvdXQuc2NzcyAqL1xuLyogRXhhbXBsZSBzdHlsaW5nIGluIEdlbmVyYXRlUm9sbG91dC5zY3NzICovXG4uYWxlcnQtaW5mbyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNGVkZGE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZWRkYTtcbiAgY29sb3I6ICMxNTU3MjQ7XG4gIGZvbnQtc2l6ZTogLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZpbGUtaW5mbyB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZmlsZS1pbmZvIHAge1xuICBtYXJnaW46IDA7XG59XG5cbi5maWxlLWluZm8gLmstYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5wcm9jZXNzLWJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvKiBBbGlnbiB0aGUgYnV0dG9uIHRvIHRoZSByaWdodCAqL1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufSIsIkBpbXBvcnQgJy4uL2Fic3RyYWN0cy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICcuLy4uL2Fic3RyYWN0cy92YXJpYWJsZXMnO1xuXG4vLyBWYXJpYWJsZXNcbiRibHVlOiAjYTdjNmVkO1xuJHB1cnBsZTogI2NiYmJmMDtcbiRncmVlbjogI2IyZTBiMjtcbiRhbWJlcjogI2ZmYjNhMDtcbiR5ZWxsb3c6ICNlOWQ4YzQ7XG4kbGF2ZW5kZXI6ICNkOGI5ZjM7XG4kdGF1cGU6ICNkOGM5YjM7XG4kZ3JheS01MDogI2Y5ZmFmYjtcbiRncmF5LTEwMDogI2YzZjRmNjtcbiRncmF5LTIwMDogI2U1ZTdlYjtcbiRncmF5LTMwMDogI2QxZDVkYjtcbiRncmF5LTUwMDogIzY2NjY2NjtcbiRncmF5LTgwMDogIzFmMjkzNztcbiRzaGFkb3ctbWQ6XG4gIDAgNHB4IDZweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4xKSxcbiAgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcblxuLmFsbG93LXJlcG9zaXRpb24tZGl2IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG4uay1pY29uIHtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIldlYkNvbXBvbmVudHNJY29uc1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleFxuO1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG4uaG9tZS1wYWdlIHtcbiAgLmstdGlsZWxheW91dCB7XG4gICAgJiA+IGRpdiB7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIH1cblxuICAgICYuay1ncmlkLWZsb3ctY29sIHtcbiAgICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgfVxuICB9XG4gIC5rLXRpbGVsYXlvdXQtaXRlbS1oZWFkZXIge1xuICAgICYuay1jYXJkLWhlYWRlciB7XG4gICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAuay1jYXJkLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICAgIH1cbiAgICAgICAgLmFkZC1idXR0b24ge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD02NTBweCcpIHtcbiAgICAgICAgICAgIC5rLWJ1dHRvbi10ZXh0IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmstdGlsZWxheW91dC1pdGVtLWJvZHkge1xuICAgICYuay1jYXJkLWJvZHkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLnRlc3QtY2FzZXMtcmVzdWx0IHtcbiAgICAgICAgLmstbG9hZGluZy1tYXNrIHtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnRpbGUtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDJweCAwO1xufVxuXG4uZWRpdC10aWxlcyB7XG4gIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLmstdGlsZWxheW91dC1pdGVtLmstY2FyZCB7XG4gIHRvdWNoLWFjdGlvbjogYXV0byAhaW1wb3J0YW50O1xuICAuay1jaGFydC1zdXJmYWNlIHtcbiAgICB0b3VjaC1hY3Rpb246IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAmLmstY3Vyc29yLWdyYWIge1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIC5rLWNoYXJ0LXN1cmZhY2Uge1xuICAgICAgdG91Y2gtYWN0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCc+PXhsLWRlc2t0b3AnKSB7XG4gIC5rLXRpbGVsYXlvdXQge1xuICAgICYuay1ncmlkLWZsb3ctY29sIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwcHgsIDFmcikpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5AaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0Jykge1xuICAuay10aWxlbGF5b3V0IHtcbiAgICAmLmstZ3JpZC1mbG93LWNvbCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMHB4LCAxZnIpKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuLmRhc2hib2FyZC1hY3Rpb24ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLy8gTWV0cmljIGNhcmRzXG4ubWV0cmljLWNhcmQge1xuICBib3gtc2hhZG93OiAkc2hhZG93LW1kO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMTAwJTtcblxuICAvLyBMZWZ0IGJvcmRlciBmb3IgZWFjaCBjYXJkXG4gICYuYmx1ZS1jYXJkIHtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRibHVlO1xuICB9XG5cbiAgJi5wdXJwbGUtY2FyZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkcHVycGxlO1xuICB9XG5cbiAgJi5ncmVlbi1jYXJkIHtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRncmVlbjtcbiAgfVxuXG4gICYuYW1iZXItY2FyZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkYW1iZXI7XG4gIH1cbiAgJi5sYXZlbmRlci1jYXJkIHtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRsYXZlbmRlcjtcbiAgfVxuICAmLnllbGxvdy1jYXJkIHtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICR5ZWxsb3c7XG4gIH1cbiAgLmNhcmQtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jYXJkLWluZm8ge1xuICAgIGZsZXg6IDE7XG4gIH1cblxuICAubWV0cmljLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAkZ3JheS01MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgfVxuXG4gIC5tZXRyaWMtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzY2NjY2NjtcbiAgfVxuXG4gIC5tZXRyaWMtY2hhbmdlIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuXG4gICAgJi5wb3NpdGl2ZSB7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cblxuICAgICYubmVnYXRpdmUge1xuICAgICAgY29sb3I6ICNlZjQ0NDQ7XG4gICAgfVxuICB9XG4gIC5kYXNoYm9hcmQtYWN0aW9uIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgLmRhc2hib2FyZC1pY29uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuXG4gICAgJi5ibHVlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsdWUsIDAuMik7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgfVxuXG4gICAgJi5wdXJwbGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHVycGxlLCAwLjIpO1xuICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgfVxuXG4gICAgJi5ncmVlbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRncmVlbiwgMC4yKTtcbiAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxuXG4gICAgJi5hbWJlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRhbWJlciwgMC4yKTtcbiAgICAgIGNvbG9yOiAkYW1iZXI7XG4gICAgfVxuICAgICYueWVsbG93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHllbGxvdywgMC4yKTtcbiAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgIH1cbiAgICAmLmxhdmVuZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGxhdmVuZGVyLCAwLjIpO1xuICAgICAgY29sb3I6ICRsYXZlbmRlcjtcbiAgICB9XG4gIH1cblxuICAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGhlaWdodDogNHJlbTtcbiAgfVxufVxuXG4vLyBBY3Rpdml0eSBjYXJkXG4uYWN0aXZpdHktY2FyZCB7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3ctbWQ7XG59XG5cbi5hY3Rpdml0eS10aXRsZSB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS0yMDA7XG59XG5cbi5kYXNoYm9hcmQtZm9udC1pY29ucyB7XG4gIGhlaWdodDogMjVweDtcbiAgd2lkdGg6IDI1cHg7XG59XG5cbi8vICNyZWdpb24gQ2FyZCBUcmFuc2l0aW9uc1xuXG4ubWV0cmljLWNhcmQge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgLmstY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1rZW5kby1zcGFjaW5nLTQsIDFyZW0pICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWtlbmRvLXNwYWNpbmctNCwgMXJlbSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubWV0cmljLWNhcmQgLmstY2FyZC1ib2R5OmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC5kYXNoYm9hcmQtaWNvbi1jb250YWluZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEyZGVnKTtcbiAgfVxufVxuXG4uY2FyZC1oZWFkZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLm1ldHJpYy1sYWJlbCB7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5tZXRyaWMtdmFsdWUge1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbn1cblxuLmRhc2hib2FyZC1pY29uLWNvbnRhaW5lciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBFbnRyYW5jZSBhbmltYXRpb24gKi9cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLm1ldHJpYy1jYXJkIHtcbiAgYW5pbWF0aW9uOiBmYWRlSW5VcCAwLjVzIGVhc2Utb3V0O1xufVxuXG4vKiBMb2FkaW5nIHN0YXRlIGFuaW1hdGlvbiAqL1xuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxufVxuXG4vLyAjZW5kcmVnaW9uXG4iLCIuZGF0ZS1zZWxlY3RvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xufVxuLmRhdGUtc2VsZWN0b3IgLmRhdGUtcmFuZ2Utc2VsZWN0b3Ige1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xufSIsbnVsbCxudWxsLG51bGwsbnVsbCwiQGltcG9ydCAnQHByb2dyZXNzL2tlbmRvLWZvbnQtaWNvbnMvZGlzdC9pbmRleC5jc3MnO1xuQGltcG9ydCAnLi9iYXNlL2Jhc2UnO1xuQGltcG9ydCAnLi9iYXNlL2ljb24nO1xuQGltcG9ydCAnLi9hYnN0cmFjdHMvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAnLi9jb21tb24vVG9vbGJhcic7XG5AaW1wb3J0ICcuL2NvbW1vbi9EYXNoYm9hcmQnO1xuaHRtbCxcbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnLWNvbG9yO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG59XG5cbi5rLWNhcmQtdGl0bGUge1xuICBjb2xvcjogJHRvcGJhci10aXRsZS1jb2xvcjtcbn1cblxuLmstZm9ybSB7XG4gIHBhZGRpbmc6IDE0cHggMTZweDtcbn1cblxuLnBhZ2UtdGl0bGUsXG4uay1jYXJkLWhlYWRlciB7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAkY29tcG9uZW50LWJvcmRlcjtcbiAgcGFkZGluZzogMTRweCAxNnB4O1xuICBjb2xvcjogJHRvcGJhci10aXRsZS1jb2xvcjtcblxuICBoNCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LWZhbWlseTogQXJpYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gICYucGFnZS1idXR0b24tdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTRweCAxNnB4O1xuXG4gICAgaDQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vKiBTdHlsaW5nIGZvciBUb3BCYXIgSGVhZGVyIGluIG1vYmlsZS90YWJsZXQgdmlldyovXG4uaGVhZGVyLWJvbGQge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbn1cblxuLnBhZ2Uge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1jb2xvcjogJGNvbXBvbmVudC1ib3JkZXI7XG4gIGNvbG9yOiAkY29tcG9uZW50LXRleHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiB1bnNldDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJveC1zaGFkb3c6XG4gICAgMC43cHggMC43cHggMC41cHggcmdiYSgwLCAwLCAwLCAwLjA0KSxcbiAgICAxLjdweCAxLjdweCAxLjJweCByZ2JhKDAsIDAsIDAsIDAuMDMpLFxuICAgIDMuMXB4IDMuMXB4IDIuMXB4IHJnYmEoMCwgMCwgMCwgMC4wMjUpLFxuICAgIDUuMXB4IDUuMXB4IDMuNXB4IHJnYmEoMCwgMCwgMCwgMC4wMjIpLFxuICAgIDguNXB4IDguNXB4IDUuOHB4IHJnYmEoMCwgMCwgMCwgMC4wMTgpLFxuICAgIDE0LjhweCAxNC44cHggMTAuMnB4IHJnYmEoMCwgMCwgMCwgMC4wMTUpLFxuICAgIDMycHggMzJweCAyMnB4IHJnYmEoMCwgMCwgMCwgMC4wMSk7XG5cbiAgLmNhcmQtZGV0YWlsLWNvbnRlbnQge1xuICAgIC5hY3Rpb24tYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLXRpdGxlLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZS1jb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWNvbG9yO1xuXG4gICAgICAucGFnZS10aXRsZS5wYWdlLWJ1dHRvbi10aXRsZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgICYuZ3AtaWNvLWFycm93LWxlZnQge1xuICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgY29sb3I6ICMzNTQwNTI7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmstY2FyZCB7XG4gICAgICAmLlNlcGFyYXRlLUNhcmQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuICAgICAgICAuay1jYXJkLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBjb2xvcjogJHdyLWNhcmQtdGl0bGUtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmUnKSB7XG4gIC5wYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLyBjb25zaXN0ZW50IHN0eWxpbmcgZm9yIGJ1dHRvbiBncm91cHNcbi5rLWJ1dHRvbi1ncm91cCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5yb3VuZGVkLWNoZWNrYm94IHtcbiAgJi5rLWNoZWNrYm94LFxuICBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZ3JleS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICA6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XG4gICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBpY29ucyBzdHlsZXNcbltjbGFzc149J2dwLWljby0nXSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbn1cblxuLmdwLWljby1ub3dpZmk6YmVmb3JlIHtcbiAgY29sb3I6ICNjYzAwMDA7XG59XG5cbi5ncC1pY28td2lmaTpiZWZvcmUge1xuICBjb2xvcjogIzMzOTkzMztcbn1cblxuLmstYnV0dG9uLXRleHQge1xuICBbY2xhc3NePSdncC1pY28tJ10ge1xuICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5rLWRpYWxvZy1hY3Rpb25zIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xuICBwYWRkaW5nOiA4cHggOHB4O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uay13aW5kb3ctdGl0bGViYXIge1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuXG4uY2FyZC1jb2wge1xuICAmLnN3aXRjaGFibGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBiYXNlbGluZTtcblxuICAgIHN0cm9uZy5oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgnPGwtZGVza3RvcCcpIHtcbiAgLmstdG9vbHRpcCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi5oaWRlLW5ldHdvcmstaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFnZS10aXRsZS5hY3Rpb24tYnV0dG9ucy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uay1ncmlkLW5vcmVjb3Jkcy10ZW1wbGF0ZSB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnNpcy1pY28tbm90aWZpY2F0aW9uczo6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIGlkPSUyN25vdGlmaWNhdGlvbnNfd2hpdGUlMjcgeG1sbnM9JTI3aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjcgd2lkdGg9JTI3MzIlMjcgaGVpZ2h0PSUyNzMyJTI3IHZpZXdCb3g9JTI3MCAwIDMyIDMyJTI3JTNFJTNDcGF0aCBpZD0lMjdQYXRoXzIyNSUyNyBkYXRhLW5hbWU9JTI3UGF0aCAyMjUlMjcgZD0lMjdNMCwwSDM4VjM4SDBaJTI3IGZpbGw9JTI3bm9uZSUyNy8lM0UlM0NwYXRoIGlkPSUyN1BhdGhfMjI2JTI3IGRhdGEtbmFtZT0lMjdQYXRoIDIyNiUyNyBkPSUyN00xNi42NjcsMzMuMzc1YTMuMTc2LDMuMTc2LDAsMCwwLDMuMTY3LTMuMTY3SDEzLjVBMy4xNzYsMy4xNzYsMCwwLDAsMTYuNjY3LDMzLjM3NVptOS41LTkuNVYxNS45NThjMC00Ljg2MS0yLjU4MS04LjkzLTcuMTI1LTEwLjAwN1Y0Ljg3NWEyLjM3NSwyLjM3NSwwLDAsMC00Ljc1LDBWNS45NTJjLTQuNTI4LDEuMDc3LTcuMTI1LDUuMTMtNy4xMjUsMTAuMDA3djcuOTE3TDQsMjcuMDQydjEuNTgzSDI5LjMzM1YyNy4wNDJaTTIzLDI1LjQ1OEgxMC4zMzN2LTkuNWMwLTMuOTI3LDIuMzkxLTcuMTI1LDYuMzMzLTcuMTI1UzIzLDEyLjAzMiwyMywxNS45NThaJTI3IHRyYW5zZm9ybT0lMjd0cmFuc2xhdGUlMjgyLjMzMyAxLjQ1OCUyOSUyNyBmaWxsPSUyNyUyM2ZmZiUyNy8lM0UlM0Mvc3ZnJTNFJTBBJyk7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5rLXctNTAge1xuICB3aWR0aDogNTAlO1xufVxuXG4uc2luZ2xlLXJvdy0yNSB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5zaW5nbGUtcm93LTYwIHtcbiAgd2lkdGg6IDYwJTtcbn1cblxuLnNpbmdsZS1yb3ctODAge1xuICB3aWR0aDogODAlO1xufVxuXG4uc2luZ2xlLXJvdy0xMDAge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmRldGFpbC1jYXJkIHtcbiAgLmRldGFpbC1jYXJkLWJvZHkge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cblxuICAuay1jYXJkLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTJweCAxMnB4O1xuICB9XG5cbiAgLmstY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nLWlubGluZTogNnB4O1xuICB9XG5cbiAgLmstdy0zMCB7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxuXG4gIC5rLXctNDAge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cblxuICAuay13LTcwIHtcbiAgICB3aWR0aDogNzAlO1xuICB9XG5cbiAgLmNhcmQtdGl0bGUtc2Vjb25kYXJ5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgLnNpbmdsZS1maWVsZC1yb3cgLmZpZWxkLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cblxuICAuc2luZ2xlLXJvdy02MCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuXG4gIC5zaW5nbGUtcm93LTcwIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG5cbiAgLnNpbmdsZS1yb3ctODAge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cblxuICAuc2luZ2xlLXJvdy0xMDAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uay1idXR0b24tbWQge1xuICBwYWRkaW5nLWJsb2NrOiA1cHg7XG4gIHBhZGRpbmctaW5saW5lOiAxMHB4O1xufVxuQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAuYWRkLXBhZ2Utc2VjdGlvbiB7XG4gICAgLmRldGFpbC1jYXJkIHtcbiAgICAgIC5kZXRhaWwtY2FyZC1ib2R5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5zaW5nbGUtcm93LTYwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5zaW5nbGUtcm93LTgwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5zaW5nbGUtcm93LTEwMCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuay13LTMwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5rLXctNDAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmstdy03MCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uay1zd2l0Y2gtb24gLmstc3dpdGNoLXRyYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KFxuICAgIGluIHNyZ2IsXG4gICAgdmFyKC0ta2VuZG8tY29sb3ItcHJpbWFyeSwgIzNmNTFiNSkgODAlLFxuICAgIHRyYW5zcGFyZW50XG4gICk7XG59XG5cbi5rLXRleHRib3gsXG4uay1pbnB1dCB7XG4gIC8vICBwYWRkaW5nOiA0cHggMTZweCA0cHggMTZweDsgLy8gRXh0cmEgcGFkZGluZyBvbiByaWdodCBmb3IgZWxsaXBzaXMgYnV0dG9uXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGEgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNnB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3MgZWFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgwLCAxMjMsIDI1NSwgMC4xKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYWRiNWJkO1xuICB9XG59XG5cbi8vIFNlbGVjdCBmaWVsZHNcbi5zZWxlY3QtZmllbGQsXG4uay1kcm9wZG93bmxpc3Quay1waWNrZXIge1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGEgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNnB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNlJTNjcGF0aCBzdHJva2U9JyUyMzZiNzI4MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTYgOCA0IDQgNC00Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMnB4IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC5rLWlucHV0LWlubmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDE4cHg7XG4gIH1cbiAgLmstaWNvbi1idXR0b24uay1pbnB1dC1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmstaW5wdXQtbG9hZGluZy1pY29uIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgwLCAxMjMsIDI1NSwgMC4xKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbi5rLWRyb3Bkb3dubGlzdCB7XG4gIC5rLWlucHV0IHtcbiAgICBtaW4taGVpZ2h0OiAxOHB4O1xuICB9XG59XG4uZmlsdGVyLXNsaWRlci13cmFwcGVyIHtcbiAgLmZpbHRlcmNlbGwsXG4gIC5rLWZpbHRlcmNlbGwge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAuay1mb3JtLWZpZWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4uZGVmYXVsdC1zbGlkZXItd3JhcHBlciB7XG4gIHNwYW4uay1mbG9hdGluZy1sYWJlbC1jb250YWluZXIuay1sYWJlbCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5rLWRyYXdlci1jb250YWluZXIuay1kcmF3ZXItZXhwYW5kZWQgLmstZHJhd2VyLWl0ZW0gLmljb24tY29udGFpbmVyIC5mb250LWljb24ge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgd2lkdGg6IDI0cHg7XG59XG5cbi5va3RhLWxvZ2luLWJ0biB7XG4gIHdpZHRoOiAxMDAlO1xuICBpbWd7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICB9XG59IiwiLy8gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBEbyBub3QgZWRpdCFcbi8vIGJha2E6c291cmNlIHNjc3MvYWxsLnNjc3NcblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuJHdjYWctbWluLWNvbnRyYXN0LXJhdGlvOiA0LjUgIWRlZmF1bHQ7XG5cbi8vIENvbG9yIHN5c3RlbVxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb2xvci1zeXN0ZW0vX3N3YXRjaC5zY3NzXCI7IC0+IHNjc3MvY29yZS9jb2xvci1zeXN0ZW0vX3N3YXRjaC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fY29sb3IuaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvX2NvbG9yLmltcG9ydC5zY3NzXG4vLy8gUmV0dXJucyB0aGUgYWxwaGEgY2hhbm5lbCBvZiBhIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBnZXQgdGhlIGFscGhhIGNoYW5uZWwgZm9yLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgYWxwaGEgY2hhbm5lbCBvZiB0aGUgY29sb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLWFscGhhKCByZ2JhKCAwLCAwLCAwLCAwLjUgKSApOyAvLyA9PiAwLjVcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLWFscGhhKCAjMDAwICk7IC8vID0+IDFcbkBmdW5jdGlvbiBrLWNvbG9yLWFscGhhKCAkY29sb3IgKSB7XG4gICAgQHJldHVybiBhbHBoYSggJGNvbG9yICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSByZWQgY2hhbm5lbCBvZiBhIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBnZXQgdGhlIHJlZCBjaGFubmVsIGZvci5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIHJlZCBjaGFubmVsIG9mIHRoZSBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstY29sb3ItcmVkKCAjZmYwMDAwICk7IC8vID0+IDI1NVxuQGZ1bmN0aW9uIGstY29sb3ItcmVkKCAkY29sb3IgKSB7XG4gICAgQHJldHVybiByZWQoICRjb2xvciApO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgZ3JlZW4gY2hhbm5lbCBvZiBhIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBnZXQgdGhlIGdyZWVuIGNoYW5uZWwgZm9yLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgZ3JlZW4gY2hhbm5lbCBvZiB0aGUgY29sb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLWdyZWVuKCAjMDBmZjAwICk7IC8vID0+IDI1NVxuQGZ1bmN0aW9uIGstY29sb3ItZ3JlZW4oICRjb2xvciApIHtcbiAgICBAcmV0dXJuIGdyZWVuKCAkY29sb3IgKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGJsdWUgY2hhbm5lbCBvZiBhIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBnZXQgdGhlIGJsdWUgY2hhbm5lbCBmb3IuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBibHVlIGNoYW5uZWwgb2YgdGhlIGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1ibHVlKCAjMDAwMGZmICk7IC8vID0+IDI1NVxuQGZ1bmN0aW9uIGstY29sb3ItYmx1ZSggJGNvbG9yICkge1xuICAgIEByZXR1cm4gYmx1ZSggJGNvbG9yICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBodWUgb2YgYSBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gZ2V0IHRoZSBodWUgZm9yLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgaHVlIG9mIHRoZSBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstY29sb3ItaHVlKCAjZTFkN2QyICk7IC8vID0+IDIwZGVnXG5AZnVuY3Rpb24gay1jb2xvci1odWUoICRjb2xvciApIHtcbiAgICBAcmV0dXJuIGh1ZSggJGNvbG9yICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBzYXR1cmF0aW9uIG9mIGEgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGdldCB0aGUgc2F0dXJhdGlvbiBmb3IuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBzYXR1cmF0aW9uIG9mIHRoZSBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstY29sb3Itc2F0dXJhdGlvbiggI2UxZDdkMiApOyAvLyA9PiAyMCVcbkBmdW5jdGlvbiBrLWNvbG9yLXNhdHVyYXRpb24oICRjb2xvciApIHtcbiAgICBAcmV0dXJuIHNhdHVyYXRpb24oICRjb2xvciApO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgbGlnaHRuZXNzIG9mIGEgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGdldCB0aGUgbGlnaHRuZXNzIGZvci5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGxpZ2h0bmVzcyBvZiB0aGUgY29sb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLWxpZ2h0bmVzcyggI2UxZDdkMiApOyAvLyA9PiA4MCVcbkBmdW5jdGlvbiBrLWNvbG9yLWxpZ2h0bmVzcyggJGNvbG9yICkge1xuICAgIEByZXR1cm4gbGlnaHRuZXNzKCAkY29sb3IgKTtcbn1cblxuLy8vIFJldHVybnMgYSBjb2xvciB0aGF0IGlzIGEgbWl4IG9mIHR3byBjb2xvcnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIFRoZSBmaXJzdCBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gVGhlIHNlY29uZCBjb2xvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCAtIFRoZSB3ZWlnaHQgb2YgdGhlIGZpcnN0IGNvbG9yIGluIHRoZSBtaXguXG4vLy8gQHJldHVybiB7Q29sb3J9IC0gVGhlIG1peGVkIGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1taXgoICNmMDAsICMwMGYgKTsgLy8gPT4gIzgwMDA4MFxuQGZ1bmN0aW9uIGstY29sb3ItbWl4KCAkY29sb3IxLCAkY29sb3IyLCAkd2VpZ2h0OiA1MCUgKSB7XG4gICAgQHJldHVybiBtaXgoICRjb2xvcjEsICRjb2xvcjIsICR3ZWlnaHQgKTtcbn1cblxuLy8vIE1ha2VzIGEgY29sb3IgZGFya2VyIGJ5IGRlY3JlYXNpbmcgaXRzIGxpZ2h0bmVzcy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gZGFya2VuLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IC0gVGhlIGFtb3VudCB0byBkYXJrZW4gdGhlIGNvbG9yLlxuLy8vIEByZXR1cm4ge0NvbG9yfSAtIFRoZSBkYXJrZW5lZCBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstY29sb3ItZGFya2VuKCAjZjAwLCAxMCUgKTsgLy8gPT4gI2U2MDAwMFxuQGZ1bmN0aW9uIGstY29sb3ItZGFya2VuKCAkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIGRhcmtlbiggJGNvbG9yLCAkYW1vdW50ICk7XG59XG5cbi8vLyBNYWtlcyBhIGNvbG9yIGxpZ2h0ZXIgYnkgaW5jcmVhc2luZyBpdHMgbGlnaHRuZXNzLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBsaWdodGVuLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IC0gVGhlIGFtb3VudCB0byBsaWdodGVuIHRoZSBjb2xvci5cbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgbGlnaHRlbmVkIGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1saWdodGVuKCAjZjAwLCAxMCUgKTsgLy8gPT4gI2ZmMWExYVxuQGZ1bmN0aW9uIGstY29sb3ItbGlnaHRlbiggJGNvbG9yLCAkYW1vdW50KSB7XG4gICAgQHJldHVybiBsaWdodGVuKCAkY29sb3IsICRhbW91bnQgKTtcbn1cblxuLy8vIEluY3JlYXNlcyBvciBkZWNyZWFzZXMgdGhlIGh1ZSBvZiBhIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBhZGp1c3QgdGhlIGh1ZSBmb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdyZWVzIC0gVGhlIGFtb3VudCB0byBhZGp1c3QgdGhlIGh1ZS5cbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgYWRqdXN0ZWQgY29sb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLWFkanVzdC1odWUoICNmMDAsIDEwZGVnICk7IC8vID0+ICNmZjFhMDBcbkBmdW5jdGlvbiBrLWNvbG9yLWFkanVzdC1odWUoICRjb2xvciwgJGRlZ3JlZXMgKSB7XG4gICAgQHJldHVybiBhZGp1c3QtaHVlKCAkY29sb3IsICRkZWdyZWVzICk7XG59XG5cbi8vLyBJbmNyZWFzZXMgdGhlIHNhdHVyYXRpb24gb2YgYSBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gc2F0dXJhdGUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgLSBUaGUgYW1vdW50IHRvIHNhdHVyYXRlIHRoZSBjb2xvci5cbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgc2F0dXJhdGVkIGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1zYXR1cmF0ZSggI2YwMCwgMTAlICk7IC8vID0+ICNmZjMzMzNcbkBmdW5jdGlvbiBrLWNvbG9yLXNhdHVyYXRlKCAkY29sb3IsICRhbW91bnQgKSB7XG4gICAgQHJldHVybiBzYXR1cmF0ZSggJGNvbG9yLCAkYW1vdW50ICk7XG59XG5cbi8vLyBEZWNyZWFzZXMgdGhlIHNhdHVyYXRpb24gb2YgYSBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gZGVzYXR1cmF0ZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCAtIFRoZSBhbW91bnQgdG8gZGVzYXR1cmF0ZSB0aGUgY29sb3IuXG4vLy8gQHJldHVybiB7Q29sb3J9IC0gVGhlIGRlc2F0dXJhdGVkIGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1kZXNhdHVyYXRlKCAjZjAwLCAxMCUgKTsgLy8gPT4gI2U2MDAwMFxuQGZ1bmN0aW9uIGstY29sb3ItZGVzYXR1cmF0ZSggJGNvbG9yLCAkYW1vdW50ICkge1xuICAgIEByZXR1cm4gZGVzYXR1cmF0ZSggJGNvbG9yLCAkYW1vdW50ICk7XG59XG5cbi8vLyBSZXR1cm5zIGEgZ3JheSBjb2xvciB3aXRoIHRoZSBzYW1lIGxpZ2h0bmVzcyBhcyB0aGUgaW5wdXQgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGNvbnZlcnQgdG8gZ3JheXNjYWxlLlxuLy8vIEByZXR1cm4ge0NvbG9yfSAtIFRoZSBncmF5c2NhbGUgY29sb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLWdyYXlzY2FsZSggI2YwMCApOyAvLyA9PiAjODA4MDgwXG5AZnVuY3Rpb24gay1jb2xvci1ncmF5c2NhbGUoICRjb2xvciApIHtcbiAgICBAcmV0dXJuIGdyYXlzY2FsZSggJGNvbG9yICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBSR0IgY29tcGxlbWVudCBvZiBhIGNvbG9yLiBUaGlzIGlkZW50aWNhbCB0byBhZGp1c3RpbmcgdGhlIGh1ZVxuLy8vIGJ5IDE4MCBkZWdyZWVzLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBnZXQgdGhlIGNvbXBsZW1lbnQgZm9yLlxuLy8vIEByZXR1cm4ge0NvbG9yfSAtIFRoZSBjb21wbGVtZW50IGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1jb21wbGVtZW50KCAjZjAwICk7IC8vID0+ICMwMGZmZmZcbkBmdW5jdGlvbiBrLWNvbG9yLWNvbXBsZW1lbnQoICRjb2xvciApIHtcbiAgICBAcmV0dXJuIGNvbXBsZW1lbnQoICRjb2xvciApO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgaW52ZXJzZSBvZiBhIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBpbnZlcnQuXG4vLy8gQHJldHVybiB7Q29sb3J9IC0gVGhlIGludmVydGVkIGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1pbnZlcnQoICNmMDAgKTsgLy8gPT4gIzAwZmZmZlxuQGZ1bmN0aW9uIGstY29sb3ItaW52ZXJ0KCAkY29sb3IgKSB7XG4gICAgQHJldHVybiBpbnZlcnQoICRjb2xvciApO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19jb2xvci1jb250cmFzdC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9fY29sb3ItY29udHJhc3QuaW1wb3J0LnNjc3Ncbi8vIEFkYXB0ZWQgZnJvbSBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9zZ29tZXMvY2NjNzJmNzExMzdmZTI5MDM5YzkyYzBhOWZlOWI2NTdcbi8vIEFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvY29tbWl0LzAzOTA4ZWEzN2E1NWVhYTQ0YzEyY2U1Njk0ZGRkYzE2MzBjOTgwYjNcblxuLy8gIFByZWNvbXB1dGVkIGxpbmVhciBjb2xvciBjaGFubmVsIHZhbHVlcywgZm9yIHVzZSBpbiBjb250cmFzdCBjYWxjdWxhdGlvbnMuXG4vLyAgU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAtVEVDSFMvRzE3Lmh0bWwjRzE3LXRlc3RzXG4vLyAgQWxnb3JpdGhtLCBmb3IgYyBpbiAwIHRvIDI1NTpcbi8vICBmKGMpIHtcbi8vICAgIGMgPSBjIC8gMjU1O1xuLy8gICAgcmV0dXJuIGMgPCAwLjAzOTI4ID8gYyAvIDEyLjkyIDogTWF0aC5wb3coKGMgKyAwLjA1NSkgLyAxLjA1NSwgMi40KTtcbi8vICB9XG4vLyAgVGhpcyBsb29rdXAgdGFibGUgaXMgbmVlZGVkIHNpbmNlIHRoZXJlIGlzIG5vIGBwb3dgIGluIFNBU1MuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBudW1iZXItbWF4LXByZWNpc2lvblxuJF9saW5lYXItY2hhbm5lbC12YWx1ZXM6IChcbiAgICAwXG4gICAgLjAwMDMwMzUyNjk4MzU0ODgzNzVcbiAgICAuMDAwNjA3MDUzOTY3MDk3Njc1XG4gICAgLjAwMDkxMDU4MDk1MDY0NjUxMjVcbiAgICAuMDAxMjE0MTA3OTM0MTk1MzVcbiAgICAuMDAxNTE3NjM0OTE3NzQ0MTg3NFxuICAgIC4wMDE4MjExNjE5MDEyOTMwMjVcbiAgICAuMDAyMTI0Njg4ODg0ODQxODYyNlxuICAgIC4wMDI0MjgyMTU4NjgzOTA3XG4gICAgLjAwMjczMTc0Mjg1MTkzOTUzNzNcbiAgICAuMDAzMDM1MjY5ODM1NDg4Mzc1XG4gICAgLjAwMzM0NjUzNTc2Mzg5OTE2MVxuICAgIC4wMDM2NzY1MDczMjQwNDc0MzZcbiAgICAuMDA0MDI0NzE3MDE4NDk2MzA3XG4gICAgLjAwNDM5MTQ0MjAzNzQxMDI5M1xuICAgIC4wMDQ3NzY5NTM0ODA2OTM3MjlcbiAgICAuMDA1MTgxNTE2NzAyMzM4Mzg2XG4gICAgLjAwNTYwNTM5MTYyNDIwMjcyM1xuICAgIC4wMDYwNDg4MzMwMjI4NTcwNTRcbiAgICAuMDA2NTEyMDkwNzkyNTk0NDc1XG4gICAgLjAwNjk5NTQxMDE4NzI2NTM4N1xuICAgIC4wMDc0OTkwMzIwNDMyMjYxNzVcbiAgICAuMDA4MDIzMTkyOTg1Mzg0OTk0XG4gICAgLjAwODU2ODEyNTYxODA2OTMwN1xuICAgIC4wMDkxMzQwNTg3MDIyMjA3ODdcbiAgICAuMDA5NzIxMjE3MzIwMjM3ODVcbiAgICAuMDEwMzI5ODIzMDI5NjI2OTM2XG4gICAgLjAxMDk2MDA5NDAwNjQ4ODI0NlxuICAgIC4wMTE2MTIyNDUxNzk3NDM4ODVcbiAgICAuMDEyMjg2NDg4MzU2OTE1ODcyXG4gICAgLjAxMjk4MzAzMjM0MjE3MzAxMlxuICAgIC4wMTM3MDIwODMwNDcyODk2ODZcbiAgICAuMDE0NDQzODQzNTk2MDkyNTQ1XG4gICAgLjAxNTIwODUxNDQyMjkxMjcxXG4gICAgLjAxNTk5NjI5MzM2NTUwOTYzXG4gICAgLjAxNjgwNzM3NTc1Mjg4NzM4NFxuICAgIC4wMTc2NDE5NTQ0ODgzODQwNzhcbiAgICAuMDE4NTAwMjIwMTI4Mzc5Njk3XG4gICAgLjAxOTM4MjM2MDk1NjkzNTcyM1xuICAgIC4wMjAyODg1NjMwNTY2NTI0XG4gICAgLjAyMTIxOTAxMDM3NjAwMzU1NVxuICAgIC4wMjIxNzM4ODQ3OTMzODczODVcbiAgICAuMDIzMTUzMzY2MTc4MTEwNDFcbiAgICAuMDI0MTU3NjMyNDQ4NTA0NzU2XG4gICAgLjAyNTE4Njg1OTYyNzM2MTYzXG4gICAgLjAyNjI0MTIyMTg5NDg0OTg5OFxuICAgIC4wMjczMjA4OTE2MzkwNzQ4OTRcbiAgICAuMDI4NDI2MDM5NTA0NDIwNzkzXG4gICAgLjAyOTU1NjgzNDQzNzgwODhcbiAgICAuMDMwNzEzNDQzNzMyOTkzNjM1XG4gICAgLjAzMTg5NjAzMzA3MzAxMTUzXG4gICAgLjAzMzEwNDc2NjU3MDg4NTA1NVxuICAgIC4wMzQzMzk4MDY4MDg2ODIxN1xuICAgIC4wMzU2MDEzMTQ4NzUwMjAzNFxuICAgIC4wMzY4ODk0NTA0MDExMDAwNFxuICAgIC4wMzgyMDQzNzE1OTUzNDY1XG4gICAgLjAzOTU0NjIzNTI3NjczMjg0XG4gICAgLjA0MDkxNTE5NjkwNjg1MzE5XG4gICAgLjA0MjMxMTQxMDYyMDgwOTY3NVxuICAgIC4wNDM3MzUwMjkyNTY5NzM0NjVcbiAgICAuMDQ1MTg2MjA0Mzg1Njc1NTRcbiAgICAuMDQ2NjY1MDg2MzM2ODgwMDk1XG4gICAgLjA0ODE3MTgyNDIyNjg4OTQyXG4gICAgLjA0OTcwNjU2NTk4NDEyNzIzXG4gICAgLjA1MTI2OTQ1ODM3NDA0MzI0XG4gICAgLjA1Mjg2MDY0NzAyMzE4MDI0NlxuICAgIC4wNTQ0ODAyNzY0NDI0NDIzN1xuICAgIC4wNTYxMjg0OTAwNDk2MDAwOVxuICAgIC4wNTc4MDU0MzAxOTEwNjcyM1xuICAgIC4wNTk1MTEyMzgxNjI5ODEyXG4gICAgLjA2MTI0NjA1NDIzMTYxNzYxXG4gICAgLjA2MzAxMDAxNzY1MzE2NzY3XG4gICAgLjA2NDgwMzI2NjY5MjkwNTc3XG4gICAgLjA2NjYyNTkzODY0Mzc3Mjg5XG4gICAgLjA2ODQ3ODE2OTg0NDQwMDE3XG4gICAgLjA3MDM2MDA5NTY5NjU5NTg4XG4gICAgLjA3MjI3MTg1MDY4MjMxNzQ4XG4gICAgLjA3NDIxMzU2ODM4MDE0OTYzXG4gICAgLjA3NjE4NTM4MTQ4MTMwNzg1XG4gICAgLjA3ODE4NzQyMTgwNTE4NjMzXG4gICAgLjA4MDIxOTgyMDMxNDQ2ODMyXG4gICAgLjA4MjI4MjcwNzEyOTgxNDhcbiAgICAuMDg0Mzc2MjExNTQ0MTQ4ODJcbiAgICAuMDg2NTAwNDYyMDM2NTQ5NzZcbiAgICAuMDg4NjU1NTg2Mjg1NzcyOTRcbiAgICAuMDkwODQxNzExMTgzNDA3NjhcbiAgICAuMDkzMDU4OTYyODQ2Njg3NDVcbiAgICAuMDk1MzA3NDY2NjMwOTY0N1xuICAgIC4wOTc1ODczNDcxNDE4NjI0NlxuICAgIC4wOTk4OTg3MjgyNDcxMTM4OVxuICAgIC4xMDIyNDE3MzMwODgxMDEzMlxuICAgIC4xMDQ2MTY0ODQwOTExMDQxOVxuICAgIC4xMDcwMjMxMDI5NzgyNjc2MVxuICAgIC4xMDk0NjE3MTA3NzgyOTkzM1xuICAgIC4xMTE5MzI0Mjc4MzY5MDU2XG4gICAgLjExNDQzNTM3MzgyNjk3MzczXG4gICAgLjExNjk3MDY2Nzc1ODUxMDg0XG4gICAgLjExOTUzODQyNzk4ODM0NTYyXG4gICAgLjEyMjEzODc3MjIyOTYwMTg3XG4gICAgLjEyNDc3MTgxNzU2MDk1MDQ5XG4gICAgLjEyNzQzNzY4MDQzNTY0NzQzXG4gICAgLjEzMDEzNjQ3NjY5MDM2NDNcbiAgICAuMTMyODY4MzIxNTUzODE3OThcbiAgICAuMTM1NjMzMzI5NjU1MjA1NjZcbiAgICAuMTM4NDMxNjE1MDMyNDUxODNcbiAgICAuMTQxMjYzMjkxMTQwMjcxNjRcbiAgICAuMTQ0MTI4NDcwODU4MDU3NzdcbiAgICAuMTQ3MDI3MjY2NDk3NTk0OThcbiAgICAuMTQ5OTU5Nzg5ODEwNjA4NTZcbiAgICAuMTUyOTI2MTUxOTk2MTUwMTdcbiAgICAuMTU1OTI2NDYzNzA3ODI3NFxuICAgIC4xNTg5NjA4MzUwNjA4ODA0XG4gICAgLjE2MjAyOTM3NTYzOTExMVxuICAgIC4xNjUxMzIxOTQ1MDE2Njc2XG4gICAgLjE2ODI2OTQwMDE4OTY5MDc1XG4gICAgLjE3MTQ0MTEwMDczMjgyMjZcbiAgICAuMTc0NjQ3NDAzNjU1NTg1MDRcbiAgICAuMTc3ODg4NDE1OTgzNjI5MTJcbiAgICAuMTgxMTY0MjQ0MjQ5ODYwMjJcbiAgICAuMTg0NDc0OTk0NTAwNDQxXG4gICAgLjE4NzgyMDc3MjMwMDY3Nzg3XG4gICAgLjE5MTIwMTY4Mjc0MDc5MTM4XG4gICAgLjE5NDYxNzgzMDQ0MTU3NThcbiAgICAuMTk4MDY5MzE5NTU5OTQ4ODZcbiAgICAuMjAxNTU2MjUzNzk0Mzk3MDdcbiAgICAuMjA1MDc4NzM2MzkwMzE2OTNcbiAgICAuMjA4NjM2ODcwMTQ1MjU1NzVcbiAgICAuMjEyMjMwNzU3NDE0MDU1MjNcbiAgICAuMjE1ODYwNTAwMTEzODk5MjZcbiAgICAuMjE5NTI2MTk5NzI5MjY5MlxuICAgIC4yMjMyMjc5NTczMTY4MDg1XG4gICAgLjIyNjk2NTg3MzUxMDA5ODM2XG4gICAgLjIzMDc0MDA0ODUyNDM0OTE1XG4gICAgLjIzNDU1MDU4MjE2MTAwNTIyXG4gICAgLjIzODM5NzU3MzgxMjI3MVxuICAgIC4yNDIyODExMjI0NjU1NTQ4NlxuICAgIC4yNDYyMDEzMjY3MDc4MzU0OFxuICAgIC4yNTAxNTgyODQ3Mjk5NTM0NFxuICAgIC4yNTQxNTIwOTQzMzA4MjY3NVxuICAgIC4yNTgxODI4NTI5MjE1OTU4XG4gICAgLjI2MjI1MDY1NzUyOTY5NjIzXG4gICAgLjI2NjM1NTYwNDgwMjg2MjQ3XG4gICAgLjI3MDQ5Nzc5MTAxMzA2NThcbiAgICAuMjc0Njc3MzEyMDYwMzg0NjVcbiAgICAuMjc4ODk0MjYzNDc2ODEwNFxuICAgIC4yODMxNDg3NDA0Mjk5OTIxXG4gICAgLjI4NzQ0MDgzNzcyNjkxNzVcbiAgICAuMjkxNzcwNjQ5ODE3NTM1ODdcbiAgICAuMjk2MTM4MjcwNzk4MzIxMVxuICAgIC4zMDA1NDM3OTQ0MTU3NzY1XG4gICAgLjMwNDk4NzMxNDA2OTg4NjNcbiAgICAuMzA5NDY4OTIyODE3NTA4NTRcbiAgICAuMzEzOTg4NzEzMzc1NzE3NTRcbiAgICAuMzE4NTQ2Nzc4MTI1MDkxODZcbiAgICAuMzIzMTQzMjA5MTEyOTUwNzVcbiAgICAuMzI3Nzc4MDk4MDU2NTQyMlxuICAgIC4zMzI0NTE1MzYzNDYxNzkzNVxuICAgIC4zMzcxNjM2MTUwNDgzMzAzN1xuICAgIC4zNDE5MTQ0MjQ5MDg2NjA5XG4gICAgLjM0NjcwNDA1NjM1NTAyOTZcbiAgICAuMzUxNTMyNTk5NTAwNDM5MzZcbiAgICAuMzU2NDAwMTQ0MTQ1OTQzNVxuICAgIC4zNjEzMDY3Nzk3ODM1MDk1XG4gICAgLjM2NjI1MjU5NTU5ODgzOTVcbiAgICAuMzcxMjM3NjgwNDc0MTQ5MVxuICAgIC4zNzYyNjIxMjI5OTA5MDY1XG4gICAgLjM4MTMyNjAxMTQzMjUzMDE0XG4gICAgLjM4NjQyOTQzMzc4NzA0OVxuICAgIC4zOTE1NzI0Nzc3NDk3MjMyNlxuICAgIC4zOTY3NTUyMzA3MjU2MjY4NVxuICAgIC40MDE5Nzc3Nzk4MzIxOTU4XG4gICAgLjQwNzI0MDIxMTkwMTczNjdcbiAgICAuNDEyNTQyNjEzNDgzOTAzNzVcbiAgICAuNDE3ODg1MDcwODQ4MTM3NVxuICAgIC40MjMyNjc2Njk5ODYwNzE3XG4gICAgLjQyODY5MDQ5NjYxMzkwNjZcbiAgICAuNDM0MTUzNjM2MTc0NzQ4OTVcbiAgICAuNDM5NjU3MTczODQwOTE4OFxuICAgIC40NDUyMDExOTQ1MTYyMjc4NlxuICAgIC40NTA3ODU3ODI4MzgyMjM0NlxuICAgIC40NTY0MTEwMjMxODA0MDQ2NlxuICAgIC40NjIwNzY5OTk2NTQ0MDcxXG4gICAgLjQ2Nzc4Mzc5NjExMjE1OVxuICAgIC40NzM1MzE0OTYxNDgwMDk1NVxuICAgIC40NzkzMjAxODMxMDA4MjY4XG4gICAgLjQ4NTE0OTk0MDA1NjA3MDRcbiAgICAuNDkxMDIwODQ5ODQ3ODM1NlxuICAgIC40OTY5MzI5OTUwNjA4NzA0XG4gICAgLjUwMjg4NjQ1ODAzMjU2ODdcbiAgICAuNTA4ODgxMzIwODU0OTMzOFxuICAgIC41MTQ5MTc2NjUzNzY1MjE0XG4gICAgLjUyMDk5NTU3MzIwNDM1NDNcbiAgICAuNTI3MTE1MTI1NzA1ODEzMVxuICAgIC41MzMyNzY0MDQwMTA1MDUyXG4gICAgLjUzOTQ3OTQ4OTAxMjEwNzJcbiAgICAuNTQ1NzI0NDYxMzcwMTg2NlxuICAgIC41NTIwMTE0MDE1MTIwMDAxXG4gICAgLjU1ODM0MDM4OTYzNDI2NzlcbiAgICAuNTY0NzExNTA1NzA0OTI5MlxuICAgIC41NzExMjQ4Mjk0NjQ4NzMxXG4gICAgLjU3NzU4MDQ0MDQyOTY1MDZcbiAgICAuNTg0MDc4NDE3ODkxMTY0MVxuICAgIC41OTA2MTg4NDA5MTkzMzY5XG4gICAgLjU5NzIwMTc4ODM2Mzc2MzRcbiAgICAuNjAzODI3MzM4ODU1MzM3OFxuICAgIC42MTA0OTU1NzA4MDc4NjQ4XG4gICAgLjYxNzIwNjU2MjQxOTY1MTFcbiAgICAuNjIzOTYwMzkxNjc1MDc2MVxuICAgIC42MzA3NTcxMzYzNDYxNDY4XG4gICAgLjYzNzU5Njg3Mzk5NDAzMjZcbiAgICAuNjQ0NDc5NjgxOTcwNTgyMVxuICAgIC42NTE0MDU2Mzc0MTk4MjQyXG4gICAgLjY1ODM3NDgxNzI3OTQ0ODVcbiAgICAuNjY1Mzg3Mjk4MjgyMjcyXG4gICAgLjY3MjQ0MzE1Njk1NzY4NzVcbiAgICAuNjc5NTQyNDY5NjMzMDkzOFxuICAgIC42ODY2ODUzMTI0MzUzMTM1XG4gICAgLjY5Mzg3MTc2MTI5MTk4OTlcbiAgICAuNzAxMTAxODkxOTMyOTczMVxuICAgIC43MDgzNzU3Nzk4OTE2ODY4XG4gICAgLjcxNTY5MzUwMDUwNjQ4MDdcbiAgICAuNzIzMDU1MTI4OTIxOTY5M1xuICAgIC43MzA0NjA3NDAwOTAzNTM3XG4gICAgLjczNzkxMDQwODc3MjczMDhcbiAgICAuNzQ1NDA0MjA5NTQwMzg3NFxuICAgIC43NTI5NDIyMTY3NzYwNzc5XG4gICAgLjc2MDUyNDUwNDY3NTI5MjRcbiAgICAuNzY4MTUxMTQ3MjQ3NTA3XG4gICAgLjc3NTgyMjIxODMxNzQyMzZcbiAgICAuNzgzNTM3NzkxNTI2MTkzNVxuICAgIC43OTEyOTc5NDAzMzI2MzAyXG4gICAgLjc5OTEwMjczODAxNDQwOVxuICAgIC44MDY5NTIyNTc2NjkyNTE2XG4gICAgLjgxNDg0NjU3MjIxNjEwMTJcbiAgICAuODIyNzg1NzU0Mzk2MjgzNVxuICAgIC44MzA3Njk4NzY3NzQ2NTQ2XG4gICAgLjgzODc5OTAxMTc0MDc0XG4gICAgLjg0Njg3MzIzMTUwOTg1OFxuICAgIC44NTQ5OTI2MDgxMjQyMzM4XG4gICAgLjg2MzE1NzIxMzQ1NDEwMjNcbiAgICAuODcxMzY3MTE5MTk4Nzk3MlxuICAgIC44Nzk2MjIzOTY4ODc4MzE3XG4gICAgLjg4NzkyMzExNzg4MTk2NjNcbiAgICAuODk2MjY5MzUzMzc0MjY2NFxuICAgIC45MDQ2NjExNzQzOTExNDk2XG4gICAgLjkxMzA5ODY1MTc5MzQxOTJcbiAgICAuOTIxNTgxODU2Mjc3Mjk0NlxuICAgIC45MzAxMTA4NTgzNzU0MjM3XG4gICAgLjkzODY4NTcyODQ1Nzg4OFxuICAgIC45NDczMDY1MzY3MzMxOTk5XG4gICAgLjk1NTk3MzM1MzI0OTI4NjFcbiAgICAuOTY0Njg2MjQ3ODk0NDY1MVxuICAgIC45NzM0NDUyOTAzOTg0MTI1XG4gICAgLjk4MjI1MDU1MDMzMzExNzFcbiAgICAuOTkxMTAyMDk3MTEzODI5OFxuICAgIDFcbik7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIG51bWJlci1tYXgtcHJlY2lzaW9uXG5cbi8vLyBUaGUgY29udHJhc3QgcmF0aW8gdG8gcmVhY2ggYWdhaW5zdCB3aGl0ZSwgdG8gZGV0ZXJtaW5lIGlmIGNvbG9yIGNoYW5nZXMgZnJvbSBcImxpZ2h0XCIgdG8gXCJkYXJrXCIuXG4vLy8gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGdyb3VwIGFjY2Vzc2liaWxpdHlcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAvI3Zpc3VhbC1hdWRpby1jb250cmFzdC1jb250cmFzdFxuLy8vIEBsaW5rIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAtVEVDSFMvRzE3Lmh0bWwjRzE3LXRlc3RzXG4kd2NhZy1taW4tY29udHJhc3QtcmF0aW86IDcgIWRlZmF1bHQ7XG4vLy8gRGVmYXVsdCBkYXJrIGNvbG9yIGZvciBXQ0FHIDIuMC5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBncm91cCBhY2Nlc3NpYmlsaXR5XG4kd2NhZy1kYXJrOiBibGFjayAhZGVmYXVsdDtcbi8vLyBEZWZhdWx0IGxpZ2h0IGNvbG9yIGZvciBXQ0FHIDIuMC5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBncm91cCBhY2Nlc3NpYmlsaXR5XG4kd2NhZy1saWdodDogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHJlbGF0aXZlIGx1bWluYW5jZSBmb3IgYSBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gY2FsY3VsYXRlIHRoZSByZWxhdGl2ZSBsdW1pbmFuY2UgZm9yLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgcmVsYXRpdmUgbHVtaW5hbmNlIGZvciB0aGUgY29sb3IuXG4vLy9cbi8vLyBAZ3JvdXAgYWNjZXNzaWJpbGl0eVxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcvI2Rmbi1yZWxhdGl2ZS1sdW1pbmFuY2Vcbi8vLyBAbGluayBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIwLVRFQ0hTL0cxNy5odG1sI0cxNy10ZXN0c1xuQGZ1bmN0aW9uIGstY29sb3ItbHVtaW5hbmNlKCAkY29sb3IgKSB7XG4gICAgJHJlZDogay1saXN0LW50aCggJF9saW5lYXItY2hhbm5lbC12YWx1ZXMsIGstY29sb3ItcmVkKCAkY29sb3IgKSArIDEgKTtcbiAgICAkZ3JlZW46IGstbGlzdC1udGgoICRfbGluZWFyLWNoYW5uZWwtdmFsdWVzLCBrLWNvbG9yLWdyZWVuKCAkY29sb3IgKSArIDEgKTtcbiAgICAkYmx1ZTogay1saXN0LW50aCggJF9saW5lYXItY2hhbm5lbC12YWx1ZXMsIGstY29sb3ItYmx1ZSggJGNvbG9yICkgKyAxICk7XG5cbiAgICBAcmV0dXJuIC4yMTI2ICogJHJlZCArIC43MTUyICogJGdyZWVuICsgLjA3MjIgKiAkYmx1ZTtcbn1cblxuLy8vIENhbGN1bGF0ZXMgY29udHJhc3QgcmF0aW8gYmV0d2VlbiB0d28gY29sb3JzXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBUaGUgYmFja2dyb3VuZCBjb2xvclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRmb3JlZ3JvdW5kIC0gVGhlIGZvcmVncm91bmQgY29sb3Jcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gdGhlIHR3byBjb2xvcnNcbi8vL1xuLy8vIEBncm91cCBhY2Nlc3NpYmlsaXR5XG4vLy9cbi8vLyBAbGluayBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRy8jZGZuLWNvbnRyYXN0LXJhdGlvXG4vLy8gQGxpbmsgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC1URUNIUy9HMTcuaHRtbCNHMTctdGVzdHNcbkBmdW5jdGlvbiBrLWNvbG9yLWNvbnRyYXN0LXJhdGlvKCAkYmFja2dyb3VuZCwgJGZvcmVncm91bmQgKSB7XG4gICAgJGJhY2tMdW06IGstY29sb3ItbHVtaW5hbmNlKCAkYmFja2dyb3VuZCApICsgLjA1O1xuICAgICRmb3JlTHVtOiBrLWNvbG9yLWx1bWluYW5jZSggJGZvcmVncm91bmQgKSArIC4wNTtcblxuICAgIEByZXR1cm4gay1tYXRoLWRpdiggay1tYXRoLW1heCggJGJhY2tMdW0sICRmb3JlTHVtICksIGstbWF0aC1taW4oICRiYWNrTHVtLCAkZm9yZUx1bSApICk7XG59XG5cbi8vLyBDaGVja3MgaWYgYSBjb2xvciBpcyBkYXJrXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGNoZWNrXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBUcnVlIGlmIHRoZSBjb2xvciBpcyBkYXJrLCBmYWxzZSBvdGhlcndpc2Vcbi8vL1xuLy8vIEBncm91cCBhY2Nlc3NpYmlsaXR5XG5AZnVuY3Rpb24gay1pcy1kYXJrKCAkY29sb3IgKSB7XG4gICAgQHJldHVybiBpZiggay1jb2xvci1sdW1pbmFuY2UoICRjb2xvciApIDwgLjUsIHRydWUsIGZhbHNlICk7XG59XG5cbi8vLyBDaGVja3MgaWYgYSBjb2xvciBpcyBsaWdodFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBjaGVja1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gVHJ1ZSBpZiB0aGUgY29sb3IgaXMgbGlnaHQsIGZhbHNlIG90aGVyd2lzZVxuLy8vXG4vLy8gQGdyb3VwIGFjY2Vzc2liaWxpdHlcbkBmdW5jdGlvbiBrLWlzLWxpZ2h0KCAkY29sb3IgKSB7XG4gICAgQHJldHVybiBpZiggay1jb2xvci1sdW1pbmFuY2UoICRjb2xvciApIDwgLjUsIGZhbHNlLCB0cnVlICk7XG59XG5cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gYSBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBhIGZvcmVncm91bmQgY29sb3IuXG4vLy8gSWYgdGhlIGNvbnRyYXN0IHJhdGlvIGlzIG5vdCBoaWdoIGVub3VnaCwgaXQgd2lsbCByZXR1cm4gdGhlIGNvbG9yIHdpdGggdGhlIGhpZ2hlc3QgY29udHJhc3QgcmF0aW8uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBUaGUgYmFja2dyb3VuZCBjb2xvclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRkYXJrIC0gVGhlIGRhcmsgY29sb3IgdG8gdXNlIGFzIGEgZmFsbGJhY2tcbi8vLyBAcGFyYW0ge0NvbG9yfSAkbGlnaHQgLSBUaGUgbGlnaHQgY29sb3IgdG8gdXNlIGFzIGEgZmFsbGJhY2tcbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbi1yYXRpbyAtIFRoZSBtaW5pbXVtIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoXG4vLy8gQHJldHVybiB7Q29sb3J9IC0gVGhlIGNvbG9yIHdpdGggdGhlIGhpZ2hlc3QgY29udHJhc3QgcmF0aW9cbi8vL1xuLy8vIEBncm91cCBhY2Nlc3NpYmlsaXR5XG5AZnVuY3Rpb24gay1jb250cmFzdC1jb2xvciggJGJhY2tncm91bmQsICRkYXJrOiAkd2NhZy1kYXJrLCAkbGlnaHQ6ICR3Y2FnLWxpZ2h0LCAkbWluLXJhdGlvOiAkd2NhZy1taW4tY29udHJhc3QtcmF0aW8gKSB7XG4gICAgJGZvcmVncm91bmRzOiAkbGlnaHQsICRkYXJrLCAjZmZmZmZmLCAjMDAwMDAwO1xuICAgICRtYXgtcmF0aW86IDA7XG4gICAgJG1heC1yYXRpby1jb2xvcjogbnVsbDtcblxuICAgIEBlYWNoICRjb2xvciBpbiAkZm9yZWdyb3VuZHMge1xuICAgICAgICAkY29udHJhc3QtcmF0aW86IGstY29sb3ItY29udHJhc3QtcmF0aW8oICRiYWNrZ3JvdW5kLCAkY29sb3IgKTtcblxuICAgICAgICBAaWYgKCAkY29udHJhc3QtcmF0aW8gPiAkbWluLXJhdGlvICkge1xuICAgICAgICAgICAgQHJldHVybiAkY29sb3I7XG4gICAgICAgIH0gQGVsc2UgaWYgKCAkY29udHJhc3QtcmF0aW8gPiAkbWF4LXJhdGlvICkge1xuICAgICAgICAgICAgJG1heC1yYXRpbzogJGNvbnRyYXN0LXJhdGlvO1xuICAgICAgICAgICAgJG1heC1yYXRpby1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHdhcm4gXCJGb3VuZCBubyBjb2xvciBsZWFkaW5nIHRvICN7JG1pbi1yYXRpb306MSBjb250cmFzdCByYXRpbyBhZ2FpbnN0ICN7JGJhY2tncm91bmR9Li4uXCI7XG5cbiAgICBAcmV0dXJuICRtYXgtcmF0aW8tY29sb3I7XG59XG5cblxuLy8gTGVnYWN5IGZ1bmN0aW9uc1xuQGZ1bmN0aW9uIGsteWlxLWx1bWEtaW5mb3JtYXRpb24oJGNvbG9yKSB7XG4gICAgJHI6IGstY29sb3ItcmVkKCRjb2xvcik7XG4gICAgJGc6IGstY29sb3ItZ3JlZW4oJGNvbG9yKTtcbiAgICAkYjogay1jb2xvci1ibHVlKCRjb2xvcik7XG5cbiAgICAkeWlxOiBrLW1hdGgtZGl2KCAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSwgMTAwMCApO1xuXG4gICAgQHJldHVybiAkeWlxO1xufVxuQGZ1bmN0aW9uIGstY29udHJhc3QteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtZGFyaywgJGxpZ2h0OiAkeWlxLWxpZ2h0KSB7XG4gICAgJHlpcTogay15aXEtbHVtYS1pbmZvcm1hdGlvbigkY29sb3IpO1xuICAgICRvdXQ6IGlmKCR5aXEgPj0gJHlpcS10aHJlc2hvbGQsICRkYXJrLCAkbGlnaHQpO1xuICAgIC8vIEBkZWJ1ZyB5aXE7XG4gICAgQHJldHVybiAkb3V0O1xufVxuQGZ1bmN0aW9uIGstY29udHJhc3QtbGVnYWN5KCRjb2xvciwgJGRhcms6ICR3Y2FnLWRhcmssICRsaWdodDogJHdjYWctbGlnaHQpIHtcbiAgICAkbHVtYTogay1jb2xvci1sdW1pbmFuY2UoJGNvbG9yKTtcbiAgICAkb3V0OiBpZigkbHVtYSA8IC41LCAkbGlnaHQsICRkYXJrKTtcbiAgICAvLyBAZGVidWcgJGx1bWE7XG4gICAgQHJldHVybiAkb3V0O1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19jb2xvci1tYW5pcHVsYXRpb24uaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvX2NvbG9yLW1hbmlwdWxhdGlvbi5pbXBvcnQuc2Nzc1xuJGtlbmRvLWxpZ2h0LWNvbG9yLWxldmVsLXN0ZXA6IDglICFkZWZhdWx0O1xuJGtlbmRvLWRhcmstY29sb3ItbGV2ZWwtc3RlcDogMTYlICFkZWZhdWx0O1xuXG4vLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbi8vLyBAYWNjZXNzIHByaXZhdGVcbiRrZW5kby1jb2xvci1sZXZlbC1zdGVwOiA4JSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGstY29sb3ItbGV2ZWwoICRjb2xvciwgJGxldmVsOiAwICkge1xuICAgICRfZGFyay10aGVtZTogaWYoIGstbWV0YS12YXJpYWJsZS1leGlzdHMoIGtlbmRvLWlzLWRhcmstdGhlbWUgKSwgJGtlbmRvLWlzLWRhcmstdGhlbWUsIGZhbHNlICk7XG4gICAgJF9jb2xvci1sZXZlbC1zdGVwOiBpZiggJF9kYXJrLXRoZW1lLCAka2VuZG8tZGFyay1jb2xvci1sZXZlbC1zdGVwLCAka2VuZG8tbGlnaHQtY29sb3ItbGV2ZWwtc3RlcCApO1xuXG4gICAgQGlmICggJGxldmVsID09IDAgKSBvciAoICRsZXZlbCA9PSAwJSApIHtcbiAgICAgICAgQHJldHVybiAkY29sb3I7XG4gICAgfVxuXG4gICAgJGJhc2U6IGlmKCAkbGV2ZWwgPCAwLCAjZmZmZmZmLCAjMDAwMDAwICk7XG4gICAgJGxldmVsOiBrLW1hdGgtYWJzKCAkbGV2ZWwgKTtcblxuXG4gICAgQGlmICggay1tYXRoLXVuaXQoJGxldmVsKSA9PSBcIiVcIiApIHtcbiAgICAgICAgQHJldHVybiBrLWNvbG9yLW1peCggJGJhc2UsICRjb2xvciwgJGxldmVsICk7XG4gICAgfVxuXG4gICAgQHJldHVybiBrLWNvbG9yLW1peCggJGJhc2UsICRjb2xvciwgay1tYXRoLWNsYW1wKCAkbGV2ZWwgKiAkX2NvbG9yLWxldmVsLXN0ZXAsIDAlLCAxMDAlICkgKTtcbn1cblxuLy8vIE1ha2VzIGEgY29sb3IgbGlnaHRlciBieSBtaXhpbmcgaXQgd2l0aCB3aGl0ZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBsaWdodGVuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXZlbCAtIFRoZSBhbW91bnQgdG8gbGlnaHRlbiB0aGUgY29sb3Jcbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgbGlnaHRlbmVkIGNvbG9yXG4vLy9cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLXRpbnQoICNmMDAsIDEgKTsgLy8gPT4gI2ZmMWExYVxuQGZ1bmN0aW9uIGstY29sb3ItdGludCggJGNvbG9yLCAkbGV2ZWw6IDEgKSB7XG4gICAgQHJldHVybiBrLWNvbG9yLWxldmVsKCAkY29sb3IsIC0kbGV2ZWwgKTtcbn1cblxuLy8vIE1ha2VzIGEgY29sb3IgZGFya2VyIGJ5IG1peGluZyBpdCB3aXRoIGJsYWNrXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGRhcmtlblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGV2ZWwgLSBUaGUgYW1vdW50IHRvIGRhcmtlbiB0aGUgY29sb3Jcbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgZGFya2VuZWQgY29sb3Jcbi8vL1xuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstY29sb3Itc2hhZGUoICNmMDAsIDEgKTsgLy8gPT4gI2U2MDAwMFxuQGZ1bmN0aW9uIGstY29sb3Itc2hhZGUoICRjb2xvciwgJGxldmVsOiAxICkge1xuICAgIEByZXR1cm4gay1jb2xvci1sZXZlbCggJGNvbG9yLCAkbGV2ZWwgKTtcbn1cblxuLy8vIFNoYWRlcyB0aGUgY29sb3IgaW4gbGlnaHQgdGhlbWVzIGFuZCB0aW50cyBpdCBpbiBkYXJrIHRoZW1lc1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBzaGFkZSBvciB0aW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXZlbCAtIFRoZSBhbW91bnQgdG8gc2hhZGUgb3IgdGludCB0aGUgY29sb3Jcbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgc2hhZGVkIG9yIHRpbnRlZCBjb2xvclxuLy8vXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuQGZ1bmN0aW9uIGstdHJ5LXNoYWRlKCAkY29sb3IsICRsZXZlbDogMSApIHtcbiAgICAkX2RhcmstdGhlbWU6IGlmKCBrLW1ldGEtdmFyaWFibGUtZXhpc3RzKCBrZW5kby1pcy1kYXJrLXRoZW1lICksICRrZW5kby1pcy1kYXJrLXRoZW1lLCBmYWxzZSApO1xuXG4gICAgQGlmICRfZGFyay10aGVtZSB7XG4gICAgICAgIEByZXR1cm4gay1jb2xvci10aW50KCAkY29sb3IsICRsZXZlbCApO1xuICAgIH1cblxuICAgIEByZXR1cm4gay1jb2xvci1zaGFkZSggJGNvbG9yLCAkbGV2ZWwgKTtcbn1cblxuLy8vIFRpbnRzIHRoZSBjb2xvciBpbiBsaWdodCB0aGVtZXMgYW5kIHNoYWRlcyBpdCBpbiBkYXJrIHRoZW1lc1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byB0aW50IG9yIHNoYWRlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXZlbCAtIFRoZSBhbW91bnQgdG8gdGludCBvciBzaGFkZSB0aGUgY29sb3Jcbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgdGludGVkIG9yIHNoYWRlZCBjb2xvclxuLy8vXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuQGZ1bmN0aW9uIGstdHJ5LXRpbnQoICRjb2xvciwgJGxldmVsOiAxICkge1xuICAgICRfZGFyay10aGVtZTogaWYoIGstbWV0YS12YXJpYWJsZS1leGlzdHMoIGtlbmRvLWlzLWRhcmstdGhlbWUgKSwgJGtlbmRvLWlzLWRhcmstdGhlbWUsIGZhbHNlICk7XG5cbiAgICBAaWYgJF9kYXJrLXRoZW1lIHtcbiAgICAgICAgQHJldHVybiBrLWNvbG9yLXNoYWRlKCAkY29sb3IsICRsZXZlbCApO1xuICAgIH1cblxuICAgIEByZXR1cm4gay1jb2xvci10aW50KCAkY29sb3IsICRsZXZlbCApO1xufVxuXG4vLy8gRGFya2VucyB0aGUgY29sb3IgaW4gbGlnaHQgdGhlbWVzIGFuZCBsaWdodGVucyBpdCBpbiBkYXJrIHRoZW1lc1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBkYXJrZW4gb3IgbGlnaHRlblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGV2ZWwgLSBUaGUgYW1vdW50IHRvIGRhcmtlbiBvciBsaWdodGVuIHRoZSBjb2xvclxuLy8vIEByZXR1cm4ge0NvbG9yfSAtIFRoZSBkYXJrZW5lZCBvciBsaWdodGVuZWQgY29sb3Jcbi8vL1xuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbkBmdW5jdGlvbiBrLXRyeS1kYXJrZW4oICRjb2xvciwgJGFtb3VudCApIHtcbiAgICAkX2RhcmstdGhlbWU6IGlmKCBrLW1ldGEtdmFyaWFibGUtZXhpc3RzKCBrZW5kby1pcy1kYXJrLXRoZW1lICksICRrZW5kby1pcy1kYXJrLXRoZW1lLCBmYWxzZSApO1xuXG4gICAgQGlmICRfZGFyay10aGVtZSB7XG4gICAgICAgIEByZXR1cm4gay1jb2xvci1saWdodGVuKCAkY29sb3IsICRhbW91bnQgKTtcbiAgICB9XG4gICAgQHJldHVybiBrLWNvbG9yLWRhcmtlbiggJGNvbG9yLCAkYW1vdW50ICk7XG59XG5cbi8vLyBMaWdodGVucyB0aGUgY29sb3IgaW4gbGlnaHQgdGhlbWVzIGFuZCBkYXJrZW5zIGl0IGluIGRhcmsgdGhlbWVzXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGxpZ2h0ZW4gb3IgZGFya2VuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXZlbCAtIFRoZSBhbW91bnQgdG8gbGlnaHRlbiBvciBkYXJrZW4gdGhlIGNvbG9yXG4vLy8gQHJldHVybiB7Q29sb3J9IC0gVGhlIGxpZ2h0ZW5lZCBvciBkYXJrZW5lZCBjb2xvclxuLy8vXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuQGZ1bmN0aW9uIGstdHJ5LWxpZ2h0ZW4oICRjb2xvciwgJGFtb3VudCApIHtcbiAgICAkX2RhcmstdGhlbWU6IGlmKCBrLW1ldGEtdmFyaWFibGUtZXhpc3RzKCBrZW5kby1pcy1kYXJrLXRoZW1lICksICRrZW5kby1pcy1kYXJrLXRoZW1lLCBmYWxzZSApO1xuXG4gICAgQGlmICRfZGFyay10aGVtZSB7XG4gICAgICAgIEByZXR1cm4gay1jb2xvci1kYXJrZW4oICRjb2xvciwgJGFtb3VudCApO1xuICAgIH1cbiAgICBAcmV0dXJuIGstY29sb3ItbGlnaHRlbiggJGNvbG9yLCAkYW1vdW50ICk7XG59XG5cbi8vLyBDb252ZXJ0cyBhIGNvbG9yIHdpdGggYWxwaGEgdG8gc29saWQgY29sb3IgbWl4ZWQgd2l0aCBhIGJhY2tncm91bmQgY29sb3Jcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiZyAtIFRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4vLy8gQHJldHVybiB7Q29sb3J9IC0gVGhlIGNvbnZlcnRlZCBjb2xvclxuLy8vXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1yZ2JhLXRvLW1peCggcmdiYSggI2YwMCwgMC41ICksICNmZmYgKTsgLy8gPT4gI2ZmODA4MFxuQGZ1bmN0aW9uIGstcmdiYS10by1taXgoICRjb2xvciwgJGJnICkge1xuICAgICRwZXJjZW50OiBrLWNvbG9yLWFscGhhKCAkY29sb3IgKSAqIDEwMCU7XG5cbiAgICBAcmV0dXJuIGstY29sb3ItbWl4KCByZ2JhKCAkY29sb3IsIDEgKSwgJGJnLCAkcGVyY2VudCApO1xufVxuXG4vLyBUT0RPOiBSZW1vdmUgdGhpcyBmdW5jdGlvbiBvciByZXRoaW5rIHRoZSBsb2dpY1xuQGZ1bmN0aW9uIGstdHJ1ZS1taXgoICRjb2xvcjEsICRjb2xvcjIsICR3ZWlnaHQ6IDUwJSApIHtcbiAgICBAcmV0dXJuIGstY29sb3ItbWl4KCByZ2JhKCAkY29sb3IxLCAxICksIHJnYmEoICRjb2xvcjIsIDEgKSwgJHdlaWdodCApO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19jb2xvci1zeXN0ZW0uaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvX2NvbG9yLXN5c3RlbS5pbXBvcnQuc2Nzc1xuLy8vIEdlbmVyYXRlcyBhbGwgY29sb3IgdmFyaWF0aW9ucyBvZiBhIGdpdmVuIG1haW4gY29sb3Jcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbWFpbiBjb2xvclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB2YWx1ZSB0byBiZSBhc3NpZ25lZCB0byB0aGUgbWFpbiBjb2xvclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdGhlbWUgLSBUaGUgdGhlbWUgdGhlIGNvbG9ycyB3aWxsIGJlIGdlbmVyYXRlZCBmb3Jcbi8vLyBAcmV0dXJuIHtNYXB9IC0gQSBtYXAgd2l0aCB0aGUgZ2VuZXJhdGVkIGtleXMgYW5kIHZhbHVlc1xuLy8vXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuQGZ1bmN0aW9uIGstZ2VuZXJhdGUtY29sb3ItdmFyaWF0aW9ucyggJG5hbWUsICRjb2xvciwgJHRoZW1lOiBudWxsICkge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgLy8gRGF0YVZpelxuICAgIEBpZiAoIFxuICAgICAgICAgICAgJG5hbWUgPT0gJ3Nlcmllcy1hJyBvclxuICAgICAgICAgICAgJG5hbWUgPT0gJ3Nlcmllcy1iJyBvclxuICAgICAgICAgICAgJG5hbWUgPT0gJ3Nlcmllcy1jJyBvclxuICAgICAgICAgICAgJG5hbWUgPT0gJ3Nlcmllcy1kJyBvclxuICAgICAgICAgICAgJG5hbWUgPT0gJ3Nlcmllcy1lJyBvclxuICAgICAgICAgICAgJG5hbWUgPT0gJ3Nlcmllcy1mJ1xuICAgICAgICApIHtcbiAgICAgICAgJF92YXJpYXRpb25zOiAoXG4gICAgICAgICAgICAjeyRuYW1lfTogJGNvbG9yLFxuICAgICAgICAgICAgI3skbmFtZX0tYm9sZDogay1jb2xvci1taXgoYmxhY2ssICRjb2xvciwgMjUlKSxcbiAgICAgICAgICAgICN7JG5hbWV9LWJvbGRlcjogay1jb2xvci1taXgoYmxhY2ssICRjb2xvciwgNTAlKSxcbiAgICAgICAgICAgICN7JG5hbWV9LXN1YnRsZTogay1jb2xvci1taXgod2hpdGUsICRjb2xvciwgMjUlKSxcbiAgICAgICAgICAgICN7JG5hbWV9LXN1YnRsZXI6IGstY29sb3ItbWl4KHdoaXRlLCAkY29sb3IsIDUwJSksXG4gICAgICAgICk7XG5cbiAgICAgICAgJHJlc3VsdDogay1tYXAtbWVyZ2UoJHJlc3VsdCwgJF92YXJpYXRpb25zKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gRGVmYXVsdFxuICAgICAgICBAaWYgKCAkdGhlbWUgPT0gJ2RlZmF1bHQnIG9yICR0aGVtZSA9PSBudWxsICkgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICAkX3ZhcmlhdGlvbnM6IChcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1zdWJ0bGU6IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDQlICksIGstdHJ5LXRpbnQoICRjb2xvciwgODAlICkpLFxuICAgICAgICAgICAgICAgICN7JG5hbWV9LXN1YnRsZS1ob3ZlcjogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgOCUgKSwgay10cnktdGludCgkY29sb3IsIDY1JSApKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1zdWJ0bGUtYWN0aXZlOiBpZiggJG5hbWUgPT0gJ2Jhc2UnLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAxMyUgKSwgay10cnktdGludCggJGNvbG9yLCA1MCUgKSksXG4gICAgICAgICAgICAgICAgI3skbmFtZX06ICRjb2xvcixcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1ob3Zlcjogay10cnktc2hhZGUoICRjb2xvciwgMC41ICksXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tYWN0aXZlOiBrLXRyeS1zaGFkZSggJGNvbG9yLCAxLjUgKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1lbXBoYXNpczogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgMjElICksIGstdHJ5LXRpbnQoICRjb2xvciwgMjUlICkpLFxuICAgICAgICAgICAgICAgICN7JG5hbWV9LW9uLXN1YnRsZTogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgNzUlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDY1JSApKSxcbiAgICAgICAgICAgICAgICBvbi0jeyRuYW1lfTogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgNzUlICksIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSksXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tb24tc3VyZmFjZTogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgNzUlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDI1JSApKSxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICRyZXN1bHQ6IGstbWFwLW1lcmdlKCRyZXN1bHQsICRfdmFyaWF0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBCb290c3RyYXBcbiAgICAgICAgQGlmICggJHRoZW1lID09ICdib290c3RyYXAnICkge1xuICAgICAgICAgICAgJF92YXJpYXRpb25zOiAoXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tc3VidGxlOiBpZiggJG5hbWUgPT0gJ2Jhc2UnLCBrLXRyeS10aW50KCAkY29sb3IsIDMwJSApLCBrLXRyeS10aW50KCAkY29sb3IsIDgwJSApKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1zdWJ0bGUtaG92ZXI6IGlmKCAkbmFtZSA9PSAnYmFzZScsICRjb2xvciwgay10cnktdGludCgkY29sb3IsIDY1JSApKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1zdWJ0bGUtYWN0aXZlOiBpZiggJG5hbWUgPT0gJ2Jhc2UnLCBrLXRyeS1zaGFkZSggJGNvbG9yLCA4JSApLCBrLXRyeS10aW50KCAkY29sb3IsIDUwJSApKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfTogJGNvbG9yLFxuICAgICAgICAgICAgICAgICN7JG5hbWV9LWhvdmVyOiBrLWNvbG9yLWRhcmtlbiggJGNvbG9yLCA3LjUlICksXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tYWN0aXZlOiBrLWNvbG9yLWRhcmtlbiggJGNvbG9yLCAxMCUgKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1lbXBoYXNpczogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgMjElICksIGstdHJ5LXRpbnQoICRjb2xvciwgMjUlICkpLFxuICAgICAgICAgICAgICAgICN7JG5hbWV9LW9uLXN1YnRsZTogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgODQlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDY1JSApKSxcbiAgICAgICAgICAgICAgICBvbi0jeyRuYW1lfTogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgODQlICksIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSksXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tb24tc3VyZmFjZTogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgODQlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDI1JSApKSxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICRyZXN1bHQ6IGstbWFwLW1lcmdlKCRyZXN1bHQsICRfdmFyaWF0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNYXRlcmlhbFxuICAgICAgICBAaWYgKCAkdGhlbWUgPT0gJ21hdGVyaWFsJyApIHtcbiAgICAgICAgICAgICRfdmFyaWF0aW9uczogKFxuICAgICAgICAgICAgICAgICN7JG5hbWV9LXN1YnRsZTogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgMTIlICksIGstdHJ5LXRpbnQoICRjb2xvciwgODAlICkpLFxuICAgICAgICAgICAgICAgICN7JG5hbWV9LXN1YnRsZS1ob3ZlcjogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgMTYlICksIGstdHJ5LXRpbnQoJGNvbG9yLCA2NSUgKSksXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tc3VidGxlLWFjdGl2ZTogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgMjQlICksIGstdHJ5LXRpbnQoICRjb2xvciwgNTAlICkpLFxuICAgICAgICAgICAgICAgICN7JG5hbWV9OiAkY29sb3IsXG4gICAgICAgICAgICAgICAgI3skbmFtZX0taG92ZXI6IGstdHJ5LXNoYWRlKCAkY29sb3IsIDAuNSApLFxuICAgICAgICAgICAgICAgICN7JG5hbWV9LWFjdGl2ZTogay10cnktc2hhZGUoICRjb2xvciwgMS41ICksXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tZW1waGFzaXM6IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDMyJSApLCBrLXRyeS10aW50KCAkY29sb3IsIDI1JSApKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1vbi1zdWJ0bGU6IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDg3JSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCA2NSUgKSksXG4gICAgICAgICAgICAgICAgb24tI3skbmFtZX06IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDg3JSApLCBrLWNvbnRyYXN0LWNvbG9yKCAkY29sb3IgKSksXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tb24tc3VyZmFjZTogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgODclICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDUwJSApKSxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICRyZXN1bHQ6IGstbWFwLW1lcmdlKCRyZXN1bHQsICRfdmFyaWF0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGbHVlbnRcbiAgICAgICAgQGlmICggJHRoZW1lID09ICdmbHVlbnQnICkge1xuICAgICAgICAgICAgJF92YXJpYXRpb25zOiAoXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tc3VidGxlOiBpZiggJG5hbWUgPT0gJ2Jhc2UnLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyJSApLCBrLXRyeS10aW50KCAkY29sb3IsIDgwJSApKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1zdWJ0bGUtaG92ZXI6IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDglICksIGstdHJ5LXRpbnQoJGNvbG9yLCA2NSUgKSksXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tc3VidGxlLWFjdGl2ZTogaWYoICRuYW1lID09ICdiYXNlJywgay10cnktc2hhZGUoICRjb2xvciwgMTIlICksIGstdHJ5LXRpbnQoICRjb2xvciwgNTAlICkpLFxuICAgICAgICAgICAgICAgICN7JG5hbWV9OiAkY29sb3IsXG4gICAgICAgICAgICAgICAgI3skbmFtZX0taG92ZXI6IGstdHJ5LXNoYWRlKCAkY29sb3IsIDAuNSApLFxuICAgICAgICAgICAgICAgICN7JG5hbWV9LWFjdGl2ZTogay10cnktc2hhZGUoICRjb2xvciwgMS41ICksXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tZW1waGFzaXM6IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDE4JSApLCBrLXRyeS10aW50KCAkY29sb3IsIDI1JSApKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1vbi1zdWJ0bGU6IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDc0JSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCA2NSUgKSksXG4gICAgICAgICAgICAgICAgb24tI3skbmFtZX06IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDg2JSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpLFxuICAgICAgICAgICAgICAgICN7JG5hbWV9LW9uLXN1cmZhY2U6IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDg2JSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyNSUgKSksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAkcmVzdWx0OiBrLW1hcC1tZXJnZSgkcmVzdWx0LCAkX3ZhcmlhdGlvbnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2xhc3NpY1xuICAgICAgICBAaWYgKCAkdGhlbWUgPT0gJ2NsYXNzaWMnICkge1xuICAgICAgICAgICAgJF92YXJpYXRpb25zOiAoXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tc3VidGxlOiBpZiggJG5hbWUgPT0gJ2Jhc2UnLCBrLXRyeS10aW50KCAkY29sb3IsIDIwJSApLCBrLXRyeS10aW50KCAkY29sb3IsIDgwJSApKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1zdWJ0bGUtaG92ZXI6IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXRpbnQoICRjb2xvciwgOCUgKSwgay10cnktdGludCgkY29sb3IsIDY1JSApKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1zdWJ0bGUtYWN0aXZlOiBpZiggJG5hbWUgPT0gJ2Jhc2UnLCBrLXRyeS1zaGFkZSggJGNvbG9yLCA2JSApLCBrLXRyeS10aW50KCAkY29sb3IsIDUwJSApKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfTogJGNvbG9yLFxuICAgICAgICAgICAgICAgICN7JG5hbWV9LWhvdmVyOiBrLXRyeS1zaGFkZSggJGNvbG9yLCAxICksXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tYWN0aXZlOiBrLXRyeS1zaGFkZSggJGNvbG9yLCAyICksXG4gICAgICAgICAgICAgICAgI3skbmFtZX0tZW1waGFzaXM6IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDE0JSApLCBrLXRyeS10aW50KCAkY29sb3IsIDI1JSApKSxcbiAgICAgICAgICAgICAgICAjeyRuYW1lfS1vbi1zdWJ0bGU6IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDg0JSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCA2NSUgKSksXG4gICAgICAgICAgICAgICAgb24tI3skbmFtZX06IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDg0JSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpLFxuICAgICAgICAgICAgICAgICN7JG5hbWV9LW9uLXN1cmZhY2U6IGlmKCAkbmFtZSA9PSAnYmFzZScsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDg0JSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyNSUgKSksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAkcmVzdWx0OiBrLW1hcC1tZXJnZSgkcmVzdWx0LCAkX3ZhcmlhdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8gVGFrZXMgYSBjb2xvciBuYW1lIGZyb20gdGhlICRrZW5kby1jb2xvcnMgbWFwIGFzIGEgcGFyYW1ldGVyXG4vLy8gYW5kIHJldHVybnMgYSBDU1MgdmFyaWFibGUgd2l0aCB0aGUgYWN0dWFsIGNvbG9yIGFzIGEgZmFsbGJhY2tcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIFRoZSBuYW1lIG9mIGEgY29sb3Iva2V5IGluIHRoZSAka2VuZG8tY29sb3JzIG1hcFxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBDU1MgdmFyaWFibGUgd2l0aCB0aGUgYWN0dWFsIGNvbG9yIGFzIGEgZmFsbGJhY2tcbi8vL1xuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbkBmdW5jdGlvbiBrLWNvbG9yKCRrZXkpIHtcbiAgICAkX2NvbG9yOiBrLW1hcC1nZXQoJGtlbmRvLWNvbG9ycywgJGtleSk7XG5cbiAgICBAaWYgKCRfY29sb3IpIHtcbiAgICAgICAgQHJldHVybiB2YXIoLS1rZW5kby1jb2xvci0jeyRrZXl9LCAkX2NvbG9yKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiQ29sb3IgVmFyaWFibGUgXFxgI3ska2V5fVxcYCBkb2VzIG5vdCBleGlzdHMgaW4gdGhlIGNvbG9yIGNvbGxlY3Rpb24uXCI7XG4gICAgfVxufVxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fY3VzdG9tLXByb3BlcnRpZXMuaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvX2N1c3RvbS1wcm9wZXJ0aWVzLmltcG9ydC5zY3NzXG5AZnVuY3Rpb24gay12YXIoICRwcmVmaXg6IGtlbmRvLSwgJHZhcjogbnVsbCwgJGZhbGxiYWNrOiBudWxsICkge1xuICAgICRfcHJlZml4OiAkcHJlZml4O1xuICAgICRfdmFyOiAkdmFyO1xuICAgICRfZmFsbGJhY2s6ICRmYWxsYmFjaztcblxuICAgIEBpZiAoIGstc3RyaW5nLWluZGV4KCAkcHJlZml4LCBcIi0tXCIgKSA9PSAxICkge1xuICAgICAgICAkX3ByZWZpeDogXCJcIjtcbiAgICAgICAgJF92YXI6IGstc3RyaW5nLXNsaWNlKCAkcHJlZml4LCAzICk7XG4gICAgICAgICRfZmFsbGJhY2s6ICR2YXI7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkX3ZhciB7XG4gICAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBAaWYgJF9wcmVmaXggPT0gbnVsbCB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgJF9wcmVmaXg6IFwiXCI7XG4gICAgfVxuXG4gICAgQGlmICgkX2ZhbGxiYWNrICE9IG51bGwgYW5kICRfZmFsbGJhY2sgIT0gXCJcIikge1xuICAgICAgICBAcmV0dXJuIHZhciggLS0jeyRfcHJlZml4fSN7JF92YXJ9LCAjeyRfZmFsbGJhY2t9ICk7XG4gICAgfVxuXG4gICAgQHJldHVybiB2YXIoIC0tI3skX3ByZWZpeH0jeyRfdmFyfSApO1xufVxuXG5AZnVuY3Rpb24gay12YXJzKCAkcHJlZml4OiBrZW5kby0sICR2YXJzLi4uICkge1xuICAgICR2YXJzOiBrLWxpc3QtcmV2ZXJzZSggJHZhcnMgKTtcbiAgICAkcmVzdWx0OiBudWxsO1xuXG4gICAgLy8gQGRlYnVnICRwcmVmaXg7XG4gICAgQGVhY2ggJHZhciBpbiAkdmFycyB7XG4gICAgICAgICRyZXN1bHQ6IGstdmFyKCAkcHJlZml4LCAkdmFyLCAkcmVzdWx0ICk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19lc2NhcGUtc3RyaW5nLmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZnVuY3Rpb25zL19lc2NhcGUtc3RyaW5nLmltcG9ydC5zY3NzXG4kX2tlbmRvLXN2Zy1lc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgICAoXCIlXCIsIFwiJTI1XCIpLFxuICAgIChcIjxcIiwgXCIlM2NcIiksXG4gICAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgICAoXCIjXCIsIFwiJTIzXCIpLFxuICAgIChcIihcIiwgXCIlMjhcIiksXG4gICAgKFwiKVwiLCBcIiUyOVwiKVxuKSAhZGVmYXVsdDtcblxuLy8vIEVzY2FwZXMgU1ZHIGNoYXJhY3RlcnMgaW4gYSBzdHJpbmdcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFRoZSBzdHJpbmcgdG8gZXNjYXBlXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFRoZSBlc2NhcGVkIHN0cmluZ1xuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9jb2RlcGVuLmlvL2tldmlud2ViZXIvcGVuL2RYV29Sd1xuQGZ1bmN0aW9uIGstZXNjYXBlLXN2Zygkc3RyaW5nKSB7XG4gICAgQGlmIGstc3RyaW5nLWluZGV4KCRzdHJpbmcsIFwiZGF0YTppbWFnZS9zdmcreG1sXCIpIHtcbiAgICAgICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRfa2VuZG8tc3ZnLWVzY2FwZWQtY2hhcmFjdGVycyB7XG4gICAgICAgICAgICAvLyBEbyBub3QgZXNjYXBlIHRoZSB1cmwgYnJhY2tldHNcbiAgICAgICAgICAgIEBpZiBrLXN0cmluZy1pbmRleCgkc3RyaW5nLCBcInVybChcIikgPT0gMSB7XG4gICAgICAgICAgICAgICAgJHN0cmluZzogdXJsKFwiI3trLXN0cmluZy1yZXBsYWNlKGstc3RyaW5nLXNsaWNlKCRzdHJpbmcsIDYsIC0zKSwgJGNoYXIsICRlbmNvZGVkKX1cIik7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAkc3RyaW5nOiBrLXN0cmluZy1yZXBsYWNlKCRzdHJpbmcsICRjaGFyLCAkZW5jb2RlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuICRzdHJpbmc7XG59XG5cblxuXG4kX2tlbmRvLWVzY2FwZS1jbGFzcy1uYW1lOiAoXG4gICAgXCIuXCI6IFwiXFxcXC5cIixcbiAgICBcIi9cIjogXCJcXFxcL1wiXG4pO1xuXG4vLy8gRXNjYXBlcyBzcGVjaWFsIGNoYXJhY3RlcnMgaW4gYSBjbGFzcyBuYW1lXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0ZXh0IC0gVGhlIHN0cmluZyB0byBlc2NhcGVcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVGhlIGVzY2FwZWQgc3RyaW5nXG5AZnVuY3Rpb24gay1lc2NhcGUtY2xhc3MtbmFtZSggJHRleHQgKSB7XG4gICAgJF90ZXh0OiAkdGV4dDtcblxuICAgIEBlYWNoICRjaGFyLCAkcmVwIGluICRfa2VuZG8tZXNjYXBlLWNsYXNzLW5hbWUge1xuICAgICAgICAkX3RleHQ6IGstc3RyaW5nLXJlcGxhY2UoICRfdGV4dCwgay1zdHJpbmctdW5xdW90ZSggJGNoYXIgKSwgay1zdHJpbmctdW5xdW90ZSggJHJlcCApICk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkX3RleHQ7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xhbmcuaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvX2xhbmcuaW1wb3J0LnNjc3Ncbi8vLyBSZXR1cm5zIHRoZSB2YWx1ZSBvZiBhIHZhcmlhYmxlIGlmIGl0IGlzIG5vdCBudWxsLFxuLy8vIG90aGVyd2lzZSByZXR1cm5zIHRoZSBmYWxsYmFjayB2YWx1ZS5cbi8vLyBAcGFyYW0ge0FueX0gJHZhciAtIFRoZSB2YXJpYWJsZSB0byBjaGVjay5cbi8vLyBAcGFyYW0ge0FueX0gJGZhbGxiYWNrIC0gVGhlIGZhbGxiYWNrIHZhbHVlLlxuLy8vIEByZXR1cm4ge0FueX0gLSBUaGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIG9yIHRoZSBmYWxsYmFjayB2YWx1ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgJGZvbzogbnVsbDtcbi8vLyAgIEBkZWJ1ZyBrLWlmLXZhciggJGZvbywgXCJiYXJcIiApOyAvLyA9PiBcImJhclwiXG4vLy8gICAkZm9vOiBcImJhelwiO1xuLy8vICAgQGRlYnVnIGstaWYtdmFyKCAkZm9vLCBcImJhclwiICk7IC8vID0+IFwiYmF6XCJcbkBmdW5jdGlvbiBrLWlmLXZhciggJHZhciwgJGZhbGxiYWNrICkge1xuICAgIEByZXR1cm4gaWYoICR2YXIgIT0gbnVsbCwgJHZhciwgJGZhbGxiYWNrICk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xpc3QuaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvX2xpc3QuaW1wb3J0LnNjc3Ncbi8vLyBSZXR1cm5zIGEgY29weSBvZiBgJGxpc3RgIHdpdGggYCR2YWxgIGFwcGVuZGVkIHRvIHRoZSBlbmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIFRoZSBsaXN0IHRvIHByb2Nlc3MuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWwgLSBUaGUgdmFsdWUgdG8gYXBwZW5kIHRvIGAkbGlzdGAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZXBhcmF0b3IgLSBUaGUgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGAkbGlzdGAgYW5kIGAkdmFsYC5cbi8vLyBAcmV0dXJuIHtMaXN0fSAtIEEgY29weSBvZiBgJGxpc3RgIHdpdGggYCR2YWxgIGFwcGVuZGVkIHRvIHRoZSBlbmQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWxpc3QtYXBwZW5kKCAoIFwiZm9vXCIsIFwiYmFyXCIgKSwgXCJiYXpcIiApOyAvLyA9PiBcImZvbywgYmFyLCBiYXpcIlxuQGZ1bmN0aW9uIGstbGlzdC1hcHBlbmQoICRsaXN0LCAkdmFsLCAkc2VwYXJhdG9yOiBhdXRvICkge1xuICAgIEByZXR1cm4gYXBwZW5kKCAkbGlzdCwgJHZhbCwgJHNlcGFyYXRvciApO1xufVxuXG4vLy8gQ2hlY2tzIHdoZXRoZXIgYCRsaXN0YCBjb250YWlucyBgJHZhbHVlYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gVGhlIGxpc3QgdG8gY2hlY2suXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjayBmb3IuXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIGAkbGlzdGAgY29udGFpbnMgYCR2YWx1ZWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWxpc3QtaW5jbHVkZXMoICggXCJmb29cIiwgXCJiYXJcIiApLCBcImZvb1wiICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLWxpc3QtaW5jbHVkZXMoICggXCJmb29cIiwgXCJiYXJcIiApLCBcImJhelwiICk7IC8vID0+IGZhbHNlXG5AZnVuY3Rpb24gay1saXN0LWluY2x1ZGVzKCAkbGlzdCwgJHZhbHVlICkge1xuICAgIEByZXR1cm4gay1saXN0LWluZGV4KCAkbGlzdCwgJHZhbHVlICkgIT0gbnVsbDtcbn1cblxuLy8vIFJldHVybnMgdGhlIGluZGV4IG9mIGAkdmFsdWVgIGluIGAkbGlzdGAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIFRoZSBsaXN0IHRvIGNoZWNrLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2sgZm9yLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgaW5kZXggb2YgYCR2YWx1ZWAgaW4gYCRsaXN0YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbGlzdC1pbmRleCggKCBcImZvb1wiLCBcImJhclwiICksIFwiZm9vXCIgKTsgLy8gPT4gMVxuQGZ1bmN0aW9uIGstbGlzdC1pbmRleCggJGxpc3QsICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGluZGV4KCAkbGlzdCwgJHZhbHVlICk7XG59XG5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgYCRsaXN0YCBpcyBicmFja2V0ZWQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIFRoZSBsaXN0IHRvIGNoZWNrLlxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gV2hldGhlciBgJGxpc3RgIGlzIGJyYWNrZXRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbGlzdC1pcy1icmFja2V0ZWQoICggXCJmb29cIiwgXCJiYXJcIiApICk7IC8vID0+IGZhbHNlXG4vLy8gICBAZGVidWcgay1saXN0LWlzLWJyYWNrZXRlZCggWyBcImZvb1wiLCBcImJhclwiIF0gKTsgLy8gPT4gdHJ1ZVxuQGZ1bmN0aW9uIGstbGlzdC1pcy1icmFja2V0ZWQoICRsaXN0ICkge1xuICAgIEByZXR1cm4gaXMtYnJhY2tldGVkKCAkbGlzdCApO1xufVxuXG4vLy8gSm9pbnMgdHdvIGxpc3RzIHRvZ2V0aGVyLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QxIC0gVGhlIGZpcnN0IGxpc3QgdG8gam9pbi5cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0MiAtIFRoZSBzZWNvbmQgbGlzdCB0byBqb2luLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VwYXJhdG9yIC0gVGhlIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBgJGxpc3QxYCBhbmQgYCRsaXN0MmAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYnJhY2tldGVkIC0gV2hldGhlciB0aGUgcmVzdWx0IHNob3VsZCBiZSBicmFja2V0ZWQuXG4vLy8gQHJldHVybiB7TGlzdH0gLSBUaGUgam9pbmVkIGxpc3QuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWxpc3Qtam9pbiggKCBcImZvb1wiLCBcImJhclwiICksICggXCJiYXpcIiwgXCJxdXhcIiApICk7IC8vID0+IFwiZm9vLCBiYXIsIGJheiwgcXV4XCJcbi8vLyAgIEBkZWJ1ZyBrLWxpc3Qtam9pbiggKCBcImZvb1wiLCBcImJhclwiICksICggXCJiYXpcIiwgXCJxdXhcIiApLCBcIiBcIiApOyAvLyA9PiBcImZvbyBiYXIgYmF6IHF1eFwiXG5AZnVuY3Rpb24gay1saXN0LWpvaW4oICRsaXN0MSwgJGxpc3QyLCAkc2VwYXJhdG9yOiBhdXRvLCAkYnJhY2tldGVkOiBhdXRvICkge1xuICAgIEByZXR1cm4gam9pbiggJGxpc3QxLCAkbGlzdDIsICRzZXBhcmF0b3IsICRicmFja2V0ZWQgKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGxlbmd0aCBvZiBgJGxpc3RgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBUaGUgbGlzdCB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGxlbmd0aCBvZiBgJGxpc3RgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1saXN0LWxlbmd0aCggKCBcImZvb1wiLCBcImJhclwiICkgKTsgLy8gPT4gMlxuQGZ1bmN0aW9uIGstbGlzdC1sZW5ndGgoICRsaXN0ICkge1xuICAgIEByZXR1cm4gbGVuZ3RoKCAkbGlzdCApO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgbnRoIGl0ZW0gaW4gYCRsaXN0YC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gVGhlIGxpc3QgdG8gY2hlY2suXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gVGhlIGluZGV4IG9mIHRoZSBpdGVtIHRvIHJldHVybi5cbi8vLyBAcmV0dXJuIHtBbnl9IC0gVGhlIG50aCBpdGVtIGluIGAkbGlzdGAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWxpc3QtbnRoKCAoIFwiZm9vXCIsIFwiYmFyXCIgKSwgMSApOyAvLyA9PiBcImZvb1wiXG5AZnVuY3Rpb24gay1saXN0LW50aCggJGxpc3QsICRuICkge1xuICAgIEByZXR1cm4gbnRoKCAkbGlzdCwgJG4gKTtcbn1cblxuLy8vIFJldmVyc2UgdGhlIG9yZGVyIG9mIGl0ZW1zIGluIGAkbGlzdGAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIFRoZSBsaXN0IHRvIHJldmVyc2UuXG4vLy8gQHJldHVybiB7TGlzdH0gLSBUaGUgcmV2ZXJzZWQgbGlzdC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbGlzdC1yZXZlcnNlKCAoIFwiZm9vXCIsIFwiYmFyXCIgKSApOyAvLyA9PiBcImJhciwgZm9vXCJcbkBmdW5jdGlvbiBrLWxpc3QtcmV2ZXJzZSggJGxpc3Q6IG51bGwgKSB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAaWYgKCRsaXN0KSB7XG4gICAgICAgICRsZW46IGstbGlzdC1sZW5ndGgoICRsaXN0ICk7XG5cbiAgICAgICAgQGZvciAkaSBmcm9tICRsZW4gdGhyb3VnaCAxIHtcbiAgICAgICAgICAgICRyZXN1bHQ6IGstbGlzdC1hcHBlbmQoICRyZXN1bHQsIGstbGlzdC1udGgoICRsaXN0LCAkaSApICk7XG4gICAgICAgIH1cblxuICAgICAgICBAcmV0dXJuICRyZXN1bHQ7XG4gICAgfVxuXG4gICAgQHdhcm4gXCJObyBsaXN0IHBhc3NlZC5cIjtcbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBzZXBhcmF0b3Igb2YgYCRsaXN0YC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gVGhlIGxpc3QgdG8gY2hlY2suXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFRoZSBzZXBhcmF0b3Igb2YgYCRsaXN0YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbGlzdC1zZXBhcmF0b3IoICggXCJmb29cIiwgXCJiYXJcIiApICk7IC8vID0+IFwiLFwiXG5AZnVuY3Rpb24gay1saXN0LXNlcGFyYXRvciggJGxpc3QgKSB7XG4gICAgQHJldHVybiBsaXN0LXNlcGFyYXRvciggJGxpc3QgKTtcbn1cblxuLy8vIFJldHVybnMgYSBjb3B5IG9mIGAkbGlzdGAgd2l0aCBgJHZhbGAgaW5zZXJ0ZWQgYXQgYCRuYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gVGhlIGxpc3QgdG8gcHJvY2Vzcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBUaGUgaW5kZXggYXQgd2hpY2ggdG8gaW5zZXJ0IGAkdmFsYC5cbi8vLyBAcGFyYW0ge0FueX0gJHZhbCAtIFRoZSB2YWx1ZSB0byBpbnNlcnQuXG4vLy8gQHJldHVybiB7TGlzdH0gLSBBIGNvcHkgb2YgYCRsaXN0YCB3aXRoIGAkdmFsYCBpbnNlcnRlZCBhdCBgJG5gLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1saXN0LXNldC1udGgoICggXCJmb29cIiwgXCJiYXJcIiApLCAxLCBcImJhelwiICk7IC8vID0+IFwiYmF6LCBiYXJcIlxuQGZ1bmN0aW9uIGstbGlzdC1zZXQtbnRoKCAkbGlzdCwgJG4sICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIHNldC1udGgoICRsaXN0LCAkbiwgJHZhbHVlICk7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbGlzdHMgaW50byBhIHNpbmdsZSBsaXN0IG9mIHR3by1pdGVtIGxpc3RzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QxIC0gVGhlIGZpcnN0IGxpc3QgdG8gY29tYmluZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0MiAtIFRoZSBzZWNvbmQgbGlzdCB0byBjb21iaW5lLlxuLy8vIEByZXR1cm4ge0xpc3R9IC0gQSBsaXN0IG9mIHR3by1pdGVtIGxpc3RzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1saXN0LXppcCggKCBcImZvb1wiLCBcImJhclwiICksICggXCJiYXpcIiwgXCJxdXhcIiApICk7IC8vID0+ICgoZm9vLCBiYXopLCAoYmFyLCBxdXgpKVxuQGZ1bmN0aW9uIGstbGlzdC16aXAoICRsaXN0cy4uLiApIHtcbiAgICBAcmV0dXJuIHppcCggJGxpc3RzLi4uICk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX21hdGguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvX21hdGguaW1wb3J0LnNjc3Ncbi8vLyBSZXR1cm5zIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiBhIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIFRoZSBudW1iZXIgdG8gZ2V0IHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZi5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGFic29sdXRlIHZhbHVlIG9mIGAkbnVtYmVyYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC1hYnMoIC0xMCApOyAvLyA9PiAxMFxuQGZ1bmN0aW9uIGstbWF0aC1hYnMoICRudW1iZXIgKSB7XG4gICAgQHJldHVybiBhYnMoICRudW1iZXIgKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIHNtYWxsZXN0IGludGVnZXIgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGEgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gVGhlIG51bWJlciB0byBnZXQgdGhlIGNlaWxpbmcgb2YuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBjZWlsaW5nIG9mIGAkbnVtYmVyYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC1jZWlsKCAxMC4xICk7IC8vID0+IDExXG5AZnVuY3Rpb24gay1tYXRoLWNlaWwoICRudW1iZXIgKSB7XG4gICAgQHJldHVybiBjZWlsKCAkbnVtYmVyICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBsYXJnZXN0IGludGVnZXIgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGEgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gVGhlIG51bWJlciB0byBnZXQgdGhlIGZsb29yIG9mLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgZmxvb3Igb2YgYCRudW1iZXJgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXRoLWZsb29yKCAxMC45ICk7IC8vID0+IDEwXG5AZnVuY3Rpb24gay1tYXRoLWZsb29yKCAkbnVtYmVyICkge1xuICAgIEByZXR1cm4gZmxvb3IoICRudW1iZXIgKTtcbn1cblxuLy8vIFJlc3RyaWN0cyBgJG51bWJlcmAgdG8gdGhlIHJhbmdlIGJldHdlZW4gYCRtaW5gIGFuZCBgJG1heGAuIElmIGAkbnVtYmVyYCBpc1xuLy8vIGxlc3MgdGhhbiBgJG1pbmAsIGAkbWluYCBpcyByZXR1cm5lZC4gSWYgYCRudW1iZXJgIGlzIGdyZWF0ZXIgdGhhbiBgJG1heGAsXG4vLy8gYCRtYXhgIGlzIHJldHVybmVkLiBPdGhlcndpc2UsIGAkbnVtYmVyYCBpcyByZXR1cm5lZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIFRoZSBudW1iZXIgdG8gY2xhbXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gLSBUaGUgbWluaW11bSB2YWx1ZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIFRoZSBtYXhpbXVtIHZhbHVlLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgY2xhbXBlZCBudW1iZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtY2xhbXAoIDEwLCAwLCA1ICk7IC8vID0+IDVcbkBmdW5jdGlvbiBrLW1hdGgtY2xhbXAoICRudW1iZXIsICRtaW4sICRtYXggKSB7XG4gICAgQHJldHVybiBrLW1hdGgtbWF4KCAkbWluLCBrLW1hdGgtbWluKCAkbWF4LCAkbnVtYmVyICkgKTtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciB0d28gbnVtYmVycyBoYXZlIGNvbXBhdGlibGUgdW5pdHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gVGhlIGZpcnN0IG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBUaGUgc2Vjb25kIG51bWJlci5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgdGhlIG51bWJlcnMgaGF2ZSBjb21wYXRpYmxlIHVuaXRzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXRoLWNvbXBhdGlibGUoIDEwcHgsIDEwcHggKTsgLy8gPT4gdHJ1ZVxuLy8vICAgQGRlYnVnIGstbWF0aC1jb21wYXRpYmxlKCAxMHB4LCAxMGVtICk7IC8vID0+IGZhbHNlXG5AZnVuY3Rpb24gay1tYXRoLWNvbXBhdGlibGUoICRhLCAkYiApIHtcbiAgICBAcmV0dXJuIGNvbXBhcmFibGUoICRhLCAkYiApO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgcXVvdGllbnQgb2YgdHdvIG51bWJlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gVGhlIGRpdmlkZW5kLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFRoZSBkaXZpc29yLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgcXVvdGllbnQgb2YgYCRhYCBhbmQgYCRiYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC1kaXYoIDEwLCAyICk7IC8vID0+IDVcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtZGl2KCAxMHB4LCAyICk7IC8vID0+IDVweFxuQGZ1bmN0aW9uIGstbWF0aC1kaXYoICRhLCAkYiApICB7XG4gICAgQHJldHVybiAoICRhIC8gJGIgKTtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciBgJG51bWJlcmAgaGFzIG5vIHVuaXRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gVGhlIG51bWJlciB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYCRudW1iZXJgIGhhcyBubyB1bml0cy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC1pcy11bml0bGVzcyggMTAgKTsgLy8gPT4gdHJ1ZVxuLy8vICAgQGRlYnVnIGstbWF0aC1pcy11bml0bGVzcyggMTBweCApOyAvLyA9PiBmYWxzZVxuQGZ1bmN0aW9uIGstbWF0aC1pcy11bml0bGVzcyggJG51bWJlciApIHtcbiAgICBAcmV0dXJuIHVuaXRsZXNzKCAkbnVtYmVyICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBsYXJnZXIgb2YgdHdvIG51bWJlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gVGhlIGZpcnN0IG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBUaGUgc2Vjb25kIG51bWJlci5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGxhcmdlciBvZiBgJGFgIGFuZCBgJGJgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXRoLW1heCggMTAsIDIwICk7IC8vID0+IDIwXG4vLy8gICBAZGVidWcgay1tYXRoLW1heCggMTBweCwgMjBweCApOyAvLyA9PiAyMHB4XG5AZnVuY3Rpb24gay1tYXRoLW1heCggJGEsICRiICkge1xuICAgIEByZXR1cm4gbWF4KCAkYSwgJGIgKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIHNtYWxsZXIgb2YgdHdvIG51bWJlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gVGhlIGZpcnN0IG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBUaGUgc2Vjb25kIG51bWJlci5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIHNtYWxsZXIgb2YgYCRhYCBhbmQgYCRiYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC1taW4oIDEwLCAyMCApOyAvLyA9PiAxMFxuLy8vICAgQGRlYnVnIGstbWF0aC1taW4oIDEwcHgsIDIwcHggKTsgLy8gPT4gMTBweFxuQGZ1bmN0aW9uIGstbWF0aC1taW4oICRhLCAkYiApIHtcbiAgICBAcmV0dXJuIG1pbiggJGEsICRiICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSByZW1haW5kZXIgb2YgdHdvIG51bWJlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gVGhlIGRpdmlkZW5kLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFRoZSBkaXZpc29yLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgcmVtYWluZGVyIG9mIGAkYWAgYW5kIGAkYmAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtbW9kKCAxMCwgMyApOyAvLyA9PiAxXG4vLy8gICBAZGVidWcgay1tYXRoLW1vZCggMTBweCwgMyApOyAvLyA9PiAxcHhcbkBmdW5jdGlvbiBrLW1hdGgtbW9kKCAkYSwgJGIgKSB7XG4gICAgQHJldHVybiAoICRhICUgJGIgKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIHByb2R1Y3Qgb2YgdHdvIG51bWJlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gVGhlIGZpcnN0IG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBUaGUgc2Vjb25kIG51bWJlci5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIHByb2R1Y3Qgb2YgYCRhYCBhbmQgYCRiYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC1tdWwoIDEwLCAyICk7IC8vID0+IDIwXG4vLy8gICBAZGVidWcgay1tYXRoLW11bCggMTBweCwgMiApOyAvLyA9PiAyMHB4XG5AZnVuY3Rpb24gay1tYXRoLW11bCggJGEsICRiICkge1xuICAgIEByZXR1cm4gKCAkYSAqICRiICk7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHVuaXRsZXNzIG51bWJlciB0byBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBUaGUgbnVtYmVyIHRvIGNvbnZlcnQuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBwZXJjZW50YWdlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXRoLXBlcmNlbnRhZ2UoIDAuNSApOyAvLyA9PiA1MCVcbkBmdW5jdGlvbiBrLW1hdGgtcGVyY2VudGFnZSggJG51bWJlciApIHtcbiAgICBAcmV0dXJuIHBlcmNlbnRhZ2UoICRudW1iZXIgKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIHJlc3VsdCBvZiByYWlzaW5nIGAkeGAgdG8gdGhlIHBvd2VyIG9mIGAkbmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR4IC0gVGhlIGJhc2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gVGhlIGV4cG9uZW50LlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgcmVzdWx0IG9mIHJhaXNpbmcgYCR4YCB0byB0aGUgcG93ZXIgb2YgYCRuYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC1wb3coIDIsIDMgKTsgLy8gPT4gOFxuQGZ1bmN0aW9uIGstbWF0aC1wb3coICR4LCAkbiApIHtcbiAgICAkcmV0OiAxO1xuXG4gICAgQGlmICggJG4gPT0gMCApIHtcbiAgICAgICAgQHJldHVybiAkcmV0O1xuICAgIH1cblxuICAgIEBpZiAoICRuID4gMCApIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbiB7XG4gICAgICAgICAgICAkcmV0OiAkcmV0ICogJHg7XG4gICAgICAgIH1cbiAgICAgICAgQHJldHVybiAkcmV0O1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAkbiB0byAwIHtcbiAgICAgICAgJHJldDogay1tYXRoLWRpdiggJHJldCwgJHggKTtcbiAgICB9XG4gICAgQHJldHVybiAkcmV0O1xuXG59XG5cbi8vLyBSZXR1cm5zIGEgcmFuZG9tIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsaW1pdCAtIFRoZSB1cHBlciBsaW1pdCBvZiB0aGUgcmFuZG9tIG51bWJlci5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSByYW5kb20gbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC1yYW5kb20oKTsgLy8gPT4gMC4xMjM0NTY3ODlcbkBmdW5jdGlvbiBrLW1hdGgtcmFuZG9tKCAkbGltaXQ6IG51bGwgKSB7XG4gICAgQGlmICggJGxpbWl0ID09IG51bGwgKSB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgQHJldHVybiByYW5kb20oKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuIHJhbmRvbSggJGxpbWl0ICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSByZXN1bHQgb2Ygcm91bmRpbmcgYCRudW1iZXJgIHRvIHRoZSBuZWFyZXN0IGludGVnZXJcbi8vLyB1c2luZyB0aGUgc3BlY2lmaWVkIGAkcHJlY2lzaW9uYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIFRoZSBudW1iZXIgdG8gcm91bmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwcmVjaXNpb24gLSBUaGUgbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzIHRvIHJvdW5kIHRvLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgcm91bmRlZCBudW1iZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtcm91bmQoIDEwLjEyMzQ1Njc4OSwgMyApOyAvLyA9PiAxMC4xMjNcbkBmdW5jdGlvbiBrLW1hdGgtcm91bmQoICRudW1iZXIsICRwcmVjaXNpb246IDAgKSB7XG5cbiAgICBAaWYgKCAkcHJlY2lzaW9uID09IDAgKSB7XG4gICAgICAgIEByZXR1cm4gcm91bmQoICRudW1iZXIgKTtcbiAgICB9XG5cbiAgICAkcG93OiBrLW1hdGgtcG93KCAxMCwgJHByZWNpc2lvbiApO1xuXG4gICAgQHJldHVybiBrLW1hdGgtZGl2KCByb3VuZCggJG51bWJlciAqICRwb3cgKSwgJHBvdyApO1xufVxuXG4vLy8gUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBgJG51bWJlcmAncyB1bml0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gVGhlIG51bWJlciB0byBnZXQgdGhlIHVuaXQgb2YuXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFRoZSB1bml0IG9mIGAkbnVtYmVyYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC11bml0KCAxMHB4ICk7IC8vID0+IHB4XG5AZnVuY3Rpb24gay1tYXRoLXVuaXQoICRudW1iZXIgKSB7XG4gICAgQHJldHVybiB1bml0KCAkbnVtYmVyICk7XG59XG5cbi8vLyBSZW1vdmUgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIFRoZSBudW1iZXIgdG8gcmVtb3ZlIHRoZSB1bml0IGZyb20uXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSB1bml0bGVzcyBudW1iZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtc3RyaXAtdW5pdCggMTBweCApOyAvLyA9PiAxMFxuQGZ1bmN0aW9uIGstbWF0aC1zdHJpcC11bml0KCRudW1iZXIpIHtcbiAgICBAaWYgKCBrLW1ldGEtdHlwZS1vZiggJG51bWJlciApID09IFwibnVtYmVyXCIgKSBhbmQgbm90IGstbWF0aC1pcy11bml0bGVzcyggJG51bWJlciApIHtcbiAgICAgICAgQHJldHVybiBrLW1hdGgtZGl2KCAkbnVtYmVyLCAxICogay1tYXRoLXVuaXQoICRudW1iZXIpICk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbnVtYmVyO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19tYXAuaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvX21hcC5pbXBvcnQuc2Nzc1xuLy8vIFJldHVybnMgdGhlIHZhbHVlIGF0IGAka2V5YCBpbiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBUaGUgbWFwIHRvIGdldCB0aGUgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge0FueX0gJGtleSAtIFRoZSBrZXkgdG8gZ2V0IHRoZSB2YWx1ZSBmb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hcC1nZXQoICggXCJmb29cIjogXCJiYXJcIiApLCBcImZvb1wiICk7IC8vID0+IFwiYmFyXCJcbkBmdW5jdGlvbiBrLW1hcC1nZXQoICRtYXAsICRrZXlzLi4uICkge1xuICAgIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICAgICAkbWFwOiBtYXAtZ2V0KCAkbWFwLCAka2V5ICk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICB9XG4gICAgQHJldHVybiAkbWFwO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIGAkbWFwYCBoYXMgYSB2YWx1ZSBhdCBgJGtleWAuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBUaGUgbWFwIHRvIGNoZWNrLlxuLy8vIEBwYXJhbSB7QW55fSAka2V5IC0gVGhlIGtleSB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYCRtYXBgIGhhcyBhIHZhbHVlIGF0IGAka2V5YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWFwLWhhcyggKCBcImZvb1wiOiBcImJhclwiICksIFwiZm9vXCIgKTsgLy8gPT4gdHJ1ZVxuLy8vICAgQGRlYnVnIGstbWFwLWhhcyggKCBcImZvb1wiOiBcImJhclwiICksIFwiYmFyXCIgKTsgLy8gPT4gZmFsc2VcbkBmdW5jdGlvbiBrLW1hcC1oYXMta2V5KCAkbWFwLCAka2V5ICkge1xuICAgIEByZXR1cm4gbWFwLWhhcy1rZXkoICRtYXAsICRrZXkgKTtcbn1cblxuLy8vIFJldHVybnMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiB0aGUga2V5cyBpbiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBUaGUgbWFwIHRvIGdldCB0aGUga2V5cyBmcm9tLlxuLy8vIEByZXR1cm4ge0xpc3R9IC0gQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiB0aGUga2V5cyBpbiBgJG1hcGAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hcC1rZXlzKCAoIFwiZm9vXCI6IFwiYmFyXCIsIFwiYmF6XCI6IFwicXV4XCIgKSApOyAvLyA9PiBcImZvbywgYmF6XCJcbkBmdW5jdGlvbiBrLW1hcC1rZXlzKCAkbWFwICkge1xuICAgIEByZXR1cm4gbWFwLWtleXMoICRtYXAgKTtcbn1cblxuLy8vIFJldHVybnMgYSBtYXAgd2l0aCB0aGUga2V5cyBhbmQgdmFsdWVzIGZyb20gYCRtYXBgIGFuZCBgJGFyZ3NgLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gVGhlIG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJGFyZ3MgLSBUaGUgbWFwIHRvIG1lcmdlIGludG8gYCRtYXBgLlxuLy8vIEByZXR1cm4ge01hcH0gLSBBIG1hcCB3aXRoIHRoZSBrZXlzIGFuZCB2YWx1ZXMgZnJvbSBgJG1hcGAgYW5kIGAkYXJnc2AuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hcC1tZXJnZSggKCBcImZvb1wiOiBcImJhclwiICksICggXCJiYXpcIjogXCJxdXhcIiApICk7IC8vID0+ICggXCJmb29cIjogXCJiYXJcIiwgXCJiYXpcIjogXCJxdXhcIiApXG5AZnVuY3Rpb24gay1tYXAtbWVyZ2UoICRtYXAsICRhcmdzLi4uICkge1xuICAgIEBlYWNoICRhcmcgaW4gJGFyZ3Mge1xuICAgICAgICAkbWFwOiBtYXAtbWVyZ2UoICRtYXAsICRhcmcgKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgIH1cbiAgICBAcmV0dXJuICRtYXA7XG59XG5cbi8vLyBSZXR1cm5zIGEgZGVlcC1tYXAgd2l0aCB0aGUga2V5cyBhbmQgdmFsdWVzIGZyb20gYCRtYXBgIGFuZCBgJGFyZ3NgLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwcyAtIFRoZSBtYXBzIHRvIGRlZXAtbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSAtIEEgbWFwIHdpdGggdGhlIGtleXMgYW5kIHZhbHVlcyBmcm9tIGAkbWFwYCBhbmQgYCRhcmdzYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWFwLWRlZXAtbWVyZ2UoICggXCJmb29cIjogKFwiYmFyXCI6IFwiYmF6XCIsIFwiYmF6XCI6IFwicXV4XCIgKSApLCAoIFwiZm9vXCI6IChcImJhclwiOiBcImZvb1wiKSApICk7IC8vID0+ICggXCJmb29cIjogKFwiYmFyXCI6IFwiZm9vXCIsIFwiYmF6XCI6IFwicXV4XCIgKSlcbkBmdW5jdGlvbiBrLW1hcC1kZWVwLW1lcmdlKCRtYXBzLi4uKSB7XG4gICAgJG1lcmdlZDogKCk7XG5cbiAgICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICAgIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XG4gICAgICAgIEBpZiAoay1tZXRhLXR5cGUtb2YoJHZhbCkgPT0gJ21hcCcpIHtcbiAgICAgICAgICAkY3VycmVudDogay1tYXAtZ2V0KCRtZXJnZWQsICRrZXkpO1xuICAgICAgICAgIEBpZiAoay1tZXRhLXR5cGUtb2YoJGN1cnJlbnQpID09ICdtYXAnKSB7XG4gICAgICAgICAgICAkdmFsOiBrLW1hcC1kZWVwLW1lcmdlKCRjdXJyZW50LCAkdmFsKTtcbiAgICAgICAgICAgICRtYXA6IGstbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAkbWFwLFxuICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgJGtleTogJHZhbFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJG1lcmdlZDogay1tYXAtbWVyZ2UoJG1lcmdlZCwgJG1hcCk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbWVyZ2VkO1xuICB9XG5cbi8vLyBSZXR1cm5zIGEgbWFwIHdpdGggdGhlIGtleXMgYW5kIHZhbHVlcyBmcm9tIGAkbWFwYCBleGNlcHQgZm9yIGAka2V5c2AuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBUaGUgbWFwIHRvIHJlbW92ZSBrZXlzIGZyb20uXG4vLy8gQHBhcmFtIHtBbnl9ICRrZXlzIC0gVGhlIGtleXMgdG8gcmVtb3ZlIGZyb20gYCRtYXBgLlxuLy8vIEByZXR1cm4ge01hcH0gLSBBIG1hcCB3aXRoIHRoZSBrZXlzIGFuZCB2YWx1ZXMgZnJvbSBgJG1hcGAgZXhjZXB0IGZvciBgJGtleXNgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXAtcmVtb3ZlKCAoIFwiZm9vXCI6IFwiYmFyXCIsIFwiYmF6XCI6IFwicXV4XCIgKSwgXCJmb29cIiApOyAvLyA9PiAoIFwiYmF6XCI6IFwicXV4XCIgKVxuQGZ1bmN0aW9uIGstbWFwLXJlbW92ZSggJG1hcCwgJGtleXMuLi4gKSB7XG4gICAgQHJldHVybiBtYXAtcmVtb3ZlKCAkbWFwLCAka2V5cy4uLiApO1xufVxuXG4vLy8gU2V0cyBhIHNpbmdsZSBrZXkgYW5kIHZhbHVlIGluIGAkbWFwYC5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIFRoZSBtYXAgdG8gc2V0IHRoZSB2YWx1ZSBpbi5cbi8vLyBAcGFyYW0ge0FueX0gJGtleSAtIFRoZSBrZXkgdG8gc2V0IHRoZSB2YWx1ZSBmb3IuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBzZXQuXG4vLy8gQHJldHVybiB7TWFwfSAtIEEgbWFwIHdpdGggdGhlIGtleSBhbmQgdmFsdWUgc2V0LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXAtc2V0KCAoIFwiZm9vXCI6IFwiYmFyXCIgKSwgXCJiYXpcIiwgXCJxdXhcIiApOyAvLyA9PiAoIFwiZm9vXCI6IFwiYmFyXCIsIFwiYmF6XCI6IFwicXV4XCIgKVxuQGZ1bmN0aW9uIGstbWFwLXNldCggJG1hcCwgJGtleSwgJHZhbHVlICkge1xuICAgIEByZXR1cm4gay1tYXAtbWVyZ2UoICRtYXAsICggJGtleTogJHZhbHVlICkgKTtcbn1cblxuLy8vIFJldHVybnMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiB0aGUgdmFsdWVzIGluIGAkbWFwYC5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIFRoZSBtYXAgdG8gZ2V0IHRoZSB2YWx1ZXMgZnJvbS5cbi8vLyBAcmV0dXJuIHtMaXN0fSAtIEEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgdGhlIHZhbHVlcyBpbiBgJG1hcGAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hcC12YWx1ZXMoICggXCJmb29cIjogXCJiYXJcIiwgXCJiYXpcIjogXCJxdXhcIiApICk7IC8vID0+IFwiYmFyLCBxdXhcIlxuQGZ1bmN0aW9uIGstbWFwLXZhbHVlcyggJG1hcCApIHtcbiAgICBAcmV0dXJuIG1hcC12YWx1ZXMoICRtYXAgKTtcbn1cblxuLy8vIFJldHVybnMgbmVnYXRpdmUgdmFsdWVzIG9mIGEgbnVtYmVyIG9yIG51bWJlcnMgaW4gYSBsaXN0LlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gVGhlIG1hcCB0byBnZXQgdGhlIHZhbHVlcyBmcm9tLlxuLy8vIEByZXR1cm4ge01hcH0gLSBBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHRoZSB2YWx1ZXMgaW4gYCRtYXBgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXAtbmVnYXRlKCAoIDA6IDAsIDE6IDFweCwgMjogMnB4ICkgKTsgLy8gPT4gKFwiLTFcIjogLTFweCwgXCItMlwiOiAtMnB4KVxuQGZ1bmN0aW9uIGstbWFwLW5lZ2F0ZSgkbWFwKSB7XG4gICAgJF9tYXAtbmVnOiAoKTtcblxuICAgIEBpZiggay1tZXRhLXR5cGUtb2YoJG1hcCkgIT0gbWFwICkge1xuICAgICAgICBAZXJyb3IgXCJleHBlY3RlZCB0eXBlIG9mICN7JG1hcH0gaXMgbWFwLCB3YXMgI3trLW1ldGEtdHlwZS1vZigkbWFwKX1cIjtcbiAgICB9O1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICAgJF9rZXktbmVnOiBcIi1cIiArICRrZXk7XG5cbiAgICAgICAgQGlmKCBrLW1ldGEtdHlwZS1vZigkdmFsdWUpID09IG51bWJlciBhbmQgJHZhbHVlICE9IDApIHtcbiAgICAgICAgICAgICRfbWFwLW5lZzogay1tYXAtc2V0KCRfbWFwLW5lZywgJF9rZXktbmVnLCAtMSAqICR2YWx1ZSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiAkX21hcC1uZWc7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbWV0YS5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9fbWV0YS5pbXBvcnQuc2Nzc1xuLy8gQWRhcHRlZCBmcm9tIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9hZHZhbmNlZC10eXBlLWNoZWNraW5nL1xuXG4vLy8gQSB3cmFwcGVyIGFyb3VuZCB0aGUgYGNhbGwoKWAgZnVuY3Rpb24uXG4vLy8gQ2FsbHMgdGhlIGZ1bmN0aW9uIGAkZnVuY3Rpb25gIHdpdGggdGhlIGFyZ3VtZW50cyBgJGFyZ3NgLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRmdW5jdGlvbiAtIFRoZSBmdW5jdGlvbiB0byBjYWxsLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGFyZ3MgLSBUaGUgYXJndW1lbnRzIHRvIHBhc3MgdG8gYCRmdW5jdGlvbmAuXG4vLy8gQHJldHVybiB7QW55fSAtIFRoZSByZXN1bHQgb2YgY2FsbGluZyBgJGZ1bmN0aW9uYCB3aXRoIGAkYXJnc2AuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtY2FsbCggay1tZXRhLWdldC1mdW5jdGlvbiggXCJrLXN0cmluZy1yZXBsYWNlXCIgKSwgXCJmb28gYmFyXCIsIFwiYmFyXCIsIFwiYmF6XCIgKTsgLy8gPT4gXCJmb28gYmF6XCJcbkBmdW5jdGlvbiBrLW1ldGEtY2FsbCggJGZ1bmN0aW9uLCAkYXJncy4uLiApIHtcbiAgICBAcmV0dXJuIGNhbGwoICRmdW5jdGlvbiwgJGFyZ3MuLi4gKTtcbn1cblxuLy8vIEEgd3JhcHBlciBhcm91bmQgdGhlIGBmdW5jdGlvbi1leGlzdHMoKWAgZnVuY3Rpb24uXG4vLy8gUmV0dXJucyB3aGV0aGVyIGEgZnVuY3Rpb24gd2l0aCB0aGUgbmFtZSBgJG5hbWVgIGV4aXN0cy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gY2hlY2suXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIGEgZnVuY3Rpb24gd2l0aCB0aGUgbmFtZSBgJG5hbWVgIGV4aXN0cy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1mdW5jdGlvbi1leGlzdHMoIFwiay1zdHJpbmctcmVwbGFjZVwiICk7IC8vID0+IHRydWVcbkBmdW5jdGlvbiBrLW1ldGEtZnVuY3Rpb24tZXhpc3RzKCAkbmFtZSApIHtcbiAgICBAaWYgJG5hbWUgPT0gXCJcIiB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgQHJldHVybiBmdW5jdGlvbi1leGlzdHMoICRuYW1lICk7XG59XG5cbi8vLyBBIHdyYXBwZXIgYXJvdW5kIHRoZSBgZ2V0LWZ1bmN0aW9uKClgIGZ1bmN0aW9uLlxuLy8vIFJldHVybnMgdGhlIGZ1bmN0aW9uIHdpdGggdGhlIG5hbWUgYCRuYW1lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gZ2V0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNzcyAtIFdoZXRoZXIgdG8gcmV0dXJuIHRoZSBDU1MgcmVwcmVzZW50YXRpb24gb2YgdGhlIGZ1bmN0aW9uLlxuLy8vIEBwYXJhbSB7TW9kdWxlfSAkbW9kdWxlIC0gVGhlIG1vZHVsZSB0byBnZXQgdGhlIGZ1bmN0aW9uIGZyb20uXG4vLy8gQHJldHVybiB7RnVuY3Rpb259IC0gVGhlIGZ1bmN0aW9uIHdpdGggdGhlIG5hbWUgYCRuYW1lYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1nZXQtZnVuY3Rpb24oIFwiay1zdHJpbmctcmVwbGFjZVwiICk7IC8vID0+IEZ1bmN0aW9uXG5AZnVuY3Rpb24gay1tZXRhLWdldC1mdW5jdGlvbiggJG5hbWUsICRhcmdzLi4uICkge1xuICAgIEByZXR1cm4gZ2V0LWZ1bmN0aW9uKCAkbmFtZSwgJGFyZ3MuLi4gKTtcbn1cblxuLy8vIEEgd3JhcHBlciBhcm91bmQgdGhlIGBpbnNwZWN0KClgIGZ1bmN0aW9uLlxuLy8vIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYCR2YWx1ZWAuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBpbnNwZWN0LlxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBgJHZhbHVlYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pbnNwZWN0KCBcImZvbyBiYXJcIiApOyAvLyA9PiBcImZvbyBiYXJcIlxuQGZ1bmN0aW9uIGstbWV0YS1pbnNwZWN0KCAkdmFsdWUgKSB7XG4gICAgQHJldHVybiBpbnNwZWN0KCAkdmFsdWUgKTtcbn1cblxuLy8vIEEgd3JhcHBlciBhcm91bmQgdGhlIGBrZXl3b3JkcygpYCBmdW5jdGlvbi5cbi8vLyBSZXR1cm5zIGEgbWFwIG9mIHRoZSBrZXl3b3JkcyBpbiBgJGFyZ3NgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGFyZ3MgLSBUaGUgYXJndW1lbnRzIHRvIHByb2Nlc3MuXG4vLy8gQHJldHVybiB7TWFwfSAtIEEgbWFwIG9mIHRoZSBrZXl3b3JkcyBpbiBgJGFyZ3NgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tZXRhLWtleXdvcmRzKCAoIFwiZm9vXCIgXCJiYXJcIiBcImJhelwiIFwicXV4XCIgKSApOyAvLyA9PiAoIFwiZm9vXCI6IFwiYmFyXCIsIFwiYmF6XCI6IFwicXV4XCIgKVxuQGZ1bmN0aW9uIGstbWV0YS1rZXl3b3JkcyggJGFyZ3MgKSB7XG4gICAgQHJldHVybiBrZXl3b3JkcyggJGFyZ3MgKTtcbn1cblxuLy8vIEEgd3JhcHBlciBhcm91bmQgdGhlIGB0eXBlLW9mKClgIGZ1bmN0aW9uLlxuLy8vIFJldHVybnMgdGhlIHR5cGUgb2YgYCR2YWx1ZWAuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBnZXQgdGhlIHR5cGUgb2YuXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFRoZSB0eXBlIG9mIGAkdmFsdWVgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tZXRhLXR5cGUtb2YoIFwiZm9vIGJhclwiICk7IC8vID0+IFwic3RyaW5nXCJcbkBmdW5jdGlvbiBrLW1ldGEtdHlwZS1vZiggJHZhbHVlICkge1xuICAgIEByZXR1cm4gdHlwZS1vZiggJHZhbHVlICk7XG59XG5cbi8vLyBBIHdyYXBwZXIgYXJvdW5kIHRoZSBgdmFyaWFibGUtZXhpc3RzKClgIGZ1bmN0aW9uLlxuLy8vIFJldHVybnMgd2hldGhlciBhIHZhcmlhYmxlIHdpdGggdGhlIG5hbWUgYCRuYW1lYCBleGlzdHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGNoZWNrLlxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gV2hldGhlciBhIHZhcmlhYmxlIHdpdGggdGhlIG5hbWUgYCRuYW1lYCBleGlzdHMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtdmFyaWFibGUtZXhpc3RzKCBcImZvb1wiICk7IC8vID0+IHRydWVcbkBmdW5jdGlvbiBrLW1ldGEtdmFyaWFibGUtZXhpc3RzKCAkbmFtZSApIHtcbiAgICBAcmV0dXJuIHZhcmlhYmxlLWV4aXN0cyggJG5hbWUgKTtcbn1cblxuLy8vIENoZWNrcyB3aGV0aGVyIGAkdmFsdWVgIGlzIGEgPG51bWJlcj4gQ1NTIGRhdGEgdHlwZS5cbi8vLyBAcGFyYW0ge0FueX0gJHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gV2hldGhlciBgJHZhbHVlYCBpcyBhIG51bWJlci5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9udW1iZXJcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1udW1iZXIoIDEgKTsgLy8gPT4gdHJ1ZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1udW1iZXIoIFwiZm9vXCIgKTsgLy8gPT4gZmFsc2VcbkBmdW5jdGlvbiBrLW1ldGEtaXMtbnVtYmVyKCAkdmFsdWUgKSB7XG4gICAgQHJldHVybiBrLW1ldGEtdHlwZS1vZiggJHZhbHVlICkgPT0gXCJudW1iZXJcIjtcbn1cblxuLy8vIENoZWNrcyB3aGV0aGVyIGAkdmFsdWVgIGlzIGEgPGludGVnZXI+IENTUyBkYXRhIHR5cGUuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYCR2YWx1ZWAgaXMgYSBpbnRlZ2VyLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2ludGVnZXJcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1pbnRlZ2VyKCAxICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtaW50ZWdlciggMS41ICk7IC8vID0+IGZhbHNlXG5AZnVuY3Rpb24gay1tZXRhLWlzLWludGVnZXIoICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGstbWV0YS1pcy1udW1iZXIoICR2YWx1ZSApIGFuZCBrLW1hdGgtcm91bmQoICR2YWx1ZSApID09ICR2YWx1ZTtcbn1cblxuLy8vIENoZWNrcyB3aGV0aGVyIGAkdmFsdWVgIGlzIGEgPHRpbWU+IENTUyBkYXRhIHR5cGUuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYCR2YWx1ZWAgaXMgYSB0aW1lLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3RpbWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy10aW1lKCAxcyApOyAvLyA9PiB0cnVlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLXRpbWUoIDEgKTsgLy8gPT4gZmFsc2VcbkBmdW5jdGlvbiBrLW1ldGEtaXMtdGltZSggJHZhbHVlICkge1xuICAgIEByZXR1cm4gay1tZXRhLWlzLW51bWJlciggJHZhbHVlICkgYW5kIGstc3RyaW5nLWluZGV4KCBcIm1zXCIgXCJzXCIsIGstbWF0aC11bml0KCAkdmFsdWUgKSApICE9IG51bGw7XG59XG5cbi8vLyBDaGVja3Mgd2hldGhlciBgJHZhbHVlYCBpcyBhIHZhbGlkIGR1cmF0aW9uIHBlcmlvZC5cbi8vLyBAcGFyYW0ge0FueX0gJHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gV2hldGhlciBgJHZhbHVlYCBpcyBhIGR1cmF0aW9uLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3RpbWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1kdXJhdGlvbiggMXMgKTsgLy8gPT4gdHJ1ZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1kdXJhdGlvbiggMSApOyAvLyA9PiBmYWxzZVxuQGZ1bmN0aW9uIGstbWV0YS1pcy1kdXJhdGlvbiggJHZhbHVlICkge1xuICAgIEByZXR1cm4gay1tZXRhLWlzLXRpbWUoICR2YWx1ZSApO1xufVxuXG4vLy8gQ2hlY2tzIHdoZXRoZXIgYCR2YWx1ZWAgaXMgYSA8YW5nbGU+IENTUyBkYXRhIHR5cGUuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYCR2YWx1ZWAgaXMgYSBhbmdsZS5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9hbmdsZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLWFuZ2xlKCAxZGVnICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtYW5nbGUoIDEgKTsgLy8gPT4gZmFsc2VcbkBmdW5jdGlvbiBrLW1ldGEtaXMtYW5nbGUoICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGstbWV0YS1pcy1udW1iZXIoICR2YWx1ZSApIGFuZCBrLXN0cmluZy1pbmRleCggXCJkZWdcIiBcInJhZFwiIFwiZ3JhZFwiIFwidHVyblwiLCBrLW1hdGgtdW5pdCggJHZhbHVlICkgKSAhPSBudWxsO1xufVxuXG4vLy8gQ2hlY2tzIHdoZXRoZXIgYCR2YWx1ZWAgaXMgYSA8ZnJlcXVlbmN5PiBDU1MgZGF0YSB0eXBlLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIGAkdmFsdWVgIGlzIGEgZnJlcXVlbmN5LlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2ZyZXF1ZW5jeVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLWZyZXF1ZW5jeSggMUh6ICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtZnJlcXVlbmN5KCAxICk7IC8vID0+IGZhbHNlXG5AZnVuY3Rpb24gay1tZXRhLWlzLWZyZXF1ZW5jeSggJHZhbHVlICkge1xuICAgIEByZXR1cm4gay1tZXRhLWlzLW51bWJlciggJHZhbHVlICkgYW5kIGstc3RyaW5nLWluZGV4KCBcIkh6XCIgXCJrSHpcIiwgay1tYXRoLXVuaXQoICR2YWx1ZSApICkgIT0gbnVsbDtcbn1cblxuLy8vIENoZWNrcyB3aGV0aGVyIGAkdmFsdWVgIGlzIGEgcmVsYXRpdmUgPGxlbmd0aD4gQ1NTIGRhdGEgdHlwZS5cbi8vLyBAcGFyYW0ge0FueX0gJHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gV2hldGhlciBgJHZhbHVlYCBpcyBhIHJlbGF0aXZlIGxlbmd0aC5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9sZW5ndGgjcmVsYXRpdmVfbGVuZ3RoX3VuaXRzX2Jhc2VkX29uX2ZvbnRcbi8vLyBAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvbGVuZ3RoI3JlbGF0aXZlX2xlbmd0aF91bml0c19iYXNlZF9vbl92aWV3cG9ydFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLXJlbGF0aXZlLWxlbmd0aCggMWVtICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtcmVsYXRpdmUtbGVuZ3RoKCAxY2ggKTsgLy8gPT4gdHJ1ZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1yZWxhdGl2ZS1sZW5ndGgoIDEgKTsgLy8gPT4gZmFsc2VcbkBmdW5jdGlvbiBrLW1ldGEtaXMtcmVsYXRpdmUtbGVuZ3RoKCAkdmFsdWUgKSB7XG4gICAgQHJldHVybiBrLW1ldGEtaXMtbnVtYmVyKCAkdmFsdWUgKSBhbmQgay1zdHJpbmctaW5kZXgoIFwiZW1cIiBcImV4XCIgXCJjaFwiIFwicmVtXCIgXCJ2d1wiIFwidmhcIiBcInZtaW5cIiBcInZtYXhcIiwgay1tYXRoLXVuaXQoICR2YWx1ZSApICkgIT0gbnVsbDtcbn1cblxuLy8vIENoZWNrcyB3aGV0aGVyIGAkdmFsdWVgIGlzIGFuIGFic29sdXRlIDxsZW5ndGg+IENTUyBkYXRhIHR5cGUuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYCR2YWx1ZWAgaXMgYW4gYWJzb2x1dGUgbGVuZ3RoLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2xlbmd0aCNhYnNvbHV0ZV9sZW5ndGhfdW5pdHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1hYnNvbHV0ZS1sZW5ndGgoIDFjbSApOyAvLyA9PiB0cnVlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLWFic29sdXRlLWxlbmd0aCggMSApOyAvLyA9PiBmYWxzZVxuQGZ1bmN0aW9uIGstbWV0YS1pcy1hYnNvbHV0ZS1sZW5ndGgoICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGstbWV0YS1pcy1udW1iZXIoICR2YWx1ZSApIGFuZCBrLXN0cmluZy1pbmRleCggXCJjbVwiIFwibW1cIiBcImluXCIgXCJweFwiIFwicHRcIiBcInBjXCIsIGstbWF0aC11bml0KCAkdmFsdWUgKSApICE9IG51bGw7XG59XG5cbi8vLyBDaGVja3Mgd2hldGhlciBgJHZhbHVlYCBpcyBhIDxwZXJjZW50YWdlPiBDU1MgZGF0YSB0eXBlLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIGAkdmFsdWVgIGlzIGEgcGVyY2VudGFnZS5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9wZXJjZW50YWdlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtcGVyY2VudGFnZSggMSUgKTsgLy8gPT4gdHJ1ZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1wZXJjZW50YWdlKCAxICk7IC8vID0+IGZhbHNlXG5AZnVuY3Rpb24gay1tZXRhLWlzLXBlcmNlbnRhZ2UoICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGstbWV0YS1pcy1udW1iZXIoICR2YWx1ZSApIGFuZCBrLW1hdGgtdW5pdCggJHZhbHVlICkgPT0gXCIlXCI7XG59XG5cbi8vLyBDaGVja3Mgd2hldGhlciBgJHZhbHVlYCBpcyBhIDxsZW5ndGg+IENTUyBkYXRhIHR5cGUuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYCR2YWx1ZWAgaXMgYSBsZW5ndGguXG4vLy9cbi8vLyBAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvbGVuZ3RoXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtbGVuZ3RoKCAxZW0gKTsgLy8gPT4gdHJ1ZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1sZW5ndGgoIDFjbSApOyAvLyA9PiB0cnVlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLWxlbmd0aCggMSApOyAvLyA9PiBmYWxzZVxuQGZ1bmN0aW9uIGstbWV0YS1pcy1sZW5ndGgoICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGstbWV0YS1pcy1yZWxhdGl2ZS1sZW5ndGgoICR2YWx1ZSApIG9yIGstbWV0YS1pcy1hYnNvbHV0ZS1sZW5ndGgoICR2YWx1ZSApO1xufVxuXG4vLy8gQ2hlY2tzIHdoZXRoZXIgYCR2YWx1ZWAgaXMgYSA8cmVzb2x1dGlvbj4gQ1NTIGRhdGEgdHlwZS5cbi8vLyBAcGFyYW0ge0FueX0gJHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gV2hldGhlciBgJHZhbHVlYCBpcyBhIHJlc29sdXRpb24uXG4vLy9cbi8vLyBAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvcmVzb2x1dGlvblxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLXJlc29sdXRpb24oIDFkcGkgKTsgLy8gPT4gdHJ1ZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1yZXNvbHV0aW9uKCAxICk7IC8vID0+IGZhbHNlXG5AZnVuY3Rpb24gay1tZXRhLWlzLXJlc29sdXRpb24oICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGstbWV0YS1pcy1udW1iZXIoICR2YWx1ZSApIGFuZCBrLXN0cmluZy1pbmRleCggXCJkcGlcIiBcImRwY21cIiBcImRwcHhcIiwgay1tYXRoLXVuaXQoICR2YWx1ZSApICkgIT0gbnVsbDtcbn1cblxuLy8vIENoZWNrcyB3aGV0aGVyIGAkdmFsdWVgIGlzIGEgPHBvc2l0aW9uPiBDU1MgZGF0YSB0eXBlLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIGAkdmFsdWVgIGlzIGEgcG9zaXRpb24uXG4vLy9cbi8vLyBAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvcG9zaXRpb25cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1wb3NpdGlvbiggY2VudGVyICk7IC8vID0+IHRydWVcbkBmdW5jdGlvbiBrLW1ldGEtaXMtcG9zaXRpb24oICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGstbWV0YS1pcy1sZW5ndGgoICR2YWx1ZSApIG9yIGstbWV0YS1pcy1wZXJjZW50YWdlKCAkdmFsdWUgKSBvciBrLXN0cmluZy1pbmRleCggXCJ0b3BcIiBcInJpZ2h0XCIgXCJib3R0b21cIiBcImxlZnRcIiBcImNlbnRlclwiLCAkdmFsdWUgKSAhPSBudWxsO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19zdHJpbmcuaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvX3N0cmluZy5pbXBvcnQuc2Nzc1xuJHN2Zy1lc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgICAoXCIlXCIsIFwiJTI1XCIpLFxuICAgIChcIjxcIiwgXCIlM2NcIiksXG4gICAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgICAoXCIjXCIsIFwiJTIzXCIpLFxuICAgIChcIihcIiwgXCIlMjhcIiksXG4gICAgKFwiKVwiLCBcIiUyOVwiKVxuKSAhZGVmYXVsdDtcblxuLy8vIFJldHVybnMgdGhlIGZpcnN0IGluZGV4IG9mIGAkc3Vic3RyaW5nYCBpbiBgJHN0cmluZ2AsIG9yIGBudWxsYCBpZiBgJHN0cmluZ2AgZG9lc27igJl0IGNvbnRhaW4gYCRzdWJzdHJpbmdgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVGhlIHN0cmluZyB0byBwcm9jZXNzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3Vic3RyaW5nIC0gVGhlIHN1YnN0cmluZyB0byBsb29rIGZvci5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGZpcnN0IGluZGV4IG9mIGAkc3Vic3RyaW5nYCBpbiBgJHN0cmluZ2AsIG9yIGBudWxsYCBpZiBgJHN0cmluZ2AgZG9lc27igJl0IGNvbnRhaW4gYCRzdWJzdHJpbmdgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1zdHJpbmctaW5kZXgoIFwiZm9vIGJhclwiLCBcImJhclwiICk7IC8vID0+IDVcbkBmdW5jdGlvbiBrLXN0cmluZy1pbmRleCggJHN0cmluZywgJHN1YnN0cmluZyApIHtcbiAgICBAcmV0dXJuIHN0ci1pbmRleCggJHN0cmluZywgJHN1YnN0cmluZyApO1xufVxuXG4vLy8gUmV0dXJucyBhIGNvcHkgb2YgYCRzdHJpbmdgIHdpdGggYCRpbnNlcnRgIGluc2VydGVkIGF0IGAkaW5kZXhgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVGhlIHN0cmluZyB0byBwcm9jZXNzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaW5zZXJ0IC0gVGhlIHN0cmluZyB0byBpbnNlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRpbmRleCAtIFRoZSBpbmRleCBhdCB3aGljaCB0byBpbnNlcnQgYCRpbnNlcnRgLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBUaGUgcmVzdWx0aW5nIHN0cmluZy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstc3RyaW5nLWluc2VydCggXCJmb28gYmFyXCIsIFwiYmF6XCIsIDUgKTsgLy8gPT4gXCJmb28gYmF6IGJhclwiXG5AZnVuY3Rpb24gay1zdHJpbmctaW5zZXJ0KCAkc3RyaW5nLCAkaW5zZXJ0LCAkaW5kZXggKSB7XG4gICAgQHJldHVybiBzdHItaW5zZXJ0KCAkc3RyaW5nLCAkaW5zZXJ0LCAkaW5kZXggKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGxlbmd0aCBvZiBgJHN0cmluZ2AuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBUaGUgc3RyaW5nIHRvIHByb2Nlc3MuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBsZW5ndGggb2YgYCRzdHJpbmdgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1zdHJpbmctbGVuZ3RoKCBcImZvbyBiYXJcIiApOyAvLyA9PiA3XG5AZnVuY3Rpb24gay1zdHJpbmctbGVuZ3RoKCAkc3RyaW5nICkge1xuICAgIEByZXR1cm4gc3RyLWxlbmd0aCggJHN0cmluZyApO1xufVxuXG4vLy8gUmV0dXJucyBhIGNvcHkgb2YgYCRzdHJpbmdgIHdpdGggcXVvdGVzIGFkZGVkLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVGhlIHN0cmluZyB0byBwcm9jZXNzLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBUaGUgcmVzdWx0aW5nIHN0cmluZy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstc3RyaW5nLXF1b3RlKCBcImZvbyBiYXJcIiApOyAvLyA9PiBcImZvbyBiYXJcIlxuQGZ1bmN0aW9uIGstc3RyaW5nLXF1b3RlKCAkc3RyaW5nICkge1xuICAgIEByZXR1cm4gcXVvdGUoICRzdHJpbmcgKTtcbn1cblxuLy8vIFJldHVybnMgYSBjb3B5IG9mIGAkc3RyaW5nYCB3aXRoIGFsbCBvY2N1cnJlbmNlcyBvZiBgJHNlYXJjaGBcbi8vLyByZXBsYWNlZCBieSBgJHJlcGxhY2VgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVGhlIHN0cmluZyB0byBwcm9jZXNzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gVGhlIHN1YnN0cmluZyB0byBsb29rIGZvci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgLSBUaGUgcmVwbGFjZW1lbnQgc3RyaW5nLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBUaGUgcmVzdWx0aW5nIHN0cmluZy5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vd3d3LnNhc3NtZWlzdGVyLmNvbS9naXN0LzFiNGYyZGE1NTI3ODMwMDg4ZTRkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLXN0cmluZy1yZXBsYWNlKCBcImZvbyBiYXJcIiwgXCJiYXJcIiwgXCJiYXpcIiApOyAvLyA9PiBcImZvbyBiYXpcIlxuQGZ1bmN0aW9uIGstc3RyaW5nLXJlcGxhY2UoICRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiICkge1xuICAgIEBpZiBrLW1ldGEtdHlwZS1vZiggJHN0cmluZyApID09IG51bWJlciB7XG4gICAgICAgICRzdHJpbmc6ICRzdHJpbmcgKyBcIlwiO1xuICAgIH1cblxuICAgICRpbmRleDogay1zdHJpbmctaW5kZXgoICRzdHJpbmcsICRzZWFyY2ggKTtcblxuICAgIEBpZiAkaW5kZXgge1xuICAgICAgICBAcmV0dXJuIGstc3RyaW5nLXNsaWNlKCAkc3RyaW5nLCAxLCAkaW5kZXggLSAxICkgKyAkcmVwbGFjZSArIGstc3RyaW5nLXJlcGxhY2UoIGstc3RyaW5nLXNsaWNlKCAkc3RyaW5nLCAkaW5kZXggKyBrLXN0cmluZy1sZW5ndGgoICRzZWFyY2ggKSApLCAkc2VhcmNoLCAkcmVwbGFjZSApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8vIFJldHVybnMgYSBzdWJzdHJpbmcgb2YgYCRzdHJpbmdgIHN0YXJ0aW5nIGF0IGAkc3RhcnQtYXRgIGFuZCBlbmRpbmcgYXQgYCRlbmQtYXRgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVGhlIHN0cmluZyB0byBwcm9jZXNzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQtYXQgLSBUaGUgaW5kZXggYXQgd2hpY2ggdG8gc3RhcnQgdGhlIHN1YnN0cmluZy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZC1hdCAtIFRoZSBpbmRleCBhdCB3aGljaCB0byBlbmQgdGhlIHN1YnN0cmluZy5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVGhlIHJlc3VsdGluZyBzdHJpbmcuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLXN0cmluZy1zbGljZSggXCJmb28gYmFyXCIsIDUgKTsgLy8gPT4gXCJiYXJcIlxuQGZ1bmN0aW9uIGstc3RyaW5nLXNsaWNlKCAkc3RyaW5nLCAkc3RhcnQtYXQsICRlbmQtYXQ6IC0xICkge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCAkc3RyaW5nLCAkc3RhcnQtYXQsICRlbmQtYXQgKTtcbn1cblxuLy8vIFJldHVybnMgYSBjb3B5IG9mIGAkc3RyaW5nYCB3aXRoIGFsbCB1cHBlcmNhc2UgbGV0dGVycyBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVGhlIHN0cmluZyB0byBwcm9jZXNzLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBUaGUgcmVzdWx0aW5nIHN0cmluZy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstc3RyaW5nLXRvLWxvd2VyLWNhc2UoIFwiRk9PIEJBUlwiICk7IC8vID0+IFwiZm9vIGJhclwiXG5AZnVuY3Rpb24gay1zdHJpbmctdG8tbG93ZXItY2FzZSggJHN0cmluZyApIHtcbiAgICBAcmV0dXJuIHRvLWxvd2VyLWNhc2UoICRzdHJpbmcgKTtcbn1cblxuLy8vIFJldHVybnMgYSBjb3B5IG9mIGAkc3RyaW5nYCB3aXRoIGFsbCBsb3dlcmNhc2UgbGV0dGVycyBjb252ZXJ0ZWQgdG8gdXBwZXJjYXNlLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVGhlIHN0cmluZyB0byBwcm9jZXNzLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBUaGUgcmVzdWx0aW5nIHN0cmluZy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstc3RyaW5nLXRvLXVwcGVyLWNhc2UoIFwiZm9vIGJhclwiICk7IC8vID0+IFwiRk9PIEJBUlwiXG5AZnVuY3Rpb24gay1zdHJpbmctdG8tdXBwZXItY2FzZSggJHN0cmluZyApIHtcbiAgICBAcmV0dXJuIHRvLXVwcGVyLWNhc2UoICRzdHJpbmcgKTtcbn1cblxuLy8vIFJldHVybnMgYSB1bmlxdWUgaWRlbnRpZmllci5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1zdHJpbmctdW5pcXVlLWlkKCk7IC8vID0+IFVOSVFVRV9JRFxuQGZ1bmN0aW9uIGstc3RyaW5nLXVuaXF1ZS1pZCgpIHtcbiAgICBAcmV0dXJuIHVuaXF1ZS1pZCgpO1xufVxuXG4vLy8gUmV0dXJucyBhIGNvcHkgb2YgYCRzdHJpbmdgIHdpdGggcXVvdGVzIHJlbW92ZWQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBUaGUgc3RyaW5nIHRvIHByb2Nlc3MuXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFRoZSByZXN1bHRpbmcgc3RyaW5nLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1zdHJpbmctdW5xdW90ZSggXCJmb28gYmFyXCIgKTsgLy8gPT4gZm9vIGJhclxuQGZ1bmN0aW9uIGstc3RyaW5nLXVucXVvdGUoICRzdHJpbmcgKSB7XG4gICAgQHJldHVybiB1bnF1b3RlKCAkc3RyaW5nICk7XG59XG5cblxuLy8gU2VlIGh0dHBzOi8vd3d3LnNhc3NtZWlzdGVyLmNvbS9naXN0LzFiNGYyZGE1NTI3ODMwMDg4ZTRkXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgICAkaW5kZXg6IGstc3RyaW5nLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gICAgQGlmICRpbmRleCB7XG4gICAgICAgIEByZXR1cm4gay1zdHJpbmctc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKGstc3RyaW5nLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIGstc3RyaW5nLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIFNlZSBodHRwczovL2NvZGVwZW4uaW8va2V2aW53ZWJlci9wZW4vZFhXb1J3XG5AZnVuY3Rpb24gZXNjYXBlLXN2Zygkc3RyaW5nKSB7XG4gICAgQGlmIGstc3RyaW5nLWluZGV4KCRzdHJpbmcsIFwiZGF0YTppbWFnZS9zdmcreG1sXCIpIHtcbiAgICAgICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRzdmctZXNjYXBlZC1jaGFyYWN0ZXJzIHtcbiAgICAgICAgICAgIC8vIERvIG5vdCBlc2NhcGUgdGhlIHVybCBicmFja2V0c1xuICAgICAgICAgICAgQGlmIGstc3RyaW5nLWluZGV4KCRzdHJpbmcsIFwidXJsKFwiKSA9PSAxIHtcbiAgICAgICAgICAgICAgICAkc3RyaW5nOiB1cmwoXCIje3N0ci1yZXBsYWNlKGstc3RyaW5nLXNsaWNlKCRzdHJpbmcsIDYsIC0zKSwgJGNoYXIsICRlbmNvZGVkKX1cIik7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvY29sb3Itc3lzdGVtL19jb25zdGFudHMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2NvbG9yLXN5c3RlbS9fY29uc3RhbnRzLnNjc3Ncbi8vIENvbG9yIGNvbnN0YW50c1xuXG4vLy8gVGhlIGNvbG9yIHdoaXRlLlxuLy8vIE5vdGU6IHlvdSBjYW5ub3QgY2hhbmdlIHRoaXMgdmFsdWUuXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4ka2VuZG8tY29sb3Itd2hpdGU6ICNmZmZmZmY7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLy8gVGhlIGNvbG9yIGJsYWNrLlxuLy8vIE5vdGU6IHlvdSBjYW5ub3QgY2hhbmdlIHRoaXMgdmFsdWUuXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4ka2VuZG8tY29sb3ItYmxhY2s6ICMwMDAwMDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLy8gVGhlIGNvbG9yIHRyYW5zcGFyZW50LlxuLy8vIE5vdGU6IHlvdSBjYW5ub3QgY2hhbmdlIHRoaXMgdmFsdWUuXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4ka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDogcmdiYSgwLCAwLCAwLCAwKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vLyBBIGdyYWRpZW50IHRoYXQgZ29lcyBmcm9tIHRyYW5zcGFyZW50IHRvIGJsYWNrLlxuLy8vIE5vdGU6IHlvdSBjYW5ub3QgY2hhbmdlIHRoaXMgdmFsdWUuXG4vLy8gQHR5cGUgR3JhZGllbnRcbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4ka2VuZG8tZ3JhZGllbnQtdHJhbnNwYXJlbnQtdG8tYmxhY2s6IHJnYmEoYmxhY2ssIDApLCBibGFjazsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vLyBBIGdyYWRpZW50IHRoYXQgZ29lcyBmcm9tIHRyYW5zcGFyZW50IHRvIHdoaXRlLlxuLy8vIE5vdGU6IHlvdSBjYW5ub3QgY2hhbmdlIHRoaXMgdmFsdWUuXG4vLy8gQHR5cGUgR3JhZGllbnRcbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4ka2VuZG8tZ3JhZGllbnQtdHJhbnNwYXJlbnQtdG8td2hpdGU6IHJnYmEod2hpdGUsIDApLCB3aGl0ZTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vLyBBIGdyYWRpZW50IHRoYXQgZ29lcyBmcm9tIGJsYWNrIHRvIHRyYW5zcGFyZW50LlxuLy8vIE5vdGU6IHlvdSBjYW5ub3QgY2hhbmdlIHRoaXMgdmFsdWUuXG4vLy8gQHR5cGUgR3JhZGllbnRcbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4ka2VuZG8tZ3JhZGllbnQtYmxhY2stdG8tdHJhbnNwYXJlbnQ6IGJsYWNrLCByZ2JhKGJsYWNrLCAwKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vLyBBIGdyYWRpZW50IHRoYXQgZ29lcyBmcm9tIHdoaXRlIHRvIHRyYW5zcGFyZW50LlxuLy8vIE5vdGU6IHlvdSBjYW5ub3QgY2hhbmdlIHRoaXMgdmFsdWUuXG4vLy8gQHR5cGUgR3JhZGllbnRcbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4ka2VuZG8tZ3JhZGllbnQtd2hpdGUtdG8tdHJhbnNwYXJlbnQ6IHdoaXRlLCByZ2JhKHdoaXRlLCAwKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vLyBBIGdyYWRpZW50IHRoYXQgY3ljbGVzIHRocm91Z2ggdGhlIGNvbG9ycyBvZiB0aGUgcmFpbmJvdy5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIEdyYWRpZW50XG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWdyYWRpZW50LXJhaW5ib3c6ICNmZjAwMDAsICNmZmZmMDAsICMwMGZmMDAsICMwMGZmZmYsICMwMDAwZmYsICNmZjAwZmYsICNmZjAwMDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19wYWxldHRlcy5zY3NzXCI7IC0+IHNjc3MvY29yZS9jb2xvci1zeXN0ZW0vX3BhbGV0dGVzLnNjc3NcbiRfZGVmYXVsdC1wYWxldHRlLWdyYXk6IChcbiAgICB3aGl0ZTogI2ZmZmZmZixcbiAgICAxOiAjZmFmYWZhLFxuICAgIDI6ICNmNWY1ZjUsXG4gICAgMzogI2VlZWVlZSxcbiAgICA0OiAjZWJlYmViLFxuICAgIDU6ICNlMGUwZTAsXG4gICAgNjogI2Q2ZDZkNixcbiAgICA3OiAjYzdjN2M3LFxuICAgIDg6ICNjMmMyYzIsXG4gICAgOTogI2JkYmRiZCxcbiAgICAxMDogI2FkYWRhZCxcbiAgICAxMTogIzllOWU5ZSxcbiAgICAxMjogIzc1NzU3NSxcbiAgICAxMzogIzYxNjE2MSxcbiAgICAxNDogIzQyNDI0MixcbiAgICAxNTogIzIxMjEyMSxcbiAgICBibGFjazogIzAwMDAwMFxuKTtcblxuJF9kZWZhdWx0LXBhbGV0dGUtaW5kaWdvOiAoXG4gICAgMTogI2YwZjFmYSxcbiAgICAyOiAjZTdlYWY2LFxuICAgIDM6ICNlMGUzZjMsXG4gICAgNDogI2QxZDVlZSxcbiAgICA1OiAjYzVjYWU4LFxuICAgIDY6ICNiNWJkZTMsXG4gICAgNzogIzk3YTBkNyxcbiAgICA4OiAjM2Y1MWI1LFxuICAgIDk6ICMzYTRiYTcsXG4gICAgMTA6ICMzNzQ3OWYsXG4gICAgMTE6ICMzNTQ0OTgsXG4gICAgMTI6ICMzMjQxOTEsXG4gICAgMTM6ICMzMDNlOGEsXG4gICAgMTQ6ICMyMDI5NWIsXG4gICAgMTU6ICMxNjFjM2Zcbik7XG5cbiRfZGVmYXVsdC1wYWxldHRlLXBpbms6IChcbiAgICAxOiAjZmZlZWYzLFxuICAgIDI6ICNmZGU1ZWMsXG4gICAgMzogI2ZkZGVlNSxcbiAgICA0OiAjZmJjZGQ5LFxuICAgIDU6ICNmOWFmYzMsXG4gICAgNjogI2Y3OWJiMyxcbiAgICA3OiAjZjU4ZGE5LFxuICAgIDg6ICNlNTFhNWYsXG4gICAgOTogI2QzMTg1NyxcbiAgICAxMDogI2NhMTc1NCxcbiAgICAxMTogI2MwMTY1MCxcbiAgICAxMjogI2I3MTU0YyxcbiAgICAxMzogI2FlMTU0OSxcbiAgICAxNDogIzczMGYyZixcbiAgICAxNTogIzUwMGMyMixcbik7XG5cbiRfZGVmYXVsdC1wYWxldHRlLWRhcmstdGVhbDogKFxuICAgIDE6ICNlZWYzZjIsXG4gICAgMjogI2UzZWNlYixcbiAgICAzOiAjZGFlN2U1LFxuICAgIDQ6ICNjOWRiZDgsXG4gICAgNTogI2E5YzZjMSxcbiAgICA2OiAjOTJiOGIxLFxuICAgIDc6ICM4NGFlYTcsXG4gICAgODogIzAwNjk1YyxcbiAgICA5OiAjMDA2MTU1LFxuICAgIDEwOiAjMDA1YzUxLFxuICAgIDExOiAjMDA1ODRkLFxuICAgIDEyOiAjMDA1NDRhLFxuICAgIDEzOiAjMDU0ZjQ2LFxuICAgIDE0OiAjMDAzNTJlLFxuICAgIDE1OiAjMDAyNTIwXG4pO1xuXG4kX2RlZmF1bHQtcGFsZXR0ZS1yZWQ6IChcbiAgICAxOiAjZmZlZWVkLFxuICAgIDI6ICNmZmU2ZTMsXG4gICAgMzogI2ZkZGFkNixcbiAgICA0OiAjZmNjN2MyLFxuICAgIDU6ICNmZWFmYTgsXG4gICAgNjogI2ZlOWE5MSxcbiAgICA3OiAjZmM4ZDgzLFxuICAgIDg6ICNmMzE3MDAsXG4gICAgOTogI2UwMTcwMSxcbiAgICAxMDogI2Q1MTUwNCxcbiAgICAxMTogI2NjMTUwNSxcbiAgICAxMjogI2MyMTUwNSxcbiAgICAxMzogI2I5MTQwNixcbiAgICAxNDogIzc5MGYwOCxcbiAgICAxNTogIzU1MGMwN1xuKTtcblxuJF9kZWZhdWx0LXBhbGV0dGUtYmx1ZTogKFxuICAgIDE6ICNlZGYyZmUsXG4gICAgMjogI2UyZWFmZCxcbiAgICAzOiAjZGFlNGZjLFxuICAgIDQ6ICNjOGQ3ZmIsXG4gICAgNTogI2E3YzBmNyxcbiAgICA2OiAjOGZiMGY2LFxuICAgIDc6ICM4MGE1ZjQsXG4gICAgODogIzAwNThlOSxcbiAgICA5OiAjMDI1MWQ2LFxuICAgIDEwOiAjMDU0ZGNjLFxuICAgIDExOiAjMDM0YWMzLFxuICAgIDEyOiAjMDQ0N2JhLFxuICAgIDEzOiAjMDQ0M2IwLFxuICAgIDE0OiAjMDcyYzc0LFxuICAgIDE1OiAjMDcxZjUxXG4pO1xuXG4kX2RlZmF1bHQtcGFsZXR0ZS1ncmVlbjogKFxuICAgIDE6ICNmMWY5ZWUsXG4gICAgMjogI2U4ZjVlNCxcbiAgICAzOiAjZTJmMmRjLFxuICAgIDQ6ICNkN2YwY2MsXG4gICAgNTogI2JhZTJhZCxcbiAgICA2OiAjYTdkYjk3LFxuICAgIDc6ICM5M2Q3NzUsXG4gICAgODogIzM3YjQwMCxcbiAgICA5OiAjMzNhNjAwLFxuICAgIDEwOiAjMzE5ZTAzLFxuICAgIDExOiAjMmU5NzA0LFxuICAgIDEyOiAjMmM5MDA1LFxuICAgIDEzOiAjMmI4OTA2LFxuICAgIDE0OiAjMWQ1YTA4LFxuICAgIDE1OiAjMTYzZjA5XG4pO1xuXG4kX2RlZmF1bHQtcGFsZXR0ZS15ZWxsb3c6IChcbiAgICAxOiAjZmZmYmVmLFxuICAgIDI6ICNmZWY3ZTYsXG4gICAgMzogI2ZmZjRkZixcbiAgICA0OiAjZmZmMGNlLFxuICAgIDU6ICNmZmU3YjAsXG4gICAgNjogI2ZmZTE5YyxcbiAgICA3OiAjZmZkZDhmLFxuICAgIDg6ICNmZmMwMDAsXG4gICAgOTogI2ViYjIwMSxcbiAgICAxMDogI2RmYTkwMyxcbiAgICAxMTogI2Q2YTIwMixcbiAgICAxMjogI2NiOWEwNyxcbiAgICAxMzogI2MxOTIwNyxcbiAgICAxNDogIzdmNjAwYixcbiAgICAxNTogIzU5NDMwYVxuKTtcblxuJF9kZWZhdWx0LXBhbGV0dGUtZGVlcC1wdXJwbGU6IChcbiAgICAxOiAjZjVlOWY3LFxuICAgIDI6ICNlNmM5ZWIsXG4gICAgMzogI2Q5YWRlMSxcbiAgICA0OiAjY2Q5M2Q3LFxuICAgIDU6ICNjMDc1Y2MsXG4gICAgNjogI2I1NWRjNCxcbiAgICA3OiAjYTg0MWI5LFxuICAgIDg6ICM5YzI3YjAsXG4gICAgOTogIzg5MjI5YixcbiAgICAxMDogIzc1MWQ4NCxcbiAgICAxMTogIzY0MTk3MSxcbiAgICAxMjogIzRlMTQ1OCxcbiAgICAxMzogIzNiMGY0MyxcbiAgICAxNDogIzI3MGEyYyxcbiAgICAxNTogIzEwMDQxMlxuKTtcblxuJF9kZWZhdWx0LXBhbGV0dGUtYmFieS1ibHVlOiAoXG4gICAgMTogI2U5ZjRmZSxcbiAgICAyOiAjYzdlNWZjLFxuICAgIDM6ICNhYmQ3ZmEsXG4gICAgNDogIzkwY2JmOSxcbiAgICA1OiAjNzFiY2Y3LFxuICAgIDY6ICM1OWIwZjYsXG4gICAgNzogIzNjYTNmNCxcbiAgICA4OiAjMjE5NmYzLFxuICAgIDk6ICMxZDg0ZDYsXG4gICAgMTA6ICMxOTcxYjYsXG4gICAgMTE6ICMxNTYwOWMsXG4gICAgMTI6ICMxMTRiN2EsXG4gICAgMTM6ICMwZDM5NWMsXG4gICAgMTQ6ICMwODI2M2QsXG4gICAgMTU6ICMwMzBmMThcbik7XG5cbiRfZGVmYXVsdC1wYWxldHRlLXRlYWw6IChcbiAgICAxOiAjZTVmNGYzLFxuICAgIDI6ICNiZmU1ZTEsXG4gICAgMzogIzllZDdkMixcbiAgICA0OiAjODBjYmM0LFxuICAgIDU6ICM1Y2JjYjMsXG4gICAgNjogIzQwYjBhNixcbiAgICA3OiAjMWZhMzk2LFxuICAgIDg6ICMwMDk2ODgsXG4gICAgOTogIzAwODQ3OCxcbiAgICAxMDogIzAwNzE2NixcbiAgICAxMTogIzAwNjA1NyxcbiAgICAxMjogIzAwNGI0NCxcbiAgICAxMzogIzAwMzkzNCxcbiAgICAxNDogIzAwMjYyMixcbiAgICAxNTogIzAzMGYxOFxuKTtcblxuJF9kZWZhdWx0LXBhbGV0dGUtY2FuYXJ5LXllbGxvdzogKFxuICAgIDE6ICNmZmZkZWIsXG4gICAgMjogI2ZmZmFjZSxcbiAgICAzOiAjZmZmN2I1LFxuICAgIDQ6ICNmZmY1OWQsXG4gICAgNTogI2ZmZjI4MixcbiAgICA2OiAjZmZmMDZjLFxuICAgIDc6ICNmZmVkNTMsXG4gICAgODogI2ZmZWIzYixcbiAgICA5OiAjZTBjZjM0LFxuICAgIDEwOiAjYmZiMDJjLFxuICAgIDExOiAjYTM5NjI2LFxuICAgIDEyOiAjODA3NjFlLFxuICAgIDEzOiAjNjE1OTE2LFxuICAgIDE0OiAjNDAzYjBmLFxuICAgIDE1OiAjMWExODA2XG4pO1xuXG4kX2RlZmF1bHQtcGFsZXR0ZS1jYW5keS1yZWQ6IChcbiAgICAxOiAjZmVlY2ViLFxuICAgIDI6ICNmY2QwY2QsXG4gICAgMzogI2ZiYjhiMyxcbiAgICA0OiAjZmFhMTliLFxuICAgIDU6ICNmODg3N2UsXG4gICAgNjogI2Y3NzI2OCxcbiAgICA3OiAjZjU1YTRlLFxuICAgIDg6ICNmNDQzMzYsXG4gICAgOTogI2Q3M2IzMCxcbiAgICAxMDogI2I3MzIyOSxcbiAgICAxMTogIzljMmIyMyxcbiAgICAxMjogIzdhMjIxYixcbiAgICAxMzogIzVkMTkxNSxcbiAgICAxNDogIzNkMTEwZSxcbiAgICAxNTogIzE4MDcwNVxuKTtcblxuJF9kZWZhdWx0LXBhbGV0dGUtZm9yZXN0LWdyZWVuOiAoXG4gICAgMTogI2VkZjdlZCxcbiAgICAyOiAjZDJlYmQzLFxuICAgIDM6ICNiYmUxYmMsXG4gICAgNDogI2E2ZDdhOCxcbiAgICA1OiAjOGNjYzhmLFxuICAgIDY6ICM3OWMzN2MsXG4gICAgNzogIzYxYjk2NSxcbiAgICA4OiAjNGNhZjUwLFxuICAgIDk6ICM0MzlhNDYsXG4gICAgMTA6ICMzOTgzM2MsXG4gICAgMTE6ICMzMTcwMzMsXG4gICAgMTI6ICMyNjU4MjgsXG4gICAgMTM6ICMxZDQzMWUsXG4gICAgMTQ6ICMxMzJjMTQsXG4gICAgMTU6ICMwODEyMDhcbik7XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3Mvbm8tZ2xvYmFsLWZ1bmN0aW9uLW5hbWVzXG4vLy8gVGhlIEdyYXkgUGFsZXR0ZSBwcm92aWRlcyBjb2xvcnMgdG8gdGhlIEJhc2UsIFNlY29uZGFyeSwgTGlnaHQsIERhcmssIGFuZCBJbnZlcnNlIHZhcmlhYmxlIGdyb3Vwcy5cbi8vLyBAZ3JvdXAgcGFsZXR0ZVxuJGtlbmRvLXBhbGV0dGUtZ3JheTogJF9kZWZhdWx0LXBhbGV0dGUtZ3JheSAhZGVmYXVsdDtcbiRrZW5kby1wYWxldHRlLWdyYXk6IG1hcC1tZXJnZSgkX2RlZmF1bHQtcGFsZXR0ZS1ncmF5LCAka2VuZG8tcGFsZXR0ZS1ncmF5KTtcblxuLy8vIFRoZSBJbmRpZ28gUGFsZXR0ZSBwcm92aWRlcyBjb2xvcnMgdG8gdGhlIFByaW1hcnkgdmFyaWFibGUgZ3JvdXAuXG4vLy8gQGdyb3VwIHBhbGV0dGVcbiRrZW5kby1wYWxldHRlLWluZGlnbzogJF9kZWZhdWx0LXBhbGV0dGUtaW5kaWdvICFkZWZhdWx0O1xuJGtlbmRvLXBhbGV0dGUtaW5kaWdvOiBtYXAtbWVyZ2UoJF9kZWZhdWx0LXBhbGV0dGUtaW5kaWdvLCAka2VuZG8tcGFsZXR0ZS1pbmRpZ28pO1xuXG4vLy8gVGhlIFBpbmsgUGFsZXR0ZSBwcm92aWRlcyBjb2xvcnMgdG8gdGhlIFNlY29uZGFyeSB2YXJpYWJsZSBncm91cC5cbi8vLyBAZ3JvdXAgcGFsZXR0ZVxuJGtlbmRvLXBhbGV0dGUtcGluazogJF9kZWZhdWx0LXBhbGV0dGUtcGluayAhZGVmYXVsdDtcbiRrZW5kby1wYWxldHRlLXBpbms6IG1hcC1tZXJnZSgkX2RlZmF1bHQtcGFsZXR0ZS1waW5rLCAka2VuZG8tcGFsZXR0ZS1waW5rKTtcblxuLy8vIFRoZSBEYXJrIFRlYWwgUGFsZXR0ZSBwcm92aWRlcyBjb2xvcnMgdG8gdGhlIFRlcnRpYXJ5IHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBncm91cCBwYWxldHRlXG4ka2VuZG8tcGFsZXR0ZS1kYXJrLXRlYWw6ICRfZGVmYXVsdC1wYWxldHRlLWRhcmstdGVhbCAhZGVmYXVsdDtcbiRrZW5kby1wYWxldHRlLWRhcmstdGVhbDogbWFwLW1lcmdlKCRfZGVmYXVsdC1wYWxldHRlLWRhcmstdGVhbCwgJGtlbmRvLXBhbGV0dGUtZGFyay10ZWFsKTtcblxuLy8vIFRoZSBSZWQgUGFsZXR0ZSBwcm92aWRlcyBjb2xvcnMgdG8gdGhlIEVycm9yIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBncm91cCBwYWxldHRlXG4ka2VuZG8tcGFsZXR0ZS1yZWQ6ICRfZGVmYXVsdC1wYWxldHRlLXJlZCAhZGVmYXVsdDtcbiRrZW5kby1wYWxldHRlLXJlZDogbWFwLW1lcmdlKCRfZGVmYXVsdC1wYWxldHRlLXJlZCwgJGtlbmRvLXBhbGV0dGUtcmVkKTtcblxuLy8vIFRoZSBCbHVlIFBhbGV0dGUgcHJvdmlkZXMgY29sb3JzIHRvIHRoZSBJbmZvIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBncm91cCBwYWxldHRlXG4ka2VuZG8tcGFsZXR0ZS1ibHVlOiAkX2RlZmF1bHQtcGFsZXR0ZS1ibHVlICFkZWZhdWx0O1xuJGtlbmRvLXBhbGV0dGUtYmx1ZTogbWFwLW1lcmdlKCRfZGVmYXVsdC1wYWxldHRlLWJsdWUsICRrZW5kby1wYWxldHRlLWJsdWUpO1xuXG4vLy8gVGhlIEdyZWVuIFBhbGV0dGUgcHJvdmlkZXMgY29sb3JzIHRvIHRoZSBTdWNjZXNzIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBncm91cCBwYWxldHRlXG4ka2VuZG8tcGFsZXR0ZS1ncmVlbjogJF9kZWZhdWx0LXBhbGV0dGUtZ3JlZW4gIWRlZmF1bHQ7XG4ka2VuZG8tcGFsZXR0ZS1ncmVlbjogbWFwLW1lcmdlKCRfZGVmYXVsdC1wYWxldHRlLWdyZWVuLCAka2VuZG8tcGFsZXR0ZS1ncmVlbik7XG5cbi8vLyBUaGUgWWVsbG93IFBhbGV0dGUgcHJvdmlkZXMgY29sb3JzIHRvIHRoZSBXYXJuaW5nIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBncm91cCBwYWxldHRlXG4ka2VuZG8tcGFsZXR0ZS15ZWxsb3c6ICRfZGVmYXVsdC1wYWxldHRlLXllbGxvdyAhZGVmYXVsdDtcbiRrZW5kby1wYWxldHRlLXllbGxvdzogbWFwLW1lcmdlKCRfZGVmYXVsdC1wYWxldHRlLXllbGxvdywgJGtlbmRvLXBhbGV0dGUteWVsbG93KTtcblxuLy8vIFRoZSBEZWVwIFB1cnBsZSBwcm92aWRlcyBjb2xvcnMgdG8gdGhlIFNlcmllcyBBIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBncm91cCBwYWxldHRlXG4ka2VuZG8tcGFsZXR0ZS1kZWVwLXB1cnBsZTogJF9kZWZhdWx0LXBhbGV0dGUtZGVlcC1wdXJwbGUgIWRlZmF1bHQ7XG4ka2VuZG8tcGFsZXR0ZS1kZWVwLXB1cnBsZTogbWFwLW1lcmdlKCRfZGVmYXVsdC1wYWxldHRlLWRlZXAtcHVycGxlLCAka2VuZG8tcGFsZXR0ZS1kZWVwLXB1cnBsZSk7XG5cbi8vLyBUaGUgQmFieSBCbHVlIHByb3ZpZGVzIGNvbG9ycyB0byB0aGUgU2VyaWVzIEIgdmFyaWFibGUgZ3JvdXAuXG4vLy8gQGdyb3VwIHBhbGV0dGVcbiRrZW5kby1wYWxldHRlLWJhYnktYmx1ZTogJF9kZWZhdWx0LXBhbGV0dGUtYmFieS1ibHVlICFkZWZhdWx0O1xuJGtlbmRvLXBhbGV0dGUtYmFieS1ibHVlOiBtYXAtbWVyZ2UoJF9kZWZhdWx0LXBhbGV0dGUtYmFieS1ibHVlLCAka2VuZG8tcGFsZXR0ZS1iYWJ5LWJsdWUpO1xuXG4vLy8gVGhlIFRlYWwgcHJvdmlkZXMgY29sb3JzIHRvIHRoZSBUZXJ0aWFyeSBhbmQgU2VyaWVzIEMgdmFyaWFibGUgZ3JvdXBzLlxuLy8vIEBncm91cCBwYWxldHRlXG4ka2VuZG8tcGFsZXR0ZS10ZWFsOiAkX2RlZmF1bHQtcGFsZXR0ZS10ZWFsICFkZWZhdWx0O1xuJGtlbmRvLXBhbGV0dGUtdGVhbDogbWFwLW1lcmdlKCRfZGVmYXVsdC1wYWxldHRlLXRlYWwsICRrZW5kby1wYWxldHRlLXRlYWwpO1xuXG4vLy8gVGhlIENhbmFyeSBZZWxsb3cgcHJvdmlkZXMgY29sb3JzIHRvIHRoZSBTZXJpZXMgRCB2YXJpYWJsZSBncm91cC5cbi8vLyBAZ3JvdXAgcGFsZXR0ZVxuJGtlbmRvLXBhbGV0dGUtY2FuYXJ5LXllbGxvdzogJF9kZWZhdWx0LXBhbGV0dGUtY2FuYXJ5LXllbGxvdyAhZGVmYXVsdDtcbiRrZW5kby1wYWxldHRlLWNhbmFyeS15ZWxsb3c6IG1hcC1tZXJnZSgkX2RlZmF1bHQtcGFsZXR0ZS1jYW5hcnkteWVsbG93LCAka2VuZG8tcGFsZXR0ZS1jYW5hcnkteWVsbG93KTtcblxuLy8vIFRoZSBDYW5hcnkgUmVkIHByb3ZpZGVzIGNvbG9ycyB0byB0aGUgU2VyaWVzIEUgdmFyaWFibGUgZ3JvdXAuXG4vLy8gQGdyb3VwIHBhbGV0dGVcbiRrZW5kby1wYWxldHRlLWNhbmR5LXJlZDogJF9kZWZhdWx0LXBhbGV0dGUtY2FuZHktcmVkICFkZWZhdWx0O1xuJGtlbmRvLXBhbGV0dGUtY2FuZHktcmVkOiBtYXAtbWVyZ2UoJF9kZWZhdWx0LXBhbGV0dGUtY2FuZHktcmVkLCAka2VuZG8tcGFsZXR0ZS1jYW5keS1yZWQpO1xuXG4vLy8gVGhlIEZvcmVzdCBHcmVlbiBwcm92aWRlcyBjb2xvcnMgdG8gdGhlIFNlcmllcyBGIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBncm91cCBwYWxldHRlXG4ka2VuZG8tcGFsZXR0ZS1mb3Jlc3QtZ3JlZW46ICRfZGVmYXVsdC1wYWxldHRlLWZvcmVzdC1ncmVlbiAhZGVmYXVsdDtcbiRrZW5kby1wYWxldHRlLWZvcmVzdC1ncmVlbjogbWFwLW1lcmdlKCRfZGVmYXVsdC1wYWxldHRlLWZvcmVzdC1ncmVlbiwgJGtlbmRvLXBhbGV0dGUtZm9yZXN0LWdyZWVuKTtcbi8vIHN0eWxlbGludC1lbmFibGUgc2Nzcy9uby1nbG9iYWwtZnVuY3Rpb24tbmFtZXNcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZnVuY3Rpb25zLnNjc3NcIjsgLT4gc2Nzcy9jb3JlL2NvbG9yLXN5c3RlbS9fZnVuY3Rpb25zLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3BhbGV0dGVzLWxlZ2FjeS5zY3NzXCI7IC0+IHNjc3MvY29yZS9jb2xvci1zeXN0ZW0vX3BhbGV0dGVzLWxlZ2FjeS5zY3NzXG5cbiRkYXJrLXByaW1hcnktdGV4dDogcmdiYShibGFjaywgMC44NykgIWRlZmF1bHQ7XG4kbGlnaHQtcHJpbWFyeS10ZXh0OiAjZmZmZmZmICFkZWZhdWx0O1xuXG4kcGFsZXR0ZXM6IChcbiAgICAvLyBSZWRcbiAgICByZWQ6XG4gICAgICAgIChcbiAgICAgICAgICAgIDUwOiAjZmZlYmVlLFxuICAgICAgICAgICAgMTAwOiAjZmZjZGQyLFxuICAgICAgICAgICAgMjAwOiAjZWY5YTlhLFxuICAgICAgICAgICAgMzAwOiAjZTU3MzczLFxuICAgICAgICAgICAgNDAwOiAjZWY1MzUwLFxuICAgICAgICAgICAgNTAwOiAjZjQ0MzM2LFxuICAgICAgICAgICAgNjAwOiAjZTUzOTM1LFxuICAgICAgICAgICAgNzAwOiAjZDMyZjJmLFxuICAgICAgICAgICAgODAwOiAjYzYyODI4LFxuICAgICAgICAgICAgOTAwOiAjYjcxYzFjLFxuICAgICAgICAgICAgQTEwMDogI2ZmOGE4MCxcbiAgICAgICAgICAgIEEyMDA6ICNmZjUyNTIsXG4gICAgICAgICAgICBBNDAwOiAjZmYxNzQ0LFxuICAgICAgICAgICAgQTcwMDogI2Q1MDAwMCxcbiAgICAgICAgICAgIGNvbnRyYXN0OiAoXG4gICAgICAgICAgICAgICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcblxuICAgIC8vIFBpbmtcbiAgICBwaW5rOlxuICAgICAgICAoXG4gICAgICAgICAgICA1MDogI2ZjZTRlYyxcbiAgICAgICAgICAgIDEwMDogI2Y4YmJkMCxcbiAgICAgICAgICAgIDIwMDogI2Y0OGZiMSxcbiAgICAgICAgICAgIDMwMDogI2YwNjI5MixcbiAgICAgICAgICAgIDQwMDogI2VjNDA3YSxcbiAgICAgICAgICAgIDUwMDogI2U1MWE1ZixcbiAgICAgICAgICAgIC8vIG9yaWdpbmFsbHkgaXQgd2FzICNlOTFlNjMsIGJ1dCBjaGFuZ2VkIGZvciBiZXR0ZXIgY29udHJhc3QgYWdhaW5zdCB3aGl0ZVxuICAgICAgICAgICAgNjAwOiAjZDgxYjYwLFxuICAgICAgICAgICAgNzAwOiAjYzIxODViLFxuICAgICAgICAgICAgODAwOiAjYWQxNDU3LFxuICAgICAgICAgICAgOTAwOiAjODgwZTRmLFxuICAgICAgICAgICAgQTEwMDogI2ZmODBhYixcbiAgICAgICAgICAgIEEyMDA6ICNmZjQwODEsXG4gICAgICAgICAgICBBNDAwOiAjZjUwMDU3LFxuICAgICAgICAgICAgQTcwMDogI2M1MTE2MixcbiAgICAgICAgICAgIGNvbnRyYXN0OiAoXG4gICAgICAgICAgICAgICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuXG4gICAgLy8gUHVycGxlXG4gICAgcHVycGxlOlxuICAgICAgICAoXG4gICAgICAgICAgICA1MDogI2YzZTVmNSxcbiAgICAgICAgICAgIDEwMDogI2UxYmVlNyxcbiAgICAgICAgICAgIDIwMDogI2NlOTNkOCxcbiAgICAgICAgICAgIDMwMDogI2JhNjhjOCxcbiAgICAgICAgICAgIDQwMDogI2FiNDdiYyxcbiAgICAgICAgICAgIDUwMDogIzljMjdiMCxcbiAgICAgICAgICAgIDYwMDogIzhlMjRhYSxcbiAgICAgICAgICAgIDcwMDogIzdiMWZhMixcbiAgICAgICAgICAgIDgwMDogIzZhMWI5YSxcbiAgICAgICAgICAgIDkwMDogIzRhMTQ4YyxcbiAgICAgICAgICAgIEExMDA6ICNlYTgwZmMsXG4gICAgICAgICAgICBBMjAwOiAjZTA0MGZiLFxuICAgICAgICAgICAgQTQwMDogI2Q1MDBmOSxcbiAgICAgICAgICAgIEE3MDA6ICNhYTAwZmYsXG4gICAgICAgICAgICBjb250cmFzdDogKFxuICAgICAgICAgICAgICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG5cbiAgICAvLyBEZWVwIFB1cnBsZVxuICAgIGRlZXBQdXJwbGU6XG4gICAgICAgIChcbiAgICAgICAgICAgIDUwOiAjZWRlN2Y2LFxuICAgICAgICAgICAgMTAwOiAjZDFjNGU5LFxuICAgICAgICAgICAgMjAwOiAjYjM5ZGRiLFxuICAgICAgICAgICAgMzAwOiAjOTU3NWNkLFxuICAgICAgICAgICAgNDAwOiAjN2U1N2MyLFxuICAgICAgICAgICAgNTAwOiAjNjczYWI3LFxuICAgICAgICAgICAgNjAwOiAjNWUzNWIxLFxuICAgICAgICAgICAgNzAwOiAjNTEyZGE4LFxuICAgICAgICAgICAgODAwOiAjNDUyN2EwLFxuICAgICAgICAgICAgOTAwOiAjMzExYjkyLFxuICAgICAgICAgICAgQTEwMDogI2IzODhmZixcbiAgICAgICAgICAgIEEyMDA6ICM3YzRkZmYsXG4gICAgICAgICAgICBBNDAwOiAjNjUxZmZmLFxuICAgICAgICAgICAgQTcwMDogIzYyMDBlYSxcbiAgICAgICAgICAgIGNvbnRyYXN0OiAoXG4gICAgICAgICAgICAgICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuXG4gICAgLy8gSW5kaWdvXG4gICAgaW5kaWdvOlxuICAgICAgICAoXG4gICAgICAgICAgICA1MDogI2U4ZWFmNixcbiAgICAgICAgICAgIDEwMDogI2M1Y2FlOSxcbiAgICAgICAgICAgIDIwMDogIzlmYThkYSxcbiAgICAgICAgICAgIDMwMDogIzc5ODZjYixcbiAgICAgICAgICAgIDQwMDogIzVjNmJjMCxcbiAgICAgICAgICAgIDUwMDogIzNmNTFiNSxcbiAgICAgICAgICAgIDYwMDogIzM5NDlhYixcbiAgICAgICAgICAgIDcwMDogIzMwM2Y5ZixcbiAgICAgICAgICAgIDgwMDogIzI4MzU5MyxcbiAgICAgICAgICAgIDkwMDogIzFhMjM3ZSxcbiAgICAgICAgICAgIEExMDA6ICM4YzllZmYsXG4gICAgICAgICAgICBBMjAwOiAjNTM2ZGZlLFxuICAgICAgICAgICAgQTQwMDogIzNkNWFmZSxcbiAgICAgICAgICAgIEE3MDA6ICMzMDRmZmUsXG4gICAgICAgICAgICBjb250cmFzdDogKFxuICAgICAgICAgICAgICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuXG4gICAgLy8gQmx1ZVxuICAgIGJsdWU6XG4gICAgICAgIChcbiAgICAgICAgICAgIDUwOiAjZTNmMmZkLFxuICAgICAgICAgICAgMTAwOiAjYmJkZWZiLFxuICAgICAgICAgICAgMjAwOiAjOTBjYWY5LFxuICAgICAgICAgICAgMzAwOiAjNjRiNWY2LFxuICAgICAgICAgICAgNDAwOiAjNDJhNWY1LFxuICAgICAgICAgICAgNTAwOiAjMjE5NmYzLFxuICAgICAgICAgICAgNjAwOiAjMWU4OGU1LFxuICAgICAgICAgICAgNzAwOiAjMTk3NmQyLFxuICAgICAgICAgICAgODAwOiAjMTU2NWMwLFxuICAgICAgICAgICAgOTAwOiAjMGQ0N2ExLFxuICAgICAgICAgICAgQTEwMDogIzgyYjFmZixcbiAgICAgICAgICAgIEEyMDA6ICM0NDhhZmYsXG4gICAgICAgICAgICBBNDAwOiAjMjk3OWZmLFxuICAgICAgICAgICAgQTcwMDogIzI5NjJmZixcbiAgICAgICAgICAgIGNvbnRyYXN0OiAoXG4gICAgICAgICAgICAgICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcblxuICAgIC8vIExpZ2h0IEJsdWVcbiAgICBsaWdodEJsdWU6XG4gICAgICAgIChcbiAgICAgICAgICAgIDUwOiAjZTFmNWZlLFxuICAgICAgICAgICAgMTAwOiAjYjNlNWZjLFxuICAgICAgICAgICAgMjAwOiAjODFkNGZhLFxuICAgICAgICAgICAgMzAwOiAjNGZjM2Y3LFxuICAgICAgICAgICAgNDAwOiAjMjliNmY2LFxuICAgICAgICAgICAgNTAwOiAjMDNhOWY0LFxuICAgICAgICAgICAgNjAwOiAjMDM5YmU1LFxuICAgICAgICAgICAgNzAwOiAjMDI4OGQxLFxuICAgICAgICAgICAgODAwOiAjMDI3N2JkLFxuICAgICAgICAgICAgOTAwOiAjMDE1NzliLFxuICAgICAgICAgICAgQTEwMDogIzgwZDhmZixcbiAgICAgICAgICAgIEEyMDA6ICM0MGM0ZmYsXG4gICAgICAgICAgICBBNDAwOiAjMDBiMGZmLFxuICAgICAgICAgICAgQTcwMDogIzAwOTFlYSxcbiAgICAgICAgICAgIGNvbnRyYXN0OiAoXG4gICAgICAgICAgICAgICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG5cbiAgICAvLyBDeWFuXG4gICAgY3lhbjpcbiAgICAgICAgKFxuICAgICAgICAgICAgNTA6ICNlMGY3ZmEsXG4gICAgICAgICAgICAxMDA6ICNiMmViZjIsXG4gICAgICAgICAgICAyMDA6ICM4MGRlZWEsXG4gICAgICAgICAgICAzMDA6ICM0ZGQwZTEsXG4gICAgICAgICAgICA0MDA6ICMyNmM2ZGEsXG4gICAgICAgICAgICA1MDA6ICMwMGJjZDQsXG4gICAgICAgICAgICA2MDA6ICMwMGFjYzEsXG4gICAgICAgICAgICA3MDA6ICMwMDk3YTcsXG4gICAgICAgICAgICA4MDA6ICMwMDgzOGYsXG4gICAgICAgICAgICA5MDA6ICMwMDYwNjQsXG4gICAgICAgICAgICBBMTAwOiAjODRmZmZmLFxuICAgICAgICAgICAgQTIwMDogIzE4ZmZmZixcbiAgICAgICAgICAgIEE0MDA6ICMwMGU1ZmYsXG4gICAgICAgICAgICBBNzAwOiAjMDBiOGQ0LFxuICAgICAgICAgICAgY29udHJhc3Q6IChcbiAgICAgICAgICAgICAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcblxuICAgIC8vIFRlYWxcbiAgICB0ZWFsOlxuICAgICAgICAoXG4gICAgICAgICAgICA1MDogI2UwZjJmMSxcbiAgICAgICAgICAgIDEwMDogI2IyZGZkYixcbiAgICAgICAgICAgIDIwMDogIzgwY2JjNCxcbiAgICAgICAgICAgIDMwMDogIzRkYjZhYyxcbiAgICAgICAgICAgIDQwMDogIzI2YTY5YSxcbiAgICAgICAgICAgIDUwMDogIzAwOTY4OCxcbiAgICAgICAgICAgIDYwMDogIzAwODk3YixcbiAgICAgICAgICAgIDcwMDogIzAwNzk2YixcbiAgICAgICAgICAgIDgwMDogIzAwNjk1YyxcbiAgICAgICAgICAgIDkwMDogIzAwNGQ0MCxcbiAgICAgICAgICAgIEExMDA6ICNhN2ZmZWIsXG4gICAgICAgICAgICBBMjAwOiAjNjRmZmRhLFxuICAgICAgICAgICAgQTQwMDogIzFkZTliNixcbiAgICAgICAgICAgIEE3MDA6ICMwMGJmYTUsXG4gICAgICAgICAgICBjb250cmFzdDogKFxuICAgICAgICAgICAgICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcblxuICAgIC8vIEdyZWVuXG4gICAgZ3JlZW46XG4gICAgICAgIChcbiAgICAgICAgICAgIDUwOiAjZThmNWU5LFxuICAgICAgICAgICAgMTAwOiAjYzhlNmM5LFxuICAgICAgICAgICAgMjAwOiAjYTVkNmE3LFxuICAgICAgICAgICAgMzAwOiAjODFjNzg0LFxuICAgICAgICAgICAgNDAwOiAjNjZiYjZhLFxuICAgICAgICAgICAgNTAwOiAjNGNhZjUwLFxuICAgICAgICAgICAgNjAwOiAjNDNhMDQ3LFxuICAgICAgICAgICAgNzAwOiAjMzg4ZTNjLFxuICAgICAgICAgICAgODAwOiAjMmU3ZDMyLFxuICAgICAgICAgICAgOTAwOiAjMWI1ZTIwLFxuICAgICAgICAgICAgQTEwMDogI2I5ZjZjYSxcbiAgICAgICAgICAgIEEyMDA6ICM2OWYwYWUsXG4gICAgICAgICAgICBBNDAwOiAjMDBlNjc2LFxuICAgICAgICAgICAgQTcwMDogIzAwYzg1MyxcbiAgICAgICAgICAgIGNvbnRyYXN0OiAoXG4gICAgICAgICAgICAgICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG5cbiAgICAvLyBMaWdodCBHcmVlblxuICAgIGxpZ2h0R3JlZW46XG4gICAgICAgIChcbiAgICAgICAgICAgIDUwOiAjZjFmOGU5LFxuICAgICAgICAgICAgMTAwOiAjZGNlZGM4LFxuICAgICAgICAgICAgMjAwOiAjYzVlMWE1LFxuICAgICAgICAgICAgMzAwOiAjYWVkNTgxLFxuICAgICAgICAgICAgNDAwOiAjOWNjYzY1LFxuICAgICAgICAgICAgNTAwOiAjOGJjMzRhLFxuICAgICAgICAgICAgNjAwOiAjN2NiMzQyLFxuICAgICAgICAgICAgNzAwOiAjNjg5ZjM4LFxuICAgICAgICAgICAgODAwOiAjNTU4YjJmLFxuICAgICAgICAgICAgOTAwOiAjMzM2OTFlLFxuICAgICAgICAgICAgQTEwMDogI2NjZmY5MCxcbiAgICAgICAgICAgIEEyMDA6ICNiMmZmNTksXG4gICAgICAgICAgICBBNDAwOiAjNzZmZjAzLFxuICAgICAgICAgICAgQTcwMDogIzY0ZGQxNyxcbiAgICAgICAgICAgIGNvbnRyYXN0OiAoXG4gICAgICAgICAgICAgICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcblxuICAgIC8vIExpbWVcbiAgICBsaW1lOlxuICAgICAgICAoXG4gICAgICAgICAgICA1MDogI2Y5ZmJlNyxcbiAgICAgICAgICAgIDEwMDogI2YwZjRjMyxcbiAgICAgICAgICAgIDIwMDogI2U2ZWU5YyxcbiAgICAgICAgICAgIDMwMDogI2RjZTc3NSxcbiAgICAgICAgICAgIDQwMDogI2Q0ZTE1NyxcbiAgICAgICAgICAgIDUwMDogI2NkZGMzOSxcbiAgICAgICAgICAgIDYwMDogI2MwY2EzMyxcbiAgICAgICAgICAgIDcwMDogI2FmYjQyYixcbiAgICAgICAgICAgIDgwMDogIzllOWQyNCxcbiAgICAgICAgICAgIDkwMDogIzgyNzcxNyxcbiAgICAgICAgICAgIEExMDA6ICNmNGZmODEsXG4gICAgICAgICAgICBBMjAwOiAjZWVmZjQxLFxuICAgICAgICAgICAgQTQwMDogI2M2ZmYwMCxcbiAgICAgICAgICAgIEE3MDA6ICNhZWVhMDAsXG4gICAgICAgICAgICBjb250cmFzdDogKFxuICAgICAgICAgICAgICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgODAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG5cbiAgICAvLyBZZWxsb3dcbiAgICB5ZWxsb3c6XG4gICAgICAgIChcbiAgICAgICAgICAgIDUwOiAjZmZmZGU3LFxuICAgICAgICAgICAgMTAwOiAjZmZmOWM0LFxuICAgICAgICAgICAgMjAwOiAjZmZmNTlkLFxuICAgICAgICAgICAgMzAwOiAjZmZmMTc2LFxuICAgICAgICAgICAgNDAwOiAjZmZlZTU4LFxuICAgICAgICAgICAgNTAwOiAjZmZlYjNiLFxuICAgICAgICAgICAgNjAwOiAjZmRkODM1LFxuICAgICAgICAgICAgNzAwOiAjZmJjMDJkLFxuICAgICAgICAgICAgODAwOiAjZjlhODI1LFxuICAgICAgICAgICAgOTAwOiAjZjU3ZjE3LFxuICAgICAgICAgICAgQTEwMDogI2ZmZmY4ZCxcbiAgICAgICAgICAgIEEyMDA6ICNmZmZmMDAsXG4gICAgICAgICAgICBBNDAwOiAjZmZlYTAwLFxuICAgICAgICAgICAgQTcwMDogI2ZmZDYwMCxcbiAgICAgICAgICAgIGNvbnRyYXN0OiAoXG4gICAgICAgICAgICAgICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA5MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuXG4gICAgLy8gQW1iZXJcbiAgICBhbWJlcjpcbiAgICAgICAgKFxuICAgICAgICAgICAgNTA6ICNmZmY4ZTEsXG4gICAgICAgICAgICAxMDA6ICNmZmVjYjMsXG4gICAgICAgICAgICAyMDA6ICNmZmUwODIsXG4gICAgICAgICAgICAzMDA6ICNmZmQ1NGYsXG4gICAgICAgICAgICA0MDA6ICNmZmNhMjgsXG4gICAgICAgICAgICA1MDA6ICNmZmMxMDcsXG4gICAgICAgICAgICA2MDA6ICNmZmIzMDAsXG4gICAgICAgICAgICA3MDA6ICNmZmEwMDAsXG4gICAgICAgICAgICA4MDA6ICNmZjhmMDAsXG4gICAgICAgICAgICA5MDA6ICNmZjZmMDAsXG4gICAgICAgICAgICBBMTAwOiAjZmZlNTdmLFxuICAgICAgICAgICAgQTIwMDogI2ZmZDc0MCxcbiAgICAgICAgICAgIEE0MDA6ICNmZmM0MDAsXG4gICAgICAgICAgICBBNzAwOiAjZmZhYjAwLFxuICAgICAgICAgICAgY29udHJhc3Q6IChcbiAgICAgICAgICAgICAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDgwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDkwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG5cbiAgICAvLyBPcmFuZ2VcbiAgICBvcmFuZ2U6XG4gICAgICAgIChcbiAgICAgICAgICAgIDUwOiAjZmZmM2UwLFxuICAgICAgICAgICAgMTAwOiAjZmZlMGIyLFxuICAgICAgICAgICAgMjAwOiAjZmZjYzgwLFxuICAgICAgICAgICAgMzAwOiAjZmZiNzRkLFxuICAgICAgICAgICAgNDAwOiAjZmZhNzI2LFxuICAgICAgICAgICAgNTAwOiAjZmY5ODAwLFxuICAgICAgICAgICAgNjAwOiAjZmI4YzAwLFxuICAgICAgICAgICAgNzAwOiAjZjU3YzAwLFxuICAgICAgICAgICAgODAwOiAjZWY2YzAwLFxuICAgICAgICAgICAgOTAwOiAjZTY1MTAwLFxuICAgICAgICAgICAgQTEwMDogI2ZmZDE4MCxcbiAgICAgICAgICAgIEEyMDA6ICNmZmFiNDAsXG4gICAgICAgICAgICBBNDAwOiAjZmY5MTAwLFxuICAgICAgICAgICAgQTcwMDogI2ZmNmQwMCxcbiAgICAgICAgICAgIGNvbnRyYXN0OiAoXG4gICAgICAgICAgICAgICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA5MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuXG4gICAgLy8gRGVlcCBPcmFuZ2VcbiAgICBkZWVwT3JhbmdlOlxuICAgICAgICAoXG4gICAgICAgICAgICA1MDogI2ZiZTllNyxcbiAgICAgICAgICAgIDEwMDogI2ZmY2NiYyxcbiAgICAgICAgICAgIDIwMDogI2ZmYWI5MSxcbiAgICAgICAgICAgIDMwMDogI2ZmOGE2NSxcbiAgICAgICAgICAgIDQwMDogI2ZmNzA0MyxcbiAgICAgICAgICAgIDUwMDogI2ZmNTcyMixcbiAgICAgICAgICAgIDYwMDogI2Y0NTExZSxcbiAgICAgICAgICAgIDcwMDogI2U2NGExOSxcbiAgICAgICAgICAgIDgwMDogI2Q4NDMxNSxcbiAgICAgICAgICAgIDkwMDogI2JmMzYwYyxcbiAgICAgICAgICAgIEExMDA6ICNmZjllODAsXG4gICAgICAgICAgICBBMjAwOiAjZmY2ZTQwLFxuICAgICAgICAgICAgQTQwMDogI2ZmM2QwMCxcbiAgICAgICAgICAgIEE3MDA6ICNkZDJjMDAsXG4gICAgICAgICAgICBjb250cmFzdDogKFxuICAgICAgICAgICAgICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgODAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuXG4gICAgLy8gQnJvd25cbiAgICBicm93bjpcbiAgICAgICAgKFxuICAgICAgICAgICAgNTA6ICNlZmViZTksXG4gICAgICAgICAgICAxMDA6ICNkN2NjYzgsXG4gICAgICAgICAgICAyMDA6ICNiY2FhYTQsXG4gICAgICAgICAgICAzMDA6ICNhMTg4N2YsXG4gICAgICAgICAgICA0MDA6ICM4ZDZlNjMsXG4gICAgICAgICAgICA1MDA6ICM3OTU1NDgsXG4gICAgICAgICAgICA2MDA6ICM2ZDRjNDEsXG4gICAgICAgICAgICA3MDA6ICM1ZDQwMzcsXG4gICAgICAgICAgICA4MDA6ICM0ZTM0MmUsXG4gICAgICAgICAgICA5MDA6ICMzZTI3MjMsXG4gICAgICAgICAgICBBMTAwOiAjZDdjY2M4LFxuICAgICAgICAgICAgQTIwMDogI2JjYWFhNCxcbiAgICAgICAgICAgIEE0MDA6ICM4ZDZlNjMsXG4gICAgICAgICAgICBBNzAwOiAjNWQ0MDM3LFxuICAgICAgICAgICAgY29udHJhc3Q6IChcbiAgICAgICAgICAgICAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcblxuICAgIC8vIEdyYXlcbiAgICBncmF5OlxuICAgICAgICAoXG4gICAgICAgICAgICA1MDogI2ZhZmFmYSxcbiAgICAgICAgICAgIDEwMDogI2Y1ZjVmNSxcbiAgICAgICAgICAgIDIwMDogI2VlZWVlZSxcbiAgICAgICAgICAgIDMwMDogI2UwZTBlMCxcbiAgICAgICAgICAgIDQwMDogI2JkYmRiZCxcbiAgICAgICAgICAgIDUwMDogIzllOWU5ZSxcbiAgICAgICAgICAgIDYwMDogIzc1NzU3NSxcbiAgICAgICAgICAgIDcwMDogIzYxNjE2MSxcbiAgICAgICAgICAgIDgwMDogIzQyNDI0MixcbiAgICAgICAgICAgIDkwMDogIzIxMjEyMSxcbiAgICAgICAgICAgIEExMDA6ICNmZmZmZmYsXG4gICAgICAgICAgICBBMjAwOiAjZWVlZWVlLFxuICAgICAgICAgICAgQTQwMDogI2JkYmRiZCxcbiAgICAgICAgICAgIEE3MDA6ICM2MTYxNjEsXG4gICAgICAgICAgICBjb250cmFzdDogKFxuICAgICAgICAgICAgICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuXG4gICAgLy8gQmx1ZSBHcmF5XG4gICAgYmx1ZUdyYXk6XG4gICAgICAgIChcbiAgICAgICAgICAgIDUwOiAjZWNlZmYxLFxuICAgICAgICAgICAgMTAwOiAjY2ZkOGRjLFxuICAgICAgICAgICAgMjAwOiAjYjBiZWM1LFxuICAgICAgICAgICAgMzAwOiAjOTBhNGFlLFxuICAgICAgICAgICAgNDAwOiAjNzg5MDljLFxuICAgICAgICAgICAgNTAwOiAjNjA3ZDhiLFxuICAgICAgICAgICAgNjAwOiAjNTQ2ZTdhLFxuICAgICAgICAgICAgNzAwOiAjNDU1YTY0LFxuICAgICAgICAgICAgODAwOiAjMzc0NzRmLFxuICAgICAgICAgICAgOTAwOiAjMjYzMjM4LFxuICAgICAgICAgICAgQTEwMDogI2NmZDhkYyxcbiAgICAgICAgICAgIEEyMDA6ICNiMGJlYzUsXG4gICAgICAgICAgICBBNDAwOiAjNzg5MDljLFxuICAgICAgICAgICAgQTcwMDogIzQ1NWE2NCxcbiAgICAgICAgICAgIGNvbnRyYXN0OiAoXG4gICAgICAgICAgICAgICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICAgICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAgICAgICAgICAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgICAgICAgICAgICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgICAgICAgICApLFxuICAgICAgICApXG4pICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG5cbkBmdW5jdGlvbiBnZXQtYmFzZS1wYWxldHRlKCRuYW1lKSB7XG4gICAgQHJldHVybiBrLW1hcC1nZXQoJHBhbGV0dGVzLCAkbmFtZSk7XG59XG5cbkBmdW5jdGlvbiBnZXQtYmFzZS1odWUoJHBhbGV0dGUsICRodWUpIHtcbiAgICBAcmV0dXJuIGstbWFwLWdldChnZXQtYmFzZS1wYWxldHRlKCRwYWxldHRlKSwgJGh1ZSk7XG59XG5cbkBmdW5jdGlvbiBnZXQtYmFzZS1jb250cmFzdCgkcGFsZXR0ZSwgJGh1ZSkge1xuICAgIEByZXR1cm4gay1tYXAtZ2V0KGstbWFwLWdldChnZXQtYmFzZS1wYWxldHRlKCRwYWxldHRlKSwgY29udHJhc3QpLCAkaHVlKTtcbn1cblxuLy8gRm9yIGEgZ2l2ZW4gaHVlIGluIGEgcGFsZXR0ZSwgcmV0dXJuIHRoZSBjb250cmFzdCBjb2xvciBmcm9tIHRoZSBtYXAgb2YgY29udHJhc3QgcGFsZXR0ZXMuXG5AZnVuY3Rpb24gbWF0ZXJpYWwtY29udHJhc3QoJHBhbGV0dGUsICRodWUpIHtcbiAgICBAcmV0dXJuIGstbWFwLWdldChrLW1hcC1nZXQoJHBhbGV0dGUsIGNvbnRyYXN0KSwgJGh1ZSk7XG59XG5cbi8vIENyZWF0ZXMgYSBtYXAgb2YgaHVlcyB0byBjb2xvcnMgZm9yIGEgdGhlbWUuIFRoaXMgaXMgdXNlZCB0byBkZWZpbmUgYSB0aGVtZSBwYWxldHRlIGluIHRlcm1zXG4vLyBvZiB0aGUgTWF0ZXJpYWwgRGVzaWduIGh1ZXMuXG5AZnVuY3Rpb24gbWF0ZXJpYWwtcGFsZXR0ZSgkYmFzZS1wYWxldHRlLCAkbWFpbjogNTAwLCAkbGlnaHRlcjogMzAwLCAkZGFya2VyOiA3MDAsICRhZGp1c3QtY29udHJhc3Q6IHRydWUpIHtcbiAgICBAaWYgbm90KGstbWV0YS10eXBlLW9mKCRiYXNlLXBhbGV0dGUpID09IG1hcCkge1xuICAgICAgICAkYmFzZS1wYWxldHRlOiBnZXQtYmFzZS1wYWxldHRlKCRiYXNlLXBhbGV0dGUpO1xuICAgIH1cblxuICAgICRtYWluLWNvbnRyYXN0OiBtYXRlcmlhbC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkbWFpbik7XG5cbiAgICBAaWYgKCRhZGp1c3QtY29udHJhc3QgPT0gdHJ1ZSkge1xuICAgICAgICBAaWYgKCR0aGVtZS10eXBlID09IGRhcmspIGFuZCAoJG1haW4tY29udHJhc3QgPT0gJGxpZ2h0LXByaW1hcnktdGV4dCkge1xuICAgICAgICAgICAgJG1haW46IDIwMDtcbiAgICAgICAgICAgICRsaWdodGVyOiAxMDA7XG4gICAgICAgICAgICAkZGFya2VyOiAzMDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0aGVtZS10eXBlID09IGxpZ2h0KSBhbmQgKCRtYWluLWNvbnRyYXN0ID09ICRkYXJrLXByaW1hcnktdGV4dCkge1xuICAgICAgICAgICAgJG1haW46IDgwMDtcbiAgICAgICAgICAgICRsaWdodGVyOiA3MDA7XG4gICAgICAgICAgICAkZGFya2VyOiA5MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuY3Rpb24tY29tbWEtbmV3bGluZS1hZnRlclxuICAgICRyZXN1bHQ6IGstbWFwLW1lcmdlKFxuICAgICAgICAkYmFzZS1wYWxldHRlLFxuICAgICAgICAoXG4gICAgICAgICAgICBtYWluOiBrLW1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJG1haW4pLFxuICAgICAgICAgICAgbGlnaHRlcjogay1tYXAtZ2V0KCRiYXNlLXBhbGV0dGUsICRsaWdodGVyKSxcbiAgICAgICAgICAgIGRhcmtlcjogay1tYXAtZ2V0KCRiYXNlLXBhbGV0dGUsICRkYXJrZXIpLFxuICAgICAgICAgICAgbWFpbi1jb250cmFzdDogbWF0ZXJpYWwtY29udHJhc3QoJGJhc2UtcGFsZXR0ZSwgJG1haW4pLFxuICAgICAgICAgICAgbGlnaHRlci1jb250cmFzdDogbWF0ZXJpYWwtY29udHJhc3QoJGJhc2UtcGFsZXR0ZSwgJGxpZ2h0ZXIpLFxuICAgICAgICAgICAgZGFya2VyLWNvbnRyYXN0OiBtYXRlcmlhbC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkZGFya2VyKSxcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICAvLyBGb3IgZWFjaCBodWUgaW4gdGhlIHBhbGV0dGUsIGFkZCBhIFwiLWNvbnRyYXN0XCIgY29sb3IgdG8gdGhlIG1hcC5cbiAgICBAZWFjaCAkaHVlLCAkY29sb3IgaW4gJGJhc2UtcGFsZXR0ZSB7XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jdGlvbi1jb21tYS1uZXdsaW5lLWFmdGVyXG4gICAgICAgICRyZXN1bHQ6IGstbWFwLW1lcmdlKFxuICAgICAgICAgICAgJHJlc3VsdCxcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICBcIiN7JGh1ZX0tY29udHJhc3RcIjogbWF0ZXJpYWwtY29udHJhc3QoJGJhc2UtcGFsZXR0ZSwgJGh1ZSksXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBHZXRzIGEgY29sb3IgZnJvbSBhIHRoZW1lIHBhbGV0dGUgKHRoZSBvdXRwdXQgb2YgbWF0ZXJpYWwtcGFsZXR0ZSkuXG4vLyBUaGUgaHVlIGNhbiBiZSBvbmUgb2YgdGhlIHN0YW5kYXJkIHZhbHVlcyAoNTAwLCBBNDAwLCBldGMuKSwgb25lIG9mIHRoZSB0aHJlZSBwcmVjb25maWd1cmVkXG4vLyBodWVzIChtYWluLCBsaWdodGVyLCBkYXJrZXIpLCBvciBhbnkgb2YgdGhlIGFmb3JlbWVudGlvbmVkIHByZWZpeGVkIHdpdGggXCItY29udHJhc3RcIi5cbkBmdW5jdGlvbiBtYXRlcmlhbC1jb2xvcigkcGFsZXR0ZSwgJGh1ZTogbWFpbiwgJG9wYWNpdHk6IG51bGwpIHtcbiAgICBAaWYgbm90KGstbWV0YS10eXBlLW9mKCRwYWxldHRlKSA9PSBtYXApIHtcbiAgICAgICAgJHBhbGV0dGU6IGdldC1iYXNlLXBhbGV0dGUoJHBhbGV0dGUpO1xuICAgIH1cblxuICAgIC8vIElmIGh1ZUtleSBpcyBhIG51bWJlciBiZXR3ZWVuIHplcm8gYW5kIG9uZSwgdGhlbiBpdCBhY3R1YWxseSBjb250YWlucyBhblxuICAgIC8vIG9wYWNpdHkgdmFsdWUsIHNvIHJlY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggdGhlIGRlZmF1bHQgaHVlIGFuZCB0aGF0IGdpdmVuIG9wYWNpdHkuXG4gICAgQGlmIGstbWV0YS10eXBlLW9mKCRodWUpID09IG51bWJlciBhbmQgJGh1ZSA+PSAwIGFuZCAkaHVlIDw9IDEge1xuICAgICAgICBAcmV0dXJuIG1hdGVyaWFsLWNvbG9yKCRwYWxldHRlLCBtYWluLCAkaHVlKTtcbiAgICB9XG5cbiAgICAkY29sb3I6IGstbWFwLWdldCgkcGFsZXR0ZSwgJGh1ZSk7XG4gICAgJG9wYWNpdHk6IGlmKCRvcGFjaXR5ID09IG51bGwsIGstY29sb3ItYWxwaGEoJGNvbG9yKSwgJG9wYWNpdHkpO1xuXG4gICAgQHJldHVybiByZ2JhKCRjb2xvciwgJG9wYWNpdHkpO1xufVxuXG4vLyBDcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgYSBsaWdodCB0aGVtZSB0byBiZSBnaXZlbiB0byBpbmRpdmlkdWFsIGNvbXBvbmVudCB0aGVtZSBtaXhpbnMuXG5AZnVuY3Rpb24gbWF0ZXJpYWwtdGhlbWUoJGtlbmRvLWNvbG9yLXByaW1hcnksICRrZW5kby1jb2xvci1zZWNvbmRhcnksICR0aGVtZS10eXBlLCAkd2FybjogbWF0ZXJpYWwtcGFsZXR0ZShyZWQpKSB7XG4gICAgJGNvbXBsaW1lbnRhcnk6IGlmKCR0aGVtZS10eXBlID09IGRhcmssICRtYXRlcmlhbC1kYXJrLWNvbXBsaW1lbnRhcnksICRtYXRlcmlhbC1saWdodC1jb21wbGltZW50YXJ5KTtcbiAgICBAcmV0dXJuIGstbWFwLW1lcmdlKFxuICAgICAgICAoXG4gICAgICAgICAgICBwcmltYXJ5OiAka2VuZG8tY29sb3ItcHJpbWFyeSxcbiAgICAgICAgICAgIHNlY29uZGFyeTogJGtlbmRvLWNvbG9yLXNlY29uZGFyeSxcbiAgICAgICAgICAgIHdhcm46ICR3YXJuLFxuICAgICAgICApLFxuICAgICAgICAkY29tcGxpbWVudGFyeVxuICAgICk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuLy8gQ29uZmlnXG4ka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ29sb3JzXG4kX2RlZmF1bHQtY29sb3JzOiAoXG4gICAgLy8gTWlzY1xuICAgIGFwcC1zdXJmYWNlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIHdoaXRlICksXG4gICAgb24tYXBwLXN1cmZhY2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTUgKSxcbiAgICBzdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTIgKSxcbiAgICBzdXJmYWNlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDIgKSxcbiAgICBzdXJmYWNlLWFsdDogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCB3aGl0ZSApLFxuICAgIGJvcmRlcjogcmdiYSggay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBibGFjayApLCAuMTIpLFxuICAgIGJvcmRlci1hbHQ6IHJnYmEoIGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgYmxhY2sgKSwgLjE1KSxcbiAgICAvLyBCYXNlXG4gICAgYmFzZS1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgNCApLFxuICAgIGJhc2Utc3VidGxlLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDYgKSxcbiAgICBiYXNlLXN1YnRsZS1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgOCApLFxuICAgIGJhc2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgd2hpdGUgKSxcbiAgICBiYXNlLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDQgKSxcbiAgICBiYXNlLWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA2ICksXG4gICAgYmFzZS1lbXBoYXNpczogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMCApLFxuICAgIGJhc2Utb24tc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDE1ICksXG4gICAgb24tYmFzZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxNSApLFxuICAgIGJhc2Utb24tc3VyZmFjZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxNSApLFxuICAgIC8vIFByaW1hcnlcbiAgICBwcmltYXJ5LXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1pbmRpZ28sIDQgKSxcbiAgICBwcmltYXJ5LXN1YnRsZS1ob3Zlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1pbmRpZ28sIDUgKSxcbiAgICBwcmltYXJ5LXN1YnRsZS1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtaW5kaWdvLCA2ICksXG4gICAgcHJpbWFyeTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1pbmRpZ28sIDggKSxcbiAgICBwcmltYXJ5LWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWluZGlnbywgOSApLFxuICAgIHByaW1hcnktYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWluZGlnbywgMTEgKSxcbiAgICBwcmltYXJ5LWVtcGhhc2lzOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWluZGlnbywgNyApLFxuICAgIHByaW1hcnktb24tc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWluZGlnbywgMTUgKSxcbiAgICBvbi1wcmltYXJ5OiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIHdoaXRlICksXG4gICAgcHJpbWFyeS1vbi1zdXJmYWNlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWluZGlnbywgOCApLFxuICAgIC8vIFNlY29uZGFyeVxuICAgIHNlY29uZGFyeS1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtcGluaywgNCApLFxuICAgIHNlY29uZGFyeS1zdWJ0bGUtaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtcGluaywgNSApLFxuICAgIHNlY29uZGFyeS1zdWJ0bGUtYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXBpbmssIDYgKSxcbiAgICBzZWNvbmRhcnk6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtcGluaywgOCApLFxuICAgIHNlY29uZGFyeS1ob3Zlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1waW5rLCA5ICksXG4gICAgc2Vjb25kYXJ5LWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1waW5rLCAxMSApLFxuICAgIHNlY29uZGFyeS1lbXBoYXNpczogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1waW5rLCA3ICksXG4gICAgc2Vjb25kYXJ5LW9uLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1waW5rLCAxNSApLFxuICAgIG9uLXNlY29uZGFyeTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCB3aGl0ZSApLFxuICAgIHNlY29uZGFyeS1vbi1zdXJmYWNlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXBpbmssIDEzICksXG4gICAgLy8gVGVydGlhcnlcbiAgICB0ZXJ0aWFyeS1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZGFyay10ZWFsLCA0ICksXG4gICAgdGVydGlhcnktc3VidGxlLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWRhcmstdGVhbCwgNSApLFxuICAgIHRlcnRpYXJ5LXN1YnRsZS1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZGFyay10ZWFsLCA2ICksXG4gICAgdGVydGlhcnk6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZGFyay10ZWFsLCA4ICksXG4gICAgdGVydGlhcnktaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZGFyay10ZWFsLCA5ICksXG4gICAgdGVydGlhcnktYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWRhcmstdGVhbCwgMTEgKSxcbiAgICB0ZXJ0aWFyeS1lbXBoYXNpczogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1kYXJrLXRlYWwsIDcgKSxcbiAgICB0ZXJ0aWFyeS1vbi1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZGFyay10ZWFsLCAxNSApLFxuICAgIG9uLXRlcnRpYXJ5OiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIHdoaXRlICksXG4gICAgdGVydGlhcnktb24tc3VyZmFjZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1kYXJrLXRlYWwsIDEzICksXG4gICAgLy8gSW5mb1xuICAgIGluZm8tc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWJsdWUsIDQgKSxcbiAgICBpbmZvLXN1YnRsZS1ob3Zlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ibHVlLCA1ICksXG4gICAgaW5mby1zdWJ0bGUtYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWJsdWUsIDYgKSxcbiAgICBpbmZvOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWJsdWUsIDggKSxcbiAgICBpbmZvLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWJsdWUsIDkgKSxcbiAgICBpbmZvLWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ibHVlLCAxMSApLFxuICAgIGluZm8tZW1waGFzaXM6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgNyApLFxuICAgIGluZm8tb24tc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWJsdWUsIDE1ICksXG4gICAgb24taW5mbzogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCB3aGl0ZSApLFxuICAgIGluZm8tb24tc3VyZmFjZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ibHVlLCAxMyApLFxuICAgIC8vIFN1Y2Nlc3NcbiAgICBzdWNjZXNzLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgNCApLFxuICAgIHN1Y2Nlc3Mtc3VidGxlLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyZWVuLCA1ICksXG4gICAgc3VjY2Vzcy1zdWJ0bGUtYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyZWVuLCA2ICksXG4gICAgc3VjY2Vzczogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgOCApLFxuICAgIHN1Y2Nlc3MtaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JlZW4sIDkgKSxcbiAgICBzdWNjZXNzLWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgMTEgKSxcbiAgICBzdWNjZXNzLWVtcGhhc2lzOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyZWVuLCA3ICksXG4gICAgc3VjY2Vzcy1vbi1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JlZW4sIDE1ICksXG4gICAgb24tc3VjY2Vzczogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCB3aGl0ZSApLFxuICAgIHN1Y2Nlc3Mtb24tc3VyZmFjZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgMTMgKSxcbiAgICAvLyBXYXJuaW5nXG4gICAgd2FybmluZy1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCA0ICksXG4gICAgd2FybmluZy1zdWJ0bGUtaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCA1ICksXG4gICAgd2FybmluZy1zdWJ0bGUtYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXllbGxvdywgNiApLFxuICAgIHdhcm5pbmc6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCA4ICksXG4gICAgd2FybmluZy1ob3Zlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS15ZWxsb3csIDkgKSxcbiAgICB3YXJuaW5nLWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS15ZWxsb3csIDExICksXG4gICAgd2FybmluZy1lbXBoYXNpczogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS15ZWxsb3csIDcgKSxcbiAgICB3YXJuaW5nLW9uLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS15ZWxsb3csIDE1ICksXG4gICAgb24td2FybmluZzogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBibGFjayApLFxuICAgIHdhcm5pbmctb24tc3VyZmFjZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS15ZWxsb3csIDggKSxcbiAgICAvLyBFcnJvclxuICAgIGVycm9yLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1yZWQsIDQgKSxcbiAgICBlcnJvci1zdWJ0bGUtaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtcmVkLCA1ICksXG4gICAgZXJyb3Itc3VidGxlLWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1yZWQsIDYgKSxcbiAgICBlcnJvcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1yZWQsIDggKSxcbiAgICBlcnJvci1ob3Zlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1yZWQsIDkgKSxcbiAgICBlcnJvci1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtcmVkLCAxMSApLFxuICAgIGVycm9yLWVtcGhhc2lzOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXJlZCwgNyApLFxuICAgIGVycm9yLW9uLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1yZWQsIDE1ICksXG4gICAgb24tZXJyb3I6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgd2hpdGUgKSxcbiAgICBlcnJvci1vbi1zdXJmYWNlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXJlZCwgMTMgKSxcbiAgICAvLyBMaWdodFxuICAgIGxpZ2h0LXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxICksXG4gICAgbGlnaHQtc3VidGxlLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDIgKSxcbiAgICBsaWdodC1zdWJ0bGUtYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDMgKSxcbiAgICBsaWdodDogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAyICksXG4gICAgbGlnaHQtaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgNCApLFxuICAgIGxpZ2h0LWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA2ICksXG4gICAgbGlnaHQtZW1waGFzaXM6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgNSApLFxuICAgIGxpZ2h0LW9uLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxNSApLFxuICAgIG9uLWxpZ2h0OiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIGJsYWNrICksXG4gICAgbGlnaHQtb24tc3VyZmFjZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA0ICksXG4gICAgLy8gRGFya1xuICAgIGRhcmstc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDcgKSxcbiAgICBkYXJrLXN1YnRsZS1ob3Zlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA4ICksXG4gICAgZGFyay1zdWJ0bGUtYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDkgKSxcbiAgICBkYXJrOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDE0ICksXG4gICAgZGFyay1ob3Zlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxNSApLFxuICAgIGRhcmstYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIGJsYWNrICksXG4gICAgZGFyay1lbXBoYXNpczogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMSApLFxuICAgIGRhcmstb24tc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDE1ICksXG4gICAgb24tZGFyazogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCB3aGl0ZSApLFxuICAgIGRhcmstb24tc3VyZmFjZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMyApLFxuICAgIC8vIEludmVyc2VcbiAgICBpbnZlcnNlLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA3ICksXG4gICAgaW52ZXJzZS1zdWJ0bGUtaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgOCApLFxuICAgIGludmVyc2Utc3VidGxlLWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA5ICksXG4gICAgaW52ZXJzZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxNCApLFxuICAgIGludmVyc2UtaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTUgKSxcbiAgICBpbnZlcnNlLWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBibGFjayApLFxuICAgIGludmVyc2UtZW1waGFzaXM6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTEgKSxcbiAgICBpbnZlcnNlLW9uLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxNSApLFxuICAgIG9uLWludmVyc2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgd2hpdGUgKSxcbiAgICBpbnZlcnNlLW9uLXN1cmZhY2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTMgKSxcbiAgICAvLyBTZXJpZXMgQVxuICAgIHNlcmllcy1hOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWRlZXAtcHVycGxlLCA4ICksXG4gICAgc2VyaWVzLWEtYm9sZDogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1kZWVwLXB1cnBsZSwgMTAgKSxcbiAgICBzZXJpZXMtYS1ib2xkZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZGVlcC1wdXJwbGUsIDEyICksXG4gICAgc2VyaWVzLWEtc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWRlZXAtcHVycGxlLCA2ICksXG4gICAgc2VyaWVzLWEtc3VidGxlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1kZWVwLXB1cnBsZSwgNCApLFxuICAgIC8vIFNlcmllcyBCXG4gICAgc2VyaWVzLWI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmFieS1ibHVlLCA4ICksXG4gICAgc2VyaWVzLWItYm9sZDogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1iYWJ5LWJsdWUsIDEwICksXG4gICAgc2VyaWVzLWItYm9sZGVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWJhYnktYmx1ZSwgMTIgKSxcbiAgICBzZXJpZXMtYi1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmFieS1ibHVlLCA2ICksXG4gICAgc2VyaWVzLWItc3VidGxlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1iYWJ5LWJsdWUsIDQgKSxcbiAgICAvLyBTZXJpZXMgQ1xuICAgIHNlcmllcy1jOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXRlYWwsIDggKSxcbiAgICBzZXJpZXMtYy1ib2xkOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXRlYWwsIDEwICksXG4gICAgc2VyaWVzLWMtYm9sZGVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXRlYWwsIDEyICksXG4gICAgc2VyaWVzLWMtc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXRlYWwsIDYgKSxcbiAgICBzZXJpZXMtYy1zdWJ0bGVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXRlYWwsIDQgKSxcbiAgICAvLyBTZXJpZXMgRFxuICAgIHNlcmllcy1kOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWNhbmFyeS15ZWxsb3csIDggKSxcbiAgICBzZXJpZXMtZC1ib2xkOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWNhbmFyeS15ZWxsb3csIDEwICksXG4gICAgc2VyaWVzLWQtYm9sZGVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWNhbmFyeS15ZWxsb3csIDEyICksXG4gICAgc2VyaWVzLWQtc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWNhbmFyeS15ZWxsb3csIDYgKSxcbiAgICBzZXJpZXMtZC1zdWJ0bGVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWNhbmFyeS15ZWxsb3csIDQgKSxcbiAgICAvLyBTZXJpZXMg0JVcbiAgICBzZXJpZXMtZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1jYW5keS1yZWQsIDggKSxcbiAgICBzZXJpZXMtZS1ib2xkOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWNhbmR5LXJlZCwgMTAgKSxcbiAgICBzZXJpZXMtZS1ib2xkZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtY2FuZHktcmVkLCAxMiApLFxuICAgIHNlcmllcy1lLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1jYW5keS1yZWQsIDYgKSxcbiAgICBzZXJpZXMtZS1zdWJ0bGVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWNhbmR5LXJlZCwgNCApLFxuICAgIC8vIFNlcmllcyBGXG4gICAgc2VyaWVzLWY6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZm9yZXN0LWdyZWVuLCA4ICksXG4gICAgc2VyaWVzLWYtYm9sZDogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1mb3Jlc3QtZ3JlZW4sIDEwICksXG4gICAgc2VyaWVzLWYtYm9sZGVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWZvcmVzdC1ncmVlbiwgMTIgKSxcbiAgICBzZXJpZXMtZi1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZm9yZXN0LWdyZWVuLCA2ICksXG4gICAgc2VyaWVzLWYtc3VidGxlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1mb3Jlc3QtZ3JlZW4sIDQgKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2xvYmFsIGRlZmF1bHQgQ29sb3JzIG1hcC5cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4vLy9cbi8vLyBAc3ViZ3JvdXAge21pc2N9XG4vLy8gW2FwcC1zdXJmYWNlLCBvbi1hcHAtc3VyZmFjZSwgc3VidGxlLFxuLy8vIHN1cmZhY2UsIHN1cmZhY2UtYWx0LCBib3JkZXIsIGJvcmRlci1hbHRdXG4vLy8gVGhlIE1pc2MgdmFyaWFibGUgZ3JvdXAuXG4vLy8gQHByb3Age0NvbG9yfSBhcHAtc3VyZmFjZSAtIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBhcHBsaWNhdGlvbi5cbi8vLyBAcHJvcCB7Q29sb3J9IG9uLWFwcC1zdXJmYWNlIC0gVGhlIHRleHQgY29sb3Igb2YgdGhlIGFwcGxpY2F0aW9uLlxuLy8vIEBwcm9wIHtDb2xvcn0gc3VidGxlIC0gVGhlIHN1YnRsZSB0ZXh0IGNvbG9yLlxuLy8vIEBwcm9wIHtDb2xvcn0gc3VyZmFjZSAtIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjb21wb25lbnRzJyBjaHJvbWUgYXJlYS5cbi8vLyBAcHJvcCB7Q29sb3J9IHN1cmZhY2UtYWx0IC0gVGhlIGFsdGVybmF0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNvbXBvbmVudHMnIGNocm9tZSBhcmVhLlxuLy8vIEBwcm9wIHtDb2xvcn0gYm9yZGVyIC0g0KJoZSBib3JkZXIgY29sb3Igb2YgdGhlIGFwcGxpY2F0aW9uLlxuLy8vIEBwcm9wIHtDb2xvcn0gYm9yZGVyLWFsdCAtINCiaGUgYWx0ZXJuYXRpdmUgYm9yZGVyIGNvbG9yIG9mIHRoZSBhcHBsaWNhdGlvbi5cbi8vL1xuLy8vIEBzdWJncm91cCB7YmFzZX1cbi8vLyBbYmFzZS1zdWJ0bGUsIGJhc2Utc3VidGxlLWhvdmVyLCBiYXNlLXN1YnRsZS1hY3RpdmUsXG4vLy8gYmFzZSwgYmFzZS1ob3ZlciwgYmFzZS1hY3RpdmUsIGJhc2UtZW1waGFzaXMsXG4vLy8gYmFzZS1vbi1zdWJ0bGUsIG9uLWJhc2UsIGJhc2Utb24tc3VyZmFjZV1cbi8vLyBUaGUgQmFzZSB2YXJpYWJsZSBncm91cC5cbi8vLyBAcHJvcCB7Q29sb3J9IGJhc2Utc3VidGxlIC0gVGhlIGJhc2Ugc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBiYXNlLXN1YnRsZS1ob3ZlciAtIFRoZSBiYXNlIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgaG92ZXIgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBiYXNlLXN1YnRsZS1hY3RpdmUgLSBUaGUgYmFzZSBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGJhc2UgLSBUaGUgYmFzZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gYmFzZS1ob3ZlciAtIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGJhc2UtYWN0aXZlIC0gVGhlIGJhc2UgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGJhc2UtZW1waGFzaXMgLSBUaGUgZW1waGFzaXplZCBiYXNlIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gYmFzZS1vbi1zdWJ0bGUgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBiYXNlIHN1YnRsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IG9uLWJhc2UgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBiYXNlLlxuLy8vIEBwcm9wIHtDb2xvcn0gYmFzZS1vbi1zdXJmYWNlIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gc3VyZmFjZS5cbi8vL1xuLy8vIEBzdWJncm91cCB7cHJpbWFyeX1cbi8vLyBbcHJpbWFyeS1zdWJ0bGUsIHByaW1hcnktc3VidGxlLWhvdmVyLCBwcmltYXJ5LXN1YnRsZS1hY3RpdmUsXG4vLy8gcHJpbWFyeSwgcHJpbWFyeS1ob3ZlciwgcHJpbWFyeS1hY3RpdmUsIHByaW1hcnktZW1waGFzaXMsXG4vLy8gcHJpbWFyeS1vbi1zdWJ0bGUsIG9uLXByaW1hcnksIHByaW1hcnktb24tc3VyZmFjZV1cbi8vLyBUaGUgUHJpbWFyeSB2YXJpYWJsZSBncm91cC5cbi8vLyBAcHJvcCB7Q29sb3J9IHByaW1hcnktc3VidGxlIC0gVGhlIHByaW1hcnkgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBwcmltYXJ5LXN1YnRsZS1ob3ZlciAtIFRoZSBwcmltYXJ5IHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgaG92ZXIgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBwcmltYXJ5LXN1YnRsZS1hY3RpdmUgLSBUaGUgcHJpbWFyeSBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHByaW1hcnkgLSBUaGUgcHJpbWFyeSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gcHJpbWFyeS1ob3ZlciAtIFRoZSBwcmltYXJ5IGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHByaW1hcnktYWN0aXZlIC0gVGhlIHByaW1hcnkgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHByaW1hcnktZW1waGFzaXMgLSBUaGUgZW1waGFzaXplZCBwcmltYXJ5IGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gcHJpbWFyeS1vbi1zdWJ0bGUgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBwcmltYXJ5IHN1YnRsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IG9uLXByaW1hcnkgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBwcmltYXJ5LlxuLy8vIEBwcm9wIHtDb2xvcn0gcHJpbWFyeS1vbi1zdXJmYWNlIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gc3VyZmFjZS5cbi8vL1xuLy8vIEBzdWJncm91cCB7c2Vjb25kYXJ5fVxuLy8vIFtzZWNvbmRhcnktc3VidGxlLCBzZWNvbmRhcnktc3VidGxlLWhvdmVyLCBzZWNvbmRhcnktc3VidGxlLWFjdGl2ZSxcbi8vLyBzZWNvbmRhcnksIHNlY29uZGFyeS1ob3Zlciwgc2Vjb25kYXJ5LWFjdGl2ZSwgc2Vjb25kYXJ5LWVtcGhhc2lzLFxuLy8vIHNlY29uZGFyeS1vbi1zdWJ0bGUsIG9uLXNlY29uZGFyeSwgc2Vjb25kYXJ5LW9uLXN1cmZhY2VdXG4vLy8gVGhlIFNlY29uZGFyeSB2YXJpYWJsZSBncm91cC5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlY29uZGFyeS1zdWJ0bGUgLSBUaGUgc2Vjb25kYXJ5IHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2Vjb25kYXJ5LXN1YnRsZS1ob3ZlciAtIFRoZSBzZWNvbmRhcnkgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlY29uZGFyeS1zdWJ0bGUtYWN0aXZlIC0gVGhlIHNlY29uZGFyeSBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlY29uZGFyeSAtIFRoZSBzZWNvbmRhcnkgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlY29uZGFyeS1ob3ZlciAtIFRoZSBzZWNvbmRhcnkgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2Vjb25kYXJ5LWFjdGl2ZSAtIFRoZSBzZWNvbmRhcnkgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlY29uZGFyeS1lbXBoYXNpcyAtIFRoZSBlbXBoYXNpemVkIHNlY29uZGFyeSBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlY29uZGFyeS1vbi1zdWJ0bGUgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzZWNvbmRhcnkgc3VidGxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gb24tc2Vjb25kYXJ5IC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gc2Vjb25kYXJ5LlxuLy8vIEBwcm9wIHtDb2xvcn0gc2Vjb25kYXJ5LW9uLXN1cmZhY2UgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzdXJmYWNlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHt0ZXJ0aWFyeX1cbi8vLyBbdGVydGlhcnktc3VidGxlLCB0ZXJ0aWFyeS1zdWJ0bGUtaG92ZXIsIHRlcnRpYXJ5LXN1YnRsZS1hY3RpdmUsXG4vLy8gdGVydGlhcnksIHRlcnRpYXJ5LWhvdmVyLCB0ZXJ0aWFyeS1hY3RpdmUsIHRlcnRpYXJ5LWVtcGhhc2lzLFxuLy8vIHRlcnRpYXJ5LW9uLXN1YnRsZSwgb24tdGVydGlhcnksIHRlcnRpYXJ5LW9uLXN1cmZhY2VdXG4vLy8gVGhlIFRlcnRpYXJ5IHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gdGVydGlhcnktc3VidGxlIC0gVGhlIHRlcnRpYXJ5IHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gdGVydGlhcnktc3VidGxlLWhvdmVyIC0gVGhlIHRlcnRpYXJ5IHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgaG92ZXIgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSB0ZXJ0aWFyeS1zdWJ0bGUtYWN0aXZlIC0gVGhlIHRlcnRpYXJ5IHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gdGVydGlhcnkgLSBUaGUgdGVydGlhcnkgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHRlcnRpYXJ5LWhvdmVyIC0gVGhlIHRlcnRpYXJ5IGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHRlcnRpYXJ5LWFjdGl2ZSAtIFRoZSB0ZXJ0aWFyeSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gdGVydGlhcnktZW1waGFzaXMgLSBUaGUgZW1waGFzaXplZCB0ZXJ0aWFyeSBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHRlcnRpYXJ5LW9uLXN1YnRsZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHRlcnRpYXJ5IHN1YnRsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IG9uLXRlcnRpYXJ5IC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gdGVydGlhcnkuXG4vLy8gQHByb3Age0NvbG9yfSB0ZXJ0aWFyeS1vbi1zdXJmYWNlIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gc3VyZmFjZS5cbi8vL1xuLy8vIEBzdWJncm91cCB7aW5mb31cbi8vLyBbaW5mby1zdWJ0bGUsIGluZm8tc3VidGxlLWhvdmVyLCBpbmZvLXN1YnRsZS1hY3RpdmUsXG4vLy8gaW5mbywgaW5mby1ob3ZlciwgaW5mby1hY3RpdmUsIGluZm8tZW1waGFzaXMsXG4vLy8gaW5mby1vbi1zdWJ0bGUsIG9uLWluZm8sIGluZm8tb24tc3VyZmFjZV1cbi8vLyBUaGUgSW5mbyB2YXJpYWJsZSBncm91cC5cbi8vLyBAcHJvcCB7Q29sb3J9IGluZm8tc3VidGxlIC0gVGhlIGluZm8gc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBpbmZvLXN1YnRsZS1ob3ZlciAtIFRoZSBpbmZvIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgaG92ZXIgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBpbmZvLXN1YnRsZS1hY3RpdmUgLSBUaGUgaW5mbyBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGluZm8gLSBUaGUgaW5mbyBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW5mby1ob3ZlciAtIFRoZSBpbmZvIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGluZm8tYWN0aXZlIC0gVGhlIGluZm8gYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGluZm8tZW1waGFzaXMgLSBUaGUgZW1waGFzaXplZCBpbmZvIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW5mby1vbi1zdWJ0bGUgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBpbmZvIHN1YnRsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IG9uLWluZm8gLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBpbmZvLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW5mby1vbi1zdXJmYWNlIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gc3VyZmFjZS5cbi8vL1xuLy8vIEBzdWJncm91cCB7c3VjY2Vzc31cbi8vLyBbc3VjY2Vzcy1zdWJ0bGUsIHN1Y2Nlc3Mtc3VidGxlLWhvdmVyLCBzdWNjZXNzLXN1YnRsZS1hY3RpdmUsXG4vLy8gc3VjY2Vzcywgc3VjY2Vzcy1ob3Zlciwgc3VjY2Vzcy1hY3RpdmUsIHN1Y2Nlc3MtZW1waGFzaXMsXG4vLy8gc3VjY2Vzcy1vbi1zdWJ0bGUsIG9uLXN1Y2Nlc3MsIHN1Y2Nlc3Mtb24tc3VyZmFjZV1cbi8vLyBUaGUgU3VjY2VzcyB2YXJpYWJsZSBncm91cC5cbi8vLyBAcHJvcCB7Q29sb3J9IHN1Y2Nlc3Mtc3VidGxlIC0gVGhlIHN1Y2Nlc3Mgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzdWNjZXNzLXN1YnRsZS1ob3ZlciAtIFRoZSBzdWNjZXNzIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgaG92ZXIgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBzdWNjZXNzLXN1YnRsZS1hY3RpdmUgLSBUaGUgc3VjY2VzcyBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHN1Y2Nlc3MgLSBUaGUgc3VjY2VzcyBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc3VjY2Vzcy1ob3ZlciAtIFRoZSBzdWNjZXNzIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHN1Y2Nlc3MtYWN0aXZlIC0gVGhlIHN1Y2Nlc3MgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHN1Y2Nlc3MtZW1waGFzaXMgLSBUaGUgZW1waGFzaXplZCBzdWNjZXNzIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc3VjY2Vzcy1vbi1zdWJ0bGUgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzdWNjZXNzIHN1YnRsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IG9uLXN1Y2Nlc3MgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzdWNjZXNzLlxuLy8vIEBwcm9wIHtDb2xvcn0gc3VjY2Vzcy1vbi1zdXJmYWNlIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gc3VyZmFjZS5cbi8vL1xuLy8vIEBzdWJncm91cCB7d2FybmluZ31cbi8vLyBbd2FybmluZy1zdWJ0bGUsIHdhcm5pbmctc3VidGxlLWhvdmVyLCB3YXJuaW5nLXN1YnRsZS1hY3RpdmUsXG4vLy8gd2FybmluZywgd2FybmluZy1ob3Zlciwgd2FybmluZy1hY3RpdmUsIHdhcm5pbmctZW1waGFzaXMsXG4vLy8gd2FybmluZy1vbi1zdWJ0bGUsIG9uLXdhcm5pbmcsIHdhcm5pbmctb24tc3VyZmFjZV1cbi8vLyBUaGUgV2FybmluZyB2YXJpYWJsZSBncm91cC5cbi8vLyBAcHJvcCB7Q29sb3J9IHdhcm5pbmctc3VidGxlIC0gVGhlIHdhcm5pbmcgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSB3YXJuaW5nLXN1YnRsZS1ob3ZlciAtIFRoZSB3YXJuaW5nIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgaG92ZXIgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSB3YXJuaW5nLXN1YnRsZS1hY3RpdmUgLSBUaGUgd2FybmluZyBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHdhcm5pbmcgLSBUaGUgd2FybmluZyBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gd2FybmluZy1ob3ZlciAtIFRoZSB3YXJuaW5nIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHdhcm5pbmctYWN0aXZlIC0gVGhlIHdhcm5pbmcgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHdhcm5pbmctZW1waGFzaXMgLSBUaGUgZW1waGFzaXplZCB3YXJuaW5nIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gd2FybmluZy1vbi1zdWJ0bGUgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiB3YXJuaW5nIHN1YnRsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IG9uLXdhcm5pbmcgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiB3YXJuaW5nLlxuLy8vIEBwcm9wIHtDb2xvcn0gd2FybmluZy1vbi1zdXJmYWNlIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gc3VyZmFjZS5cbi8vL1xuLy8vIEBzdWJncm91cCB7ZXJyb3J9XG4vLy8gW2Vycm9yLXN1YnRsZSwgZXJyb3Itc3VidGxlLWhvdmVyLCBlcnJvci1zdWJ0bGUtYWN0aXZlLFxuLy8vIGVycm9yLCBlcnJvci1ob3ZlciwgZXJyb3ItYWN0aXZlLCBlcnJvci1lbXBoYXNpcyxcbi8vLyBlcnJvci1vbi1zdWJ0bGUsIG9uLWVycm9yLCBlcnJvci1vbi1zdXJmYWNlXVxuLy8vIFRoZSBFcnJvciB2YXJpYWJsZSBncm91cC5cbi8vLyBAcHJvcCB7Q29sb3J9IGVycm9yLXN1YnRsZSAtIFRoZSBlcnJvciBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGVycm9yLXN1YnRsZS1ob3ZlciAtIFRoZSBlcnJvciBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gZXJyb3Itc3VidGxlLWFjdGl2ZSAtIFRoZSBlcnJvciBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGVycm9yIC0gVGhlIGVycm9yIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBlcnJvci1ob3ZlciAtIFRoZSBlcnJvciBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgaG92ZXIgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBlcnJvci1hY3RpdmUgLSBUaGUgZXJyb3IgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGVycm9yLWVtcGhhc2lzIC0gVGhlIGVtcGhhc2l6ZWQgZXJyb3IgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBlcnJvci1vbi1zdWJ0bGUgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBlcnJvciBzdWJ0bGUuXG4vLy8gQHByb3Age0NvbG9yfSBvbi1lcnJvciAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIGVycm9yLlxuLy8vIEBwcm9wIHtDb2xvcn0gZXJyb3Itb24tc3VyZmFjZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHN1cmZhY2UuXG4vLy9cbi8vLyBAc3ViZ3JvdXAge2xpZ2h0fVxuLy8vIFtsaWdodC1zdWJ0bGUsIGxpZ2h0LXN1YnRsZS1ob3ZlciwgbGlnaHQtc3VidGxlLWFjdGl2ZSxcbi8vLyBsaWdodCwgbGlnaHQtaG92ZXIsIGxpZ2h0LWFjdGl2ZSwgbGlnaHQtZW1waGFzaXMsXG4vLy8gbGlnaHQtb24tc3VidGxlLCBvbi1saWdodCwgbGlnaHQtb24tc3VyZmFjZV1cbi8vLyBUaGUgTGlnaHQgdmFyaWFibGUgZ3JvdXAuXG4vLy8gQHByb3Age0NvbG9yfSBsaWdodC1zdWJ0bGUgLSBUaGUgbGlnaHQgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBsaWdodC1zdWJ0bGUtaG92ZXIgLSBUaGUgbGlnaHQgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGxpZ2h0LXN1YnRsZS1hY3RpdmUgLSBUaGUgbGlnaHQgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBhY3RpdmUgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBsaWdodCAtIFRoZSBsaWdodCBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gbGlnaHQtaG92ZXIgLSBUaGUgbGlnaHQgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gbGlnaHQtYWN0aXZlIC0gVGhlIGxpZ2h0IGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBhY3RpdmUgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBsaWdodC1lbXBoYXNpcyAtIFRoZSBlbXBoYXNpemVkIGxpZ2h0IGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gbGlnaHQtb24tc3VidGxlIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gbGlnaHQgc3VidGxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gb24tbGlnaHQgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBsaWdodC5cbi8vLyBAcHJvcCB7Q29sb3J9IGxpZ2h0LW9uLXN1cmZhY2UgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzdXJmYWNlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHtkYXJrfVxuLy8vIFtkYXJrLXN1YnRsZSwgZGFyay1zdWJ0bGUtaG92ZXIsIGRhcmstc3VidGxlLWFjdGl2ZSxcbi8vLyBkYXJrLCBkYXJrLWhvdmVyLCBkYXJrLWFjdGl2ZSwgZGFyay1lbXBoYXNpcyxcbi8vLyBkYXJrLW9uLXN1YnRsZSwgb24tZGFyaywgZGFyay1vbi1zdXJmYWNlXVxuLy8vIFRoZSBEYXJrIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gZGFyay1zdWJ0bGUgLSBUaGUgZGFyayBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGRhcmstc3VidGxlLWhvdmVyIC0gVGhlIGRhcmsgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGRhcmstc3VidGxlLWFjdGl2ZSAtIFRoZSBkYXJrIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gZGFyayAtIFRoZSBkYXJrIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBkYXJrLWhvdmVyIC0gVGhlIGRhcmsgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gZGFyay1hY3RpdmUgLSBUaGUgZGFyayBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gZGFyay1lbXBoYXNpcyAtIFRoZSBlbXBoYXNpemVkIGRhcmsgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBkYXJrLW9uLXN1YnRsZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIGRhcmsgc3VidGxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gb24tZGFyayAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIGRhcmsuXG4vLy8gQHByb3Age0NvbG9yfSBkYXJrLW9uLXN1cmZhY2UgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzdXJmYWNlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHtpbnZlcnNlfVxuLy8vIFtpbnZlcnNlLXN1YnRsZSwgaW52ZXJzZS1zdWJ0bGUtaG92ZXIsIGludmVyc2Utc3VidGxlLWFjdGl2ZSxcbi8vLyBpbnZlcnNlLCBpbnZlcnNlLWhvdmVyLCBpbnZlcnNlLWFjdGl2ZSwgaW52ZXJzZS1lbXBoYXNpcyxcbi8vLyBpbnZlcnNlLW9uLXN1YnRsZSwgb24taW52ZXJzZSwgaW52ZXJzZS1vbi1zdXJmYWNlXVxuLy8vIFRoZSBJbnZlcnNlIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW52ZXJzZS1zdWJ0bGUgLSBUaGUgaW52ZXJzZSBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGludmVyc2Utc3VidGxlLWhvdmVyIC0gVGhlIGludmVyc2Ugc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGludmVyc2Utc3VidGxlLWFjdGl2ZSAtIFRoZSBpbnZlcnNlIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW52ZXJzZSAtIFRoZSBpbnZlcnNlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBpbnZlcnNlLWhvdmVyIC0gVGhlIGludmVyc2UgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW52ZXJzZS1hY3RpdmUgLSBUaGUgaW52ZXJzZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW52ZXJzZS1lbXBoYXNpcyAtIFRoZSBlbXBoYXNpemVkIGludmVyc2UgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBpbnZlcnNlLW9uLXN1YnRsZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIGludmVyc2Ugc3VidGxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gb24taW52ZXJzZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIGludmVyc2UuXG4vLy8gQHByb3Age0NvbG9yfSBpbnZlcnNlLW9uLXN1cmZhY2UgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzdXJmYWNlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHtzZXJpZXMtYX1cbi8vLyBbc2VyaWVzLWEsIHNlcmllcy1hLWJvbGQsIHNlcmllcy1hLWJvbGRlcixcbi8vLyBzZXJpZXMtYS1zdWJ0bGUsIHNlcmllcy1hLXN1YnRsZXJdXG4vLy8gVGhlIFNlcmllcyBBIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWEgLSBUaGUgc2VyaWVzIEEgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtYS1ib2xkIC0gVGhlIGJvbGQgc2VyaWVzIEEgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtYS1ib2xkZXIgLSBUaGUgYm9sZGVyIHNlcmllcyBBIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWEtc3VidGxlIC0gVGhlIHN1YnRsZSBzZXJpZXMgQSBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1hLXN1YnRsZXIgLSBUaGUgc3VidGxlciBzZXJpZXMgQSBjb2xvciB2YXJpYWJsZS5cbi8vL1xuLy8vIEBzdWJncm91cCB7c2VyaWVzLWJ9XG4vLy8gW3Nlcmllcy1iLCBzZXJpZXMtYi1ib2xkLCBzZXJpZXMtYi1ib2xkZXIsXG4vLy8gc2VyaWVzLWItc3VidGxlLCBzZXJpZXMtYi1zdWJ0bGVyXVxuLy8vIFRoZSBTZXJpZXMgQiB2YXJpYWJsZSBncm91cC5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1iIC0gVGhlIHNlcmllcyBCIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWItYm9sZCAtIFRoZSBib2xkIHNlcmllcyBCIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWItYm9sZGVyIC0gVGhlIGJvbGRlciBzZXJpZXMgQiBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1iLXN1YnRsZSAtIFRoZSBzdWJ0bGUgc2VyaWVzIEIgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtYi1zdWJ0bGVyIC0gVGhlIHN1YnRsZXIgc2VyaWVzIEIgY29sb3IgdmFyaWFibGUuXG4vLy9cbi8vLyBAc3ViZ3JvdXAge3Nlcmllcy1jfVxuLy8vIFtzZXJpZXMtYywgc2VyaWVzLWMtYm9sZCwgc2VyaWVzLWMtYm9sZGVyLFxuLy8vIHNlcmllcy1jLXN1YnRsZSwgc2VyaWVzLWMtc3VidGxlcl1cbi8vLyBUaGUgU2VyaWVzIEMgdmFyaWFibGUgZ3JvdXAuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtYyAtIFRoZSBzZXJpZXMgQyBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1jLWJvbGQgLSBUaGUgYm9sZCBzZXJpZXMgQyBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1jLWJvbGRlciAtIFRoZSBib2xkZXIgc2VyaWVzIEMgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtYy1zdWJ0bGUgLSBUaGUgc3VidGxlIHNlcmllcyBDIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWMtc3VidGxlciAtIFRoZSBzdWJ0bGVyIHNlcmllcyBDIGNvbG9yIHZhcmlhYmxlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHtzZXJpZXMtZH1cbi8vLyBbc2VyaWVzLWQsIHNlcmllcy1kLWJvbGQsIHNlcmllcy1kLWJvbGRlcixcbi8vLyBzZXJpZXMtZC1zdWJ0bGUsIHNlcmllcy1kLXN1YnRsZXJdXG4vLy8gVGhlIFNlcmllcyBEIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWQgLSBUaGUgc2VyaWVzIEQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtZC1ib2xkIC0gVGhlIGJvbGQgc2VyaWVzIEQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtZC1ib2xkZXIgLSBUaGUgYm9sZGVyIHNlcmllcyBEIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWQtc3VidGxlIC0gVGhlIHN1YnRsZSBzZXJpZXMgRCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1kLXN1YnRsZXIgLSBUaGUgc3VidGxlciBzZXJpZXMgRCBjb2xvciB2YXJpYWJsZS5cbi8vL1xuLy8vIEBzdWJncm91cCB7c2VyaWVzLWV9XG4vLy8gW3Nlcmllcy1lLCBzZXJpZXMtZS1ib2xkLCBzZXJpZXMtZS1ib2xkZXIsXG4vLy8gc2VyaWVzLWUtc3VidGxlLCBzZXJpZXMtZS1zdWJ0bGVyXVxuLy8vIFRoZSBTZXJpZXMgRSB2YXJpYWJsZSBncm91cC5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1lIC0gVGhlIHNlcmllcyBFIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWUtYm9sZCAtIFRoZSBib2xkIHNlcmllcyBFIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWUtYm9sZGVyIC0gVGhlIGJvbGRlciBzZXJpZXMgRSBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1lLXN1YnRsZSAtIFRoZSBzdWJ0bGUgc2VyaWVzIEUgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtZS1zdWJ0bGVyIC0gVGhlIHN1YnRsZXIgc2VyaWVzIEUgY29sb3IgdmFyaWFibGUuXG4vLy9cbi8vLyBAc3ViZ3JvdXAge3Nlcmllcy1mfVxuLy8vIFtzZXJpZXMtZiwgc2VyaWVzLWYtYm9sZCwgc2VyaWVzLWYtYm9sZGVyLFxuLy8vIHNlcmllcy1mLXN1YnRsZSwgc2VyaWVzLWYtc3VidGxlcl1cbi8vLyBUaGUgU2VyaWVzIEYgdmFyaWFibGUgZ3JvdXAuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtZiAtIFRoZSBzZXJpZXMgRiBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1mLWJvbGQgLSBUaGUgYm9sZCBzZXJpZXMgRiBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1mLWJvbGRlciAtIFRoZSBib2xkZXIgc2VyaWVzIEYgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtZi1zdWJ0bGUgLSBUaGUgc3VidGxlIHNlcmllcyBGIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWYtc3VidGxlciAtIFRoZSBzdWJ0bGVyIHNlcmllcyBGIGNvbG9yIHZhcmlhYmxlLlxuJGtlbmRvLWNvbG9yczogJF9kZWZhdWx0LWNvbG9ycyAhZGVmYXVsdDtcblxuLy8gQWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi9ibG9iL21hc3Rlci9zcmMvbGliL2NvcmUvdGhlbWluZy9fcGFsZXR0ZS5zY3NzXG4vLyBBZGFwdGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iL21hc3Rlci9zcmMvbWF0ZXJpYWwvY29yZS90aGVtaW5nL190aGVtaW5nLnNjc3NcbiRkYXJrLXByaW1hcnktdGV4dDogcmdiYShibGFjaywgMC44NykgIWRlZmF1bHQ7XG4kZGFyay1zZWNvbmRhcnktdGV4dDogcmdiYShibGFjaywgMC41NCkgIWRlZmF1bHQ7XG4kZGFyay1kaXNhYmxlZC10ZXh0OiByZ2JhKGJsYWNrLCAwLjM4KSAhZGVmYXVsdDtcbiRkYXJrLWRpdmlkZXJzOiByZ2JhKGJsYWNrLCAwLjEyKSAhZGVmYXVsdDtcbiRsaWdodC1wcmltYXJ5LXRleHQ6ICRrZW5kby1jb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRsaWdodC1zZWNvbmRhcnktdGV4dDogcmdiYSh3aGl0ZSwgMC43KSAhZGVmYXVsdDtcbiRsaWdodC1kaXNhYmxlZC10ZXh0OiByZ2JhKHdoaXRlLCAwLjUpICFkZWZhdWx0O1xuJGxpZ2h0LWRpdmlkZXJzOiByZ2JhKHdoaXRlLCAwLjEyKSAhZGVmYXVsdDtcblxuJG1hdGVyaWFsLWRhcmstY29tcGxpbWVudGFyeTogKFxuICAgIGlzLWRhcms6IHRydWUsXG4gICAgYm9keS1iZzogIzEyMTIxMixcbiAgICBib2R5LXRleHQ6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgc3VidGxlLXRleHQ6ICRsaWdodC1zZWNvbmRhcnktdGV4dCxcbiAgICBkaXNhYmxlZC10ZXh0OiAkbGlnaHQtZGlzYWJsZWQtdGV4dCxcbiAgICBjb21wb25lbnQtYmc6ICMxMjEyMTIsXG4gICAgY29tcG9uZW50LXRleHQ6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgY29tcG9uZW50LWJvcmRlcjogJGxpZ2h0LWRpdmlkZXJzLFxuICAgIGJhc2UtYmc6IGdldC1iYXNlLWh1ZSggZ3JheSwgOTAwICksXG4gICAgaG92ZXItYmc6IHJnYmEod2hpdGUsIDAuMDgpLFxuICAgIGZvY3VzLWJnOiByZ2JhKHdoaXRlLCAwLjI0KSxcbiAgICBlbGV2YXRpb246ICRrZW5kby1jb2xvci1ibGFjayxcbikgIWRlZmF1bHQ7XG5cbiRtYXRlcmlhbC1saWdodC1jb21wbGltZW50YXJ5OiAoXG4gICAgaXMtZGFyazogZmFsc2UsXG4gICAgYm9keS1iZzogJGtlbmRvLWNvbG9yLXdoaXRlLFxuICAgIGJvZHktdGV4dDogZ2V0LWJhc2UtY29udHJhc3QoZ3JheSwgNTApLFxuICAgIHN1YnRsZS10ZXh0OiAkZGFyay1zZWNvbmRhcnktdGV4dCxcbiAgICBkaXNhYmxlZC10ZXh0OiAkZGFyay1kaXNhYmxlZC10ZXh0LFxuICAgIGNvbXBvbmVudC1iZzogJGtlbmRvLWNvbG9yLXdoaXRlLFxuICAgIGNvbXBvbmVudC10ZXh0OiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgY29tcG9uZW50LWJvcmRlcjogJGRhcmstZGl2aWRlcnMsXG4gICAgYmFzZS1iZzogJGtlbmRvLWNvbG9yLXdoaXRlLFxuICAgIGhvdmVyLWJnOiByZ2JhKGJsYWNrLCAwLjA0KSxcbiAgICBmb2N1cy1iZzogcmdiYShibGFjaywgMC4xMiksXG4gICAgZWxldmF0aW9uOiAka2VuZG8tY29sb3ItYmxhY2ssXG4pICFkZWZhdWx0O1xuXG4kcHJpbWFyeS1wYWxldHRlLW5hbWU6IGluZGlnbyAhZGVmYXVsdDtcbiRzZWNvbmRhcnktcGFsZXR0ZS1uYW1lOiBwaW5rICFkZWZhdWx0O1xuJHRlcnRpYXJ5LXBhbGV0dGUtbmFtZTogdGVhbCAhZGVmYXVsdDtcbiRhZGp1c3QtY29udHJhc3Q6IHRydWUgIWRlZmF1bHQ7XG4kdGhlbWUtdHlwZTogbGlnaHQgIWRlZmF1bHQ7IC8vIGxpZ2h0IG9yIGRhcmtcblxuJHByaW1hcnktcGFsZXR0ZTogbWF0ZXJpYWwtcGFsZXR0ZSggJHByaW1hcnktcGFsZXR0ZS1uYW1lLCA1MDAsIDMwMCwgNzAwLCAkYWRqdXN0LWNvbnRyYXN0ICkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LXBhbGV0dGU6IG1hdGVyaWFsLXBhbGV0dGUoICRzZWNvbmRhcnktcGFsZXR0ZS1uYW1lLCA1MDAsIDMwMCwgNzAwLCAkYWRqdXN0LWNvbnRyYXN0ICkgIWRlZmF1bHQ7XG4kdGVydGlhcnktcGFsZXR0ZTogbWF0ZXJpYWwtcGFsZXR0ZSggJHRlcnRpYXJ5LXBhbGV0dGUtbmFtZSwgNTAwLCAzMDAsIDcwMCwgJGFkanVzdC1jb250cmFzdCApICFkZWZhdWx0O1xuXG4kdGhlbWU6IG1hdGVyaWFsLXRoZW1lKFxuICAgICRwcmltYXJ5LXBhbGV0dGUsXG4gICAgJHNlY29uZGFyeS1wYWxldHRlLFxuICAgICR0aGVtZS10eXBlXG4pICFkZWZhdWx0O1xuXG4vLyBDb2xvciBzZXR0aW5nc1xuJGtlbmRvLWlzLWRhcmstdGhlbWU6IGstbWFwLWdldCggJHRoZW1lLCBpcy1kYXJrICkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBzaGFkb3dzXG4vLy8gQGdyb3VwIHNoYWRvd3NcbiRlbGV2YXRpb246IGstbWFwLWdldCggJHRoZW1lLCBlbGV2YXRpb24gKSAhZGVmYXVsdDtcblxuLy8gVGhlbWUgY29sb3JzXG4vLy8gVGhlIGNvbG9yIHRoYXQgZm9jdXNlcyB0aGUgdXNlciBhdHRlbnRpb24uXG4vLy8gVXNlZCBmb3IgcHJpbWFyeSBidXR0b25zIGFuZCBmb3IgZWxlbWVudHMgb2YgcHJpbWFyeSBpbXBvcnRhbmNlIGFjcm9zcyB0aGUgdGhlbWUuXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuLy8vIEB0eXBlIENvbG9yXG4ka2VuZG8tY29sb3ItcHJpbWFyeTogbWF0ZXJpYWwtY29sb3IoICRwcmltYXJ5LXBhbGV0dGUsIG1haW4gKSAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci1wcmltYXJ5LWxpZ2h0ZXI6IG1hdGVyaWFsLWNvbG9yKCAkcHJpbWFyeS1wYWxldHRlLCBsaWdodGVyICkgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3ItcHJpbWFyeS1kYXJrZXI6IG1hdGVyaWFsLWNvbG9yKCAkcHJpbWFyeS1wYWxldHRlLCBkYXJrZXIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciB1c2VkIGFsb25nIHdpdGggdGhlIHByaW1hcnkgY29sb3IgZGVub3RlZCBieSAka2VuZG8tY29sb3ItcHJpbWFyeS5cbi8vLyBVc2VkIHRvIHByb3ZpZGUgY29udHJhc3QgYmV0d2VlbiB0aGUgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBjb2xvcnMuXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuLy8vIEB0eXBlIENvbG9yXG4ka2VuZG8tY29sb3ItcHJpbWFyeS1jb250cmFzdDogbWF0ZXJpYWwtY29sb3IoICRwcmltYXJ5LXBhbGV0dGUsIG1haW4tY29udHJhc3QgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzZWNvbmRhcnkgY29sb3Igb2YgdGhlIHRoZW1lLlxuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbi8vLyBAdHlwZSBDb2xvclxuJGtlbmRvLWNvbG9yLXNlY29uZGFyeTogbWF0ZXJpYWwtY29sb3IoICRzZWNvbmRhcnktcGFsZXR0ZSwgbWFpbiApICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLXNlY29uZGFyeS1saWdodGVyOiBtYXRlcmlhbC1jb2xvciggJHNlY29uZGFyeS1wYWxldHRlLCBsaWdodGVyICkgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3Itc2Vjb25kYXJ5LWRhcmtlcjogbWF0ZXJpYWwtY29sb3IoICRzZWNvbmRhcnktcGFsZXR0ZSwgZGFya2VyICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY29sb3IgdXNlZCBhbG9uZyB3aXRoIHRoZSBzZWNvbmRhcnkgY29sb3IgZGVub3RlZCBieSAka2VuZG8tY29sb3Itc2Vjb25kYXJ5LlxuLy8vIFVzZWQgdG8gcHJvdmlkZSBjb250cmFzdCBiZXR3ZWVuIHRoZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9ycy5cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4vLy8gQHR5cGUgQ29sb3JcbiRrZW5kby1jb2xvci1zZWNvbmRhcnktY29udHJhc3Q6IG1hdGVyaWFsLWNvbG9yKCAkc2Vjb25kYXJ5LXBhbGV0dGUsIG1haW4tY29udHJhc3QgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXJ0aWFyeSBjb2xvciBvZiB0aGUgdGhlbWUuXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuLy8vIEB0eXBlIENvbG9yXG4ka2VuZG8tY29sb3ItdGVydGlhcnk6IG1hdGVyaWFsLWNvbG9yKCR0ZXJ0aWFyeS1wYWxldHRlLCBtYWluKSAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci10ZXJ0aWFyeS1saWdodGVyOiBtYXRlcmlhbC1jb2xvcigkdGVydGlhcnktcGFsZXR0ZSwgbGlnaHRlcikgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3ItdGVydGlhcnktZGFya2VyOiBtYXRlcmlhbC1jb2xvcigkdGVydGlhcnktcGFsZXR0ZSwgZGFya2VyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciB1c2VkIGFsb25nIHdpdGggdGhlIHRlcnRpYXJ5IGNvbG9yIGRlbm90ZWQgYnkgJGtlbmRvLWNvbG9yLXRlcnRpYXJ5LlxuLy8vIFVzZWQgdG8gcHJvdmlkZSBjb250cmFzdCBiZXR3ZWVuIHRoZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9ycy5cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4vLy8gQHR5cGUgQ29sb3JcbiRrZW5kby1jb2xvci10ZXJ0aWFyeS1jb250cmFzdDogbWF0ZXJpYWwtY29sb3IoJHRlcnRpYXJ5LXBhbGV0dGUsIG1haW4tY29udHJhc3QpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIGZvciBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIGFuZCBzdGF0ZXMuXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuLy8vIEB0eXBlIENvbG9yXG4ka2VuZG8tY29sb3ItaW5mbzogIzAwNThlOSAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci1pbmZvLWxpZ2h0ZXI6IGstY29sb3ItdGludCggJGtlbmRvLWNvbG9yLWluZm8sIDIgKSAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci1pbmZvLWRhcmtlcjogay1jb2xvci1zaGFkZSggJGtlbmRvLWNvbG9yLWluZm8sIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciBmb3Igc3VjY2VzcyBtZXNzYWdlcyBhbmQgc3RhdGVzLlxuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbi8vLyBAdHlwZSBDb2xvclxuJGtlbmRvLWNvbG9yLXN1Y2Nlc3M6ICMzN2I0MDAgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3Itc3VjY2Vzcy1saWdodGVyOiBrLWNvbG9yLXRpbnQoICRrZW5kby1jb2xvci1zdWNjZXNzLCAyICkgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3Itc3VjY2Vzcy1kYXJrZXI6IGstY29sb3Itc2hhZGUoICRrZW5kby1jb2xvci1zdWNjZXNzLCAyICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY29sb3IgZm9yIHdhcm5pbmcgbWVzc2FnZXMgYW5kIHN0YXRlcy5cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4vLy8gQHR5cGUgQ29sb3JcbiRrZW5kby1jb2xvci13YXJuaW5nOiAjZmZjMDAwICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLXdhcm5pbmctbGlnaHRlcjogay1jb2xvci10aW50KCAka2VuZG8tY29sb3Itd2FybmluZywgMiApICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLXdhcm5pbmctZGFya2VyOiBrLWNvbG9yLXNoYWRlKCAka2VuZG8tY29sb3Itd2FybmluZywgMiApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIGZvciBlcnJvciBtZXNzYWdlcyBhbmQgc3RhdGVzLlxuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbi8vLyBAdHlwZSBDb2xvclxuJGtlbmRvLWNvbG9yLWVycm9yOiAjZjMxNzAwICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLWVycm9yLWxpZ2h0ZXI6IGstY29sb3ItdGludCggJGtlbmRvLWNvbG9yLWVycm9yLCAyICkgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3ItZXJyb3ItZGFya2VyOiBrLWNvbG9yLXNoYWRlKCAka2VuZG8tY29sb3ItZXJyb3IsIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBkYXJrIGNvbG9yIG9mIHRoZSB0aGVtZS5cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4vLy8gQHR5cGUgQ29sb3JcbiRrZW5kby1jb2xvci1kYXJrOiBnZXQtYmFzZS1odWUoIGdyYXksIDgwMCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpZ2h0IGNvbG9yIG9mIHRoZSB0aGVtZS5cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4vLy8gQHR5cGUgQ29sb3JcbiRrZW5kby1jb2xvci1saWdodDogZ2V0LWJhc2UtaHVlKCBncmF5LCAxMDAgKSAhZGVmYXVsdDtcblxuLy8vIEludmVyc2UgY29sb3Igb2YgdGhlIHRoZW1lLiBEZXBlbmRpbmcgb24gdGhlIHRoZW1lIGx1bWluYW5jZSBkYXJrIG9yIGxpZ2h0LCBpdCB3aWxsIGJlIGxpZ2h0IG9yIGRhcmtcbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4ka2VuZG8tY29sb3ItaW52ZXJzZTogaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3ItbGlnaHQsICRrZW5kby1jb2xvci1kYXJrICkgIWRlZmF1bHQ7XG5cbiRrZW5kby10aGVtZS1jb2xvcnM6IChcbiAgICBcInByaW1hcnlcIjogJGtlbmRvLWNvbG9yLXByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogJGtlbmRvLWNvbG9yLXNlY29uZGFyeSxcbiAgICBcInRlcnRpYXJ5XCI6ICRrZW5kby1jb2xvci10ZXJ0aWFyeSxcbiAgICBcImluZm9cIjogJGtlbmRvLWNvbG9yLWluZm8sXG4gICAgXCJzdWNjZXNzXCI6ICRrZW5kby1jb2xvci1zdWNjZXNzLFxuICAgIFwid2FybmluZ1wiOiAka2VuZG8tY29sb3Itd2FybmluZyxcbiAgICBcImVycm9yXCI6ICRrZW5kby1jb2xvci1lcnJvcixcbiAgICBcImRhcmtcIjogJGtlbmRvLWNvbG9yLWRhcmssXG4gICAgXCJsaWdodFwiOiAka2VuZG8tY29sb3ItbGlnaHQsXG4gICAgXCJpbnZlcnNlXCI6ICRrZW5kby1jb2xvci1pbnZlcnNlXG4pICFkZWZhdWx0O1xuXG4vLyBHZW5lcmljIHN0eWxlc1xuXG4vLyBSb290IHN0eWxlc1xuJGtlbmRvLWJvZHktYmc6IGstbWFwLWdldCggJHRoZW1lLCBib2R5LWJnICkgIWRlZmF1bHQ7XG4ka2VuZG8tYm9keS10ZXh0OiBrLW1hcC1nZXQoICR0aGVtZSwgYm9keS10ZXh0ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1zdWJ0bGUtdGV4dDogay1tYXAtZ2V0KCAkdGhlbWUsIHN1YnRsZS10ZXh0ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1hcHAtYmc6ICRrZW5kby1ib2R5LWJnICFkZWZhdWx0O1xuJGtlbmRvLWFwcC10ZXh0OiAka2VuZG8tYm9keS10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLWFwcC1ib3JkZXI6IGstbWFwLWdldCggJHRoZW1lLCBjb21wb25lbnQtYm9yZGVyICkgIWRlZmF1bHQ7XG5cbi8vIExpbmtcbiRrZW5kby1saW5rLXRleHQ6ICRrZW5kby1jb2xvci1zZWNvbmRhcnkgIWRlZmF1bHQ7XG4ka2VuZG8tbGluay1ob3Zlci10ZXh0OiAka2VuZG8tY29sb3Itc2Vjb25kYXJ5LWRhcmtlciAhZGVmYXVsdDtcblxuLy8gQ29tcG9uZW50c1xuXG4vLyBDb21wb25lbnRcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgY29tcG9uZW50LlxuLy8vIE5vdGU6IGRvIG5vdCB1c2UgdGhpcyB2YXJpYWJsZSBkaXJlY3RseS4gSW5zdGVhZCBkZXJpdmUgaXQgYXMgYCRjb21wb25lbnQtbmFtZS1iZ2AgZS5nLiBgJGtlbmRvLWdyaWQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7YC5cbi8vLyBAZ3JvdXAgY29tcG9uZW50XG4ka2VuZG8tY29tcG9uZW50LWJnOiBrLW1hcC1nZXQoICR0aGVtZSwgY29tcG9uZW50LWJnICkgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiBhIGNvbXBvbmVudC5cbi8vLyBOb3RlOiBkbyBub3QgdXNlIHRoaXMgdmFyaWFibGUgZGlyZWN0bHkuIEluc3RlYWQgZGVyaXZlIGl0IGFzIGAkY29tcG9uZW50LW5hbWUtdGV4dGAgZS5nLiBgJGtlbmRvLWdyaWQtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O2AuXG4vLy8gQGdyb3VwIGNvbXBvbmVudFxuJGtlbmRvLWNvbXBvbmVudC10ZXh0OiBrLW1hcC1nZXQoICR0aGVtZSwgY29tcG9uZW50LXRleHQgKSAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgYSBjb21wb25lbnQuXG4vLy8gTm90ZTogZG8gbm90IHVzZSB0aGlzIHZhcmlhYmxlIGRpcmVjdGx5LiBJbnN0ZWFkIGRlcml2ZSBpdCBhcyBgJGNvbXBvbmVudC1uYW1lLWJvcmRlcmAgZS5nLiBgJGtlbmRvLWdyaWQtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtgLlxuLy8vIEBncm91cCBjb21wb25lbnRcbiRrZW5kby1jb21wb25lbnQtYm9yZGVyOiBrLW1hcC1nZXQoICR0aGVtZSwgY29tcG9uZW50LWJvcmRlciApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIGNvbXBvbmVudHMnIGNocm9tZSBhcmVhLlxuJGtlbmRvLWJhc2UtYmc6IGstbWFwLWdldCggJHRoZW1lLCBiYXNlLWJnICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGNvbXBvbmVudHMnIGNocm9tZSBhcmVhLlxuJGtlbmRvLWJhc2UtdGV4dDogay1tYXAtZ2V0KCAkdGhlbWUsIGNvbXBvbmVudC10ZXh0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBvZiB0aGUgY29tcG9uZW50cycgY2hyb21lIGFyZWEuXG4ka2VuZG8tYmFzZS1ib3JkZXI6IHJnYmEoIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGtlbmRvLWNvbG9yLXdoaXRlLCAka2VuZG8tY29sb3ItYmxhY2sgKSwgLjA4ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IGJhY2tncm91bmQgb2YgdGhlIGNvbXBvbmVudHMnIGNocm9tZSBhcmVhLlxuJGtlbmRvLWJhc2UtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiBob3ZlcmVkIGl0ZW1zLlxuJGtlbmRvLWhvdmVyLWJnOiBrLW1hcC1nZXQoICR0aGVtZSwgaG92ZXItYmcgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiBob3ZlcmVkIGl0ZW1zLlxuJGtlbmRvLWhvdmVyLXRleHQ6ICRrZW5kby1iYXNlLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiBob3ZlcmVkIGl0ZW1zLlxuJGtlbmRvLWhvdmVyLWJvcmRlcjogcmdiYSggJGtlbmRvLWJhc2UtYm9yZGVyLCAuMTUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgYmFja2dyb3VuZCBvZiBob3ZlcmVkIGl0ZW1zLlxuJGtlbmRvLWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2Ygc2VsZWN0ZWQgaXRlbXMuXG4ka2VuZG8tc2VsZWN0ZWQtYmc6ICRrZW5kby1jb2xvci1zZWNvbmRhcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2Ygc2VsZWN0ZWQgaXRlbXMuXG4ka2VuZG8tc2VsZWN0ZWQtdGV4dDogJGtlbmRvLWNvbG9yLXNlY29uZGFyeS1jb250cmFzdCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHNlbGVjdGVkIGl0ZW1zLlxuJGtlbmRvLXNlbGVjdGVkLWJvcmRlcjogcmdiYSggJGtlbmRvLWJhc2UtYm9yZGVyLCAuMSApICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBiYWNrZ3JvdW5kIG9mIHNlbGVjdGVkIGl0ZW1zLlxuJGtlbmRvLXNlbGVjdGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tc2VsZWN0ZWQtaG92ZXItYmc6IGstdHJ5LXNoYWRlKCAka2VuZG8tc2VsZWN0ZWQtYmcsIC41ICkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VsZWN0ZWQtaG92ZXItdGV4dDogJGtlbmRvLXNlbGVjdGVkLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tc2VsZWN0ZWQtaG92ZXItYm9yZGVyOiByZ2JhKCAka2VuZG8tYmFzZS1ib3JkZXIsIC4xICkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VsZWN0ZWQtaG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyaWMgc3R5bGVzXG5cbi8vIEhlYWRlclxuJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYmc6ICRrZW5kby1iYXNlLWJnICFkZWZhdWx0O1xuJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dDogJGtlbmRvLWJhc2UtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJvcmRlcjogJGtlbmRvLWJhc2UtYm9yZGVyICFkZWZhdWx0O1xuJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIFZhbGlkYXRvclxuJGtlbmRvLWludmFsaWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8taW52YWxpZC10ZXh0OiAka2VuZG8tY29sb3ItZXJyb3IgIWRlZmF1bHQ7XG4ka2VuZG8taW52YWxpZC1ib3JkZXI6ICRrZW5kby1jb2xvci1lcnJvciAhZGVmYXVsdDtcbiRrZW5kby1pbnZhbGlkLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLXZhbGlkLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXZhbGlkLXRleHQ6ICRrZW5kby1jb2xvci1zdWNjZXNzICFkZWZhdWx0O1xuJGtlbmRvLXZhbGlkLWJvcmRlcjogJGtlbmRvLWNvbG9yLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4ka2VuZG8tdmFsaWQtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlZCBTdHlsaW5nXG4ka2VuZG8tZGlzYWJsZWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tZGlzYWJsZWQtdGV4dDogay1tYXAtZ2V0KCAkdGhlbWUsIGRpc2FibGVkLXRleHQgKSAhZGVmYXVsdDtcbiRrZW5kby1kaXNhYmxlZC1ib3JkZXI6IG51bGwhZGVmYXVsdDtcbiRrZW5kby1kaXNhYmxlZC1vcGFjaXR5OiAuNiAhZGVmYXVsdDtcbiRrZW5kby1kaXNhYmxlZC1maWx0ZXI6IGdyYXlzY2FsZSguMSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1kaXNhYmxlZC1zdHlsaW5nOiAoXG4gICAgYmc6ICRrZW5kby1kaXNhYmxlZC1iZyxcbiAgICBjb2xvcjogJGtlbmRvLWRpc2FibGVkLXRleHQsXG4gICAgYm9yZGVyOiAka2VuZG8tZGlzYWJsZWQtYm9yZGVyLFxuICAgIG9wYWNpdHk6ICRrZW5kby1kaXNhYmxlZC1vcGFjaXR5LFxuICAgIGZpbHRlcjogJGtlbmRvLWRpc2FibGVkLWZpbHRlcixcbikgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cblxuLy8gRWxldmF0aW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2VsZXZhdGlvbi9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvZWxldmF0aW9uL2luZGV4LmltcG9ydC5zY3NzXG4kX2RlZmF1bHQtZWxldmF0aW9uOiAoXG4gICAgMTogKFxuICAgICAgICAwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLFxuICAgICAgICAwcHggMnB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKSxcbiAgICAgICAgMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNClcbiAgICApLFxuICAgIDI6IChcbiAgICAgICAgMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSxcbiAgICAgICAgMHB4IDNweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksXG4gICAgICAgIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpXG4gICAgKSxcbiAgICAzOiAoXG4gICAgICAgIDBweCAxcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksXG4gICAgICAgIDBweCAzcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpLFxuICAgICAgICAwcHggM3B4IDRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KVxuICAgICksXG4gICAgNDogKFxuICAgICAgICAwcHggMnB4IDRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLFxuICAgICAgICAwcHggMXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksXG4gICAgICAgIDBweCA0cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpXG4gICAgKSxcbiAgICA1OiAoXG4gICAgICAgIDBweCAzcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksXG4gICAgICAgIDBweCAxcHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKSxcbiAgICAgICAgMHB4IDZweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpXG4gICAgKSxcbiAgICA2OiAoXG4gICAgICAgIDBweCA1cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksXG4gICAgICAgIDBweCAzcHggMTRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKSxcbiAgICAgICAgMHB4IDhweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpXG4gICAgKSxcbiAgICA3OiAoXG4gICAgICAgIDBweCA3cHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksXG4gICAgICAgIDBweCA1cHggMjJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKSxcbiAgICAgICAgMHB4IDEycHggMTdweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KVxuICAgICksXG4gICAgODogKFxuICAgICAgICAwcHggOHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpLFxuICAgICAgICAwcHggNnB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEyKSxcbiAgICAgICAgMHB4IDE2cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMTQpXG4gICAgKSxcbiAgICA5OiAoXG4gICAgICAgIDBweCAxMXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjIpLFxuICAgICAgICAwcHggOXB4IDQ2cHggcmdiYSgwLCAwLCAwLCAwLjEyKSxcbiAgICAgICAgMHB4IDI0cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMTQpXG4gICAgKVxuKTtcblxuLy8vIFRoZSBnbG9iYWwgZGVmYXVsdCBFbGV2YXRpb24gbWFwLlxuLy8vIEBncm91cCBlbGV2YXRpb25cbiRrZW5kby1lbGV2YXRpb246ICRfZGVmYXVsdC1lbGV2YXRpb24gIWRlZmF1bHQ7XG5cbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZWxldmF0aW9uL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZWxldmF0aW9uL2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cbiRfZGVmYXVsdC1lbGV2YXRpb246IChcbiAgICAxOiAoXG4gICAgICAgIDAgMnB4IDNweCByZ2JhKDAsIDAsIDAsIC4wNCksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKSxcbiAgICAyOiAoXG4gICAgICAgIDAgNHB4IDZweCByZ2JhKDAsIDAsIDAsIC4wNiksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKSxcbiAgICAzOiAoXG4gICAgICAgIDAgNnB4IDhweCByZ2JhKDAsIDAsIDAsIC4wOCksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKSxcbiAgICA0OiAoXG4gICAgICAgIDAgOHB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMTIpLFxuICAgICAgICAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgLjEyKVxuICAgICksXG4gICAgNTogKFxuICAgICAgICAwIDEwcHggMTJweCByZ2JhKDAsIDAsIDAsIC4xNiksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKSxcbiAgICA2OiAoXG4gICAgICAgIDAgMTJweCAxNHB4IHJnYmEoMCwgMCwgMCwgLjIpLFxuICAgICAgICAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgLjEyKVxuICAgICksXG4gICAgNzogKFxuICAgICAgICAwIDE0cHggMTZweCByZ2JhKDAsIDAsIDAsIC4yNCksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKSxcbiAgICA4OiAoXG4gICAgICAgIDAgMTZweCAxOHB4IHJnYmEoMCwgMCwgMCwgLjI4KSxcbiAgICAgICAgMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIC4xMilcbiAgICApLFxuICAgIDk6IChcbiAgICAgICAgMCAzMnB4IDM0cHggcmdiYSgwLCAwLCAwLCAuMzIpLFxuICAgICAgICAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgLjEyKVxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2xvYmFsIGRlZmF1bHQgRWxldmF0aW9uIG1hcC5cbi8vLyBAZ3JvdXAgZWxldmF0aW9uXG4ka2VuZG8tZWxldmF0aW9uOiAkX2RlZmF1bHQtZWxldmF0aW9uICFkZWZhdWx0O1xuXG4ka2VuZG8tZWxldmF0aW9uOiBrLW1hcC1tZXJnZSgkX2RlZmF1bHQtZWxldmF0aW9uLCAka2VuZG8tZWxldmF0aW9uKTtcblxuQGZ1bmN0aW9uIGstc2hhZG93LWZpbHRlcigkc2hhZG93KSB7XG4gICAgJHJlc3VsdDogJyc7XG4gICAgQGVhY2ggJHZhbHVlIGluICRzaGFkb3cge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgXCJkcm9wLXNoYWRvdyhcIiArICR2YWx1ZSArIFwiKSBcIjtcbiAgICB9XG4gICAgQHJldHVybiAjeyRyZXN1bHR9O1xufVxuXG5AZnVuY3Rpb24gay1lbGV2YXRpb24oJGxldmVsKSB7XG4gICAgQHJldHVybiB2YXIoLS1rZW5kby1lbGV2YXRpb24tI3skbGV2ZWx9LCBrLW1hcC1nZXQoJGtlbmRvLWVsZXZhdGlvbiwgJGxldmVsKSk7XG59XG5cblxuQG1peGluIGtlbmRvLWVsZXZhdGlvbi0tc3R5bGVzKCkge1xuICAgIDpyb290IHtcbiAgICAgICAgQGVhY2ggJGxldmVsLCAkc2hhZG93IGluICRrZW5kby1lbGV2YXRpb24ge1xuICAgICAgICAgICAgLS1rZW5kby1lbGV2YXRpb24tI3skbGV2ZWx9OiAjeyRzaGFkb3d9O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAjZW5kcmVnaW9uXG5cbi8vICNlbmRyZWdpb25cblxuLy8gVHlwb2dyYXBoeVxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90eXBvZ3JhcGh5L2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS90eXBvZ3JhcGh5L2luZGV4LmltcG9ydC5zY3NzXG4vLy8gVGhlIGJhc2UgZm9udCBzaXplIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtc2l6ZTogMC44NzVyZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIGV4dHJhIHNtYWxsIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemUteHM6IDAuNjI1cmVtICFkZWZhdWx0O1xuLy8vIFRoZSBzbWFsbCBmb250IHNpemUgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC1zaXplLXNtOiAwLjc1cmVtICFkZWZhdWx0O1xuLy8vIFRoZSBtZWRpdW0gZm9udCBzaXplIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtc2l6ZS1tZDogJGtlbmRvLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbi8vLyBUaGUgbGFyZ2UgZm9udCBzaXplIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtc2l6ZS1sZzogMXJlbSAhZGVmYXVsdDtcbi8vLyBUaGUgZXh0cmEgbGFyZ2UgZm9udCBzaXplIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtc2l6ZS14bDogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxpbmUtaGVpZ2h0OiBrLW1hdGgtZGl2KCAyOCwgMTQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZXh0cmEgc21hbGwgbGluZSBoZWlnaHQgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tbGluZS1oZWlnaHQteHM6IDEgIWRlZmF1bHQ7XG4vLy8gVGhlIHNtYWxsIGxpbmUgaGVpZ2h0IGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxpbmUtaGVpZ2h0LXNtOiAxLjIgIWRlZmF1bHQ7XG4vLy8gVGhlIG1lZGl1bSBsaW5lIGhlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1saW5lLWhlaWdodC1tZDogJGtlbmRvLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBsYXJnZSBsaW5lIGhlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1saW5lLWhlaWdodC1sZzogMS41ICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGluIGVtcyBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1saW5lLWhlaWdodC1lbTogY2FsYyggI3ska2VuZG8tbGluZS1oZWlnaHR9ICogMWVtICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBsZXR0ZXIgc3BhY2luZyBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGlnaHRlc3QgbGV0dGVyIHNwYWNpbmcgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tbGV0dGVyLXNwYWNpbmctdGlnaHRlc3Q6IC0yLjVweCAhZGVmYXVsdDtcbi8vLyBTbGlnaHRseSBsb29zZXIgdGhhbiB0aGUgdGlnaHRlciBsZXR0ZXIgc3BhY2luZyBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1sZXR0ZXItc3BhY2luZy10aWdodGVyOiAtMS41cHggIWRlZmF1bHQ7XG4vLy8gTW9kZXJhdGVseSB0aWdodCBsZXR0ZXIgc3BhY2luZyBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1sZXR0ZXItc3BhY2luZy10aWdodDogLS41cHggIWRlZmF1bHQ7XG4vLy8gVGhlIG5vcm1hbCBsZXR0ZXIgc3BhY2luZyBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1sZXR0ZXItc3BhY2luZy1ub3JtYWw6IDBweCAhZGVmYXVsdDtcbi8vLyBXaWRlIGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50c1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tbGV0dGVyLXNwYWNpbmctd2lkZTogLjE1cHggIWRlZmF1bHQ7XG4vLy8gU2xpZ2h0bHkgd2lkZXIgdGhhbiB0aGUgd2lkZSBsZXR0ZXIgc3BhY2luZyBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1sZXR0ZXItc3BhY2luZy13aWRlcjogLjI1cHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZGVzdCBsZXR0ZXIgc3BhY2luZyBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1sZXR0ZXItc3BhY2luZy13aWRlc3Q6IC4zNXB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNhbnMtc2VyaWYgZm9udCBmYW1pbHkgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLy8gVGhlIG1vbm9zcGFjZSBmb250IGZhbWlseSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIlVidW50dSBNb25vXCIsIFwiTHVjaWRhIENvbnNvbGVcIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgZm9udCBmYW1pbHkgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kX2RlZmF1bHQtZm9udC1zaXplczogKFxuICAgIHhzOiAka2VuZG8tZm9udC1zaXplLXhzLFxuICAgIHNtOiAka2VuZG8tZm9udC1zaXplLXNtLFxuICAgIG1kOiAka2VuZG8tZm9udC1zaXplLW1kLFxuICAgIGxnOiAka2VuZG8tZm9udC1zaXplLWxnLFxuICAgIHhsOiAka2VuZG8tZm9udC1zaXplLXhsXG4pICFkZWZhdWx0O1xuXG4kX2RlZmF1bHQtbGluZS1oZWlnaHRzOiAoXG4gICAgeHM6ICRrZW5kby1saW5lLWhlaWdodC14cyxcbiAgICBzbTogJGtlbmRvLWxpbmUtaGVpZ2h0LXNtLFxuICAgIG1kOiAka2VuZG8tbGluZS1oZWlnaHQtbWQsXG4gICAgbGc6ICRrZW5kby1saW5lLWhlaWdodC1sZyxcbikgIWRlZmF1bHQ7XG5cbiRfZGVmYXVsdC1sZXR0ZXItc3BhY2luZ3M6IChcbiAgICB0aWdodGVzdDogJGtlbmRvLWxldHRlci1zcGFjaW5nLXRpZ2h0ZXN0LFxuICAgIHRpZ2h0ZXI6ICRrZW5kby1sZXR0ZXItc3BhY2luZy10aWdodGVyLFxuICAgIHRpZ2h0OiAka2VuZG8tbGV0dGVyLXNwYWNpbmctdGlnaHQsXG4gICAgbm9ybWFsOiAka2VuZG8tbGV0dGVyLXNwYWNpbmctbm9ybWFsLFxuICAgIHdpZGU6ICRrZW5kby1sZXR0ZXItc3BhY2luZy13aWRlLFxuICAgIHdpZGVyOiAka2VuZG8tbGV0dGVyLXNwYWNpbmctd2lkZXIsXG4gICAgd2lkZXN0OiAka2VuZG8tbGV0dGVyLXNwYWNpbmctd2lkZXN0XG4pICFkZWZhdWx0O1xuXG4kX2RlZmF1bHQtZm9udC1mYW1pbGllczogKFxuICAgIHNhbnMtc2VyaWY6ICRrZW5kby1mb250LWZhbWlseS1zYW5zLXNlcmlmLFxuICAgIG1vbm9zcGFjZTogJGtlbmRvLWZvbnQtZmFtaWx5LW1vbm9zcGFjZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemVzIG1hcFxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC1zaXplczogJF9kZWZhdWx0LWZvbnQtc2l6ZXMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZSBoZWlnaHRzIG1hcFxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tbGluZS1oZWlnaHRzOiAkX2RlZmF1bHQtbGluZS1oZWlnaHRzICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxldHRlciBzcGFjaW5ncyBtYXBcbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nczogJF9kZWZhdWx0LWxldHRlci1zcGFjaW5ncyAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlsaWVzIG1hcFxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC1mYW1pbGllczogJF9kZWZhdWx0LWZvbnQtZmFtaWxpZXMgIWRlZmF1bHQ7XG5cbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvdHlwb2dyYXBoeS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL3R5cG9ncmFwaHkvaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8vIFRoZSBiYXNlIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemU6IDAuODc1cmVtICFkZWZhdWx0O1xuLy8vIFRoZSBleHRyYSBleHRyYSBzbWFsbCBmb250IHNpemUgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC1zaXplLXh4czogMC41cmVtICFkZWZhdWx0O1xuLy8vIFRoZSBleHRyYSBzbWFsbCBmb250IHNpemUgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC1zaXplLXhzOiAwLjYyNXJlbSAhZGVmYXVsdDtcbi8vLyBUaGUgc21hbGwgZm9udCBzaXplIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtc2l6ZS1zbTogMC43NXJlbSAhZGVmYXVsdDtcbi8vLyBUaGUgbWVkaXVtIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemUtbWQ6ICRrZW5kby1mb250LXNpemUgIWRlZmF1bHQ7XG4vLy8gVGhlIGxhcmdlIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemUtbGc6IDFyZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIGxhcmdlIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemUteGw6IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIHNtYWxsIGxpbmUgaGVpZ2h0IGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxpbmUtaGVpZ2h0LXhzOiAxICFkZWZhdWx0O1xuLy8vIFRoZSBzbWFsbCBsaW5lIGhlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1saW5lLWhlaWdodC1zbTogMS4yNSAhZGVmYXVsdDtcbi8vLyBUaGUgbWVkaXVtIGxpbmUgaGVpZ2h0IGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxpbmUtaGVpZ2h0LW1kOiAka2VuZG8tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxhcmdlIGxpbmUgaGVpZ2h0IGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxpbmUtaGVpZ2h0LWxnOiAxLjUgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgaW4gZW1zIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxpbmUtaGVpZ2h0LWVtOiBjYWxjKCAjeyRrZW5kby1saW5lLWhlaWdodC1tZH0gKiAxZW0gKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGZvbnQgd2VpZ2h0IGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4vLy8gVGhlIHRoaW4gZm9udCB3ZWlnaHQgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC13ZWlnaHQtdGhpbjogMTAwICFkZWZhdWx0O1xuLy8vIFRoZSBleHRyYSBsaWdodCBmb250IHdlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXdlaWdodC1leHRyYS1saWdodDogMjAwICFkZWZhdWx0O1xuLy8vIFRoZSBsaWdodCBmb250IHdlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXdlaWdodC1saWdodDogMzAwICFkZWZhdWx0O1xuLy8vIFRoZSBub3JtYWwgZm9udCB3ZWlnaHQgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC13ZWlnaHQtbm9ybWFsOiAka2VuZG8tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIG1lZGl1bSBmb250IHdlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXdlaWdodC1tZWRpdW06IDUwMCAhZGVmYXVsdDtcbi8vLyBUaGUgc2VtaWJvbGQgZm9udCB3ZWlnaHQgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9sZCBmb250IHdlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIGJvbGQgZm9udCB3ZWlnaHQgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC13ZWlnaHQtZXh0cmEtYm9sZDogODAwICFkZWZhdWx0O1xuLy8vIFRoZSBtb3N0IHByb25vdW5jZWQgZm9udCB3ZWlnaHQgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC13ZWlnaHQtYmxhY2s6IDkwMCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0aWdodGVzdCBsZXR0ZXIgc3BhY2luZyBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1sZXR0ZXItc3BhY2luZy10aWdodGVzdDogLS4xNXB4ICFkZWZhdWx0O1xuLy8vIFNsaWdodGx5IGxvb3NlciB0aGFuIHRoZSB0aWdodGVyIGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nLXRpZ2h0ZXI6IC0uMTBweCAhZGVmYXVsdDtcbi8vLyBNb2RlcmF0ZWx5IHRpZ2h0IGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nLXRpZ2h0OiAtLjVweCAhZGVmYXVsdDtcbi8vLyBUaGUgbm9ybWFsIGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nLW5vcm1hbDogMHB4ICFkZWZhdWx0O1xuLy8vIFdpZGUgbGV0dGVyIHNwYWNpbmcgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tbGV0dGVyLXNwYWNpbmctd2lkZTogLjVweCAhZGVmYXVsdDtcbi8vLyBTbGlnaHRseSB3aWRlciB0aGFuIHRoZSB3aWRlIGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nLXdpZGVyOiAuMTBweCAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkZXN0IGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nLXdpZGVzdDogLjE1cHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2FucyBmb250IGZhbWlseSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LWZhbWlseS1zYW5zOiBBcmlhbCwgVmVyZGFuYSwgVGFob21hLCBcIlRyZWJ1Y2hldCBNU1wiLCBIZWx2ZXRpY2EsIEltcGFjdCwgR2lsbCBTYW5zICFkZWZhdWx0O1xuLy8vIFRoZSBzZXJpZiBmb250IGZhbWlseSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LWZhbWlseS1zZXJpZjogXCJUaW1lcyBOZXcgUm9tYW5cIiwgR2VvcmdpYSwgR2FyYW1vbmQsIFBhbGF0aW5vLCBCYXNrZXJ2aWxsZSAhZGVmYXVsdDtcbi8vLyBUaGUgc2Fucy1zZXJpZiBmb250IGZhbWlseSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LWZhbWlseS1zYW5zLXNlcmlmOiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4vLy8gVGhlIG1vbm9zcGFjZSBmb250IGZhbWlseSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LWZhbWlseS1tb25vc3BhY2U6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJSb2JvdG8gTW9ub1wiLCBcIlVidW50dSBNb25vXCIsIFwiTHVjaWRhIENvbnNvbGVcIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBmb250IGZhbWlseSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuJF9kZWZhdWx0LWZvbnQtc2l6ZXM6IChcbiAgICB4eHM6ICRrZW5kby1mb250LXNpemUteHhzLFxuICAgIHhzOiAka2VuZG8tZm9udC1zaXplLXhzLFxuICAgIHNtOiAka2VuZG8tZm9udC1zaXplLXNtLFxuICAgIG1kOiAka2VuZG8tZm9udC1zaXplLW1kLFxuICAgIGxnOiAka2VuZG8tZm9udC1zaXplLWxnLFxuICAgIHhsOiAka2VuZG8tZm9udC1zaXplLXhsXG4pICFkZWZhdWx0O1xuXG4kX2RlZmF1bHQtbGluZS1oZWlnaHRzOiAoXG4gICAgeHM6ICRrZW5kby1saW5lLWhlaWdodC14cyxcbiAgICBzbTogJGtlbmRvLWxpbmUtaGVpZ2h0LXNtLFxuICAgIG1kOiAka2VuZG8tbGluZS1oZWlnaHQtbWQsXG4gICAgbGc6ICRrZW5kby1saW5lLWhlaWdodC1sZyxcbikgIWRlZmF1bHQ7XG5cbiRfZGVmYXVsdC1mb250LXdlaWdodHM6IChcbiAgICB0aGluOiAka2VuZG8tZm9udC13ZWlnaHQtdGhpbixcbiAgICBleHRyYS1saWdodDogJGtlbmRvLWZvbnQtd2VpZ2h0LWV4dHJhLWxpZ2h0LFxuICAgIGxpZ2h0OiAka2VuZG8tZm9udC13ZWlnaHQtbGlnaHQsXG4gICAgbm9ybWFsOiAka2VuZG8tZm9udC13ZWlnaHQtbm9ybWFsLFxuICAgIG1lZGl1bTogJGtlbmRvLWZvbnQtd2VpZ2h0LW1lZGl1bSxcbiAgICBzZW1pYm9sZDogJGtlbmRvLWZvbnQtd2VpZ2h0LXNlbWlib2xkLFxuICAgIGJvbGQ6ICRrZW5kby1mb250LXdlaWdodC1ib2xkXG4pICFkZWZhdWx0O1xuXG4kX2RlZmF1bHQtbGV0dGVyLXNwYWNpbmdzOiAoXG4gICAgdGlnaHRlc3Q6ICRrZW5kby1sZXR0ZXItc3BhY2luZy10aWdodGVzdCxcbiAgICB0aWdodGVyOiAka2VuZG8tbGV0dGVyLXNwYWNpbmctdGlnaHRlcixcbiAgICB0aWdodDogJGtlbmRvLWxldHRlci1zcGFjaW5nLXRpZ2h0LFxuICAgIG5vcm1hbDogJGtlbmRvLWxldHRlci1zcGFjaW5nLW5vcm1hbCxcbiAgICB3aWRlOiAka2VuZG8tbGV0dGVyLXNwYWNpbmctd2lkZSxcbiAgICB3aWRlcjogJGtlbmRvLWxldHRlci1zcGFjaW5nLXdpZGVyLFxuICAgIHdpZGVzdDogJGtlbmRvLWxldHRlci1zcGFjaW5nLXdpZGVzdFxuKSAhZGVmYXVsdDtcblxuJF9kZWZhdWx0LWZvbnQtZmFtaWxpZXM6IChcbiAgICBzYW5zOiAka2VuZG8tZm9udC1mYW1pbHktc2FucyxcbiAgICBzZXJpZjogJGtlbmRvLWZvbnQtZmFtaWx5LXNlcmlmLFxuICAgIHNhbnMtc2VyaWY6ICRrZW5kby1mb250LWZhbWlseS1zYW5zLXNlcmlmLFxuICAgIG1vbm9zcGFjZTogJGtlbmRvLWZvbnQtZmFtaWx5LW1vbm9zcGFjZVxuKSAhZGVmYXVsdDtcblxuJGtlbmRvLWZvbnQtc2l6ZXM6ICRfZGVmYXVsdC1mb250LXNpemVzICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZXMgbWFwXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemVzOiBrLW1hcC1tZXJnZSggJF9kZWZhdWx0LWZvbnQtc2l6ZXMsICRrZW5kby1mb250LXNpemVzICk7XG5cbiRrZW5kby1saW5lLWhlaWdodHM6ICRfZGVmYXVsdC1saW5lLWhlaWdodHMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZSBoZWlnaHRzIG1hcFxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tbGluZS1oZWlnaHRzOiBrLW1hcC1tZXJnZSggJF9kZWZhdWx0LWxpbmUtaGVpZ2h0cywgJGtlbmRvLWxpbmUtaGVpZ2h0cyApO1xuXG4ka2VuZG8tZm9udC13ZWlnaHRzOiAkX2RlZmF1bHQtZm9udC13ZWlnaHRzICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgd2VpZ2h0cyBtYXBcbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtd2VpZ2h0czogay1tYXAtbWVyZ2UoICRfZGVmYXVsdC1mb250LXdlaWdodHMsICRrZW5kby1mb250LXdlaWdodHMgKTtcblxuJGtlbmRvLWxldHRlci1zcGFjaW5nczogJF9kZWZhdWx0LWxldHRlci1zcGFjaW5ncyAhZGVmYXVsdDtcblxuLy8vIFRoZSBsZXR0ZXIgc3BhY2luZ3MgbWFwXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1sZXR0ZXItc3BhY2luZ3M6IGstbWFwLW1lcmdlKCAkX2RlZmF1bHQtbGV0dGVyLXNwYWNpbmdzLCAka2VuZG8tbGV0dGVyLXNwYWNpbmdzICk7XG5cbiRrZW5kby1mb250LWZhbWlsaWVzOiAkX2RlZmF1bHQtZm9udC1mYW1pbGllcyAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlsaWVzIG1hcFxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC1mYW1pbGllczogay1tYXAtbWVyZ2UoICRfZGVmYXVsdC1mb250LWZhbWlsaWVzLCAka2VuZG8tZm9udC1mYW1pbGllcyApO1xuXG5AbWl4aW4gdHlwb2dyYXBoeSggJGZvbnQtc2l6ZTogbnVsbCwgJGZvbnQtZmFtaWx5OiBudWxsLCAkbGluZS1oZWlnaHQ6IG51bGwsICRmb250LXdlaWdodDogbnVsbCwgJGxldHRlci1zcGFjaW5nOiBudWxsICkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xufVxuXG5cbkBtaXhpbiBrZW5kby1jb3JlLS10eXBvZ3JhcGh5LS1zdHlsZXMoKSB7XG4gICAgOnJvb3Qge1xuXG4gICAgICAgIC0ta2VuZG8tZm9udC1mYW1pbHk6ICN7ay1tZXRhLWluc3BlY3QoJGtlbmRvLWZvbnQtZmFtaWx5KX07XG4gICAgICAgIC0ta2VuZG8tZm9udC1zaXplOiAjeyRrZW5kby1mb250LXNpemV9O1xuICAgICAgICAtLWtlbmRvLWxpbmUtaGVpZ2h0OiAjeyRrZW5kby1saW5lLWhlaWdodH07XG4gICAgICAgIC0ta2VuZG8tZm9udC13ZWlnaHQ6ICN7JGtlbmRvLWZvbnQtd2VpZ2h0fTtcbiAgICAgICAgLS1rZW5kby1sZXR0ZXItc3BhY2luZzogI3ska2VuZG8tbGV0dGVyLXNwYWNpbmd9O1xuXG4gICAgICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gJGtlbmRvLWZvbnQtc2l6ZXMge1xuICAgICAgICAgICAgLS1rZW5kby1mb250LXNpemUtI3skc2l6ZX06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gJGtlbmRvLWxpbmUtaGVpZ2h0cyB7XG4gICAgICAgICAgICAtLWtlbmRvLWxpbmUtaGVpZ2h0LSN7JHNpemV9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkd2VpZ2h0LCAkdmFsdWUgaW4gJGtlbmRvLWZvbnQtd2VpZ2h0cyB7XG4gICAgICAgICAgICAtLWtlbmRvLWZvbnQtd2VpZ2h0LSN7JHdlaWdodH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzcGFjaW5nLCAkdmFsdWUgaW4gJGtlbmRvLWxldHRlci1zcGFjaW5ncyB7XG4gICAgICAgICAgICAtLWtlbmRvLWxldHRlci1zcGFjaW5nLSN7JHNwYWNpbmd9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkZmFtaWx5LCAkdmFsdWUgaW4gJGtlbmRvLWZvbnQtZmFtaWxpZXMge1xuICAgICAgICAgICAgLS1rZW5kby1mb250LWZhbWlseS0jeyRmYW1pbHl9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyBWYXJpYWJsZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb3JlL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvZnVuY3Rpb25zL2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyBPcHRpb25zXG4ka2VuZG8tZW5hYmxlLXJvdW5kZWQ6IHRydWUgIWRlZmF1bHQ7XG4ka2VuZG8tZW5hYmxlLXNoYWRvd3M6IHRydWUgIWRlZmF1bHQ7XG4ka2VuZG8tZW5hYmxlLWdyYWRpZW50czogZmFsc2UgIWRlZmF1bHQ7XG4ka2VuZG8tZW5hYmxlLXRyYW5zaXRpb25zOiB0cnVlICFkZWZhdWx0O1xuJGtlbmRvLWVuYWJsZS1mb2N1cy1jb250cmFzdDogZmFsc2UgIWRlZmF1bHQ7XG4ka2VuZG8tZW5hYmxlLXR5cG9ncmFwaHk6IGZhbHNlICFkZWZhdWx0O1xuXG4ka2VuZG8tdXNlLWlucHV0LWJ1dHRvbi13aWR0aDogZmFsc2UgIWRlZmF1bHQ7XG4ka2VuZG8tdXNlLWlucHV0LXNwaW5uZXItd2lkdGg6IGZhbHNlICFkZWZhdWx0O1xuJGtlbmRvLXVzZS1pbnB1dC1zcGlubmVyLWljb24tb2Zmc2V0OiBmYWxzZSAhZGVmYXVsdDtcblxuJGtlbmRvLWF1dG8tYm9vdHN0cmFwOiB0cnVlICFkZWZhdWx0O1xuXG4ka2VuZG8tbmVzdGVkLWRpc2FibGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBTaGFkb3dzXG5cbi8vLyBTaGFkb3cgZm9yIHN3aXRjaC5cbi8vLyBFcXVpdmFsZW50IHRvIG1hdGVyaWFsIGVsZXZhdGlvbiAxLlxuLy8vIEBncm91cCBzaGFkb3dzXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIHRoZSBgJGtlbmRvLWVsZXZhdGlvbmAgbWFwIGluc3RlYWQuXG4kYm94LXNoYWRvdy1kZXB0aC0xOiBrLWVsZXZhdGlvbigxKSAhZGVmYXVsdDtcbi8vLyBTaGFkb3cgZm9yIHJlc3Rpbmcgc3RhdGUgb2YgYnV0dG9uLCBjYXJkIGFuZCBvdGhlciB3aWRnZXRzLlxuLy8vIEVxdWl2YWxlbnQgdG8gbWF0ZXJpYWwgZWxldmF0aW9uIDIuXG4vLy8gQGdyb3VwIHNoYWRvd3Ncbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIGAka2VuZG8tZWxldmF0aW9uYCBtYXAgaW5zdGVhZC5cbiRib3gtc2hhZG93LWRlcHRoLTI6IGstZWxldmF0aW9uKDIpICFkZWZhdWx0O1xuLy8vIFNoYWRvdyBmb3IgbWVudSwgcG9wdXBzIGFuZCByYWlzZWQgc3RhdGUgb2YgYnV0dG9uIGFuZCBjYXJkLlxuLy8vIEVxdWl2YWxlbnQgdG8gbWF0ZXJpYWwgZWxldmF0aW9uIDMuXG4vLy8gQGdyb3VwIHNoYWRvd3Ncbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIGAka2VuZG8tZWxldmF0aW9uYCBtYXAgaW5zdGVhZC5cbiRib3gtc2hhZG93LWRlcHRoLTM6IGstZWxldmF0aW9uKDMpICFkZWZhdWx0O1xuLy8vIFNoYWRvdyBmb3IgZHJhd2VycyBhbmQgb3RoZXIgb3ZlcmxheWluZyBlbGVtZW50cy5cbi8vLyBFcXVpdmFsZW50IHRvIG1hdGVyaWFsIGVsZXZhdGlvbiA0LlxuLy8vIEBncm91cCBzaGFkb3dzXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIHRoZSBgJGtlbmRvLWVsZXZhdGlvbmAgbWFwIGluc3RlYWQuXG4kYm94LXNoYWRvdy1kZXB0aC00OiBrLWVsZXZhdGlvbig0KSAhZGVmYXVsdDtcbi8vLyBTaGFkb3cgZm9yIHdpbmRvdyBhbmQgZGlhbG9nLlxuLy8vIEVxdWl2YWxlbnQgdG8gbWF0ZXJpYWwgZWxldmF0aW9uIDYuXG4vLy8gQGdyb3VwIHNoYWRvd3Ncbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIGAka2VuZG8tZWxldmF0aW9uYCBtYXAgaW5zdGVhZC5cbiRib3gtc2hhZG93LWRlcHRoLTU6IGstZWxldmF0aW9uKDUpICFkZWZhdWx0O1xuLy8vIFNoYWRvdyBmb3Igd2luZG93IGFuZCBkaWFsb2cuXG4vLy8gRXF1aXZhbGVudCB0byBtYXRlcmlhbCBlbGV2YXRpb24gOC5cbi8vLyBAZ3JvdXAgc2hhZG93c1xuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgYCRrZW5kby1lbGV2YXRpb25gIG1hcCBpbnN0ZWFkLlxuJGJveC1zaGFkb3ctZGVwdGgtNjogay1lbGV2YXRpb24oNikgIWRlZmF1bHQ7XG4vLy8gU2hhZG93IGZvciB3aW5kb3cgYW5kIGRpYWxvZy5cbi8vLyBFcXVpdmFsZW50IHRvIG1hdGVyaWFsIGVsZXZhdGlvbiAxMi5cbi8vLyBAZ3JvdXAgc2hhZG93c1xuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgYCRrZW5kby1lbGV2YXRpb25gIG1hcCBpbnN0ZWFkLlxuJGJveC1zaGFkb3ctZGVwdGgtNzogay1lbGV2YXRpb24oNykgIWRlZmF1bHQ7XG4vLy8gU2hhZG93IGZvciB3aW5kb3cgYW5kIGRpYWxvZy5cbi8vLyBFcXVpdmFsZW50IHRvIG1hdGVyaWFsIGVsZXZhdGlvbiAxNi5cbi8vLyBAZ3JvdXAgc2hhZG93c1xuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgYCRrZW5kby1lbGV2YXRpb25gIG1hcCBpbnN0ZWFkLlxuJGJveC1zaGFkb3ctZGVwdGgtODogay1lbGV2YXRpb24oOCkgIWRlZmF1bHQ7XG4vLy8gU2hhZG93IGZvciB3aW5kb3cgYW5kIGRpYWxvZy5cbi8vLyBFcXVpdmFsZW50IHRvIG1hdGVyaWFsIGVsZXZhdGlvbiAyNC5cbi8vLyBAZ3JvdXAgc2hhZG93c1xuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgYCRrZW5kby1lbGV2YXRpb25gIG1hcCBpbnN0ZWFkLlxuJGJveC1zaGFkb3ctZGVwdGgtOTogay1lbGV2YXRpb24oOSkgIWRlZmF1bHQ7XG5cblxuLy8gSWNvbnNcbiRrZW5kby1pY29uLXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbiRrZW5kby1pY29uLXNpemUteHM6IGNhbGMoICN7JGtlbmRvLWljb24tc2l6ZX0gKiAuNzUgKSAhZGVmYXVsdDtcbiRrZW5kby1pY29uLXNpemUtc206IGNhbGMoICN7JGtlbmRvLWljb24tc2l6ZX0gKiAuODc1ICkgIWRlZmF1bHQ7XG4ka2VuZG8taWNvbi1zaXplLW1kOiAka2VuZG8taWNvbi1zaXplICFkZWZhdWx0O1xuJGtlbmRvLWljb24tc2l6ZS1sZzogY2FsYyggI3ska2VuZG8taWNvbi1zaXplfSAqIDEuMjUgKSAhZGVmYXVsdDtcbiRrZW5kby1pY29uLXNpemUteGw6IGNhbGMoICN7JGtlbmRvLWljb24tc2l6ZX0gKiAxLjUgKSAhZGVmYXVsdDtcbiRrZW5kby1pY29uLXNpemUteHhsOiBjYWxjKCAjeyRrZW5kby1pY29uLXNpemV9ICogMiApICFkZWZhdWx0O1xuJGtlbmRvLWljb24tc2l6ZS14eHhsOiBjYWxjKCAjeyRrZW5kby1pY29uLXNpemV9ICogMyApICFkZWZhdWx0O1xuXG4ka2VuZG8temluZGV4LXBvcHVwOiAxICFkZWZhdWx0O1xuJGtlbmRvLXppbmRleC13aW5kb3c6IDIgIWRlZmF1bHQ7XG5cbiRrZW5kby10cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjJzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuXG4vLyBTcGFjaW5nXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3NwYWNpbmcvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL3NwYWNpbmcvaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3BhY2luZy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL3NwYWNpbmcvaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuJF9kZWZhdWx0LXNwYWNpbmc6IChcbiAgICAwOiAwcHgsXG4gICAgMXB4OiAxcHgsXG4gICAgMC41OiAuMTI1cmVtLFxuICAgIDE6IC4yNXJlbSxcbiAgICAxLjU6IC4zNzVyZW0sXG4gICAgMjogLjVyZW0sXG4gICAgMi41OiAuNjI1cmVtLFxuICAgIDM6IC43NXJlbSxcbiAgICAzLjU6IC44NzVyZW0sXG4gICAgNDogMXJlbSxcbiAgICA0LjU6IDEuMTI1cmVtLFxuICAgIDU6IDEuMjVyZW0sXG4gICAgNS41OiAxLjM3NXJlbSxcbiAgICA2OiAxLjVyZW0sXG4gICAgNi41OiAxLjYyNXJlbSxcbiAgICA3OiAxLjc1cmVtLFxuICAgIDcuNTogMS44NzVyZW0sXG4gICAgODogMnJlbSxcbiAgICA5OiAyLjI1cmVtLFxuICAgIDEwOiAyLjVyZW0sXG4gICAgMTE6IDIuNzVyZW0sXG4gICAgMTI6IDNyZW0sXG4gICAgMTM6IDMuMjVyZW0sXG4gICAgMTQ6IDMuNXJlbSxcbiAgICAxNTogMy43NXJlbSxcbiAgICAxNjogNHJlbSxcbiAgICAxNzogNC4yNXJlbSxcbiAgICAxODogNC41cmVtLFxuICAgIDE5OiA0Ljc1cmVtLFxuICAgIDIwOiA1cmVtLFxuICAgIDIxOiA1LjI1cmVtLFxuICAgIDIyOiA1LjVyZW0sXG4gICAgMjM6IDUuNzVyZW0sXG4gICAgMjQ6IDZyZW0sXG4gICAgMjU6IDdyZW0sXG4gICAgMjY6IDhyZW0sXG4gICAgMjc6IDlyZW0sXG4gICAgMjg6IDEwcmVtLFxuICAgIDI5OiAxMXJlbSxcbiAgICAzMDogMTJyZW1cbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2xvYmFsIGRlZmF1bHQgU3BhY2luZyBtYXAuXG4vLy8gQGdyb3VwIHNwYWNpbmdcbiRrZW5kby1zcGFjaW5nOiAkX2RlZmF1bHQtc3BhY2luZyAhZGVmYXVsdDtcblxuJGtlbmRvLXNwYWNpbmc6IGstbWFwLW1lcmdlKCRfZGVmYXVsdC1zcGFjaW5nLCAka2VuZG8tc3BhY2luZyk7XG5cblxuQGZ1bmN0aW9uIGstc3BhY2luZygkc3RlcCkge1xuICAgICRzcGFjaW5nOiBrLW1hcC1nZXQoJGtlbmRvLXNwYWNpbmcsICRzdGVwKTtcbiAgICAkX3N0ZXA6IGstZXNjYXBlLWNsYXNzLW5hbWUoICRzdGVwICk7XG4gICAgQHJldHVybiB2YXIoLS1rZW5kby1zcGFjaW5nLSN7JF9zdGVwfSwgI3skc3BhY2luZ30pO1xufVxuXG4vLyBHZW5lcmF0ZSBhIENTUyB2YXJpYWJsZSBmb3IgZWFjaCB2YWx1ZSBpbiB0aGUgU3BhY2luZyBtYXBcbkBtaXhpbiBrZW5kby1zcGFjaW5nLS1zdHlsZXMoKSB7XG4gICAgOnJvb3Qge1xuICAgICAgICBAZWFjaCAkc3RlcCwgJHNwYWNpbmcgaW4gJGtlbmRvLXNwYWNpbmcge1xuICAgICAgICAgICAgJF9zdGVwOiBrLWVzY2FwZS1jbGFzcy1uYW1lKCAkc3RlcCApO1xuICAgICAgICAgICAgLS1rZW5kby1zcGFjaW5nLSN7JF9zdGVwfTogI3skc3BhY2luZ307XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiRrZW5kby1zaXppbmc6IGstbWFwLW1lcmdlKCAka2VuZG8tc3BhY2luZywgKFxuICAgIFwiYXV0b1wiOiBhdXRvLFxuICAgIFwiMS8yXCI6IDUwJSxcbiAgICBcIjEvM1wiOiAzMy4zMzMzMzMlLFxuICAgIFwiMi8zXCI6IDY2LjY2NjY2NyUsXG4gICAgXCIxLzRcIjogMjUlLFxuICAgIFwiMi80XCI6IDUwJSxcbiAgICBcIjMvNFwiOiA3NSUsXG4gICAgXCIxLzVcIjogMjAlLFxuICAgIFwiMi81XCI6IDQwJSxcbiAgICBcIjMvNVwiOiA2MCUsXG4gICAgXCI0LzVcIjogODAlLFxuICAgIFwiMS82XCI6IDE2LjY2NjY2NyUsXG4gICAgXCIyLzZcIjogMzMuMzMzMzMzJSxcbiAgICBcIjMvNlwiOiA1MCUsXG4gICAgXCI0LzZcIjogNjYuNjY2NjY3JSxcbiAgICBcIjUvNlwiOiA4My4zMzMzMzMlLFxuICAgIFwiMS8xMlwiOiA4LjMzMzMzMyUsXG4gICAgXCIyLzEyXCI6IDE2LjY2NjY2NyUsXG4gICAgXCIzLzEyXCI6IDI1JSxcbiAgICBcIjQvMTJcIjogMzMuMzMzMzMzJSxcbiAgICBcIjUvMTJcIjogNDEuNjY2NjY3JSxcbiAgICBcIjYvMTJcIjogNTAlLFxuICAgIFwiNy8xMlwiOiA1OC4zMzMzMzMlLFxuICAgIFwiOC8xMlwiOiA2Ni42NjY2NjclLFxuICAgIFwiOS8xMlwiOiA3NSUsXG4gICAgXCIxMC8xMlwiOiA4My4zMzMzMzMlLFxuICAgIFwiMTEvMTJcIjogOTEuNjY2NjY3JSxcbiAgICBcImZ1bGxcIjogMTAwJSxcbiAgICBcIm1pblwiOiBtaW4tY29udGVudCxcbiAgICBcIm1heFwiOiBtYXgtY29udGVudCxcbiAgICBcImZpdFwiOiBmaXQtY29udGVudFxuKSkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cblxuJGtlbmRvLWljb24tc3BhY2luZzogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuJGtlbmRvLWljb24tcGFkZGluZzogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuXG4vLyBNZXRyaWNzXG4ka2VuZG8tcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4ka2VuZG8tcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4ka2VuZG8tcGFkZGluZy1zbS14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4ka2VuZG8tcGFkZGluZy1zbS15OiBrLXNwYWNpbmcoMC41KSAhZGVmYXVsdDtcbiRrZW5kby1wYWRkaW5nLW1kLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbiRrZW5kby1wYWRkaW5nLW1kLXk6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbiRrZW5kby1wYWRkaW5nLWxnLXg6IGstc3BhY2luZyg2KSAhZGVmYXVsdDtcbiRrZW5kby1wYWRkaW5nLWxnLXk6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG5cbi8vIFJhZGlpXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2JvcmRlci1yYWRpaS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvYm9yZGVyLXJhZGlpL2luZGV4LmltcG9ydC5zY3NzXG4vLy8gVGhlIG5vbmUgYm9yZGVyIHJhZGl1cyB1c2VkIGFjcm9zcyB0aGUgQ29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcmFkaWlcbiRrZW5kby1ib3JkZXItcmFkaXVzLW5vbmU6IGstbWFwLWdldCgka2VuZG8tc3BhY2luZywgMCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIHNtYWxsIGJvcmRlciByYWRpdXMgdXNlZCBhY3Jvc3MgdGhlIENvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHJhZGlpXG4ka2VuZG8tYm9yZGVyLXJhZGl1cy14czogay1tYXAtZ2V0KCRrZW5kby1zcGFjaW5nLCAxcHgpICFkZWZhdWx0O1xuLy8vIFRoZSBzbWFsbCBib3JkZXIgcmFkaXVzIHVzZWQgYWNyb3NzIHRoZSBDb21wb25lbnRzLlxuLy8vIEBncm91cCByYWRpaVxuJGtlbmRvLWJvcmRlci1yYWRpdXMtc206IGstbWFwLWdldCgka2VuZG8tc3BhY2luZywgMC41KSAhZGVmYXVsdDtcbi8vLyBUaGUgbWVkaXVtIGJvcmRlciByYWRpdXMgdXNlZCBhY3Jvc3MgdGhlIENvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHJhZGlpXG4ka2VuZG8tYm9yZGVyLXJhZGl1cy1tZDogay1tYXAtZ2V0KCRrZW5kby1zcGFjaW5nLCAxKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGFyZ2UgYm9yZGVyIHJhZGl1cyB1c2VkIGFjcm9zcyB0aGUgQ29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcmFkaWlcbiRrZW5kby1ib3JkZXItcmFkaXVzLWxnOiBrLW1hcC1nZXQoJGtlbmRvLXNwYWNpbmcsIDIpICFkZWZhdWx0O1xuLy8vIFRoZSBleHRyYSBsYXJnZSBib3JkZXIgcmFkaXVzIHVzZWQgYWNyb3NzIHRoZSBDb21wb25lbnRzLlxuLy8vIEBncm91cCByYWRpaVxuJGtlbmRvLWJvcmRlci1yYWRpdXMteGw6IGstbWFwLWdldCgka2VuZG8tc3BhY2luZywgMykgIWRlZmF1bHQ7XG4vLy8gVGhlIHRoaXJkIGxhcmdlc3QgYm9yZGVyIHJhZGl1cyB1c2VkIGFjcm9zcyB0aGUgQ29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcmFkaWlcbiRrZW5kby1ib3JkZXItcmFkaXVzLXh4bDogay1tYXAtZ2V0KCRrZW5kby1zcGFjaW5nLCA0KSAhZGVmYXVsdDtcbi8vLyBUaGUgc2Vjb25kIGxhcmdlc3QgYm9yZGVyIHJhZGl1cyB1c2VkIGFjcm9zcyB0aGUgQ29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcmFkaWlcbiRrZW5kby1ib3JkZXItcmFkaXVzLXh4eGw6IGstbWFwLWdldCgka2VuZG8tc3BhY2luZywgNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxhcmdlc3QgYm9yZGVyIHJhZGl1cyB1c2VkIGFjcm9zcyB0aGUgQ29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcmFkaWlcbiRrZW5kby1ib3JkZXItcmFkaXVzLWZ1bGw6IDk5OTlweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBnbG9iYWwgcmFkaWkgTWFwLlxuLy8vIEBncm91cCByYWRpaVxuJGtlbmRvLWJvcmRlci1yYWRpaTogKFxuICAgIG5vbmU6ICRrZW5kby1ib3JkZXItcmFkaXVzLW5vbmUsXG4gICAgeHM6ICRrZW5kby1ib3JkZXItcmFkaXVzLXhzLFxuICAgIHNtOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1zbSxcbiAgICBtZDogJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQsXG4gICAgbGc6ICRrZW5kby1ib3JkZXItcmFkaXVzLWxnLFxuICAgIHhsOiAka2VuZG8tYm9yZGVyLXJhZGl1cy14bCxcbiAgICB4eGw6ICRrZW5kby1ib3JkZXItcmFkaXVzLXh4bCxcbiAgICB4eHhsOiAka2VuZG8tYm9yZGVyLXJhZGl1cy14eHhsLFxuICAgIGZ1bGw6ICRrZW5kby1ib3JkZXItcmFkaXVzLWZ1bGxcbikgIWRlZmF1bHQ7XG5cbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvYm9yZGVyLXJhZGlpL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvYm9yZGVyLXJhZGlpL2luZGV4LmltcG9ydC5zY3NzXG4vLy8gVGhlIG5vbmUgYm9yZGVyIHJhZGl1cyB1c2VkIGFjcm9zcyB0aGUgQ29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcmFkaWlcbiRrZW5kby1ib3JkZXItcmFkaXVzLW5vbmU6IGstbWFwLWdldCgka2VuZG8tc3BhY2luZywgMCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIHNtYWxsIGJvcmRlciByYWRpdXMgdXNlZCBhY3Jvc3MgdGhlIENvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHJhZGlpXG4ka2VuZG8tYm9yZGVyLXJhZGl1cy14czogay1tYXAtZ2V0KCRrZW5kby1zcGFjaW5nLCAxcHgpICFkZWZhdWx0O1xuLy8vIFRoZSBzbWFsbCBib3JkZXIgcmFkaXVzIHVzZWQgYWNyb3NzIHRoZSBDb21wb25lbnRzLlxuLy8vIEBncm91cCByYWRpaVxuJGtlbmRvLWJvcmRlci1yYWRpdXMtc206IGstbWFwLWdldCgka2VuZG8tc3BhY2luZywgMC41KSAhZGVmYXVsdDtcbi8vLyBUaGUgbWVkaXVtIGJvcmRlciByYWRpdXMgdXNlZCBhY3Jvc3MgdGhlIENvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHJhZGlpXG4ka2VuZG8tYm9yZGVyLXJhZGl1cy1tZDogay1tYXAtZ2V0KCRrZW5kby1zcGFjaW5nLCAxKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGFyZ2UgYm9yZGVyIHJhZGl1cyB1c2VkIGFjcm9zcyB0aGUgQ29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcmFkaWlcbiRrZW5kby1ib3JkZXItcmFkaXVzLWxnOiBrLW1hcC1nZXQoJGtlbmRvLXNwYWNpbmcsIDEuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIGxhcmdlIGJvcmRlciByYWRpdXMgdXNlZCBhY3Jvc3MgdGhlIENvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHJhZGlpXG4ka2VuZG8tYm9yZGVyLXJhZGl1cy14bDogay1tYXAtZ2V0KCRrZW5kby1zcGFjaW5nLCAyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGhpcmQgbGFyZ2VzdCBib3JkZXIgcmFkaXVzIHVzZWQgYWNyb3NzIHRoZSBDb21wb25lbnRzLlxuLy8vIEBncm91cCByYWRpaVxuJGtlbmRvLWJvcmRlci1yYWRpdXMteHhsOiBrLW1hcC1nZXQoJGtlbmRvLXNwYWNpbmcsIDMpICFkZWZhdWx0O1xuLy8vIFRoZSBzZWNvbmQgbGFyZ2VzdCBib3JkZXIgcmFkaXVzIHVzZWQgYWNyb3NzIHRoZSBDb21wb25lbnRzLlxuLy8vIEBncm91cCByYWRpaVxuJGtlbmRvLWJvcmRlci1yYWRpdXMteHh4bDogay1tYXAtZ2V0KCRrZW5kby1zcGFjaW5nLCA0KSAhZGVmYXVsdDtcbi8vLyBUaGUgbGFyZ2VzdCBib3JkZXIgcmFkaXVzIHVzZWQgYWNyb3NzIHRoZSBDb21wb25lbnRzLlxuLy8vIEBncm91cCByYWRpaVxuJGtlbmRvLWJvcmRlci1yYWRpdXMtZnVsbDogOTk5OXB4ICFkZWZhdWx0O1xuXG5cbiRfZGVmYXVsdC1ib3JkZXItcmFkaWk6IChcbiAgICBub25lOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1ub25lLFxuICAgIHhzOiAka2VuZG8tYm9yZGVyLXJhZGl1cy14cyxcbiAgICBzbTogJGtlbmRvLWJvcmRlci1yYWRpdXMtc20sXG4gICAgbWQ6ICRrZW5kby1ib3JkZXItcmFkaXVzLW1kLFxuICAgIGxnOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1sZyxcbiAgICB4bDogJGtlbmRvLWJvcmRlci1yYWRpdXMteGwsXG4gICAgeHhsOiAka2VuZG8tYm9yZGVyLXJhZGl1cy14eGwsXG4gICAgeHh4bDogJGtlbmRvLWJvcmRlci1yYWRpdXMteHh4bCxcbiAgICBmdWxsOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1mdWxsXG5cbikgIWRlZmF1bHQ7XG5cbiRrZW5kby1ib3JkZXItcmFkaWk6ICRfZGVmYXVsdC1ib3JkZXItcmFkaWkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2xvYmFsIHJhZGlpIE1hcC5cbi8vLyBAZ3JvdXAgcmFkaWlcbiRrZW5kby1ib3JkZXItcmFkaWk6IGstbWFwLW1lcmdlKCRfZGVmYXVsdC1ib3JkZXItcmFkaWksICRrZW5kby1ib3JkZXItcmFkaWkpO1xuXG5cbkBmdW5jdGlvbiBrLWJvcmRlci1yYWRpdXMoJGtleSkge1xuICAgICRfYm9yZGVyLXJhZGl1czogay1tYXAtZ2V0KCRrZW5kby1ib3JkZXItcmFkaWksICRrZXkpO1xuICAgIEByZXR1cm4gdmFyKC0ta2VuZG8tYm9yZGVyLXJhZGl1cy0jeyRrZXl9LCAkX2JvcmRlci1yYWRpdXMpO1xufVxuXG5AbWl4aW4ga2VuZG8tYm9yZGVyLXJhZGl1cy0tc3R5bGVzKCkge1xuICAgIDpyb290IHtcbiAgICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRrZW5kby1ib3JkZXItcmFkaWkge1xuICAgICAgICAgICAgLS1rZW5kby1ib3JkZXItcmFkaXVzLSN7JGtleX06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyAjZW5kcmVnaW9uXG5cbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2NvbG9yLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2NvbG9yLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZnVuY3Rpb25zLmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvY29sb3Itc3lzdGVtL19mdW5jdGlvbnMuaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3BhbGV0dGVzLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9jb2xvci1zeXN0ZW0vX3BhbGV0dGVzLnNjc3Ncbi8vLyBDb2xvciBwYWxldHRlcyB0byBiZSB1c2VkIGluIHRoZSBLZW5kbyBVSSB0aGVtZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHR5cGUgUmVjb3JkPFN0cmluZywgQ29sb3JNYXA+XG4vLy8gQHByb3Age0NvbG9yTWFwfSBuZXV0cmFsIC0gVGhlIG5ldXRyYWwgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gbWFyc2FsYSAtIFRoZSBtYXJzYWxhIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IGJvb3RzdHJhcEdyYXkgLSBUaGUgQm9vdHN0cmFwIGdyYXkgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gYm9vdHN0cmFwQmx1ZSAtIFRoZSBCb290c3RyYXAgYmx1ZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBib290c3RyYXBJbmRpZ28gLSBUaGUgQm9vdHN0cmFwIGluZGlnbyBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBib290c3RyYXBQdXJwbGUgLSBUaGUgQm9vdHN0cmFwIHB1cnBsZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBib290c3RyYXBQaW5rIC0gVGhlIEJvb3RzdHJhcCBwaW5rIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IGJvb3RzdHJhcFJlZCAtIFRoZSBCb290c3RyYXAgcmVkIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IGJvb3RzdHJhcE9yYW5nZSAtIFRoZSBCb290c3RyYXAgb3JhbmdlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IGJvb3RzdHJhcFllbGxvdyAtIFRoZSBCb290c3RyYXAgeWVsbG93IHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IGJvb3RzdHJhcEdyZWVuIC0gVGhlIEJvb3RzdHJhcCBncmVlbiBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBib290c3RyYXBUZWFsIC0gVGhlIEJvb3RzdHJhcCB0ZWFsIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IGJvb3RzdHJhcEN5YW4gLSBUaGUgQm9vdHN0cmFwIGN5YW4gcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gZmx1ZW50TmV1dHJhbCAtIFRoZSBGbHVlbnQgbmV1dHJhbCBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbEdyYXkgLSBUaGUgTWF0ZXJpYWwgZ3JheSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbEJsdWVHcmF5IC0gVGhlIE1hdGVyaWFsIGJsdWUgZ3JheSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbFJlZCAtIFRoZSBNYXRlcmlhbCByZWQgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gbWF0ZXJpYWxQaW5rIC0gVGhlIE1hdGVyaWFsIHBpbmsgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gbWF0ZXJpYWxQdXJwbGUgLSBUaGUgTWF0ZXJpYWwgcHVycGxlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsRGVlcFB1cnBsZSAtIFRoZSBNYXRlcmlhbCBkZWVwIHB1cnBsZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbEluZGlnbyAtIFRoZSBNYXRlcmlhbCBpbmRpZ28gcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gbWF0ZXJpYWxCbHVlIC0gVGhlIE1hdGVyaWFsIGJsdWUgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gbWF0ZXJpYWxMaWdodEJsdWUgLSBUaGUgTWF0ZXJpYWwgbGlnaHQgYmx1ZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbEN5YW4gLSBUaGUgTWF0ZXJpYWwgY3lhbiBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbFRlYWwgLSBUaGUgTWF0ZXJpYWwgdGVhbCBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbEdyZWVuIC0gVGhlIE1hdGVyaWFsIGdyZWVuIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsTGlnaHRHcmVlbiAtIFRoZSBNYXRlcmlhbCBsaWdodCBncmVlbiBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbExpbWUgLSBUaGUgTWF0ZXJpYWwgbGltZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbFllbGxvdyAtIFRoZSBNYXRlcmlhbCB5ZWxsb3cgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gbWF0ZXJpYWxBbWJlciAtIFRoZSBNYXRlcmlhbCBhbWJlciBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbE9yYW5nZSAtIFRoZSBNYXRlcmlhbCBvcmFuZ2UgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gbWF0ZXJpYWxEZWVwT3JhbmdlIC0gVGhlIE1hdGVyaWFsIGRlZXAgb3JhbmdlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsQnJvd24gLSBUaGUgTWF0ZXJpYWwgYnJvd24gcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gcHJpbWVyR3JheSAtIFRoZSBQcmltZXIgZ3JheSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBwcmltZXJCbHVlIC0gVGhlIFByaW1lciBibHVlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHByaW1lckdyZWVuIC0gVGhlIFByaW1lciBncmVlbiBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBwcmltZXJZZWxsb3cgLSBUaGUgUHJpbWVyIHllbGxvdyBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBwcmltZXJPcmFuZ2UgLSBUaGUgUHJpbWVyIG9yYW5nZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBwcmltZXJSZWQgLSBUaGUgUHJpbWVyIHJlZCBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBwcmltZXJQdXJwbGUgLSBUaGUgUHJpbWVyIHB1cnBsZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBwcmltZXJQaW5rIC0gVGhlIFByaW1lciBwaW5rIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHByaW1lckNvcmFsIC0gVGhlIFByaW1lciBjb3JhbCBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSB0YWlsd2luZE5ldXRyYWwgLSBUaGUgVGFpbHdpbmQgbmV1dHJhbCBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSB0YWlsd2luZFNsYXRlIC0gVGhlIFRhaWx3aW5kIHNsYXRlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kR3JheSAtIFRoZSBUYWlsd2luZCBncmF5IHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kWmluYyAtIFRoZSBUYWlsd2luZCB6aW5jIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kU3RvbmUgLSBUaGUgVGFpbHdpbmQgc3RvbmUgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gdGFpbHdpbmRSZWQgLSBUaGUgVGFpbHdpbmQgcmVkIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kT3JhbmdlIC0gVGhlIFRhaWx3aW5kIG9yYW5nZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSB0YWlsd2luZEFtYmVyIC0gVGhlIFRhaWx3aW5kIGFtYmVyIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kWWVsbG93IC0gVGhlIFRhaWx3aW5kIHllbGxvdyBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSB0YWlsd2luZExpbWUgLSBUaGUgVGFpbHdpbmQgbGltZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSB0YWlsd2luZEdyZWVuIC0gVGhlIFRhaWx3aW5kIGdyZWVuIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kRW1lcmFsZCAtIFRoZSBUYWlsd2luZCBlbWVyYWxkIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kVGVhbCAtIFRoZSBUYWlsd2luZCB0ZWFsIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kQ3lhbiAtIFRoZSBUYWlsd2luZCBjeWFuIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kU2t5IC0gVGhlIFRhaWx3aW5kIHNreSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSB0YWlsd2luZEJsdWUgLSBUaGUgVGFpbHdpbmQgYmx1ZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSB0YWlsd2luZEluZGlnbyAtIFRoZSBUYWlsd2luZCBpbmRpZ28gcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gdGFpbHdpbmRWaW9sZXQgLSBUaGUgVGFpbHdpbmQgdmlvbGV0IHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kUHVycGxlIC0gVGhlIFRhaWx3aW5kIHB1cnBsZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSB0YWlsd2luZEZ1Y2hzaWEgLSBUaGUgVGFpbHdpbmQgZnVjaHNpYSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSB0YWlsd2luZFBpbmsgLSBUaGUgVGFpbHdpbmQgcGluayBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSB0YWlsd2luZFJvc2UgLSBUaGUgVGFpbHdpbmQgcm9zZSBwYWxldHRlXG4vLy9cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4ka2VuZG8tcGFsZXR0ZXM6IChcblxuICAgIC8vIEtlbmRvXG4gICAgbmV1dHJhbDogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2Y4ZjhmOCxcbiAgICAgICAgMTAwOiAjZWRlZGVkLFxuICAgICAgICAyMDA6ICNkNmQ2ZDYsXG4gICAgICAgIDMwMDogI2I3YjdiNyxcbiAgICAgICAgNDAwOiAjOTQ5NDk0LFxuICAgICAgICA1MDA6ICM3Njc2NzYsXG4gICAgICAgIDYwMDogIzVmNWY1ZixcbiAgICAgICAgNzAwOiAjNDk0OTQ5LFxuICAgICAgICA4MDA6ICMzNzM3MzcsXG4gICAgICAgIDkwMDogIzI4MjgyOCxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgbWFyc2FsYTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZhZjBmMixcbiAgICAgICAgMTAwOiAjZjNkZGUwLFxuICAgICAgICAyMDA6ICNlMTk3YTMsXG4gICAgICAgIDMwMDogI2M1NGU2OSxcbiAgICAgICAgNDAwOiAjOGIzNTQ4LFxuICAgICAgICA1MDA6ICM2MjIzMzEsXG4gICAgICAgIDYwMDogIzU1MWQyYSxcbiAgICAgICAgNzAwOiAjNDQxNjIwLFxuICAgICAgICA4MDA6ICMzNDBmMTcsXG4gICAgICAgIDkwMDogIzIzMDgwZSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG5cblxuICAgIC8vIEJvb3RzdHJhcFxuICAgIGJvb3RzdHJhcEdyYXk6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgMTAwOiAjZjhmOWZhLFxuICAgICAgICAyMDA6ICNlOWVjZWYsXG4gICAgICAgIDMwMDogI2RlZTJlNixcbiAgICAgICAgNDAwOiAjY2VkNGRhLFxuICAgICAgICA1MDA6ICNhZGI1YmQsXG4gICAgICAgIDYwMDogIzZjNzU3ZCxcbiAgICAgICAgNzAwOiAjNDk1MDU3LFxuICAgICAgICA4MDA6ICMzNDNhNDAsXG4gICAgICAgIDkwMDogIzIxMjUyOSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgYm9vdHN0cmFwQmx1ZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICAxMDA6ICNjZmUyZmYsXG4gICAgICAgIDIwMDogIzllYzVmZSxcbiAgICAgICAgMzAwOiAjNmVhOGZlLFxuICAgICAgICA0MDA6ICMzZDhiZmQsXG4gICAgICAgIDUwMDogIzBkNmVmZCxcbiAgICAgICAgNjAwOiAjMGE1OGNhLFxuICAgICAgICA3MDA6ICMwODQyOTgsXG4gICAgICAgIDgwMDogIzA1MmM2NSxcbiAgICAgICAgOTAwOiAjMDMxNjMzLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBib290c3RyYXBJbmRpZ286IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgMTAwOiAjZTBjZmZjLFxuICAgICAgICAyMDA6ICNjMjlmZmEsXG4gICAgICAgIDMwMDogI2EzNzBmNyxcbiAgICAgICAgNDAwOiAjODU0MGY1LFxuICAgICAgICA1MDA6ICM2NjEwZjIsXG4gICAgICAgIDYwMDogIzUyMGRjMixcbiAgICAgICAgNzAwOiAjM2QwYTkxLFxuICAgICAgICA4MDA6ICMyOTA2NjEsXG4gICAgICAgIDkwMDogIzE0MDMzMCxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgYm9vdHN0cmFwUHVycGxlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDEwMDogI2UyZDlmMyxcbiAgICAgICAgMjAwOiAjYzViM2U2LFxuICAgICAgICAzMDA6ICNhOThlZGEsXG4gICAgICAgIDQwMDogIzhjNjhjZCxcbiAgICAgICAgNTAwOiAjNmY0MmMxLFxuICAgICAgICA2MDA6ICM1OTM1OWEsXG4gICAgICAgIDcwMDogIzQzMjg3NCxcbiAgICAgICAgODAwOiAjMmMxYTRkLFxuICAgICAgICA5MDA6ICMxNjBkMjcsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIGJvb3RzdHJhcFBpbms6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgMTAwOiAjZjdkNmU2LFxuICAgICAgICAyMDA6ICNlZmFkY2UsXG4gICAgICAgIDMwMDogI2U2ODViNSxcbiAgICAgICAgNDAwOiAjZGU1YzlkLFxuICAgICAgICA1MDA6ICNkNjMzODQsXG4gICAgICAgIDYwMDogI2FiMjk2YSxcbiAgICAgICAgNzAwOiAjODAxZjRmLFxuICAgICAgICA4MDA6ICM1NjE0MzUsXG4gICAgICAgIDkwMDogIzJiMGExYSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgYm9vdHN0cmFwUmVkOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDEwMDogI2Y4ZDdkYSxcbiAgICAgICAgMjAwOiAjZjFhZWI1LFxuICAgICAgICAzMDA6ICNlYTg2OGYsXG4gICAgICAgIDQwMDogI2UzNWQ2YSxcbiAgICAgICAgNTAwOiAjZGMzNTQ1LFxuICAgICAgICA2MDA6ICNiMDJhMzcsXG4gICAgICAgIDcwMDogIzg0MjAyOSxcbiAgICAgICAgODAwOiAjNTgxNTFjLFxuICAgICAgICA5MDA6ICMyYzBiMGUsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIGJvb3RzdHJhcE9yYW5nZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICAxMDA6ICNmZmU1ZDAsXG4gICAgICAgIDIwMDogI2ZlY2JhMSxcbiAgICAgICAgMzAwOiAjZmViMjcyLFxuICAgICAgICA0MDA6ICNmZDk4NDMsXG4gICAgICAgIDUwMDogI2ZkN2UxNCxcbiAgICAgICAgNjAwOiAjY2E2NTEwLFxuICAgICAgICA3MDA6ICM5ODRjMGMsXG4gICAgICAgIDgwMDogIzY1MzIwOCxcbiAgICAgICAgOTAwOiAjMzMxOTA0LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBib290c3RyYXBZZWxsb3c6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgMTAwOiAjZmZmM2NkLFxuICAgICAgICAyMDA6ICNmZmU2OWMsXG4gICAgICAgIDMwMDogI2ZmZGE2YSxcbiAgICAgICAgNDAwOiAjZmZjZDM5LFxuICAgICAgICA1MDA6ICNmZmMxMDcsXG4gICAgICAgIDYwMDogI2NjOWEwNixcbiAgICAgICAgNzAwOiAjOTk3NDA0LFxuICAgICAgICA4MDA6ICM2NjRkMDMsXG4gICAgICAgIDkwMDogIzMzMjcwMSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgYm9vdHN0cmFwR3JlZW46IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgMTAwOiAjZDFlN2RkLFxuICAgICAgICAyMDA6ICNhM2NmYmIsXG4gICAgICAgIDMwMDogIzc1Yjc5OCxcbiAgICAgICAgNDAwOiAjNDc5Zjc2LFxuICAgICAgICA1MDA6ICMxOTg3NTQsXG4gICAgICAgIDYwMDogIzE0NmM0MyxcbiAgICAgICAgNzAwOiAjMGY1MTMyLFxuICAgICAgICA4MDA6ICMwYTM2MjIsXG4gICAgICAgIDkwMDogIzA1MWIxMSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgYm9vdHN0cmFwVGVhbDogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICAxMDA6ICNkMmY0ZWEsXG4gICAgICAgIDIwMDogI2E2ZTlkNSxcbiAgICAgICAgMzAwOiAjNzlkZmMxLFxuICAgICAgICA0MDA6ICM0ZGQ0YWMsXG4gICAgICAgIDUwMDogIzIwYzk5NyxcbiAgICAgICAgNjAwOiAjMWFhMTc5LFxuICAgICAgICA3MDA6ICMxMzc5NWIsXG4gICAgICAgIDgwMDogIzBkNTAzYyxcbiAgICAgICAgOTAwOiAjMDYyODFlLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBib290c3RyYXBDeWFuOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDEwMDogI2NmZjRmYyxcbiAgICAgICAgMjAwOiAjOWVlYWY5LFxuICAgICAgICAzMDA6ICM2ZWRmZjYsXG4gICAgICAgIDQwMDogIzNkZDVmMyxcbiAgICAgICAgNTAwOiAjMGRjYWYwLFxuICAgICAgICA2MDA6ICMwYWEyYzAsXG4gICAgICAgIDcwMDogIzA4Nzk5MCxcbiAgICAgICAgODAwOiAjMDU1MTYwLFxuICAgICAgICA5MDA6ICMwMzI4MzAsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuXG5cbiAgICAvLyBGbHVlbnRcbiAgICBmbHVlbnROZXV0cmFsOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmFmOWY4LFxuICAgICAgICAxMDA6ICNlZGViZTksXG4gICAgICAgIDE1MDogI2UxZGZkZCxcbiAgICAgICAgMjAwOiAjZDJkMGNlLFxuICAgICAgICAyNTA6ICNjOGM2YzQsXG4gICAgICAgIDMwMDogI2JkYmJiOCxcbiAgICAgICAgMzUwOiAjYjNiMGFkLFxuICAgICAgICA0MDA6ICNhMTlmOWQsXG4gICAgICAgIDQ1MDogIzhhODg4NixcbiAgICAgICAgNTAwOiAjNzk3Nzc1LFxuICAgICAgICA1NTA6ICM2MDVlNWMsXG4gICAgICAgIDYwMDogIzQ4NDY0NCxcbiAgICAgICAgNjUwOiAjM2IzYTM5LFxuICAgICAgICA3MDA6ICMzMjMxMzAsXG4gICAgICAgIDc1MDogIzI5MjgyNyxcbiAgICAgICAgODAwOiAjMjAxZjFlLFxuICAgICAgICA4NTA6ICMxYjFhMTksXG4gICAgICAgIDkwMDogIzE2MTUxNCxcbiAgICAgICAgOTUwOiAjMTExMDBmLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcblxuXG4gICAgLy8gTWF0ZXJpYWxcbiAgICBtYXRlcmlhbEdyYXk6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmYWZhZmEsXG4gICAgICAgIDEwMDogI2Y1ZjVmNSxcbiAgICAgICAgMjAwOiAjZWVlZWVlLFxuICAgICAgICAzMDA6ICNlMGUwZTAsXG4gICAgICAgIDQwMDogI2JkYmRiZCxcbiAgICAgICAgNTAwOiAjOWU5ZTllLFxuICAgICAgICA2MDA6ICM3NTc1NzUsXG4gICAgICAgIDcwMDogIzYxNjE2MSxcbiAgICAgICAgODAwOiAjNDI0MjQyLFxuICAgICAgICA5MDA6ICMyMTIxMjEsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsQmx1ZUdyYXk6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNlY2VmZjEsXG4gICAgICAgIDEwMDogI2NmZDhkYyxcbiAgICAgICAgMjAwOiAjYjBiZWM1LFxuICAgICAgICAzMDA6ICM5MGE0YWUsXG4gICAgICAgIDQwMDogIzc4OTA5YyxcbiAgICAgICAgNTAwOiAjNjA3ZDhiLFxuICAgICAgICA2MDA6ICM1NDZlN2EsXG4gICAgICAgIDcwMDogIzQ1NWE2NCxcbiAgICAgICAgODAwOiAjMzc0NzRmLFxuICAgICAgICA5MDA6ICMyNjMyMzgsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsUmVkOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmZlYmVlLFxuICAgICAgICAxMDA6ICNmZmNkZDIsXG4gICAgICAgIDIwMDogI2VmOWE5YSxcbiAgICAgICAgMzAwOiAjZTU3MzczLFxuICAgICAgICA0MDA6ICNlZjUzNTAsXG4gICAgICAgIDUwMDogI2Y0NDMzNixcbiAgICAgICAgNjAwOiAjZTUzOTM1LFxuICAgICAgICA3MDA6ICNkMzJmMmYsXG4gICAgICAgIDgwMDogI2M2MjgyOCxcbiAgICAgICAgOTAwOiAjYjcxYzFjLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBtYXRlcmlhbFBpbms6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmY2U0ZWMsXG4gICAgICAgIDEwMDogI2Y4YmJkMCxcbiAgICAgICAgMjAwOiAjZjQ4ZmIxLFxuICAgICAgICAzMDA6ICNmMDYyOTIsXG4gICAgICAgIDQwMDogI2VjNDA3YSxcbiAgICAgICAgLy8gNTAwIHdhcyAjZTkxZTYzLCBidXQgY2hhbmdlZCBmb3IgYmV0dGVyIGNvbnRyYXN0IGFnYWluc3Qgd2hpdGVcbiAgICAgICAgNTAwOiAjZTUxYTVmLFxuICAgICAgICA2MDA6ICNkODFiNjAsXG4gICAgICAgIDcwMDogI2MyMTg1YixcbiAgICAgICAgODAwOiAjYWQxNDU3LFxuICAgICAgICA5MDA6ICM4ODBlNGYsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsUHVycGxlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZjNlNWY1LFxuICAgICAgICAxMDA6ICNlMWJlZTcsXG4gICAgICAgIDIwMDogI2NlOTNkOCxcbiAgICAgICAgMzAwOiAjYmE2OGM4LFxuICAgICAgICA0MDA6ICNhYjQ3YmMsXG4gICAgICAgIDUwMDogIzljMjdiMCxcbiAgICAgICAgNjAwOiAjOGUyNGFhLFxuICAgICAgICA3MDA6ICM3YjFmYTIsXG4gICAgICAgIDgwMDogIzZhMWI5YSxcbiAgICAgICAgOTAwOiAjNGExNDhjLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBtYXRlcmlhbERlZXBQdXJwbGU6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNlZGU3ZjYsXG4gICAgICAgIDEwMDogI2QxYzRlOSxcbiAgICAgICAgMjAwOiAjYjM5ZGRiLFxuICAgICAgICAzMDA6ICM5NTc1Y2QsXG4gICAgICAgIDQwMDogIzdlNTdjMixcbiAgICAgICAgNTAwOiAjNjczYWI3LFxuICAgICAgICA2MDA6ICM1ZTM1YjEsXG4gICAgICAgIDcwMDogIzUxMmRhOCxcbiAgICAgICAgODAwOiAjNDUyN2EwLFxuICAgICAgICA5MDA6ICMzMTFiOTIsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsSW5kaWdvOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZThlYWY2LFxuICAgICAgICAxMDA6ICNjNWNhZTksXG4gICAgICAgIDIwMDogIzlmYThkYSxcbiAgICAgICAgMzAwOiAjNzk4NmNiLFxuICAgICAgICA0MDA6ICM1YzZiYzAsXG4gICAgICAgIDUwMDogIzNmNTFiNSxcbiAgICAgICAgNjAwOiAjMzk0OWFiLFxuICAgICAgICA3MDA6ICMzMDNmOWYsXG4gICAgICAgIDgwMDogIzI4MzU5MyxcbiAgICAgICAgOTAwOiAjMWEyMzdlLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBtYXRlcmlhbEJsdWU6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNlM2YyZmQsXG4gICAgICAgIDEwMDogI2JiZGVmYixcbiAgICAgICAgMjAwOiAjOTBjYWY5LFxuICAgICAgICAzMDA6ICM2NGI1ZjYsXG4gICAgICAgIDQwMDogIzQyYTVmNSxcbiAgICAgICAgNTAwOiAjMjE5NmYzLFxuICAgICAgICA2MDA6ICMxZTg4ZTUsXG4gICAgICAgIDcwMDogIzE5NzZkMixcbiAgICAgICAgODAwOiAjMTU2NWMwLFxuICAgICAgICA5MDA6ICMwZDQ3YTEsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsTGlnaHRCbHVlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZTFmNWZlLFxuICAgICAgICAxMDA6ICNiM2U1ZmMsXG4gICAgICAgIDIwMDogIzgxZDRmYSxcbiAgICAgICAgMzAwOiAjNGZjM2Y3LFxuICAgICAgICA0MDA6ICMyOWI2ZjYsXG4gICAgICAgIDUwMDogIzAzYTlmNCxcbiAgICAgICAgNjAwOiAjMDM5YmU1LFxuICAgICAgICA3MDA6ICMwMjg4ZDEsXG4gICAgICAgIDgwMDogIzAyNzdiZCxcbiAgICAgICAgOTAwOiAjMDE1NzliLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBtYXRlcmlhbEN5YW46IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNlMGY3ZmEsXG4gICAgICAgIDEwMDogI2IyZWJmMixcbiAgICAgICAgMjAwOiAjODBkZWVhLFxuICAgICAgICAzMDA6ICM0ZGQwZTEsXG4gICAgICAgIDQwMDogIzI2YzZkYSxcbiAgICAgICAgNTAwOiAjMDBiY2Q0LFxuICAgICAgICA2MDA6ICMwMGFjYzEsXG4gICAgICAgIDcwMDogIzAwOTdhNyxcbiAgICAgICAgODAwOiAjMDA4MzhmLFxuICAgICAgICA5MDA6ICMwMDYwNjQsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsVGVhbDogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2UwZjJmMSxcbiAgICAgICAgMTAwOiAjYjJkZmRiLFxuICAgICAgICAyMDA6ICM4MGNiYzQsXG4gICAgICAgIDMwMDogIzRkYjZhYyxcbiAgICAgICAgNDAwOiAjMjZhNjlhLFxuICAgICAgICA1MDA6ICMwMDk2ODgsXG4gICAgICAgIDYwMDogIzAwODk3YixcbiAgICAgICAgNzAwOiAjMDA3OTZiLFxuICAgICAgICA4MDA6ICMwMDY5NWMsXG4gICAgICAgIDkwMDogIzAwNGQ0MCxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgbWF0ZXJpYWxHcmVlbjogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2U4ZjVlOSxcbiAgICAgICAgMTAwOiAjYzhlNmM5LFxuICAgICAgICAyMDA6ICNhNWQ2YTcsXG4gICAgICAgIDMwMDogIzgxYzc4NCxcbiAgICAgICAgNDAwOiAjNjZiYjZhLFxuICAgICAgICA1MDA6ICM0Y2FmNTAsXG4gICAgICAgIDYwMDogIzQzYTA0NyxcbiAgICAgICAgNzAwOiAjMzg4ZTNjLFxuICAgICAgICA4MDA6ICMyZTdkMzIsXG4gICAgICAgIDkwMDogIzFiNWUyMCxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgbWF0ZXJpYWxMaWdodEdyZWVuOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZjFmOGU5LFxuICAgICAgICAxMDA6ICNkY2VkYzgsXG4gICAgICAgIDIwMDogI2M1ZTFhNSxcbiAgICAgICAgMzAwOiAjYWVkNTgxLFxuICAgICAgICA0MDA6ICM5Y2NjNjUsXG4gICAgICAgIDUwMDogIzhiYzM0YSxcbiAgICAgICAgNjAwOiAjN2NiMzQyLFxuICAgICAgICA3MDA6ICM2ODlmMzgsXG4gICAgICAgIDgwMDogIzU1OGIyZixcbiAgICAgICAgOTAwOiAjMzM2OTFlLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBtYXRlcmlhbExpbWU6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmOWZiZTcsXG4gICAgICAgIDEwMDogI2YwZjRjMyxcbiAgICAgICAgMjAwOiAjZTZlZTljLFxuICAgICAgICAzMDA6ICNkY2U3NzUsXG4gICAgICAgIDQwMDogI2Q0ZTE1NyxcbiAgICAgICAgNTAwOiAjY2RkYzM5LFxuICAgICAgICA2MDA6ICNjMGNhMzMsXG4gICAgICAgIDcwMDogI2FmYjQyYixcbiAgICAgICAgODAwOiAjOWU5ZDI0LFxuICAgICAgICA5MDA6ICM4Mjc3MTcsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsWWVsbG93OiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmZmZGU3LFxuICAgICAgICAxMDA6ICNmZmY5YzQsXG4gICAgICAgIDIwMDogI2ZmZjU5ZCxcbiAgICAgICAgMzAwOiAjZmZmMTc2LFxuICAgICAgICA0MDA6ICNmZmVlNTgsXG4gICAgICAgIDUwMDogI2ZmZWIzYixcbiAgICAgICAgNjAwOiAjZmRkODM1LFxuICAgICAgICA3MDA6ICNmYmMwMmQsXG4gICAgICAgIDgwMDogI2Y5YTgyNSxcbiAgICAgICAgOTAwOiAjZjU3ZjE3LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBtYXRlcmlhbEFtYmVyOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmZmOGUxLFxuICAgICAgICAxMDA6ICNmZmVjYjMsXG4gICAgICAgIDIwMDogI2ZmZTA4MixcbiAgICAgICAgMzAwOiAjZmZkNTRmLFxuICAgICAgICA0MDA6ICNmZmNhMjgsXG4gICAgICAgIDUwMDogI2ZmYzEwNyxcbiAgICAgICAgNjAwOiAjZmZiMzAwLFxuICAgICAgICA3MDA6ICNmZmEwMDAsXG4gICAgICAgIDgwMDogI2ZmOGYwMCxcbiAgICAgICAgOTAwOiAjZmY2ZjAwLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBtYXRlcmlhbE9yYW5nZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZmZjNlMCxcbiAgICAgICAgMTAwOiAjZmZlMGIyLFxuICAgICAgICAyMDA6ICNmZmNjODAsXG4gICAgICAgIDMwMDogI2ZmYjc0ZCxcbiAgICAgICAgNDAwOiAjZmZhNzI2LFxuICAgICAgICA1MDA6ICNmZjk4MDAsXG4gICAgICAgIDYwMDogI2ZiOGMwMCxcbiAgICAgICAgNzAwOiAjZjU3YzAwLFxuICAgICAgICA4MDA6ICNlZjZjMDAsXG4gICAgICAgIDkwMDogI2U2NTEwMCxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgbWF0ZXJpYWxEZWVwT3JhbmdlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmJlOWU3LFxuICAgICAgICAxMDA6ICNmZmNjYmMsXG4gICAgICAgIDIwMDogI2ZmYWI5MSxcbiAgICAgICAgMzAwOiAjZmY4YTY1LFxuICAgICAgICA0MDA6ICNmZjcwNDMsXG4gICAgICAgIDUwMDogI2ZmNTcyMixcbiAgICAgICAgNjAwOiAjZjQ1MTFlLFxuICAgICAgICA3MDA6ICNlNjRhMTksXG4gICAgICAgIDgwMDogI2Q4NDMxNSxcbiAgICAgICAgOTAwOiAjYmYzNjBjLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBtYXRlcmlhbEJyb3duOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZWZlYmU5LFxuICAgICAgICAxMDA6ICNkN2NjYzgsXG4gICAgICAgIDIwMDogI2JjYWFhNCxcbiAgICAgICAgMzAwOiAjYTE4ODdmLFxuICAgICAgICA0MDA6ICM4ZDZlNjMsXG4gICAgICAgIDUwMDogIzc5NTU0OCxcbiAgICAgICAgNjAwOiAjNmQ0YzQxLFxuICAgICAgICA3MDA6ICM1ZDQwMzcsXG4gICAgICAgIDgwMDogIzRlMzQyZSxcbiAgICAgICAgOTAwOiAjM2UyNzIzLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcblxuXG4gICAgLy8gUHJpbWVyXG4gICAgcHJpbWVyR3JheTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2Y2ZjhmYSxcbiAgICAgICAgMTAwOiAjZWFlZWYyLFxuICAgICAgICAyMDA6ICNkMGQ3ZGUsXG4gICAgICAgIDMwMDogI2FmYjhjMSxcbiAgICAgICAgNDAwOiAjOGM5NTlmLFxuICAgICAgICA1MDA6ICM2ZTc3ODEsXG4gICAgICAgIDYwMDogIzU3NjA2YSxcbiAgICAgICAgNzAwOiAjNDI0YTUzLFxuICAgICAgICA4MDA6ICMzMjM4M2YsXG4gICAgICAgIDkwMDogIzI0MjkyZixcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgcHJpbWVyQmx1ZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2RkZjRmZixcbiAgICAgICAgMTAwOiAjYjZlM2ZmLFxuICAgICAgICAyMDA6ICM4MGNjZmYsXG4gICAgICAgIDMwMDogIzU0YWVmZixcbiAgICAgICAgNDAwOiAjMjE4YmZmLFxuICAgICAgICA1MDA6ICMwOTY5ZGEsXG4gICAgICAgIDYwMDogIzA1NTBhZSxcbiAgICAgICAgNzAwOiAjMDMzZDhiLFxuICAgICAgICA4MDA6ICMwYTMwNjksXG4gICAgICAgIDkwMDogIzAwMjE1NSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgcHJpbWVyR3JlZW46IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNkYWZiZTEsXG4gICAgICAgIDEwMDogI2FjZWViYixcbiAgICAgICAgMjAwOiAjNmZkZDhiLFxuICAgICAgICAzMDA6ICM0YWMyNmIsXG4gICAgICAgIDQwMDogIzJkYTQ0ZSxcbiAgICAgICAgNTAwOiAjMWE3ZjM3LFxuICAgICAgICA2MDA6ICMxMTYzMjksXG4gICAgICAgIDcwMDogIzA0NGYxZSxcbiAgICAgICAgODAwOiAjMDAzZDE2LFxuICAgICAgICA5MDA6ICMwMDJkMTEsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHByaW1lclllbGxvdzogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZmZjhjNSxcbiAgICAgICAgMTAwOiAjZmFlMTdkLFxuICAgICAgICAyMDA6ICNlYWM1NGYsXG4gICAgICAgIDMwMDogI2Q0YTcyYyxcbiAgICAgICAgNDAwOiAjYmY4NzAwLFxuICAgICAgICA1MDA6ICM5YTY3MDAsXG4gICAgICAgIDYwMDogIzdkNGUwMCxcbiAgICAgICAgNzAwOiAjNjMzYzAxLFxuICAgICAgICA4MDA6ICM0ZDJkMDAsXG4gICAgICAgIDkwMDogIzNiMjMwMCxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgcHJpbWVyT3JhbmdlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmZmMWU1LFxuICAgICAgICAxMDA6ICNmZmQ4YjUsXG4gICAgICAgIDIwMDogI2ZmYjc3YyxcbiAgICAgICAgMzAwOiAjZmI4ZjQ0LFxuICAgICAgICA0MDA6ICNlMTZmMjQsXG4gICAgICAgIDUwMDogI2JjNGMwMCxcbiAgICAgICAgNjAwOiAjOTUzODAwLFxuICAgICAgICA3MDA6ICM3NjJjMDAsXG4gICAgICAgIDgwMDogIzVjMjIwMCxcbiAgICAgICAgOTAwOiAjNDcxNzAwLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBwcmltZXJSZWQ6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmZmViZTksXG4gICAgICAgIDEwMDogI2ZmY2VjYixcbiAgICAgICAgMjAwOiAjZmZhYmE4LFxuICAgICAgICAzMDA6ICNmZjgxODIsXG4gICAgICAgIDQwMDogI2ZhNDU0OSxcbiAgICAgICAgNTAwOiAjY2YyMjJlLFxuICAgICAgICA2MDA6ICNhNDBlMjYsXG4gICAgICAgIDcwMDogIzgyMDcxZSxcbiAgICAgICAgODAwOiAjNjYwMDE4LFxuICAgICAgICA5MDA6ICM0YzAwMTQsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHByaW1lclB1cnBsZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZiZWZmZixcbiAgICAgICAgMTAwOiAjZWNkOGZmLFxuICAgICAgICAyMDA6ICNkOGI5ZmYsXG4gICAgICAgIDMwMDogI2MyOTdmZixcbiAgICAgICAgNDAwOiAjYTQ3NWY5LFxuICAgICAgICA1MDA6ICM4MjUwZGYsXG4gICAgICAgIDYwMDogIzY2MzliYSxcbiAgICAgICAgNzAwOiAjNTEyYTk3LFxuICAgICAgICA4MDA6ICMzZTFmNzksXG4gICAgICAgIDkwMDogIzJlMTQ2MSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgcHJpbWVyUGluazogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZmZWZmNyxcbiAgICAgICAgMTAwOiAjZmZkM2ViLFxuICAgICAgICAyMDA6ICNmZmFkZGEsXG4gICAgICAgIDMwMDogI2ZmODBjOCxcbiAgICAgICAgNDAwOiAjZTg1YWFkLFxuICAgICAgICA1MDA6ICNiZjM5ODksXG4gICAgICAgIDYwMDogIzk5Mjg2ZSxcbiAgICAgICAgNzAwOiAjNzcyMDU3LFxuICAgICAgICA4MDA6ICM2MTEzNDcsXG4gICAgICAgIDkwMDogIzRkMDMzNixcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgcHJpbWVyQ29yYWw6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmZmYwZWIsXG4gICAgICAgIDEwMDogI2ZmZDZjYyxcbiAgICAgICAgMjAwOiAjZmZiNGExLFxuICAgICAgICAzMDA6ICNmZDhjNzMsXG4gICAgICAgIDQwMDogI2VjNjU0NyxcbiAgICAgICAgNTAwOiAjYzQ0MzJiLFxuICAgICAgICA2MDA6ICM5ZTJmMWMsXG4gICAgICAgIDcwMDogIzgwMWYwZixcbiAgICAgICAgODAwOiAjNjkxMTA1LFxuICAgICAgICA5MDA6ICM1MTA5MDEsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuXG5cbiAgICAvLyBUYWlsd2luZFxuICAgIHRhaWx3aW5kTmV1dHJhbDogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZhZmFmYSxcbiAgICAgICAgMTAwOiAjZjVmNWY1LFxuICAgICAgICAyMDA6ICNlNWU1ZTUsXG4gICAgICAgIDMwMDogI2Q0ZDRkNCxcbiAgICAgICAgNDAwOiAjYTNhM2EzLFxuICAgICAgICA1MDA6ICM3MzczNzMsXG4gICAgICAgIDYwMDogIzUyNTI1MixcbiAgICAgICAgNzAwOiAjNDA0MDQwLFxuICAgICAgICA4MDA6ICMyNjI2MjYsXG4gICAgICAgIDkwMDogIzE3MTcxNyxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRTbGF0ZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2Y4ZmFmYyxcbiAgICAgICAgMTAwOiAjZjFmNWY5LFxuICAgICAgICAyMDA6ICNlMmU4ZjAsXG4gICAgICAgIDMwMDogI2NiZDVlMSxcbiAgICAgICAgNDAwOiAjOTRhM2I4LFxuICAgICAgICA1MDA6ICM2NDc0OGIsXG4gICAgICAgIDYwMDogIzQ3NTU2OSxcbiAgICAgICAgNzAwOiAjMzM0MTU1LFxuICAgICAgICA4MDA6ICMxZTI5M2IsXG4gICAgICAgIDkwMDogIzBmMTcyYSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRHcmF5OiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZjlmYWZiLFxuICAgICAgICAxMDA6ICNmM2Y0ZjYsXG4gICAgICAgIDIwMDogI2U1ZTdlYixcbiAgICAgICAgMzAwOiAjZDFkNWRiLFxuICAgICAgICA0MDA6ICM5Y2EzYWYsXG4gICAgICAgIDUwMDogIzZiNzI4MCxcbiAgICAgICAgNjAwOiAjNGI1NTYzLFxuICAgICAgICA3MDA6ICMzNzQxNTEsXG4gICAgICAgIDgwMDogIzFmMjkzNyxcbiAgICAgICAgOTAwOiAjMTExODI3LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZFppbmM6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmYWZhZmEsXG4gICAgICAgIDEwMDogI2Y0ZjRmNSxcbiAgICAgICAgMjAwOiAjZTRlNGU3LFxuICAgICAgICAzMDA6ICNkNGQ0ZDgsXG4gICAgICAgIDQwMDogI2ExYTFhYSxcbiAgICAgICAgNTAwOiAjNzE3MTdhLFxuICAgICAgICA2MDA6ICM1MjUyNWIsXG4gICAgICAgIDcwMDogIzNmM2Y0NixcbiAgICAgICAgODAwOiAjMjcyNzJhLFxuICAgICAgICA5MDA6ICMxODE4MWIsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHRhaWx3aW5kU3RvbmU6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmYWZhZjksXG4gICAgICAgIDEwMDogI2Y1ZjVmNCxcbiAgICAgICAgMjAwOiAjZTdlNWU0LFxuICAgICAgICAzMDA6ICNkNmQzZDEsXG4gICAgICAgIDQwMDogI2E4YTI5ZSxcbiAgICAgICAgNTAwOiAjNzg3MTZjLFxuICAgICAgICA2MDA6ICM1NzUzNGUsXG4gICAgICAgIDcwMDogIzQ0NDAzYyxcbiAgICAgICAgODAwOiAjMjkyNTI0LFxuICAgICAgICA5MDA6ICMxYzE5MTcsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHRhaWx3aW5kUmVkOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmVmMmYyLFxuICAgICAgICAxMDA6ICNmZWUyZTIsXG4gICAgICAgIDIwMDogI2ZlY2FjYSxcbiAgICAgICAgMzAwOiAjZmNhNWE1LFxuICAgICAgICA0MDA6ICNmODcxNzEsXG4gICAgICAgIDUwMDogI2VmNDQ0NCxcbiAgICAgICAgNjAwOiAjZGMyNjI2LFxuICAgICAgICA3MDA6ICNiOTFjMWMsXG4gICAgICAgIDgwMDogIzk5MWIxYixcbiAgICAgICAgOTAwOiAjN2YxZDFkLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZE9yYW5nZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZmZjdlZCxcbiAgICAgICAgMTAwOiAjZmZlZGQ1LFxuICAgICAgICAyMDA6ICNmZWQ3YWEsXG4gICAgICAgIDMwMDogI2ZkYmE3NCxcbiAgICAgICAgNDAwOiAjZmI5MjNjLFxuICAgICAgICA1MDA6ICNmOTczMTYsXG4gICAgICAgIDYwMDogI2VhNTgwYyxcbiAgICAgICAgNzAwOiAjYzI0MTBjLFxuICAgICAgICA4MDA6ICM5YTM0MTIsXG4gICAgICAgIDkwMDogIzdjMmQxMixcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRBbWJlcjogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZmZmJlYixcbiAgICAgICAgMTAwOiAjZmVmM2M3LFxuICAgICAgICAyMDA6ICNmZGU2OGEsXG4gICAgICAgIDMwMDogI2ZjZDM0ZCxcbiAgICAgICAgNDAwOiAjZmJiZjI0LFxuICAgICAgICA1MDA6ICNmNTllMGIsXG4gICAgICAgIDYwMDogI2Q5NzcwNixcbiAgICAgICAgNzAwOiAjYjQ1MzA5LFxuICAgICAgICA4MDA6ICM5MjQwMGUsXG4gICAgICAgIDkwMDogIzc4MzUwZixcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRZZWxsb3c6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmZWZjZTgsXG4gICAgICAgIDEwMDogI2ZlZjljMyxcbiAgICAgICAgMjAwOiAjZmVmMDhhLFxuICAgICAgICAzMDA6ICNmZGUwNDcsXG4gICAgICAgIDQwMDogI2ZhY2MxNSxcbiAgICAgICAgNTAwOiAjZWFiMzA4LFxuICAgICAgICA2MDA6ICNjYThhMDQsXG4gICAgICAgIDcwMDogI2ExNjIwNyxcbiAgICAgICAgODAwOiAjODU0ZDBlLFxuICAgICAgICA5MDA6ICM3MTNmMTIsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHRhaWx3aW5kTGltZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2Y3ZmVlNyxcbiAgICAgICAgMTAwOiAjZWNmY2NiLFxuICAgICAgICAyMDA6ICNkOWY5OWQsXG4gICAgICAgIDMwMDogI2JlZjI2NCxcbiAgICAgICAgNDAwOiAjYTNlNjM1LFxuICAgICAgICA1MDA6ICM4NGNjMTYsXG4gICAgICAgIDYwMDogIzY1YTMwZCxcbiAgICAgICAgNzAwOiAjNGQ3YzBmLFxuICAgICAgICA4MDA6ICMzZjYyMTIsXG4gICAgICAgIDkwMDogIzM2NTMxNCxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRHcmVlbjogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2YwZmRmNCxcbiAgICAgICAgMTAwOiAjZGNmY2U3LFxuICAgICAgICAyMDA6ICNiYmY3ZDAsXG4gICAgICAgIDMwMDogIzg2ZWZhYyxcbiAgICAgICAgNDAwOiAjNGFkZTgwLFxuICAgICAgICA1MDA6ICMyMmM1NWUsXG4gICAgICAgIDYwMDogIzE2YTM0YSxcbiAgICAgICAgNzAwOiAjMTU4MDNkLFxuICAgICAgICA4MDA6ICMxNjY1MzQsXG4gICAgICAgIDkwMDogIzE0NTMyZCxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRFbWVyYWxkOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZWNmZGY1LFxuICAgICAgICAxMDA6ICNkMWZhZTUsXG4gICAgICAgIDIwMDogI2E3ZjNkMCxcbiAgICAgICAgMzAwOiAjNmVlN2I3LFxuICAgICAgICA0MDA6ICMzNGQzOTksXG4gICAgICAgIDUwMDogIzEwYjk4MSxcbiAgICAgICAgNjAwOiAjMDU5NjY5LFxuICAgICAgICA3MDA6ICMwNDc4NTcsXG4gICAgICAgIDgwMDogIzA2NWY0NixcbiAgICAgICAgOTAwOiAjMDY0ZTNiLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZFRlYWw6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmMGZkZmEsXG4gICAgICAgIDEwMDogI2NjZmJmMSxcbiAgICAgICAgMjAwOiAjOTlmNmU0LFxuICAgICAgICAzMDA6ICM1ZWVhZDQsXG4gICAgICAgIDQwMDogIzJkZDRiZixcbiAgICAgICAgNTAwOiAjMTRiOGE2LFxuICAgICAgICA2MDA6ICMwZDk0ODgsXG4gICAgICAgIDcwMDogIzBmNzY2ZSxcbiAgICAgICAgODAwOiAjMTE1ZTU5LFxuICAgICAgICA5MDA6ICMxMzRlNGEsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHRhaWx3aW5kQ3lhbjogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2VjZmVmZixcbiAgICAgICAgMTAwOiAjY2ZmYWZlLFxuICAgICAgICAyMDA6ICNhNWYzZmMsXG4gICAgICAgIDMwMDogIzY3ZThmOSxcbiAgICAgICAgNDAwOiAjMjJkM2VlLFxuICAgICAgICA1MDA6ICMwNmI2ZDQsXG4gICAgICAgIDYwMDogIzA4OTFiMixcbiAgICAgICAgNzAwOiAjMGU3NDkwLFxuICAgICAgICA4MDA6ICMxNTVlNzUsXG4gICAgICAgIDkwMDogIzE2NGU2MyxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRTa3k6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmMGY5ZmYsXG4gICAgICAgIDEwMDogI2UwZjJmZSxcbiAgICAgICAgMjAwOiAjYmFlNmZkLFxuICAgICAgICAzMDA6ICM3ZGQzZmMsXG4gICAgICAgIDQwMDogIzM4YmRmOCxcbiAgICAgICAgNTAwOiAjMGVhNWU5LFxuICAgICAgICA2MDA6ICMwMjg0YzcsXG4gICAgICAgIDcwMDogIzAzNjlhMSxcbiAgICAgICAgODAwOiAjMDc1OTg1LFxuICAgICAgICA5MDA6ICMwYzRhNmUsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHRhaWx3aW5kQmx1ZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2VmZjZmZixcbiAgICAgICAgMTAwOiAjZGJlYWZlLFxuICAgICAgICAyMDA6ICNiZmRiZmUsXG4gICAgICAgIDMwMDogIzkzYzVmZCxcbiAgICAgICAgNDAwOiAjNjBhNWZhLFxuICAgICAgICA1MDA6ICMzYjgyZjYsXG4gICAgICAgIDYwMDogIzI1NjNlYixcbiAgICAgICAgNzAwOiAjMWQ0ZWQ4LFxuICAgICAgICA4MDA6ICMxZTQwYWYsXG4gICAgICAgIDkwMDogIzFlM2E4YSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRJbmRpZ286IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNlZWYyZmYsXG4gICAgICAgIDEwMDogI2UwZTdmZixcbiAgICAgICAgMjAwOiAjYzdkMmZlLFxuICAgICAgICAzMDA6ICNhNWI0ZmMsXG4gICAgICAgIDQwMDogIzgxOGNmOCxcbiAgICAgICAgNTAwOiAjNjM2NmYxLFxuICAgICAgICA2MDA6ICM0ZjQ2ZTUsXG4gICAgICAgIDcwMDogIzQzMzhjYSxcbiAgICAgICAgODAwOiAjMzczMGEzLFxuICAgICAgICA5MDA6ICMzMTJlODEsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHRhaWx3aW5kVmlvbGV0OiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZjVmM2ZmLFxuICAgICAgICAxMDA6ICNlZGU5ZmUsXG4gICAgICAgIDIwMDogI2RkZDZmZSxcbiAgICAgICAgMzAwOiAjYzRiNWZkLFxuICAgICAgICA0MDA6ICNhNzhiZmEsXG4gICAgICAgIDUwMDogIzhiNWNmNixcbiAgICAgICAgNjAwOiAjN2MzYWVkLFxuICAgICAgICA3MDA6ICM2ZDI4ZDksXG4gICAgICAgIDgwMDogIzViMjFiNixcbiAgICAgICAgOTAwOiAjNGMxZDk1LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZFB1cnBsZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZhZjVmZixcbiAgICAgICAgMTAwOiAjZjNlOGZmLFxuICAgICAgICAyMDA6ICNlOWQ1ZmYsXG4gICAgICAgIDMwMDogI2Q4YjRmZSxcbiAgICAgICAgNDAwOiAjYzA4NGZjLFxuICAgICAgICA1MDA6ICNhODU1ZjcsXG4gICAgICAgIDYwMDogIzkzMzNlYSxcbiAgICAgICAgNzAwOiAjN2UyMmNlLFxuICAgICAgICA4MDA6ICM2YjIxYTgsXG4gICAgICAgIDkwMDogIzU4MWM4NyxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRGdWNoc2lhOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmRmNGZmLFxuICAgICAgICAxMDA6ICNmYWU4ZmYsXG4gICAgICAgIDIwMDogI2Y1ZDBmZSxcbiAgICAgICAgMzAwOiAjZjBhYmZjLFxuICAgICAgICA0MDA6ICNlODc5ZjksXG4gICAgICAgIDUwMDogI2Q5NDZlZixcbiAgICAgICAgNjAwOiAjYzAyNmQzLFxuICAgICAgICA3MDA6ICNhMjFjYWYsXG4gICAgICAgIDgwMDogIzg2MTk4ZixcbiAgICAgICAgOTAwOiAjNzAxYTc1LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZFBpbms6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmZGYyZjgsXG4gICAgICAgIDEwMDogI2ZjZTdmMyxcbiAgICAgICAgMjAwOiAjZmJjZmU4LFxuICAgICAgICAzMDA6ICNmOWE4ZDQsXG4gICAgICAgIDQwMDogI2Y0NzJiNixcbiAgICAgICAgNTAwOiAjZWM0ODk5LFxuICAgICAgICA2MDA6ICNkYjI3NzcsXG4gICAgICAgIDcwMDogI2JlMTg1ZCxcbiAgICAgICAgODAwOiAjOWQxNzRkLFxuICAgICAgICA5MDA6ICM4MzE4NDMsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHRhaWx3aW5kUm9zZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZmZjFmMixcbiAgICAgICAgMTAwOiAjZmZlNGU2LFxuICAgICAgICAyMDA6ICNmZWNkZDMsXG4gICAgICAgIDMwMDogI2ZkYTRhZixcbiAgICAgICAgNDAwOiAjZmI3MTg1LFxuICAgICAgICA1MDA6ICNmNDNmNWUsXG4gICAgICAgIDYwMDogI2UxMWQ0OCxcbiAgICAgICAgNzAwOiAjYmUxMjNjLFxuICAgICAgICA4MDA6ICM5ZjEyMzksXG4gICAgICAgIDkwMDogIzg4MTMzNyxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgIClcblxuKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuXG5AZnVuY3Rpb24gay1nZW5lcmF0ZS10aGVtZS12YXJpYW50KCAkdmFyaWFudCwgJG1hdHJpeCwgJHNyYy1wYWxldHRlLW5hbWUgKSB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAZWFjaCAkdWktc3RhdGUsICRpbmRpY2VzIGluICRtYXRyaXgge1xuICAgICAgICAkcHJlZml4OiBpZiggJHVpLXN0YXRlID09IERFRkFVTFQsIFwiXCIsIFwiI3skdWktc3RhdGV9LVwiICk7XG4gICAgICAgICRpbmRpY2VzLWNvdW50OiBrLWxpc3QtbGVuZ3RoKCAkaW5kaWNlcyApO1xuXG4gICAgICAgICRiZy1wcm9wOiBrLWxpc3QtbnRoKCAkaW5kaWNlcywgMSApO1xuICAgICAgICAkdGV4dC1wcm9wOiBrLWxpc3QtbnRoKCAkaW5kaWNlcywgMiApO1xuICAgICAgICAkYm9yZGVyLXByb3A6IGstbGlzdC1udGgoICRpbmRpY2VzLCAzICk7XG4gICAgICAgICRncmFkaWVudC1wcm9wOiBpZiggJGluZGljZXMtY291bnQgPiAzLCBrLWxpc3QtbnRoKCAkaW5kaWNlcywgNCApLCBudWxsICk7XG4gICAgICAgICRzaGFkb3ctcHJvcDogaWYoICRpbmRpY2VzLWNvdW50ID4gNCwgay1saXN0LW50aCggJGluZGljZXMsIDUgKSwgbnVsbCApO1xuICAgICAgICAkb3V0bGluZS1wcm9wOiBpZiggJGluZGljZXMtY291bnQgPiA1LCBrLWxpc3QtbnRoKCAkaW5kaWNlcywgNiApLCBudWxsICk7XG5cbiAgICAgICAgLy8gVGFrZSB2YWx1ZSBmcm9tIHRoZSBwYWxldHRlIG9ubHkgaWYgaXQgaXMgYSBudW1iZXJcbiAgICAgICAgJGJnOiBpZiggay1tZXRhLXR5cGUtb2YoICRiZy1wcm9wICkgPT0gbnVtYmVyLCBrLWdldC10aGVtZS1jb2xvciggJHNyYy1wYWxldHRlLW5hbWUsICRiZy1wcm9wICksICRiZy1wcm9wICk7XG4gICAgICAgICR0ZXh0OiBpZiggay1tZXRhLXR5cGUtb2YoICR0ZXh0LXByb3AgKSA9PSBudW1iZXIsIGstZ2V0LXRoZW1lLWNvbG9yKCAkc3JjLXBhbGV0dGUtbmFtZSwgJHRleHQtcHJvcCApLCAkdGV4dC1wcm9wICk7XG4gICAgICAgICRib3JkZXI6IGlmKCBrLW1ldGEtdHlwZS1vZiggJGJvcmRlci1wcm9wICkgPT0gbnVtYmVyLCBrLWdldC10aGVtZS1jb2xvciggJHNyYy1wYWxldHRlLW5hbWUsICRib3JkZXItcHJvcCApLCAkYm9yZGVyLXByb3AgKTtcbiAgICAgICAgJGdyYWRpZW50OiAkZ3JhZGllbnQtcHJvcDtcbiAgICAgICAgJHNoYWRvdzogJHNoYWRvdy1wcm9wO1xuICAgICAgICAkb3V0bGluZTogJG91dGxpbmUtcHJvcDtcblxuICAgICAgICAkcmVzdWx0OiBrLW1hcC1tZXJnZSgkcmVzdWx0LCAoXG4gICAgICAgICAgICAjeyRwcmVmaXh9Ymc6ICRiZyxcbiAgICAgICAgICAgICN7JHByZWZpeH10ZXh0OiAkdGV4dCxcbiAgICAgICAgICAgICN7JHByZWZpeH1ib3JkZXI6ICRib3JkZXIsXG4gICAgICAgICAgICAjeyRwcmVmaXh9Z3JhZGllbnQ6ICRncmFkaWVudCxcbiAgICAgICAgICAgICN7JHByZWZpeH1zaGFkb3c6ICRzaGFkb3csXG4gICAgICAgICAgICAjeyRwcmVmaXh9b3V0bGluZTogJG91dGxpbmVcbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgJHJlc3VsdDogKFxuICAgICAgICAjeyR2YXJpYW50fTogJHJlc3VsdFxuICAgICk7XG5cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG5cbn07XG5cblxuQGZ1bmN0aW9uIGstcHJvY2Vzcy12YXJpYW50LW1hdHJpY2VzKCAkdGhlbWUtbWF0cml4LCAkcGFsZXR0ZS1tYXRyaXg6ICgpICkge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgLy8gQGRlYnVnICR0aGVtZS1tYXRyaXg7XG4gICAgLy8gQGRlYnVnICRwYWxldHRlLW1hdHJpeDtcblxuICAgIEBlYWNoICR2YXJpYW50LCAkZGVmaW5pdGlvbiBpbiAkdGhlbWUtbWF0cml4IHtcbiAgICAgICAgJHRjLWluZGV4OiBrLXN0cmluZy1pbmRleCggJHZhcmlhbnQsIFwiVEhFTUVfQ09MT1JcIiApO1xuICAgICAgICAkc3JjLXBhbGV0dGUtbmFtZTogay1tYXAtZ2V0KCAkZGVmaW5pdGlvbiwgUEFMRVRURSApO1xuICAgICAgICAkbWF0cml4OiBrLW1hcC1yZW1vdmUoICRkZWZpbml0aW9uLCBQQUxFVFRFICk7XG5cbiAgICAgICAgQGlmICgkdGMtaW5kZXggPT0gbnVsbCApIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICAgICAgJHRtcC1yZXN1bHQ6IGstZ2VuZXJhdGUtdGhlbWUtdmFyaWFudCggJHZhcmlhbnQsICRtYXRyaXgsICRzcmMtcGFsZXR0ZS1uYW1lICk7XG4gICAgICAgICAgICAkcmVzdWx0OiBrLW1hcC1tZXJnZSggJHJlc3VsdCwgJHRtcC1yZXN1bHQpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBlYWNoICRjb2xvciwgJHBhbGV0dGUgaW4gJHBhbGV0dGUtbWF0cml4IHtcbiAgICAgICAgICAgICAgICAkdmFyaWFudC1uYW1lOiBrLXN0cmluZy1yZXBsYWNlKCAkdmFyaWFudCwgVEhFTUVfQ09MT1IsICRjb2xvcik7XG4gICAgICAgICAgICAgICAgJHBhbGV0dGUtbmFtZTogay1zdHJpbmctdW5xdW90ZSgkc3JjLXBhbGV0dGUtbmFtZSArIFwiXCIpO1xuXG4gICAgICAgICAgICAgICAgQGlmICgkcGFsZXR0ZS1uYW1lID09IFRIRU1FX0NPTE9SKSB7XG4gICAgICAgICAgICAgICAgICAgICRwYWxldHRlLW5hbWU6IGstc3RyaW5nLXJlcGxhY2UoICRwYWxldHRlLW5hbWUsIFRIRU1FX0NPTE9SLCAkY29sb3IgKTtcbiAgICAgICAgICAgICAgICAgICAgJHBhbGV0dGUtbmFtZTogay1tYXAtZ2V0KCAkcGFsZXR0ZS1tYXRyaXgsICRwYWxldHRlLW5hbWUgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAkdG1wLXJlc3VsdDogay1nZW5lcmF0ZS10aGVtZS12YXJpYW50KCAkdmFyaWFudC1uYW1lLCAkbWF0cml4LCAkcGFsZXR0ZS1uYW1lICk7XG4gICAgICAgICAgICAgICAgJHJlc3VsdDogay1tYXAtbWVyZ2UoICRyZXN1bHQsICR0bXAtcmVzdWx0ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cblxuQGZ1bmN0aW9uIGstZ2V0LXRoZW1lLXBhbGV0dGUoICRuYW1lICkge1xuICAgIEByZXR1cm4gay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZXMsICRuYW1lICk7XG59XG5cbkBmdW5jdGlvbiBrLWdldC10aGVtZS1jb2xvciggJHBhbGV0dGUsICRodWUgKSB7XG4gICAgQGlmICggay1tZXRhLXR5cGUtb2YoICRwYWxldHRlICkgPT0gXCJtYXBcIiApIHtcbiAgICAgICAgQHJldHVybiBrLW1hcC1nZXQoICRwYWxldHRlLCAkaHVlICk7XG4gICAgfVxuXG4gICAgQHJldHVybiBrLW1hcC1nZXQoIGstZ2V0LXRoZW1lLXBhbGV0dGUoICRwYWxldHRlICksICRodWUgKTtcbn1cblxuQGZ1bmN0aW9uIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggJG5hbWUsICRmYWxsYmFjazogXCJpbmhlcml0XCIsICRwcmVmaXg6IFwia2VuZG8tXCIgKSB7XG4gICAgQHJldHVybiB2YXIoIC0tI3skcHJlZml4fSN7JG5hbWV9LCAjeyRmYWxsYmFja30gKTtcbn1cblxuQGZ1bmN0aW9uIGstZ2V0LXN3YXRjaC1jb2xvciggJG5hbWUsICRjb2xvciApIHtcbiAgICAkbWFwOiAoXG4gICAgICAgIGFwcC1zdXJmYWNlOiBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLFxuICAgICAgICBvbi1hcHAtc3VyZmFjZTogay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSxcbiAgICAgICAgc3VidGxlOiBrLWNvbG9yKCBzdWJ0bGUgKSxcbiAgICAgICAgc3VyZmFjZTogay1jb2xvciggc3VyZmFjZSApLFxuICAgICAgICBzdXJmYWNlLWFsdDogay1jb2xvciggc3VyZmFjZS1hbHQgKSxcbiAgICAgICAgYm9yZGVyOiBrLWNvbG9yKCBib3JkZXIgKSxcbiAgICAgICAgYm9yZGVyLWFsdDogay1jb2xvciggYm9yZGVyLWFsdCApLFxuICAgICAgICBjb2xvci1zdWJ0bGU6IGstY29sb3IoICN7JGNvbG9yfS1zdWJ0bGUgKSxcbiAgICAgICAgY29sb3Itc3VidGxlLWhvdmVyOiBrLWNvbG9yKCAjeyRjb2xvcn0tc3VidGxlLWhvdmVyICksXG4gICAgICAgIGNvbG9yLXN1YnRsZS1hY3RpdmU6IGstY29sb3IoICN7JGNvbG9yfS1zdWJ0bGUtYWN0aXZlICksXG4gICAgICAgIGNvbG9yOiBrLWNvbG9yKCAjeyRjb2xvcn0gKSxcbiAgICAgICAgY29sb3ItaG92ZXI6IGstY29sb3IoICN7JGNvbG9yfS1ob3ZlciApLFxuICAgICAgICBjb2xvci1hY3RpdmU6IGstY29sb3IoICN7JGNvbG9yfS1hY3RpdmUgKSxcbiAgICAgICAgY29sb3ItZW1waGFzaXM6IGstY29sb3IoICN7JGNvbG9yfS1lbXBoYXNpcyApLFxuICAgICAgICBjb2xvci1vbi1zdWJ0bGU6IGstY29sb3IoICN7JGNvbG9yfS1vbi1zdWJ0bGUgKSxcbiAgICAgICAgb24tY29sb3I6IGstY29sb3IoIG9uLSN7JGNvbG9yfSApLFxuICAgICAgICBjb2xvci1vbi1zdXJmYWNlOiBrLWNvbG9yKCAjeyRjb2xvcn0tb24tc3VyZmFjZSApLFxuICAgICAgICBvbi1jb2xvci1kaXNhYmxlZDogY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLSN7JGNvbG9yfSApIDQ2JSwgdHJhbnNwYXJlbnQpXG4gICAgKTtcblxuICAgIEByZXR1cm4gaWYoIGstbWFwLWhhcy1rZXkoICRtYXAsICRuYW1lICksIGstbWFwLWdldCggJG1hcCwgJG5hbWUgKSwgJG5hbWUgKTtcbn07XG5cbkBmdW5jdGlvbiBrLWdlbmVyYXRlLXRoZW1lLXZhcmlhdGlvbiggJHRoZW1lLWNvbG9yLCAkc291cmNlLXBhbGV0dGUtbmFtZSwgJG1hcHBpbmcgKSB7XG4gICAgJHRlbXA6ICggKTtcblxuICAgIEBlYWNoICR1aS1zdGF0ZSwgJGluZGljZXMgaW4gJG1hcHBpbmcge1xuICAgICAgICAkcHJlZml4OiBpZiggJHVpLXN0YXRlID09IG5vcm1hbCwgJycsICcjeyR1aS1zdGF0ZX0tJyApO1xuXG4gICAgICAgICRiZy1wcm9wOiBrLWxpc3QtbnRoKCRpbmRpY2VzLCAxKTtcbiAgICAgICAgJHRleHQtcHJvcDogay1saXN0LW50aCgkaW5kaWNlcywgMik7XG4gICAgICAgICRib3JkZXItcHJvcDogay1saXN0LW50aCgkaW5kaWNlcywgMyk7XG5cbiAgICAgICAgLy8gVGFrZSB2YWx1ZSBmcm9tIHRoZSBwYWxldHRlIG9ubHkgaWYgaXQgaXMgYSBudW1iZXJcbiAgICAgICAgJGJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1nZXQtc3dhdGNoLWNvbG9yKCAkYmctcHJvcCwgJHNvdXJjZS1wYWxldHRlLW5hbWUgKSwgaWYoIGstbWV0YS10eXBlLW9mKCRiZy1wcm9wKSA9PSBudW1iZXIsIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggI3skc291cmNlLXBhbGV0dGUtbmFtZX0tI3skYmctcHJvcH0gKSwgJGJnLXByb3AgKSk7XG4gICAgICAgICR0ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1nZXQtc3dhdGNoLWNvbG9yKCAkdGV4dC1wcm9wLCAkc291cmNlLXBhbGV0dGUtbmFtZSApLCBpZiggay1tZXRhLXR5cGUtb2YoJHRleHQtcHJvcCkgPT0gbnVtYmVyLCBrLWdldC10aGVtZS1jb2xvci12YXIoICN7JHNvdXJjZS1wYWxldHRlLW5hbWV9LSN7JHRleHQtcHJvcH0gKSwgJHRleHQtcHJvcCApKTtcbiAgICAgICAgJGJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstZ2V0LXN3YXRjaC1jb2xvciggJGJvcmRlci1wcm9wLCAkc291cmNlLXBhbGV0dGUtbmFtZSApLCBpZiggay1tZXRhLXR5cGUtb2YoJGJvcmRlci1wcm9wKSA9PSBudW1iZXIsIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggI3skc291cmNlLXBhbGV0dGUtbmFtZX0tI3skYm9yZGVyLXByb3B9ICksICRib3JkZXItcHJvcCApKTtcblxuXG4gICAgICAgICR0ZW1wOiBrLW1hcC1kZWVwLW1lcmdlKCAkdGVtcCwgKFxuICAgICAgICAgICAgI3skcHJlZml4fWJnOiAkYmcsXG4gICAgICAgICAgICAjeyRwcmVmaXh9dGV4dDogJHRleHQsXG4gICAgICAgICAgICAjeyRwcmVmaXh9Ym9yZGVyOiAkYm9yZGVyXG4gICAgICAgICkpO1xuXG4gICAgICAgIC8vIEFkZCBvdXRsaW5lIGlmIHByb3ZpZGVkIGluIHRoZSBtYXBcbiAgICAgICAgQGlmICggay1saXN0LWxlbmd0aCgkaW5kaWNlcykgPiAzICkge1xuICAgICAgICAgICAgJG91dGxpbmUtcHJvcDogay1saXN0LW50aCgkaW5kaWNlcywgNCk7XG4gICAgICAgICAgICAkb3V0bGluZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstZ2V0LXN3YXRjaC1jb2xvciggJG91dGxpbmUtcHJvcCwgJHNvdXJjZS1wYWxldHRlLW5hbWUgKSwgaWYoIGstbWV0YS10eXBlLW9mKCRvdXRsaW5lLXByb3ApID09IG51bWJlciwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCAjeyRzb3VyY2UtcGFsZXR0ZS1uYW1lfS0jeyRvdXRsaW5lLXByb3B9ICksICRvdXRsaW5lLXByb3AgKSk7XG5cbiAgICAgICAgICAgICR0ZW1wOiBrLW1hcC1kZWVwLW1lcmdlKCAkdGVtcCwgKFxuICAgICAgICAgICAgICAgICN7JHByZWZpeH1vdXRsaW5lOiAkb3V0bGluZVxuICAgICAgICAgICAgKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAkbWFwOiAoXG4gICAgICAgICN7JHRoZW1lLWNvbG9yfTogJHRlbXBcbiAgICApO1xuXG4gICAgQHJldHVybiAkbWFwO1xuXG59O1xuXG5AZnVuY3Rpb24gay1nZW5lcmF0ZS1maWxsLW1vZGUtdGhlbWUtdmFyaWF0aW9uKCAkZmlsbC1tb2RlLCAkdGhlbWUtY29sb3IsICRzb3VyY2UtcGFsZXR0ZS1uYW1lLCAkbWFwcGluZyApIHtcblxuICAgICRtYXA6IGstZ2VuZXJhdGUtdGhlbWUtdmFyaWF0aW9uKCAkdGhlbWUtY29sb3IsICRzb3VyY2UtcGFsZXR0ZS1uYW1lLCAkbWFwcGluZyApO1xuXG4gICAgJHJlc3VsdDogKFxuICAgICAgICN7JGZpbGwtbW9kZX06ICRtYXBcbiAgICApO1xuXG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG5AZnVuY3Rpb24gay1oZXgtdG8tcmdiKCAkY29sb3IgKSB7XG4gICAgQGlmKCRjb2xvcikge1xuICAgICAgICAkcjogay1jb2xvci1yZWQoJGNvbG9yKTtcbiAgICAgICAgJGc6IGstY29sb3ItZ3JlZW4oJGNvbG9yKTtcbiAgICAgICAgJGI6IGstY29sb3ItYmx1ZSgkY29sb3IpO1xuXG4gICAgICAgIEByZXR1cm4gJHIsICRnLCAkYjtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbWl4aW5zLmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvY29sb3Itc3lzdGVtL19taXhpbnMuaW1wb3J0LnNjc3NcbkBtaXhpbiBrLWNzcy12YXJzKCRtYXApIHtcbiAgICBAZWFjaCAkZ3JvdXAsICR2YWx1ZXMgaW4gJG1hcCB7XG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAgICAgICAgIC0ta2VuZG8tI3trLW1ldGEtaW5zcGVjdCgkZ3JvdXApfS0jeyRrZXl9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3N3YXRjaC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvY29sb3Itc3lzdGVtL19zd2F0Y2guc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZnVuY3Rpb25zLmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvY29sb3Itc3lzdGVtL19mdW5jdGlvbnMuaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cbi8vIENvbmZpZ1xuJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBDb2xvcnNcbiRfZGVmYXVsdC1jb2xvcnM6IChcbiAgICAvLyBNaXNjXG4gICAgYXBwLXN1cmZhY2U6IG51bGwsXG4gICAgb24tYXBwLXN1cmZhY2U6IG51bGwsXG4gICAgc3VidGxlOiBudWxsLFxuICAgIHN1cmZhY2U6IG51bGwsXG4gICAgc3VyZmFjZS1hbHQ6IG51bGwsXG4gICAgYm9yZGVyOiBudWxsLFxuICAgIGJvcmRlci1hbHQ6IG51bGwsXG4gICAgLy8gQmFzZVxuICAgIGJhc2Utc3VidGxlOiBudWxsLFxuICAgIGJhc2Utc3VidGxlLWhvdmVyOiBudWxsLFxuICAgIGJhc2Utc3VidGxlLWFjdGl2ZTogbnVsbCxcbiAgICBiYXNlOiBudWxsLFxuICAgIGJhc2UtaG92ZXI6IG51bGwsXG4gICAgYmFzZS1hY3RpdmU6IG51bGwsXG4gICAgYmFzZS1lbXBoYXNpczogbnVsbCxcbiAgICBiYXNlLW9uLXN1YnRsZTogbnVsbCxcbiAgICBvbi1iYXNlOiBudWxsLFxuICAgIGJhc2Utb24tc3VyZmFjZTogbnVsbCxcbiAgICAvLyBQcmltYXJ5XG4gICAgcHJpbWFyeS1zdWJ0bGU6IG51bGwsXG4gICAgcHJpbWFyeS1zdWJ0bGUtaG92ZXI6IG51bGwsXG4gICAgcHJpbWFyeS1zdWJ0bGUtYWN0aXZlOiBudWxsLFxuICAgIHByaW1hcnk6IG51bGwsXG4gICAgcHJpbWFyeS1ob3ZlcjogbnVsbCxcbiAgICBwcmltYXJ5LWFjdGl2ZTogbnVsbCxcbiAgICBwcmltYXJ5LWVtcGhhc2lzOiBudWxsLFxuICAgIHByaW1hcnktb24tc3VidGxlOiBudWxsLFxuICAgIG9uLXByaW1hcnk6IG51bGwsXG4gICAgcHJpbWFyeS1vbi1zdXJmYWNlOiBudWxsLFxuICAgIC8vIFNlY29uZGFyeVxuICAgIHNlY29uZGFyeS1zdWJ0bGU6IG51bGwsXG4gICAgc2Vjb25kYXJ5LXN1YnRsZS1ob3ZlcjogbnVsbCxcbiAgICBzZWNvbmRhcnktc3VidGxlLWFjdGl2ZTogbnVsbCxcbiAgICBzZWNvbmRhcnk6IG51bGwsXG4gICAgc2Vjb25kYXJ5LWhvdmVyOiBudWxsLFxuICAgIHNlY29uZGFyeS1hY3RpdmU6IG51bGwsXG4gICAgc2Vjb25kYXJ5LWVtcGhhc2lzOiBudWxsLFxuICAgIHNlY29uZGFyeS1vbi1zdWJ0bGU6IG51bGwsXG4gICAgb24tc2Vjb25kYXJ5OiBudWxsLFxuICAgIHNlY29uZGFyeS1vbi1zdXJmYWNlOiBudWxsLFxuICAgIC8vIFRlcnRpYXJ5XG4gICAgdGVydGlhcnktc3VidGxlOiBudWxsLFxuICAgIHRlcnRpYXJ5LXN1YnRsZS1ob3ZlcjogbnVsbCxcbiAgICB0ZXJ0aWFyeS1zdWJ0bGUtYWN0aXZlOiBudWxsLFxuICAgIHRlcnRpYXJ5OiBudWxsLFxuICAgIHRlcnRpYXJ5LWhvdmVyOiBudWxsLFxuICAgIHRlcnRpYXJ5LWFjdGl2ZTogbnVsbCxcbiAgICB0ZXJ0aWFyeS1lbXBoYXNpczogbnVsbCxcbiAgICB0ZXJ0aWFyeS1vbi1zdWJ0bGU6IG51bGwsXG4gICAgb24tdGVydGlhcnk6IG51bGwsXG4gICAgdGVydGlhcnktb24tc3VyZmFjZTogbnVsbCxcbiAgICAvLyBJbmZvXG4gICAgaW5mby1zdWJ0bGU6IG51bGwsXG4gICAgaW5mby1zdWJ0bGUtaG92ZXI6IG51bGwsXG4gICAgaW5mby1zdWJ0bGUtYWN0aXZlOiBudWxsLFxuICAgIGluZm86IG51bGwsXG4gICAgaW5mby1ob3ZlcjogbnVsbCxcbiAgICBpbmZvLWFjdGl2ZTogbnVsbCxcbiAgICBpbmZvLWVtcGhhc2lzOiBudWxsLFxuICAgIGluZm8tb24tc3VidGxlOiBudWxsLFxuICAgIG9uLWluZm86IG51bGwsXG4gICAgaW5mby1vbi1zdXJmYWNlOiBudWxsLFxuICAgIC8vIFN1Y2Nlc3NcbiAgICBzdWNjZXNzLXN1YnRsZTogbnVsbCxcbiAgICBzdWNjZXNzLXN1YnRsZS1ob3ZlcjogbnVsbCxcbiAgICBzdWNjZXNzLXN1YnRsZS1hY3RpdmU6IG51bGwsXG4gICAgc3VjY2VzczogbnVsbCxcbiAgICBzdWNjZXNzLWhvdmVyOiBudWxsLFxuICAgIHN1Y2Nlc3MtYWN0aXZlOiBudWxsLFxuICAgIHN1Y2Nlc3MtZW1waGFzaXM6IG51bGwsXG4gICAgc3VjY2Vzcy1vbi1zdWJ0bGU6IG51bGwsXG4gICAgb24tc3VjY2VzczogbnVsbCxcbiAgICBzdWNjZXNzLW9uLXN1cmZhY2U6IG51bGwsXG4gICAgLy8gV2FybmluZ1xuICAgIHdhcm5pbmctc3VidGxlOiBudWxsLFxuICAgIHdhcm5pbmctc3VidGxlLWhvdmVyOiBudWxsLFxuICAgIHdhcm5pbmctc3VidGxlLWFjdGl2ZTogbnVsbCxcbiAgICB3YXJuaW5nOiBudWxsLFxuICAgIHdhcm5pbmctaG92ZXI6IG51bGwsXG4gICAgd2FybmluZy1hY3RpdmU6IG51bGwsXG4gICAgd2FybmluZy1lbXBoYXNpczogbnVsbCxcbiAgICB3YXJuaW5nLW9uLXN1YnRsZTogbnVsbCxcbiAgICBvbi13YXJuaW5nOiBudWxsLFxuICAgIHdhcm5pbmctb24tc3VyZmFjZTogbnVsbCxcbiAgICAvLyBFcnJvclxuICAgIGVycm9yLXN1YnRsZTogbnVsbCxcbiAgICBlcnJvci1zdWJ0bGUtaG92ZXI6IG51bGwsXG4gICAgZXJyb3Itc3VidGxlLWFjdGl2ZTogbnVsbCxcbiAgICBlcnJvcjogbnVsbCxcbiAgICBlcnJvci1ob3ZlcjogbnVsbCxcbiAgICBlcnJvci1hY3RpdmU6IG51bGwsXG4gICAgZXJyb3ItZW1waGFzaXM6IG51bGwsXG4gICAgZXJyb3Itb24tc3VidGxlOiBudWxsLFxuICAgIG9uLWVycm9yOiBudWxsLFxuICAgIGVycm9yLW9uLXN1cmZhY2U6IG51bGwsXG4gICAgLy8gTGlnaHRcbiAgICBsaWdodC1zdWJ0bGU6IG51bGwsXG4gICAgbGlnaHQtc3VidGxlLWhvdmVyOiBudWxsLFxuICAgIGxpZ2h0LXN1YnRsZS1hY3RpdmU6IG51bGwsXG4gICAgbGlnaHQ6IG51bGwsXG4gICAgbGlnaHQtaG92ZXI6IG51bGwsXG4gICAgbGlnaHQtYWN0aXZlOiBudWxsLFxuICAgIGxpZ2h0LWVtcGhhc2lzOiBudWxsLFxuICAgIGxpZ2h0LW9uLXN1YnRsZTogbnVsbCxcbiAgICBvbi1saWdodDogbnVsbCxcbiAgICBsaWdodC1vbi1zdXJmYWNlOiBudWxsLFxuICAgIC8vIERhcmtcbiAgICBkYXJrLXN1YnRsZTogbnVsbCxcbiAgICBkYXJrLXN1YnRsZS1ob3ZlcjogbnVsbCxcbiAgICBkYXJrLXN1YnRsZS1hY3RpdmU6IG51bGwsXG4gICAgZGFyazogbnVsbCxcbiAgICBkYXJrLWhvdmVyOiBudWxsLFxuICAgIGRhcmstYWN0aXZlOiBudWxsLFxuICAgIGRhcmstZW1waGFzaXM6IG51bGwsXG4gICAgZGFyay1vbi1zdWJ0bGU6IG51bGwsXG4gICAgb24tZGFyazogbnVsbCxcbiAgICBkYXJrLW9uLXN1cmZhY2U6IG51bGwsXG4gICAgLy8gSW52ZXJzZVxuICAgIGludmVyc2Utc3VidGxlOiBudWxsLFxuICAgIGludmVyc2Utc3VidGxlLWhvdmVyOiBudWxsLFxuICAgIGludmVyc2Utc3VidGxlLWFjdGl2ZTogbnVsbCxcbiAgICBpbnZlcnNlOiBudWxsLFxuICAgIGludmVyc2UtaG92ZXI6IG51bGwsXG4gICAgaW52ZXJzZS1hY3RpdmU6IG51bGwsXG4gICAgaW52ZXJzZS1lbXBoYXNpczogbnVsbCxcbiAgICBpbnZlcnNlLW9uLXN1YnRsZTogbnVsbCxcbiAgICBvbi1pbnZlcnNlOiBudWxsLFxuICAgIGludmVyc2Utb24tc3VyZmFjZTogbnVsbCxcbiAgICAvLyBTZXJpZXMgQVxuICAgIHNlcmllcy1hOiBudWxsLFxuICAgIHNlcmllcy1hLWJvbGQ6IG51bGwsXG4gICAgc2VyaWVzLWEtYm9sZGVyOiBudWxsLFxuICAgIHNlcmllcy1hLXN1YnRsZTogbnVsbCxcbiAgICBzZXJpZXMtYS1zdWJ0bGVyOiBudWxsLFxuICAgIC8vIFNlcmllcyBCXG4gICAgc2VyaWVzLWI6IG51bGwsXG4gICAgc2VyaWVzLWItYm9sZDogbnVsbCxcbiAgICBzZXJpZXMtYi1ib2xkZXI6IG51bGwsXG4gICAgc2VyaWVzLWItc3VidGxlOiBudWxsLFxuICAgIHNlcmllcy1iLXN1YnRsZXI6IG51bGwsXG4gICAgLy8gU2VyaWVzIENcbiAgICBzZXJpZXMtYzogbnVsbCxcbiAgICBzZXJpZXMtYy1ib2xkOiBudWxsLFxuICAgIHNlcmllcy1jLWJvbGRlcjogbnVsbCxcbiAgICBzZXJpZXMtYy1zdWJ0bGU6IG51bGwsXG4gICAgc2VyaWVzLWMtc3VidGxlcjogbnVsbCxcbiAgICAvLyBTZXJpZXMgRFxuICAgIHNlcmllcy1kOiBudWxsLFxuICAgIHNlcmllcy1kLWJvbGQ6IG51bGwsXG4gICAgc2VyaWVzLWQtYm9sZGVyOiBudWxsLFxuICAgIHNlcmllcy1kLXN1YnRsZTogbnVsbCxcbiAgICBzZXJpZXMtZC1zdWJ0bGVyOiBudWxsLFxuICAgIC8vIFNlcmllcyDQlVxuICAgIHNlcmllcy1lOiBudWxsLFxuICAgIHNlcmllcy1lLWJvbGQ6IG51bGwsXG4gICAgc2VyaWVzLWUtYm9sZGVyOiBudWxsLFxuICAgIHNlcmllcy1lLXN1YnRsZTogbnVsbCxcbiAgICBzZXJpZXMtZS1zdWJ0bGVyOiBudWxsLFxuICAgIC8vIFNlcmllcyBGXG4gICAgc2VyaWVzLWY6IG51bGwsXG4gICAgc2VyaWVzLWYtYm9sZDogbnVsbCxcbiAgICBzZXJpZXMtZi1ib2xkZXI6IG51bGwsXG4gICAgc2VyaWVzLWYtc3VidGxlOiBudWxsLFxuICAgIHNlcmllcy1mLXN1YnRsZXI6IG51bGwsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGdsb2JhbCBkZWZhdWx0IENvbG9ycyBtYXAuXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWNvbG9yczogJF9kZWZhdWx0LWNvbG9ycyAhZGVmYXVsdDtcbiRrZW5kby1jb2xvcnM6IGstbWFwLW1lcmdlKCRfZGVmYXVsdC1jb2xvcnMsICRrZW5kby1jb2xvcnMpO1xuXG5AbWl4aW4gY29sb3Itc3lzdGVtLS1zdHlsZXMoKSB7XG4gICAgOnJvb3Qge1xuICAgICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGtlbmRvLWNvbG9ycyB7XG4gICAgICAgICAgICBAaWYoJHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1jb2xvci0jeyRrZXl9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2NvbnN0YW50cy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvY29sb3Itc3lzdGVtL19jb25zdGFudHMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3N3YXRjaC1sZWdhY3kuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2NvbG9yLXN5c3RlbS9fc3dhdGNoLWxlZ2FjeS5zY3NzXG4ka2VuZG8taXMtZGFyay10aGVtZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFJvb3Qgc3R5bGVzXG4ka2VuZG8tYm9keS1iZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1ib2R5LXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIENvbXBvbmVudCBzdHlsZXNcbiRrZW5kby1jb21wb25lbnQtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tY29tcG9uZW50LXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tY29tcG9uZW50LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8gU3RhdGVzIHN0eWxlc1xuJGtlbmRvLWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8taG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tc2VsZWN0ZWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tc2VsZWN0ZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1zZWxlY3RlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1zZWxlY3RlZC1ob3Zlci1iZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1zZWxlY3RlZC1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXNlbGVjdGVkLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWZvY3VzLW91dGxpbmU6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1zdWJ0bGUtdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuLy8gTGlua1xuJGtlbmRvLWxpbmstdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saW5rLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIFZhbGlkYXRvclxuJGtlbmRvLWludmFsaWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8taW52YWxpZC10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWludmFsaWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWludmFsaWQtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlZCBTdHlsaW5nXG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBpdGVtcy5cbiRrZW5kby1kaXNhYmxlZC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiBkaXNhYmxlZCBpdGVtcy5cbiRrZW5kby1kaXNhYmxlZC10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgZGlzYWJsZWQgaXRlbXMuXG4ka2VuZG8tZGlzYWJsZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIGRpc2FibGVkIGl0ZW1zLlxuJGtlbmRvLWRpc2FibGVkLW9wYWNpdHk6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGZpbHRlciBvZiBkaXNhYmxlZCBpdGVtcy5cbiRrZW5kby1kaXNhYmxlZC1maWx0ZXI6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1kaXNhYmxlZC1zdHlsaW5nOiAoXG4gICAgYmc6ICRrZW5kby1kaXNhYmxlZC1iZyxcbiAgICBjb2xvcjogJGtlbmRvLWRpc2FibGVkLXRleHQsXG4gICAgYm9yZGVyOiAka2VuZG8tZGlzYWJsZWQtYm9yZGVyLFxuICAgIG9wYWNpdHk6ICRrZW5kby1kaXNhYmxlZC1vcGFjaXR5LFxuICAgIGZpbHRlcjogJGtlbmRvLWRpc2FibGVkLWZpbHRlclxuKSAhZGVmYXVsdDtcblxuXG4ka2VuZG8tcGFsZXR0ZXM6ICgpICFkZWZhdWx0O1xuJGtlbmRvLXRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG5cbkBtaXhpbiBjb2xvci1zeXN0ZW0tc3R5bGVzKCkge1xuICAgIDpyb290IHtcbiAgICAgICAgQGluY2x1ZGUgay1jc3MtdmFycygka2VuZG8tcGFsZXR0ZXMpO1xuICAgICAgICBAaW5jbHVkZSBrLWNzcy12YXJzKCRrZW5kby10aGVtZS1jb2xvcnMpO1xuXG4gICAgICAgIC8vIFRleHQgY29sb3JzXG4gICAgICAgIEBlYWNoICR0aGVtZS1jb2xvciwgJGNvbG9yLXByb3BzIGluICRrZW5kby10aGVtZS1jb2xvcnMge1xuICAgICAgICAgICAgJF9jb2xvcjogay1tYXAtZ2V0KCRjb2xvci1wcm9wcywgdGV4dCk7XG5cbiAgICAgICAgICAgIC5rLXRleHQtI3skdGhlbWUtY29sb3J9LFxuICAgICAgICAgICAgLmstY29sb3ItI3skdGhlbWUtY29sb3J9IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0ta2VuZG8tdGV4dC0jeyR0aGVtZS1jb2xvcn0sICN7JF9jb2xvcn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLlxcIWstdGV4dC0jeyR0aGVtZS1jb2xvcn0sXG4gICAgICAgICAgICAuXFwhay1jb2xvci0jeyR0aGVtZS1jb2xvcn0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1rZW5kby10ZXh0LSN7JHRoZW1lLWNvbG9yfSwgI3skX2NvbG9yfSkgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstYmctI3skdGhlbWUtY29sb3J9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1rZW5kby1iZy0jeyR0aGVtZS1jb2xvcn0sICN7JF9jb2xvcn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLlxcIWstYmctI3skdGhlbWUtY29sb3J9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1rZW5kby1iZy0jeyR0aGVtZS1jb2xvcn0sICN7JF9jb2xvcn0pICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cbi8vIEBpbXBvcnQgXCIuL19wYWxldHRlcy5zY3NzXCI7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vbWl4aW5zL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19ib3JkZXItcmFkaXVzLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2Nzc1xuLy8gQm9yZGVyIHJhZGl1c1xuQG1peGluIGJvcmRlci1yYWRpdXMoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cyggJHJhZGl1czogbnVsbCApIHtcbiAgICBAaWYgJGtlbmRvLWVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCAkcmFkaXVzOiBudWxsICkge1xuICAgIEBpZiAka2VuZG8tZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzLW9ubHkoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgJHJhZGl1cyAwIDA7XG4gICAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cy1vbmx5KCAkcmFkaXVzOiBudWxsICkge1xuICAgIEBpZiAka2VuZG8tZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICRyYWRpdXMgJHJhZGl1cyAwO1xuICAgIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzLW9ubHkoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkcmFkaXVzICRyYWRpdXM7XG4gICAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzLW9ubHkoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgMCAwICRyYWRpdXM7XG4gICAgfVxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19ib3gtc2hhZG93LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9taXhpbnMvX2JveC1zaGFkb3cuc2Nzc1xuQG1peGluIGJveC1zaGFkb3coICRzaGFkb3cuLi4gKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtc2hhZG93cyBhbmQgay1saXN0LW50aCgkc2hhZG93LCAxKSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgfVxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19kYXRhLXVyaS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL19kYXRhLXVyaS5zY3NzXG4vLy8gQSBsaXN0IG9mIGZpbGVzIGNvbnZlcnRlZCB0byBkYXRhIFVSSXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbiRfa2VuZG8tZGF0YS11cmlzOiAoKSAhZGVmYXVsdDtcblxuLy8vIFNhdmVzIGEgZGF0YSBVUkkgdGhhdCBjYW4gYmUgdXNlZCBmcm9tIHRoZSAkX2tlbmRvLWRhdGEtdXJpcyBtYXAgaW5zdGVhZCBvZiBhIGZpbGUgcmVmZXJlbmNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNvbnRlbnQgLSBUaGUgZGF0YSBVUkkgb2YgdGhlIHJlc291cmNlLlxuLy8vIEByZXF1aXJlICRfa2VuZG8tZGF0YS11cmlzXG5AbWl4aW4gcmVnaXN0ZXItZGF0YS11cmkoICRuYW1lLCAkY29udGVudCApIHtcbiAgICBAaWYgKCBrLW1hcC1oYXMta2V5KCAkX2tlbmRvLWRhdGEtdXJpcywgJG5hbWUgKSApIHtcbiAgICAgICAgQHdhcm4gXCJBdHRlbXB0IHRvIHJlZGVmaW5lIGRhdGEgVVJJIG9mIGZpbGUgYCN7JG5hbWV9YC5cIjtcbiAgICB9XG5cbiAgICAkX2tlbmRvLWRhdGEtdXJpczogay1tYXAtbWVyZ2UoICRfa2VuZG8tZGF0YS11cmlzLCAoICRuYW1lOiAkY29udGVudCApICkgIWdsb2JhbDtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZGlzYWJsZWQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21peGlucy9fZGlzYWJsZWQuc2Nzc1xuLy8gRGlzYWJsZWRcblxuQG1peGluIGRpc2FibGVkKCAkY29sb3I6IG51bGwsICRiZzogbnVsbCwgJGJvcmRlcjogbnVsbCwgJG9wYWNpdHk6IG51bGwsICRmaWx0ZXI6IG51bGwgKSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgIGZpbHRlcjogJGZpbHRlcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19kZWNvcmF0aW9uLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9taXhpbnMvX2RlY29yYXRpb24uc2Nzc1xuQG1peGluIGZpbGwoICRjb2xvcjogbnVsbCwgJGJnOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkZ3JhZGllbnQ6IG51bGwgKSB7XG4gICAgQGlmICRib3JkZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgIEBpZiAkY29sb3Ige1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgICBAaWYgJGJnIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIH1cbiAgICBAaWYgJGdyYWRpZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KCAkZ3JhZGllbnQgKTtcbiAgICB9XG59XG5cbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoICRncmFkaWVudDogbnVsbCApIHtcbiAgICBAaWYgJGdyYWRpZW50IGFuZCAka2VuZG8tZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIEBpZiAkZ3JhZGllbnQgPT0gbm9uZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCggJGdyYWRpZW50ICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiByZXBlYXRpbmctc3RyaXBlZC1ncmFkaWVudCggJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRiYWNrZ3JvdW5kOiAjRkZGLCAkYW5nbGU6IDQ1ZGVnLCAkbGFyZ2VTdGVwOiAycHgsICRzbWFsbFN0ZXA6IDFweCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkYmFja2dyb3VuZCwgJGJhY2tncm91bmQgJHNtYWxsU3RlcCwgJGNvbG9yICRzbWFsbFN0ZXAsICRjb2xvciAkbGFyZ2VTdGVwKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZm9jdXMtaW5kaWNhdG9yLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9taXhpbnMvX2ZvY3VzLWluZGljYXRvci5zY3NzXG5AbWl4aW4gZm9jdXMtaW5kaWNhdG9yKCAkaW5kaWNhdG9yLCAkaW5zZXQ6IGZhbHNlLCAkdGhlbWVhYmxlOiBmYWxzZSwgJHR5cGU6IFwiYm94LXNoYWRvd1wiICkge1xuICAgIEBpZiAka2VuZG8tZW5hYmxlLWZvY3VzLWNvbnRyYXN0IGFuZCBrLWxpc3QtbnRoKCRpbmRpY2F0b3IsIDEpIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggaWYoICRpbnNldCwgaW5zZXQsIG51bGwgKSAwIDAgMCAycHggaWYoICR0aGVtZWFibGUsIGN1cnJlbnRDb2xvciwgcmdiKCAwLCAwLCAwICkgKSApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAkaW5kaWNhdG9yLi4uICk7XG4gICAgfVxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19ncmFkaWVudC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL19ncmFkaWVudC5zY3NzXG5AbWl4aW4gbGluZWFyLWdyYWRpZW50KCAkZ3JhZGllbnQ6IG51bGwgKSB7XG4gICAgQGlmICRncmFkaWVudCBhbmQgJGtlbmRvLWVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICBAaWYgJGdyYWRpZW50ID09IG5vbmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoICRncmFkaWVudCApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gc3RyaXBlZC1ncmFkaWVudCggJGNvbG9yOiByZ2JhKCB3aGl0ZSwgLjE1ICksICRhbmdsZTogNDVkZWcgKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50ICk7XG59XG5cbkBtaXhpbiByZXBlYXRpbmctc3RyaXBlZC1ncmFkaWVudCggJGNvbG9yOiByZ2JhKCB3aGl0ZSwgLjE1KSwgJGJhY2tncm91bmQ6IHdoaXRlLCAkYW5nbGU6IDQ1ZGVnLCAkbGFyZ2Utc3RlcDogMnB4LCAkc21hbGwtc3RlcDogMXB4ICkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoICRhbmdsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kICRzbWFsbC1zdGVwLCAkY29sb3IgJHNtYWxsLXN0ZXAsICRjb2xvciAkbGFyZ2Utc3RlcCApO1xufVxuXG5AbWl4aW4gY2hlY2tlcmJvYXJkLWdyYWRpZW50KCAkcHJpbWFyeS1jb2xvcjogd2hpdGUsICRzZWNvbmRhcnktY29sb3I6IHJnYmEoIGJsYWNrLCAuMDkgKSwgJHNpemU6IDEwcHggKSB7XG4gICAgJF9wb3NpdGlvbjogY2FsYyggI3skc2l6ZX0gLyAyICk7XG5cbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoIDQ1ZGVnLCAkc2Vjb25kYXJ5LWNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA3NSUsICRzZWNvbmRhcnktY29sb3IgNzUlLCAkc2Vjb25kYXJ5LWNvbG9yICksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCggNDVkZWcsICRzZWNvbmRhcnktY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDc1JSwgJHNlY29uZGFyeS1jb2xvciA3NSUsICRzZWNvbmRhcnktY29sb3IgKSxcbiAgICAgICAgJHByaW1hcnktY29sb3I7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdCwgcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHgsICRfcG9zaXRpb24gJF9wb3NpdGlvbjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDAgMDtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogcGFkZGluZy1ib3gsIHBhZGRpbmctYm94O1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHNpemUgJHNpemUsICRzaXplICRzaXplO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKSBzY2FsZVkoMSkgc2NhbGVaKDEpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19oaWRlLXNjcm9sbGJhci5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL19oaWRlLXNjcm9sbGJhci5zY3NzXG4ka2VuZG8tc2Nyb2xsYmFyLXdpZHRoOiAxN3B4ICFkZWZhdWx0O1xuXG5AbWl4aW4gaGlkZS1zY3JvbGxiYXIoICRkaXI6IFwicmlnaHRcIiwgJG1heC1zY3JvbGxiYXI6IDEwMHB4KSB7XG4gICAgLy8gYW55dGhpbmcgbGFyZ2VyIHRoYW4gdGhlIHNjcm9sbGJhciB3aWR0aCB3aWxsIGRvXG4gICAgJHNjcm9sbGJhci1zaXplOiB2YXIoIC0ta2VuZG8tc2Nyb2xsYmFyLXdpZHRoLCAjeyRrZW5kby1zY3JvbGxiYXItd2lkdGh9ICk7XG4gICAgJG1hcmdpbjogY2FsYyggLSN7JG1heC1zY3JvbGxiYXJ9IC0gI3skc2Nyb2xsYmFyLXNpemV9ICk7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkbWF4LXNjcm9sbGJhcjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRtYXgtc2Nyb2xsYmFyO1xuXG4gICAgQGlmICggJGRpciA9PSBcInJpZ2h0XCIgKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJG1heC1zY3JvbGxiYXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRtYXgtc2Nyb2xsYmFyO1xuICAgIH1cbn1cblxuQG1peGluIGhpZGUtc2Nyb2xsYmFyLWRpci1hZ25vc3RpYygkbWF4LXNjcm9sbGJhcjogMTAwcHgpIHtcbiAgICAvLyBhbnl0aGluZyBsYXJnZXIgdGhhbiB0aGUgc2Nyb2xsYmFyIHdpZHRoIHdpbGwgZG9cbiAgICAkc2Nyb2xsYmFyLXNpemU6IHZhciggLS1rZW5kby1zY3JvbGxiYXItd2lkdGgsICN7JGtlbmRvLXNjcm9sbGJhci13aWR0aH0gKTtcbiAgICAkbWFyZ2luOiBjYWxjKCAtI3skbWF4LXNjcm9sbGJhcn0gLSAjeyRzY3JvbGxiYXItc2l6ZX0gKTtcblxuICAgIHBhZGRpbmctaW5saW5lLWVuZDogJG1heC1zY3JvbGxiYXI7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRtYXgtc2Nyb2xsYmFyO1xuXG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogLSRtYXgtc2Nyb2xsYmFyO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkbWFyZ2luO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19pbXBvcnQtb25jZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL19pbXBvcnQtb25jZS5zY3NzXG4vLy8gQSBsaXN0IG9mIGV4cG9ydGVkIG1vZHVsZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4kX2tlbmRvLWltcG9ydGVkLW1vZHVsZXM6ICgpICFkZWZhdWx0O1xuXG4vLy8gT3V0cHV0cyBhIG1vZHVsZSBvbmNlLCBubyBtYXR0ZXIgaG93IG1hbnkgdGltZXMgaXQgaXMgaW5jbHVkZWQuXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZXhwb3J0ZWQgbW9kdWxlLlxuLy8vIEByZXF1aXJlICRfa2VuZG8taW1wb3J0ZWQtbW9kdWxlc1xuQG1peGluIGV4cG9ydHMoICRuYW1lICkge1xuICAgIEBpZiAoay1saXN0LWluZGV4KCAkX2tlbmRvLWltcG9ydGVkLW1vZHVsZXMsICRuYW1lICkgPT0gbnVsbCkgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICRfa2VuZG8taW1wb3J0ZWQtbW9kdWxlczogay1saXN0LWFwcGVuZCggJF9rZW5kby1pbXBvcnRlZC1tb2R1bGVzLCAkbmFtZSApICFnbG9iYWw7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSggJGJhY2tncm91bmQtaW1hZ2U6IG51bGwgKSB7XG4gICAgQGlmICRiYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGJhY2tncm91bmQtaW1hZ2V9KTtcbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2NvbXBvbmVudHMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21vZHVsZS1zeXN0ZW0vX2NvbXBvbmVudHMuc2Nzc1xuJGtlbmRvLWNvbXBvbmVudHM6IChcbiAgICAvLyBUeXBvZ3JhcGh5IGFuZCB1dGlsc1xuICAgIFwidHlwb2dyYXBoeVwiLFxuICAgIFwidXRpbHNcIixcbiAgICBcImRyYWdnYWJsZVwiLFxuXG4gICAgLy8gR2VuZXJpYyBjb250ZW50XG4gICAgXCJ0YWJsZVwiLFxuICAgIFwiaWNvblwiLFxuICAgIFwiY2hpcFwiLFxuICAgIFwibWVzc2FnZWJveFwiLFxuXG4gICAgLy8gUHJpbWl0aXZlIGNvbXBvbmVudHNcbiAgICBcImlucHV0XCIsXG4gICAgXCJsaXN0XCIsXG4gICAgXCJsaXN0Z3JvdXBcIixcbiAgICBcIm92ZXJsYXlcIixcbiAgICBcInJpcHBsZVwiLFxuICAgIFwidmlydHVhbC1zY3JvbGxlclwiLFxuXG4gICAgLy8gSW5kaWNhdG9yc1xuICAgIFwiYXZhdGFyXCIsXG4gICAgXCJiYWRnZVwiLFxuICAgIFwiY29sb3ItcHJldmlld1wiLFxuICAgIFwibG9hZGVyXCIsXG4gICAgXCJza2VsZXRvblwiLFxuICAgIFwidG9vbHRpcFwiLFxuICAgIFwidGltZS1tYXJrZXJcIixcblxuICAgIC8vIE5hdGl2ZSBmb3Jtc1xuICAgIFwiYnV0dG9uXCIsXG4gICAgXCJzcGxpdC1idXR0b25cIixcbiAgICBcIm1lbnUtYnV0dG9uXCIsXG4gICAgXCJ0ZXh0Ym94XCIsXG4gICAgXCJ0ZXh0YXJlYVwiLFxuICAgIFwiY2hlY2tib3hcIixcbiAgICBcImxpc3Rib3hcIixcbiAgICBcInByb2dyZXNzYmFyXCIsXG4gICAgXCJyYWRpb1wiLFxuICAgIFwic2xpZGVyXCIsXG5cbiAgICAvLyBGb3JtIGhlbHBlcnNcbiAgICBcImZvcm1cIixcbiAgICBcInZhbGlkYXRvclwiLFxuICAgIFwiZmxvYXRpbmctbGFiZWxcIixcblxuICAgIC8vIEZvcm0gcmVxdWlyZW1lbnRzXG4gICAgXCJjYWxlbmRhclwiLFxuICAgIFwicG9wdXBcIixcbiAgICBcInRpbWUtc2VsZWN0b3JcIixcblxuICAgIC8vIEF1Z21lbnRlZCBpbnB1dHNcbiAgICBcImF1dG9jb21wbGV0ZVwiLFxuICAgIFwiY2FwdGNoYVwiLFxuICAgIFwiY29sb3ItcGFsZXR0ZVwiLFxuICAgIFwiY29sb3ItZ3JhZGllbnRcIixcbiAgICBcImNvbG9yLWVkaXRvclwiLFxuICAgIFwiY29sb3ItcGlja2VyXCIsXG4gICAgXCJjb21ib2JveFwiLFxuICAgIFwiZGF0ZS1pbnB1dFwiLFxuICAgIFwiZGF0ZS1waWNrZXJcIixcbiAgICBcInRpbWUtcGlja2VyXCIsXG4gICAgXCJkYXRlLXRpbWUtcGlja2VyXCIsXG4gICAgXCJkYXRlLXJhbmdlLXBpY2tlclwiLFxuICAgIFwiZHJvcGRvd24tZ3JpZFwiLFxuICAgIFwiZHJvcGRvd24tbGlzdFwiLFxuICAgIFwiZHJvcGRvd24tdHJlZVwiLFxuICAgIFwibWFza2VkLXRleHRib3hcIixcbiAgICBcIm11bHRpc2VsZWN0XCIsXG4gICAgXCJudW1lcmljLXRleHRib3hcIixcbiAgICBcInJhdGluZ1wiLFxuICAgIFwic2VhcmNoYm94XCIsXG4gICAgXCJzd2l0Y2hcIixcbiAgICBcInVwbG9hZFwiLFxuICAgIFwiZHJvcHpvbmVcIixcblxuICAgIC8vIENvbW1hbmQgaW50ZXJmYWNlc1xuICAgIFwiYWN0aW9uc1wiLFxuICAgIFwiYXBwYmFyXCIsXG4gICAgXCJmYWJcIixcbiAgICBcIm1lbnVcIixcbiAgICBcInRvb2xiYXJcIixcblxuICAgIC8vIFBvcHVwcyBhbmQgbW9kYWxzXG4gICAgXCJhY3Rpb24tc2hlZXRcIixcbiAgICBcImRpYWxvZ1wiLFxuICAgIFwiZHJhd2VyXCIsXG4gICAgXCJub3RpZmljYXRpb25cIixcbiAgICBcInBvcG92ZXJcIixcbiAgICBcInJlc3BvbnNpdmUtcGFuZWxcIixcbiAgICBcIndpbmRvd1wiLFxuXG4gICAgLy8gTmF2aWdhdGlvblxuICAgIFwiYm90dG9tLW5hdmlnYXRpb25cIixcbiAgICBcImJyZWFkY3J1bWJcIixcbiAgICBcInBhZ2VyXCIsXG4gICAgXCJzdGVwcGVyXCIsXG4gICAgXCJ0YWJzdHJpcFwiLFxuICAgIFwidHJlZXZpZXdcIixcbiAgICBcIndpemFyZFwiLFxuXG4gICAgLy8gTGF5b3V0ICYgY29udGFpbmVyc1xuICAgIFwiY2FyZFwiLFxuICAgIFwiZXhwYW5kZXJcIixcbiAgICBcInBhbmVsXCIsXG4gICAgXCJwYW5lbGJhclwiLFxuICAgIFwic3BsaXR0ZXJcIixcbiAgICBcInRpbGUtbGF5b3V0XCIsXG4gICAgXCJkb2NrLW1hbmFnZXJcIixcbiAgICBcImNoYXJ0LXdpemFyZFwiLFxuXG4gICAgLy8gRGF0YSBtYW5hZ2VtZW50XG4gICAgXCJncmlkXCIsXG4gICAgXCJsaXN0dmlld1wiLFxuICAgIFwic3ByZWFkc2hlZXRcIixcbiAgICBcInBpdm90Z3JpZFwiLFxuICAgIFwidHJlZWxpc3RcIixcbiAgICBcImZpbHRlclwiLFxuICAgIFwiZmlsZS1tYW5hZ2VyXCIsXG4gICAgXCJ0YXNrLWJvYXJkXCIsXG5cbiAgICAvLyBFZGl0b3JzXG4gICAgXCJlZGl0b3JcIixcbiAgICBcImltYWdlLWVkaXRvclwiLFxuXG4gICAgLy8gU2NoZWR1bGluZ1xuICAgIFwiZ2FudHRcIixcbiAgICBcInNjaGVkdWxlclwiLFxuXG4gICAgLy8gTWlzY1xuICAgIFwiYWRhcHRpdmVcIixcbiAgICBcImNoYXRcIixcbiAgICBcIm1lZGlhLXBsYXllclwiLFxuICAgIFwidGltZWxpbmVcIixcbiAgICBcInBkZi12aWV3ZXJcIixcbiAgICBcInNjcm9sbGVyXCIsXG4gICAgXCJzY3JvbGx2aWV3XCIsXG4gICAgXCJwcm9tcHRcIixcblxuICAgIC8vIERhdGF2aXpcbiAgICBcImRhdGF2aXpcIixcbiAgICBcIm1hcFwiLFxuICAgIFwib3JnY2hhcnRcIixcbiAgICBcInNpZ25hdHVyZVwiXG4pICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19kZXBlbmRlbmNpZXMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21vZHVsZS1zeXN0ZW0vX2RlcGVuZGVuY2llcy5zY3NzXG4kX2tlbmRvLWRlcGVuZGVuY2llczogKFxuICAgIGFjdGlvbi1zaGVldDogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJsaXN0Z3JvdXBcIixcbiAgICAgICAgXCJwb3B1cFwiXG4gICAgKSxcbiAgICBhY3Rpb25zOiAoKSxcbiAgICBhZGFwdGl2ZTogKCksXG4gICAgYXBwYmFyOiAoKSxcbiAgICBhdXRvY29tcGxldGU6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwicG9wdXBcIlxuICAgICksXG4gICAgYXZhdGFyOiAoKSxcbiAgICBiYWRnZTogKCksXG4gICAgYm90dG9tLW5hdmlnYXRpb246IChcbiAgICAgICAgXCJpY29uXCJcbiAgICApLFxuICAgIGJyZWFkY3J1bWI6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwidGV4dGJveFwiXG4gICAgKSxcbiAgICBidXR0b246IChcbiAgICAgICAgXCJiYWRnZVwiLFxuICAgICAgICBcImljb25cIlxuICAgICksXG4gICAgY2FsZW5kYXI6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJsaXN0XCJcbiAgICApLFxuICAgIGNhcHRjaGE6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJzbGlkZXJcIixcbiAgICAgICAgXCJ0ZXh0Ym94XCJcbiAgICApLFxuICAgIGNhcmQ6IChcbiAgICAgICAgXCJhY3Rpb25zXCIsXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIC8vIFwidXRpbHMvZmxleFwiLFxuICAgICAgICAvLyBcInV0aWxzL2dyaWRcIlxuICAgICksXG4gICAgY2hhdDogKFxuICAgICAgICBcImF2YXRhclwiLFxuICAgICAgICBcImNhcmRcIixcbiAgICAgICAgXCJ0ZXh0Ym94XCIsXG4gICAgICAgIFwidG9vbGJhclwiXG4gICAgKSxcbiAgICBjaGVja2JveDogKCksXG4gICAgY2hpcDogKCksXG4gICAgY29sb3ItZWRpdG9yOiAoXG4gICAgICAgIFwiYWN0aW9uc1wiLFxuICAgICAgICBcImNvbG9yLXBhbGV0dGVcIixcbiAgICAgICAgXCJjb2xvci1wcmV2aWV3XCIsXG4gICAgICAgIFwiY29sb3ItZ3JhZGllbnRcIlxuICAgICksXG4gICAgY29sb3ItZ3JhZGllbnQ6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJudW1lcmljLXRleHRib3hcIixcbiAgICAgICAgXCJzbGlkZXJcIixcbiAgICAgICAgXCJ0ZXh0Ym94XCIsXG4gICAgICAgIC8vIFwidXRpbHMvZmxleFwiXG4gICAgKSxcbiAgICBjb2xvci1wYWxldHRlOiAoXG4gICAgICAgIFwiY29sb3ItcHJldmlld1wiLFxuICAgICAgICAvLyBcInV0aWxzL2ZsZXhcIlxuICAgICksXG4gICAgY29sb3ItcHJldmlldzogKCksXG4gICAgY29sb3ItcGlja2VyOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiY29sb3ItZWRpdG9yXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJwb3B1cFwiXG4gICAgKSxcbiAgICBjb21ib2JveDogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICAgICAgXCJsaXN0XCJcbiAgICApLFxuICAgIGN1cnNvcjogKCksXG4gICAgZGF0YXZpejogKFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgICAgIFwidG9vbHRpcFwiXG4gICAgKSxcbiAgICBkYXRlLWlucHV0OiAoXG4gICAgICAgIFwiaW5wdXRcIlxuICAgICksXG4gICAgZGF0ZS1waWNrZXI6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjYWxlbmRhclwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcInBvcHVwXCJcbiAgICApLFxuICAgIGRhdGUtcmFuZ2UtcGlja2VyOiAoXG4gICAgICAgIFwiZGF0ZS1waWNrZXJcIlxuICAgICksXG4gICAgZGF0ZS10aW1lLXBpY2tlcjogKFxuICAgICAgICBcImRhdGUtcGlja2VyXCIsXG4gICAgICAgIFwidGltZS1waWNrZXJcIlxuICAgICksXG4gICAgZGlhbG9nOiAoXG4gICAgICAgIFwid2luZG93XCJcbiAgICApLFxuICAgIGRyYWdnYWJsZTogKCksXG4gICAgZHJhd2VyOiAoXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcIm92ZXJsYXlcIlxuICAgICksXG4gICAgZHJvcGRvd24tZ3JpZDogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImdyaWRcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJwb3B1cFwiLFxuICAgICAgICBcInRhYmxlXCJcbiAgICApLFxuICAgIGRyb3Bkb3duLWxpc3Q6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwicG9wdXBcIlxuICAgICksXG4gICAgZHJvcGRvd24tdHJlZTogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgICAgIFwidHJlZXZpZXdcIlxuICAgICksXG4gICAgZHJvcHpvbmU6ICgpLFxuICAgIGRvY2stbWFuYWdlcjogKFxuICAgICAgICBcInNwbGl0dGVyXCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgICAgICBcInRhYnN0cmlwXCJcbiAgICApLFxuICAgIGNoYXJ0LXdpemFyZDogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJ3aW5kb3dcIixcbiAgICAgICAgXCJzcGxpdHRlclwiLFxuICAgICAgICBcImRhdGF2aXpcIixcbiAgICAgICAgXCJleHBhbnNpb24tcGFuZWxcIixcbiAgICAgICAgXCJncmlkXCIsXG4gICAgICAgIFwidGFic3RyaXBcIixcbiAgICAgICAgXCJsaXN0dmlld1wiLFxuICAgICAgICBcImZvcm1zXCIsXG4gICAgICAgIFwiY29tYm9ib3hcIlxuICAgICksXG4gICAgZWRpdG9yOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiY2hlY2tib3hcIixcbiAgICAgICAgXCJjb2xvci1waWNrZXJcIixcbiAgICAgICAgXCJjb21ib2JveFwiLFxuICAgICAgICBcImRyb3Bkb3duLWxpc3RcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgICAgIFwidXBsb2FkXCIsXG4gICAgICAgIFwid2luZG93XCJcbiAgICApLFxuICAgIGV4cGFuZGVyOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgLy8gXCJ1dGlscy9kaXNwbGF5XCIsXG4gICAgICAgIC8vIFwidXRpbHMvZmxleFwiXG4gICAgKSxcbiAgICBmYWI6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJiYWRnZVwiLFxuICAgICAgICAvLyBcInV0aWxzL3Bvc2l0aW9uXCJcbiAgICApLFxuICAgIGZpbGUtbWFuYWdlcjogKFxuICAgICAgICBcImJyZWFkY3J1bWJcIixcbiAgICAgICAgXCJkaWFsb2dcIixcbiAgICAgICAgXCJncmlkXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdHZpZXdcIixcbiAgICAgICAgXCJtZW51XCIsXG4gICAgICAgIFwic3BsaXR0ZXJcIixcbiAgICAgICAgXCJzd2l0Y2hcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgICAgIFwidHJlZXZpZXdcIixcbiAgICAgICAgXCJ1cGxvYWRcIlxuICAgICksXG4gICAgZmlsdGVyOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiY2hlY2tib3hcIixcbiAgICAgICAgXCJkYXRlLXRpbWUtcGlja2VyXCIsXG4gICAgICAgIFwiZHJvcGRvd24tbGlzdFwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibnVtZXJpYy10ZXh0Ym94XCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICBcInRvb2xiYXJcIlxuICAgICksXG4gICAgZmxvYXRpbmctbGFiZWw6IChcbiAgICAgICAgXCJpbnB1dFwiXG4gICAgKSxcbiAgICBmb3JtOiAoXG4gICAgICAgIFwiYWN0aW9uc1wiLFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcInRvb2xiYXJcIlxuICAgICksXG4gICAgZ2FudHQ6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJkYXRlLXRpbWUtcGlja2VyXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJudW1lcmljLXRleHRib3hcIixcbiAgICAgICAgXCJzcGxpdHRlclwiLFxuICAgICAgICBcInRyZWVsaXN0XCIsXG4gICAgICAgIFwidmFsaWRhdG9yXCIsXG4gICAgICAgIFwid2luZG93XCIsXG4gICAgICAgIFwidGltZS1tYXJrZXJcIlxuICAgICksXG4gICAgZ3JpZDogKFxuICAgICAgICBcImFjdGlvbnNcIixcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjaGVja2JveFwiLFxuICAgICAgICBcImRpYWxvZ1wiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcIm1lbnVcIixcbiAgICAgICAgXCJwYWdlclwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgICAgIFwicmFkaW9cIixcbiAgICAgICAgXCJza2VsZXRvblwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICAgICAgXCJ2YWxpZGF0b3JcIlxuICAgICksXG4gICAgaWNvbjogKCksXG4gICAgaW1hZ2UtZWRpdG9yOiAoXG4gICAgICAgIFwiY2hlY2tib3hcIixcbiAgICAgICAgXCJkcm9wZG93bi1saXN0XCIsXG4gICAgICAgIFwiZm9ybVwiLFxuICAgICAgICBcIm51bWVyaWMtdGV4dGJveFwiLFxuICAgICAgICBcInRvb2xiYXJcIlxuICAgICksXG4gICAgaW5wdXQ6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCJcbiAgICApLFxuICAgIGxpc3Q6ICgpLFxuICAgIGxpc3Rib3g6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJsaXN0XCJcbiAgICApLFxuICAgIGxpc3Rncm91cDogKCksXG4gICAgbGlzdHZpZXc6IChcbiAgICAgICAgXCJwYWdlclwiLFxuICAgICAgICAvLyBcInV0aWxzL2dyaWRcIixcbiAgICAgICAgLy8gXCJ1dGlscy9mbGV4XCJcbiAgICApLFxuICAgIGxvYWRlcjogKCksXG4gICAgbWFwOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwic2Nyb2xsZXJcIixcbiAgICAgICAgLy8gXCJ1dGlscy9wb3NpdGlvblwiXG4gICAgKSxcbiAgICBtYXNrZWQtdGV4dGJveDogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImlucHV0XCJcbiAgICApLFxuICAgIG1lZGlhLXBsYXllcjogKFxuICAgICAgICBcInNsaWRlclwiLFxuICAgICAgICBcInRvb2xiYXJcIlxuICAgICksXG4gICAgbWVudTogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJwb3B1cFwiXG4gICAgKSxcbiAgICBtZW51LWJ1dHRvbjogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcIm1lbnVcIlxuICAgICksXG4gICAgbWVzc2FnZWJveDogKCksXG4gICAgbXVsdGlzZWxlY3Q6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjaGlwXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInBvcHVwXCJcbiAgICApLFxuICAgIG5vdGlmaWNhdGlvbjogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJwb3B1cFwiXG4gICAgKSxcbiAgICBudW1lcmljLXRleHRib3g6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIlxuICAgICksXG4gICAgb3JnY2hhcnQ6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjYXJkXCIsXG4gICAgICAgIFwiZHJvcGRvd24tbGlzdFwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJtZW51XCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICBcInVwbG9hZFwiLFxuICAgICAgICBcIndpbmRvd1wiXG4gICAgKSxcbiAgICBvdmVybGF5OiAoKSxcbiAgICBwYWdlcjogKFxuICAgICAgICBcImRyb3Bkb3duLWxpc3RcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInRvb2xiYXJcIlxuICAgICksXG4gICAgcGFuZWw6ICgpLFxuICAgIHBhbmVsYmFyOiAoXG4gICAgICAgIFwiaWNvblwiXG4gICAgKSxcbiAgICBwZGYtdmlld2VyOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiY29tYm9ib3hcIixcbiAgICAgICAgXCJkaWFsb2dcIixcbiAgICAgICAgXCJkcm9wem9uZVwiLFxuICAgICAgICBcInBhZ2VyXCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICAgICAgXCJ3aW5kb3dcIlxuICAgICksXG4gICAgcGl2b3RncmlkOiAoXG4gICAgICAgIFwiZGlhbG9nXCIsXG4gICAgICAgIFwiZ3JpZFwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgXCJ0cmVldmlld1wiLFxuICAgICAgICAvLyBcInV0aWxzL2ZsZXhcIixcbiAgICAgICAgLy8gXCJ1dGlscy9ncmlkXCIsXG4gICAgICAgIC8vIFwidXRpbHMvcG9zaXRpb25cIlxuICAgICksXG4gICAgcG9wb3ZlcjogKFxuICAgICAgICBcImNhcmRcIixcbiAgICAgICAgXCJwb3B1cFwiXG4gICAgKSxcbiAgICBwb3B1cDogKCksXG4gICAgcHJvZ3Jlc3NiYXI6ICgpLFxuICAgIHByb21wdDogKCksXG4gICAgcmFkaW86ICgpLFxuICAgIHJhdGluZzogKFxuICAgICAgICBcImljb25cIlxuICAgICksXG4gICAgcmVzcG9uc2l2ZS1wYW5lbDogKCksXG4gICAgcmlwcGxlOiAoKSxcbiAgICBzY2hlZHVsZXI6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJkYXRlLXRpbWUtcGlja2VyXCIsXG4gICAgICAgIFwiZGlhbG9nXCIsXG4gICAgICAgIFwiZHJvcGRvd24tbGlzdFwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICAgICAgXCJ0b29sdGlwXCIsXG4gICAgICAgIFwidGltZS1tYXJrZXJcIlxuICAgICksXG4gICAgc2Nyb2xsZXI6ICgpLFxuICAgIHNjcm9sbHZpZXc6IChcbiAgICAgICAgXCJidXR0b25cIlxuICAgICksXG4gICAgc2VhcmNoYm94OiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaW5wdXRcIlxuICAgICksXG4gICAgc2lnbmF0dXJlOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaW5wdXRcIlxuICAgICksXG4gICAgc2tlbGV0b246ICgpLFxuICAgIHNsaWRlcjogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcInRvb2x0aXBcIlxuICAgICksXG4gICAgc3BsaXQtYnV0dG9uOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwibWVudVwiXG4gICAgKSxcbiAgICBzcGxpdHRlcjogKFxuICAgICAgICBcImljb25cIlxuICAgICksXG4gICAgc3ByZWFkc2hlZXQ6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjaGVja2JveFwiLFxuICAgICAgICBcImNvbG9yLXBpY2tlclwiLFxuICAgICAgICBcImNvbWJvYm94XCIsXG4gICAgICAgIFwiZGF0ZS10aW1lLXBpY2tlclwiLFxuICAgICAgICBcImRyb3Bkb3duLWxpc3RcIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwibWVudVwiLFxuICAgICAgICBcInJhZGlvXCIsXG4gICAgICAgIFwidGFic3RyaXBcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgICAgIFwidHJlZXZpZXdcIixcbiAgICAgICAgXCJ1cGxvYWRcIixcbiAgICAgICAgXCJ3aW5kb3dcIlxuICAgICksXG4gICAgc3RlcHBlcjogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJwcm9ncmVzc2JhclwiXG4gICAgKSxcbiAgICBzd2l0Y2g6ICgpLFxuICAgIHRhYmxlOiAoKSxcbiAgICB0YWJzdHJpcDogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIlxuICAgICksXG4gICAgdGFzay1ib2FyZDogKFxuICAgICAgICBcImNhcmRcIixcbiAgICAgICAgXCJmb3JtXCIsXG4gICAgICAgIFwic2VhcmNoYm94XCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICBcInRvb2xiYXJcIlxuICAgICksXG4gICAgdGV4dGFyZWE6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIlxuICAgICksXG4gICAgdGV4dGJveDogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiXG4gICAgKSxcbiAgICB0aWxlLWxheW91dDogKFxuICAgICAgICBcImNhcmRcIlxuICAgICksXG4gICAgdGltZS1tYXJrZXI6ICgpLFxuICAgIHRpbWUtZHVyYXRpb24tcGlja2VyOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgICAgIFwidGltZS1zZWxlY3RvclwiXG4gICAgKSxcbiAgICB0aW1lLXNlbGVjdG9yOiAoXG4gICAgICAgIFwiYWN0aW9uc1wiLFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImxpc3RcIlxuICAgICksXG4gICAgdGltZWxpbmU6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjYXJkXCIsXG4gICAgICAgIFwiaWNvblwiXG4gICAgKSxcbiAgICB0aW1lLXBpY2tlcjogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgXCJwb3B1cFwiLFxuICAgICAgICBcInRpbWUtc2VsZWN0b3JcIlxuICAgICksXG4gICAgdG9vbGJhcjogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJtZW51XCIsXG4gICAgICAgIFwicG9wdXBcIlxuICAgICksXG4gICAgdG9vbHRpcDogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJwb3B1cFwiXG4gICAgKSxcbiAgICB0cmVlbGlzdDogKFxuICAgICAgICBcImdyaWRcIlxuICAgICksXG4gICAgdHJlZXZpZXc6IChcbiAgICAgICAgXCJjaGVja2JveFwiLFxuICAgICAgICBcImljb25cIlxuICAgICksXG4gICAgdHlwb2dyYXBoeTogKCksXG4gICAgdXBsb2FkOiAoXG4gICAgICAgIFwiYWN0aW9uc1wiLFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImRyb3B6b25lXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImxpc3Rncm91cFwiLFxuICAgICAgICBcInRvb2xiYXJcIlxuICAgICksXG4gICAgdXRpbHM6ICgpLFxuICAgIHZhbGlkYXRvcjogKFxuICAgICAgICBcInRvb2x0aXBcIlxuICAgICksXG4gICAgdmlydHVhbC1zY3JvbGxlcjogKCksXG4gICAgd2luZG93OiAoXG4gICAgICAgIFwiYWN0aW9uc1wiLFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJvdmVybGF5XCJcbiAgICApLFxuICAgIHdpemFyZDogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImZvcm1cIixcbiAgICAgICAgXCJzdGVwcGVyXCJcbiAgICApXG4pO1xuXG4vLyAjZW5kcmVnaW9uXG5cbiRfZGVwczogKCkgIWRlZmF1bHQ7XG4kX2ltcG9ydGVkOiAoKSAhZGVmYXVsdDtcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9hdC1pZi1uby1udWxsXG5AbWl4aW4gbW9kdWxlLXJlZ2lzdGVyKCAkbmFtZTogbnVsbCwgJGRlcGVuZGVuY2llczogbnVsbCApIHtcbiAgICBAaWYgKGstbGlzdC1pbmRleCggJGtlbmRvLWNvbXBvbmVudHMsICRuYW1lKSAhPSBudWxsKSB7XG4gICAgICAgICRfZGVwczogay1tYXAtbWVyZ2UoICRfZGVwcywgKCAkbmFtZTogJGRlcGVuZGVuY2llcyApICk7XG5cbiAgICAgICAgQGlmICRkZXBlbmRlbmNpZXMge1xuICAgICAgICAgICAgQGVhY2ggJGRlcCBpbiAkZGVwZW5kZW5jaWVzIHtcbiAgICAgICAgICAgICAgICBAaWYgKCBrLWxpc3QtaW5kZXgoICRrZW5kby1jb21wb25lbnRzLCAkZGVwICkgPT0gbnVsbCApIHtcbiAgICAgICAgICAgICAgICAgICAgQHdhcm4gXCJUaGUgbW9kdWxlIFxcXCIjeyRuYW1lfVxcXCIgZGVwZW5kcyBvbiBtb2R1bGUgXFxcIiN7JGRlcH1cXFwiLCBidXQgdGhlIHN0eWxlcyB3aWxsIG5vdCBiZSBsb2FkZWQhXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbW9kdWxlLXJlbmRlciggJG5hbWU6IG51bGwgKSB7XG4gICAgJGRlcGVuZGVuY2llczogay1tYXAtZ2V0KCAkX2RlcHMsICRuYW1lICk7XG5cbiAgICBAaWYgJGRlcGVuZGVuY2llcyB7XG4gICAgICAgIEBlYWNoICRkZXAgaW4gJGRlcGVuZGVuY2llcyB7XG4gICAgICAgICAgICBAaWYgKCBrLWxpc3QtaW5kZXgoICRfaW1wb3J0ZWQsICRkZXAgKSA9PSBudWxsICkge1xuICAgICAgICAgICAgICAgIEB3YXJuIFwiVGhlIG1vZHVsZSBcXFwiI3skbmFtZX1cXFwiIGRlcGVuZHMgb24gbW9kdWxlIFxcXCIjeyRkZXB9XFxcIiwgYnV0IHRoZSBzdHlsZXMgaGF2ZSBub3QgYmVlbiBsb2FkZWQgeWV0IVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICggay1saXN0LWluZGV4KCAka2VuZG8tY29tcG9uZW50cywgJG5hbWUgKSAhPSBudWxsICkgYW5kICggay1saXN0LWluZGV4KCAkX2ltcG9ydGVkLCAkbmFtZSApID09IG51bGwgKSB7XG4gICAgICAgICRfaW1wb3J0ZWQ6IGstbGlzdC1hcHBlbmQoICRfaW1wb3J0ZWQsICRuYW1lICkgIWdsb2JhbDtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gdmVyaWZ5LWRlcGVuZGVuY2llcygpIHtcbiAgICBAZWFjaCAkY29tcG9uZW50IGluICRrZW5kby1jb21wb25lbnRzIHtcbiAgICAgICAgQGlmIChrLW1hcC1oYXMta2V5KCAkX2tlbmRvLWRlcGVuZGVuY2llcywgJGNvbXBvbmVudCApID09IGZhbHNlKSB7XG4gICAgICAgICAgICBAZXJyb3IgXCJNb2R1bGUgJyN7JGNvbXBvbmVudH0nIGlzIG5vdCBkZWZpbmVkLlwiO1xuICAgICAgICB9XG4gICAgfVxufVxuQGluY2x1ZGUgdmVyaWZ5LWRlcGVuZGVuY2llcygpO1xuXG5AbWl4aW4gdmVyaWZ5LXJlbmRlcmVkKCkge1xuICAgIEBlYWNoICRjb21wb25lbnQgaW4gJGtlbmRvLWNvbXBvbmVudHMge1xuICAgICAgICBAaWYgKGstbGlzdC1pbmRleCggJF9pbXBvcnRlZCwgJGNvbXBvbmVudCApID09IG51bGwpIHtcbiAgICAgICAgICAgIEBlcnJvciBcIk1vZHVsZSAnI3skY29tcG9uZW50fScgaGFzIG5vdCBiZWVuIHJlbmRlcmVkLlwiO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzY3NzL2F0LWlmLW5vLW51bGxcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9zdHlsZXMvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9zdHlsZXMvaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2FjY2Vzc2liaWxpdHkuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL3N0eWxlcy9fYWNjZXNzaWJpbGl0eS5zY3NzXG5AbWl4aW4ga2VuZG8tY29yZS0tc3R5bGVzLS1hY2Nlc3NpYmlsaXR5KCkge1xuXG4gICAgLy8vIFRoaXMgY2xhc3MgY291bGQgYmUgYXNzaWduZWQgdG8gZWxlbWVudHMgd2hpY2ggc2hvdWxkIGJlIHZpc3VhbGx5IGhpZGRlbiwgYnV0IHJlbWFpbiBhY2Nlc3NpYmxlIGZvciBzY3JlZW4gcmVhZGVycy5cbiAgICAvLy8gQG5hbWUgLmstc3Itb25seVxuICAgIC8vLyBAZ3JvdXAgYWNjZXNzaWJpbGl0eVxuICAgIC5rLXNyLW9ubHkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19hbmltYXRpb25zLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9zdHlsZXMvX2FuaW1hdGlvbnMuc2Nzc1xuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tYW5pbWF0aW9ucygpIHtcblxuICAgIC8vIEFuaW1hdGlvbnNcbiAgICAuay1wdXNoLXJpZ2h0IHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRlci1hY3RpdmUsXG4gICAgICAgICYtYXBwZWFyLWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1wdXNoLWxlZnQge1xuICAgICAgICAmLWVudGVyLFxuICAgICAgICAmLWFwcGVhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQtYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXB1c2gtZG93biB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQtYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcHVzaC11cCB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRlci1hY3RpdmUsXG4gICAgICAgICYtYXBwZWFyLWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZXhwYW5kLXZlcnRpY2FsIHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWV4cGFuZC1ob3Jpem9udGFsIHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZhZGUge1xuICAgICAgICAmLWVudGVyLFxuICAgICAgICAmLWFwcGVhciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRlci1hY3RpdmUsXG4gICAgICAgICYtYXBwZWFyLWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUgKyAmLWV4aXQtYWN0aXZlLFxuICAgICAgICAmLWVudGVyLWFjdGl2ZSArICYtZW50ZXItYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay16b29tLWluIHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtLCBvcGFjaXR5IDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSwgb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXpvb20tb3V0IHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtLCBvcGFjaXR5IDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSwgb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNsaWRlLWluIHtcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgb3BhY2l0eTogLjE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtM2VtKTtcblxuICAgICAgICAgICAgLmstY2VudGVyZWQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC02MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4yLCAuNiwgLjQsIDEpLCBvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjIsIDEsIC4yLCAxKTtcblxuICAgICAgICAgICAgLmstY2VudGVyZWQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2xpZGUtZG93biB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQtYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zbGlkZS11cCB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2xpZGUtcmlnaHQge1xuICAgICAgICAmLWVudGVyLFxuICAgICAgICAmLWFwcGVhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRlci1hY3RpdmUsXG4gICAgICAgICYtYXBwZWFyLWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2xpZGUtbGVmdCB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcmV2ZWFsLXZlcnRpY2FsIHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgLy8gb3ZlcnJpZGUgYW55IG1heC1oZWlnaHQgc2V0IHRvIGVsZW1lbnQgdG8gYWxsb3cgYW5pbWF0aW9uXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcmV2ZWFsLWhvcml6b250YWwge1xuICAgICAgICAmLWVudGVyLFxuICAgICAgICAmLWFwcGVhciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgLy8gb3ZlcnJpZGUgYW55IG1heC1oZWlnaHQgc2V0IHRvIGVsZW1lbnQgdG8gYWxsb3cgYW5pbWF0aW9uXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRlhcbiAgICAkZngtZHVyYXRpb246IDM1MG1zO1xuXG4gICAgLmstZngtZW5kIC5rLWZ4LW5leHQsXG4gICAgLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJGZ4LWR1cmF0aW9uIGVhc2Utb3V0O1xuICAgIH1cblxuICAgIC5rLWZ4IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZ4LWhpZGRlbixcbiAgICAuay1meC1oaWRkZW4gKiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuICAgIC5rLWZ4LXJldmVyc2Uge1xuICAgICAgICAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuay1meC1uZXh0IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBab29tXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgLmstZngtem9vbSB7XG4gICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZngtcmV2ZXJzZSB7XG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCxcbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgLy8gRmFkZVxuICAgIC5rLWZ4LWZhZGUge1xuICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1yZXZlcnNlIHtcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTbGlkZVxuICAgIC5rLWZ4LXNsaWRlIHtcbiAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1uZXh0IC5rLWNvbnRlbnQsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1oZWFkZXIsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1mb290ZXIsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmstaGVhZGVyLFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmstZm9vdGVyLFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWNvbnRlbnQsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAua20taGVhZGVyLFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWZvb3RlcixcbiAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1jb250ZW50LFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmttLWhlYWRlcixcbiAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1mb290ZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICRmeC1kdXJhdGlvbiBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGxlZnRcbiAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmstY29udGVudCxcbiAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rLWhlYWRlcixcbiAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmstZm9vdGVyLFxuICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20taGVhZGVyLFxuICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20tZm9vdGVyIHtcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1oZWFkZXIsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1mb290ZXIsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAua20taGVhZGVyLFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWZvb3RlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbGVmdCByZXZlcnNlXG4gICAgICAgICYuay1meC1yZXZlcnNlIHtcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IC5rLWNvbnRlbnQsXG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtY3VycmVudCAua20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rLWNvbnRlbnQsXG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1uZXh0IC5rLWNvbnRlbnQsXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LWN1cnJlbnQgLmstaGVhZGVyLFxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LWN1cnJlbnQgLmstZm9vdGVyLFxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LWN1cnJlbnQgLmttLWhlYWRlcixcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IC5rbS1mb290ZXIge1xuICAgICAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rLWhlYWRlcixcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rLWZvb3RlcixcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rbS1oZWFkZXIsXG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20tZm9vdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmstaGVhZGVyLFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rLWZvb3RlcixcbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAua20taGVhZGVyLFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1mb290ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1oZWFkZXIsXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmstZm9vdGVyLFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1uZXh0IC5rbS1oZWFkZXIsXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWZvb3RlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJpZ2h0XG4gICAgICAgICYuay1meC1yaWdodCB7XG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAuay1jb250ZW50LFxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHJpZ2h0IHJldmVyc2VcbiAgICAgICAgICAgICYuay1meC1yZXZlcnNlIHtcbiAgICAgICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IC5rbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAua20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmstY29udGVudCxcbiAgICAgICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmstY29udGVudCxcbiAgICAgICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRpbGVcbiAgICAuay1meC10aWxlIHtcbiAgICAgICAgLy8gbGVmdFxuICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsZWZ0IHJldmVyc2VcbiAgICAgICAgJi5rLWZ4LXJldmVyc2Uge1xuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmlnaHRcbiAgICAgICAgJi5rLWZ4LXJpZ2h0IHtcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcmlnaHQgcmV2ZXJzZVxuICAgICAgICAgICAgJi5rLWZ4LXJldmVyc2Uge1xuICAgICAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1uZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdmVybGF5XG4gICAgLmstZnguay1meC1vdmVybGF5IHtcbiAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQsXG4gICAgICAgICYuay1meC1sZWZ0LmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZ4LXJpZ2h0LmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZ4LXVwLmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZngtZG93bi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1yZXZlcnNlIHtcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50LFxuICAgICAgICAgICAgJi5rLWZ4LWxlZnQuay1meC1lbmQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtcmlnaHQuay1meC1lbmQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LXVwLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LWRvd24uay1meC1lbmQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19hc3AtZmFsbGJhY2suc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL3N0eWxlcy9fYXNwLWZhbGxiYWNrLnNjc3NcbkBtaXhpbiBrZW5kby1jb3JlLS1zdHlsZXMtLWFzcC1mYWxsYmFjaygpIHtcblxuICAgIC5rLXRoZW1lLXRlc3QtY2xhc3MsXG4gICAgLmstY29tbW9uLXRlc3QtY2xhc3Mge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL3N0eWxlcy9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1jb3JlLS1zdHlsZXMtLWxheW91dCgpIHtcbiAgICAvLyBCYXNpYyBsYXlvdXRcbiAgICAuay1oc3RhY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuICAgIC5rLXZzdGFjayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICB9XG5cbiAgICAvLyBTcGFjZXJcbiAgICAuay1zcGFjZXIge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gICAgLmstc3BhY2VyLXNpemVkIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIEZsb2F0IHdyYXBcbiAgICAuay1mbG9hdC13cmFwOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cblxuICAgIC8vIFN0YWNrIGxheW91dFxuICAgIC5rLXN0YWNrLWxheW91dCB7fVxuXG5cbiAgICAvLyBGbGV4IGxheW91dFxuICAgIC5rLWZsZXgtbGF5b3V0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cblxuICAgIC8vIEdyaWQgbGF5b3V0XG4gICAgLmstZ3JpZC1sYXlvdXQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgIH1cblxuXG4gICAgLy8gU2VwYXJhdG9yXG4gICAgLmstc2VwYXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICB9XG4gICAgLmstc2VwYXJhdG9yLWhvcml6b250YWwsXG4gICAgLmstdnN0YWNrID4gLmstc2VwYXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgIH1cbiAgICAuay1zZXBhcmF0b3ItdmVydGljYWwsXG4gICAgLmstaHN0YWNrID4gLmstc2VwYXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgfVxuXG4gICAgaHIuay1zZXBhcmF0b3Ige1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBIaWRkZW5cbiAgICAuay1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG5cbiAgICAvLyBSVExcbiAgICAuay1ydGwge1xuICAgICAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICB9XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgLmstaGJveCB7IEBleHRlbmQgLmstaHN0YWNrICFvcHRpb25hbDsgfVxuICAgIC5rLXZib3ggeyBAZXh0ZW5kIC5rLXZzdGFjayAhb3B0aW9uYWw7IH1cbiAgICAuay1mbG9hdHdyYXAgeyBAZXh0ZW5kIC5rLWZsb2F0LXdyYXAgIW9wdGlvbmFsOyB9XG4gICAgLmstZmxleCB7IEBleHRlbmQgLmstc3BhY2VyICFvcHRpb25hbDsgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX25vcm1hbGl6ZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19ub3JtYWxpemUuc2Nzc1xuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tbm9ybWFsaXplKCkge1xuXG4gICAgLy8gSGlkZGVuIGF0dHJpYnV0ZVxuICAgIFtoaWRkZW5dIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuXG4gICAgLy8gSGlkZSBzY3JpcHQgdGFnc1xuICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vdGVsZXJpay9rZW5kby10aGVtZXMvaXNzdWVzLzIzNjBcbiAgICBzY3JpcHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2Jhc2Uuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL3N0eWxlcy9fYmFzZS5zY3NzXG5AbWl4aW4ga2VuZG8tY29yZS0tc3R5bGVzLS1iYXNlKCkge1xuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAuay1kaXNhYmxlZCxcbiAgICAuay13aWRnZXRbZGlzYWJsZWRdLFxuICAgIC5rLWRpc2FibGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZGlzYWJsZWQoXG4gICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCAjeyRrZW5kby1kaXNhYmxlZC10ZXh0fSksXG4gICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1kaXNhYmxlZC1iZywgI3ska2VuZG8tZGlzYWJsZWQtYmd9KSxcbiAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1kaXNhYmxlZC1ib3JkZXIsICN7JGtlbmRvLWRpc2FibGVkLWJvcmRlcn0pLFxuICAgICAgICAgICAgJG9wYWNpdHk6IHZhciggLS1rZW5kby1kaXNhYmxlZC1vcGFjaXR5LCAjeyRrZW5kby1kaXNhYmxlZC1vcGFjaXR5fSksXG4gICAgICAgICAgICAkZmlsdGVyOiB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtZmlsdGVyLCAjeyRrZW5kby1kaXNhYmxlZC1maWx0ZXJ9KVxuICAgICAgICApO1xuXG4gICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5lc3RlZCBkaXNhYmxlZFxuICAgICAgICBbZGlzYWJsZWRdLFxuICAgICAgICAuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaWYgJGtlbmRvLW5lc3RlZC1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1kaXNhYmxlZC1vcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tZGlzYWJsZWQtZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb3Jpem9udGFsIGxpbmVcbiAgICAuay1ociB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogay1zcGFjaW5nKDQpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJvcmRlciwgI3ska2VuZG8tY29tcG9uZW50LWJvcmRlcn0gKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgICAuay1kLWZsZXgtcm93ID4gLmstaHIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBydWxlXG4gICAgLmstZC1mbGV4LWNvbCA+IC5rLWhyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAuay1zcHJpdGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvLyBMYXlvdXRcbiAgICAuay1yZXNldCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAga2VuZG8tc29ydGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cblxuICAgIC8vIExpbmtzXG4gICAgLmstbGluayxcbiAgICAuay1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC8vIE91dGxpbmVcbiAgICAuay1jb250ZW50IHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAvLyBDZW50ZXJpbmdcbiAgICAuay1jZW50ZXJlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZSBtb3VzZSBldmVudHNcbiAgICAuay1uby1jbGljayB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC8vIE9mZi1zY3JlZW4gY29udGFpbmVyIHVzZWQgZHVyaW5nIFBERiBleHBvcnRcbiAgICAuay1wZGYtZXhwb3J0LXNoYWRvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbGVmdDogLTE1MDAwcHg7XG4gICAgICAgIHdpZHRoOiAxNDQwMHB4O1xuICAgIH1cblxuICAgIC8vIFBERiBleHBvcnQgaWNvbnMgZml4XG4gICAgLmtlbmRvLXBkZi1oaWRlLXBzZXVkby1lbGVtZW50czo6YmVmb3JlLFxuICAgIC5rZW5kby1wZGYtaGlkZS1wc2V1ZG8tZWxlbWVudHM6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuICAgIC8vIERpcnR5IGluZGljYXRvclxuICAgIC5rLWRpcnR5IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci1ibG9jay1lbmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3NlbGVjdGlvbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19zZWxlY3Rpb24uc2Nzc1xuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tc2VsZWN0aW9uKCkge1xuXG4gICAgLy8gTWFycXVlZVxuICAgIC5rLW1hcnF1ZWUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICB9XG5cbiAgICAuay1tYXJxdWVlLWNvbG9yLFxuICAgIC5rLW1hcnF1ZWUtdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5rLW1hcnF1ZWUtY29sb3Ige1xuICAgICAgICBjb2xvcjogay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE2MCwgI3ska2VuZG8tc2VsZWN0ZWQtdGV4dH0gKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTYwLCAjeyRrZW5kby1zZWxlY3RlZC1iZ30gKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwLCAjeyRrZW5kby1zZWxlY3RlZC1ib3JkZXJ9ICk7XG4gICAgICAgIG9wYWNpdHk6IC42O1xuICAgIH1cbiAgICAuay1tYXJxdWVlLXRleHQge1xuICAgICAgICBjb2xvcjogay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE2MCwgI3ska2VuZG8tc2VsZWN0ZWQtdGV4dH0gKTtcbiAgICB9XG5cbiAgICAvLyBUZXh0IHNlbGVjdGlvblxuICAgIC5rLXRleHQtc2VsZWN0aW9uIHtcbiAgICAgICAgOjpzZWxlY3Rpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSk7XG4gICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLXByaW1hcnkgKSwgJGtlbmRvLXNlbGVjdGVkLXRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3Njcm9sbGJhci5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19zY3JvbGxiYXIuc2Nzc1xuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tc2Nyb2xsYmFyKCkge1xuXG4gICAgLy8gdmlydHVhbCBzY3JvbGxiYXJcbiAgICAuay1zY3JvbGxiYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgLmstc2Nyb2xsYmFyLXZlcnRpY2FsIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDE3cHg7IC8vIHNjcm9sbGJhciB3aWR0aFxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay10b3VjaC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDIwMDAwMDtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4NTg1ODU7XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3Jlc2l6aW5nLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9zdHlsZXMvX3Jlc2l6aW5nLnNjc3NcbkBtaXhpbiBrZW5kby1jb3JlLS1zdHlsZXMtLXJlc2l6aW5nKCkge1xuXG4gICAgLy8gUmVzaXplIGhhbmRsZVxuICAgIC5rLXJlc2l6ZS1oYW5kbGUsXG4gICAgLmstcmVzaXplLWhpbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgei1pbmRleDogMjAwO1xuICAgIH1cbiAgICAuay1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS1oYW5kbGU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlcjogMCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAuay1yZXNpemUtbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAtM3B4O1xuICAgICAgICBjdXJzb3I6IG4tcmVzaXplO1xuICAgIH1cbiAgICAuay1yZXNpemUtcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgICBjdXJzb3I6IHMtcmVzaXplO1xuICAgIH1cbiAgICAuay1yZXNpemUtdyB7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAtM3B4O1xuICAgICAgICBjdXJzb3I6IHctcmVzaXplO1xuICAgIH1cbiAgICAuay1yZXNpemUtZSB7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogLTNweDtcbiAgICAgICAgY3Vyc29yOiBlLXJlc2l6ZTtcbiAgICB9XG5cbiAgICAuay1yZXNpemUtc3csXG4gICAgLmstcmVzaXplLXNlLFxuICAgIC5rLXJlc2l6ZS1udyxcbiAgICAuay1yZXNpemUtbmUge1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICB9XG5cbiAgICAuay1yZXNpemUtc3cge1xuICAgICAgICBjdXJzb3I6IHN3LXJlc2l6ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICAuay1yZXNpemUtc2Uge1xuICAgICAgICBjdXJzb3I6IHNlLXJlc2l6ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG4gICAgLmstcmVzaXplLW53IHtcbiAgICAgICAgY3Vyc29yOiBudy1yZXNpemU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLmstcmVzaXplLW5lIHtcbiAgICAgICAgY3Vyc29yOiBuZS1yZXNpemU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmstdmVydGljYWwtcmVzaXplIHtcbiAgICAgICAgY3Vyc29yOiByb3ctcmVzaXplO1xuICAgIH1cbiAgICAuay1ob3Jpem9udGFsLXJlc2l6ZSB7XG4gICAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTtcbiAgICB9XG5cbiAgICAvLyBSZXNpemUgaGludFxuICAgIC5rLXJlc2l6ZS1oaW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAuay1yZXNpemUtaGludC1oYW5kbGUge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICB9XG4gICAgICAgIC5rLXJlc2l6ZS1oaW50LW1hcmtlciB7XG4gICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcmVzaXplLWhpbnQtdmVydGljYWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC5rLXJlc2l6ZS1oaW50LWhhbmRsZSB7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtaGludC1tYXJrZXIge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2NvbG9ycy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19jb2xvcnMuc2Nzc1xuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tY29sb3JzKCkge1xuICAgIEBpZiAoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgQGluY2x1ZGUgY29sb3Itc3lzdGVtLS1zdHlsZXMoKTtcbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb3JlLS1zdHlsZXMtLWNvbG9ycygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvcmUtLXN0eWxlcy0tYWNjZXNzaWJpbGl0eSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvcmUtLXN0eWxlcy0tYW5pbWF0aW9ucygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvcmUtLXN0eWxlcy0tYXNwLWZhbGxiYWNrKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY29yZS0tc3R5bGVzLS1sYXlvdXQoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1jb3JlLS1zdHlsZXMtLW5vcm1hbGl6ZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvcmUtLXN0eWxlcy0tYmFzZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvcmUtLXN0eWxlcy0tc2VsZWN0aW9uKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY29yZS0tc3R5bGVzLS1zY3JvbGxiYXIoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1jb3JlLS1zdHlsZXMtLXJlc2l6aW5nKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZWxldmF0aW9uL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZWxldmF0aW9uL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90eXBvZ3JhcGh5L2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvdHlwb2dyYXBoeS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc3BhY2luZy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL3NwYWNpbmcvaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2JvcmRlci1yYWRpaS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2JvcmRlci1yYWRpaS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvX3ZhcmlhYmxlcy5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8gT3B0aW9uc1xuJGtlbmRvLWVuYWJsZS1zaGFkb3dzOiB0cnVlICFkZWZhdWx0O1xuJGtlbmRvLWVuYWJsZS1yb3VuZGVkOiB0cnVlICFkZWZhdWx0O1xuJGtlbmRvLWVuYWJsZS1ncmFkaWVudHM6IHRydWUgIWRlZmF1bHQ7XG4ka2VuZG8tZW5hYmxlLXRyYW5zaXRpb25zOiB0cnVlICFkZWZhdWx0O1xuJGtlbmRvLW5lc3RlZC1kaXNhYmxlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEVxdWlsYXRlcmFsIHRyaWFuZ2xlIHZhcmlhYmxlc1xuLy8gc3R5bGVsaW50LWRpc2FibGUgbnVtYmVyLW1heC1wcmVjaXNpb25cbiRlcXVpbGF0ZXJhbC1pbmRleDogMS43MzIwNTA4MDc2ICFkZWZhdWx0O1xuJGVxdWlsYXRlcmFsLWhlaWdodDogMC44NjYwMjU0MDM4ICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSBudW1iZXItbWF4LXByZWNpc2lvblxuXG4vLyAjZW5kcmVnaW9uXG5cbi8vICNlbmRyZWdpb25cblxuLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eVxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb2xvci1zeXN0ZW0vX3N3YXRjaC1sZWdhY3kuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvY29sb3Itc3lzdGVtL19zd2F0Y2gtbGVnYWN5LnNjc3NcbkBpZiAoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAka2VuZG8tY29sb3ItcHJpbWFyeTogay1jb2xvciggcHJpbWFyeSApO1xuICAgICRrZW5kby1jb2xvci1wcmltYXJ5LWNvbnRyYXN0OiBrLWNvbG9yKCBvbi1wcmltYXJ5ICk7XG4gICAgJGtlbmRvLWNvbG9yLXByaW1hcnktZGFya2VyOiBrLWNvbG9yKCBwcmltYXJ5LWFjdGl2ZSApO1xuICAgICRrZW5kby1jb2xvci1zZWNvbmRhcnk6IGstY29sb3IoIHNlY29uZGFyeSApO1xuICAgICRrZW5kby1jb2xvci1zZWNvbmRhcnktY29udHJhc3Q6IGstY29sb3IoIG9uLXNlY29uZGFyeSApO1xuICAgICRrZW5kby1jb2xvci10ZXJ0aWFyeTogay1jb2xvciggdGVydGlhcnkgKTtcbiAgICAka2VuZG8tY29sb3ItaW5mbzogay1jb2xvciggaW5mbyApO1xuICAgICRrZW5kby1jb2xvci1zdWNjZXNzOiBrLWNvbG9yKCBzdWNjZXNzICk7XG4gICAgJGtlbmRvLWNvbG9yLXdhcm5pbmc6IGstY29sb3IoIHdhcm5pbmcgKTtcbiAgICAka2VuZG8tY29sb3ItZXJyb3I6IGstY29sb3IoIGVycm9yICk7XG4gICAgJGtlbmRvLWNvbG9yLWRhcms6IGstY29sb3IoIGRhcmsgKTtcbiAgICAka2VuZG8tY29sb3ItbGlnaHQ6IGstY29sb3IoIGxpZ2h0ICk7XG4gICAgJGtlbmRvLWNvbG9yLWludmVyc2U6ICRrZW5kby1jb2xvci1kYXJrO1xuICAgICRrZW5kby1ib2R5LWJnOiBrLWNvbG9yKCBhcHAtc3VyZmFjZSApO1xuICAgICRrZW5kby1ib2R5LXRleHQ6IGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICk7XG4gICAgJGtlbmRvLXN1YnRsZS10ZXh0OiBrLWNvbG9yKCBzdWJ0bGUgKTtcbiAgICAka2VuZG8tYXBwLWJnOiAka2VuZG8tYm9keS1iZztcbiAgICAka2VuZG8tYXBwLXRleHQ6ICRrZW5kby1ib2R5LXRleHQ7XG4gICAgJGtlbmRvLWFwcC1ib3JkZXI6IGstY29sb3IoIGJvcmRlciApO1xuICAgICRrZW5kby1saW5rLXRleHQ6ICRrZW5kby1jb2xvci1zZWNvbmRhcnk7XG4gICAgJGtlbmRvLWxpbmstaG92ZXItdGV4dDogay1jb2xvciggc2Vjb25kYXJ5LWhvdmVyICk7XG4gICAgJGtlbmRvLWNvbXBvbmVudC1iZzogay1jb2xvciggc3VyZmFjZS1hbHQgKTtcbiAgICAka2VuZG8tY29tcG9uZW50LXRleHQ6ICRrZW5kby1ib2R5LXRleHQ7XG4gICAgJGtlbmRvLWNvbXBvbmVudC1ib3JkZXI6ICRrZW5kby1hcHAtYm9yZGVyO1xuICAgICRrZW5kby1iYXNlLWJnOiAka2VuZG8tYm9keS1iZztcbiAgICAka2VuZG8tYmFzZS10ZXh0OiAka2VuZG8tYm9keS10ZXh0O1xuICAgICRrZW5kby1iYXNlLWJvcmRlcjogJGtlbmRvLWFwcC1ib3JkZXI7XG4gICAgJGtlbmRvLWJhc2UtZ3JhZGllbnQ6IG51bGw7XG4gICAgJGtlbmRvLWhvdmVyLWJnOiBrLWNvbG9yKCBiYXNlLWhvdmVyICk7XG4gICAgJGtlbmRvLWhvdmVyLXRleHQ6ICRrZW5kby1iYXNlLXRleHQ7XG4gICAgJGtlbmRvLWhvdmVyLWJvcmRlcjogJGtlbmRvLWJhc2UtYm9yZGVyO1xuICAgICRrZW5kby1ob3Zlci1ncmFkaWVudDogbnVsbDtcbiAgICAka2VuZG8tc2VsZWN0ZWQtYmc6ICRrZW5kby1jb2xvci1zZWNvbmRhcnk7XG4gICAgJGtlbmRvLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1jb2xvci1zZWNvbmRhcnktY29udHJhc3Q7XG4gICAgJGtlbmRvLXNlbGVjdGVkLWJvcmRlcjogJGtlbmRvLWJhc2UtYm9yZGVyO1xuICAgICRrZW5kby1zZWxlY3RlZC1ncmFkaWVudDogbnVsbDtcbiAgICAka2VuZG8tc2VsZWN0ZWQtaG92ZXItYmc6IGstY29sb3IoIHNlY29uZGFyeS1ob3ZlciApO1xuICAgICRrZW5kby1zZWxlY3RlZC1ob3Zlci10ZXh0OiAka2VuZG8tc2VsZWN0ZWQtdGV4dDtcbiAgICAka2VuZG8tc2VsZWN0ZWQtaG92ZXItYm9yZGVyOiAka2VuZG8tYmFzZS1ib3JkZXI7XG4gICAgJGtlbmRvLXNlbGVjdGVkLWhvdmVyLWdyYWRpZW50OiBudWxsO1xuICAgICRrZW5kby1kaXNhYmxlZC10ZXh0OiBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApO1xuICAgICRrZW5kby1kaXNhYmxlZC1iZzogbnVsbDtcbiAgICAka2VuZG8tZGlzYWJsZWQtYm9yZGVyOiBudWxsO1xuICAgICRrZW5kby1kaXNhYmxlZC1vcGFjaXR5OiAuNjtcbiAgICAka2VuZG8tZGlzYWJsZWQtZmlsdGVyOiBncmF5c2NhbGUoLjEpO1xuICAgICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJnOiAka2VuZG8tYmFzZS1iZztcbiAgICAka2VuZG8tY29tcG9uZW50LWhlYWRlci10ZXh0OiAka2VuZG8tYmFzZS10ZXh0O1xuICAgICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJvcmRlcjogJGtlbmRvLWJhc2UtYm9yZGVyO1xuICAgICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWdyYWRpZW50OiBudWxsO1xuICAgICRrZW5kby1pbnZhbGlkLWJnOiBudWxsO1xuICAgICRrZW5kby1pbnZhbGlkLXRleHQ6ICRrZW5kby1jb2xvci1lcnJvcjtcbiAgICAka2VuZG8taW52YWxpZC1ib3JkZXI6ICRrZW5kby1jb2xvci1lcnJvcjtcbiAgICAka2VuZG8taW52YWxpZC1zaGFkb3c6IG51bGw7XG5cbiAgICAka2VuZG8tdGhlbWUtY29sb3JzOiAoXG4gICAgICAgIFwicHJpbWFyeVwiOiAka2VuZG8tY29sb3ItcHJpbWFyeSxcbiAgICAgICAgXCJzZWNvbmRhcnlcIjogJGtlbmRvLWNvbG9yLXNlY29uZGFyeSxcbiAgICAgICAgXCJ0ZXJ0aWFyeVwiOiAka2VuZG8tY29sb3ItdGVydGlhcnksXG4gICAgICAgIFwiaW5mb1wiOiAka2VuZG8tY29sb3ItaW5mbyxcbiAgICAgICAgXCJzdWNjZXNzXCI6ICRrZW5kby1jb2xvci1zdWNjZXNzLFxuICAgICAgICBcIndhcm5pbmdcIjogJGtlbmRvLWNvbG9yLXdhcm5pbmcsXG4gICAgICAgIFwiZXJyb3JcIjogJGtlbmRvLWNvbG9yLWVycm9yLFxuICAgICAgICBcImRhcmtcIjogJGtlbmRvLWNvbG9yLWRhcmssXG4gICAgICAgIFwibGlnaHRcIjogJGtlbmRvLWNvbG9yLWxpZ2h0LFxuICAgICAgICBcImludmVyc2VcIjogJGtlbmRvLWNvbG9yLWludmVyc2UsXG4gICAgKTtcblxuICAgICRrZW5kby1kaXNhYmxlZC1zdHlsaW5nOiAoXG4gICAgICAgIGJnOiAka2VuZG8tZGlzYWJsZWQtYmcsXG4gICAgICAgIGNvbG9yOiAka2VuZG8tZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgYm9yZGVyOiAka2VuZG8tZGlzYWJsZWQtYm9yZGVyLFxuICAgICAgICBvcGFjaXR5OiAka2VuZG8tZGlzYWJsZWQtb3BhY2l0eSxcbiAgICAgICAgZmlsdGVyOiAka2VuZG8tZGlzYWJsZWQtZmlsdGVyXG4gICAgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cbi8vIEV4cG9zZVxuQGluY2x1ZGUgZXhwb3J0cyhcImtlbmRvLWNvcmUtc3R5bGVzXCIpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb3JlLS1zdHlsZXMoKTtcblxuICAgIC8vIEVsZXZhdGlvbiBTeXN0ZW1cbiAgICBAaW5jbHVkZSBrZW5kby1lbGV2YXRpb24tLXN0eWxlcygpO1xuICAgIC8vIFR5cG9ncmFwaHlcbiAgICBAaW5jbHVkZSBrZW5kby1jb3JlLS10eXBvZ3JhcGh5LS1zdHlsZXMoKTtcbiAgICAvLyBTcGFjaW5nXG4gICAgQGluY2x1ZGUga2VuZG8tc3BhY2luZy0tc3R5bGVzKCk7XG4gICAgLy8gUmFkaWlcbiAgICBAaW5jbHVkZSBrZW5kby1ib3JkZXItcmFkaXVzLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFR5cG9ncmFwaHkgYW5kIHV0aWxzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3R5cG9ncmFwaHkvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90eXBvZ3JhcGh5L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ1dGlsc1wiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZnVuY3Rpb25zLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvX2Z1bmN0aW9ucy5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvX3ZhcmlhYmxlcy5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2NvbG9yLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2NvbG9yLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9zcGFjaW5nL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3NwYWNpbmcvaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3BhY2luZy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL3NwYWNpbmcvaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX21hcmdpbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3NwYWNpbmcvX21hcmdpbi5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW46IDA7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW46IDA7XG4vLy8gQG5hbWUgLmstbS0wXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW46IDFweDtcbi8vLyBAbmFtZSAuay1tLTFweFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbjogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbjogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tLTFcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW46IC0xcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW46IC0xcHg7XG4vLy8gQG5hbWUgLmstbS0tMXB4XG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luOiAtMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbjogLTAuMjVyZW07XG4vLy8gQG5hbWUgLmstbS0tMVxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbjogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbjogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tLXhzXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW46IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1tLXNtXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luOiAwLjc1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luOiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLW0tbWRcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW46IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW46IDFyZW07XG4vLy8gQG5hbWUgLmstbS1sZ1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbjogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luOiAxLjVyZW07XG4vLy8gQG5hbWUgLmstbS14bFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbjogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW46IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLW0tdGhpblxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbjogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luOiAxcHg7XG4vLy8gQG5hbWUgLmstbS1oYWlyXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luOiBhdXRvO1xuLy8vIEBuYW1lIC5rLW0tYXV0b1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi10b3A6IDA7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tdG9wOiAwO1xuLy8vIEBuYW1lIC5rLW10LTBcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tdG9wOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tdG9wOiAxcHg7XG4vLy8gQG5hbWUgLmstbXQtMXB4XG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXRvcDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi10b3A6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstbXQtMVxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi10b3A6IC0xcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tdG9wOiAtMXB4O1xuLy8vIEBuYW1lIC5rLW10LS0xcHhcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tdG9wOiAtMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW10LS0xXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXRvcDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi10b3A6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstbXQteHNcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tdG9wOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tdG9wOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstbXQtc21cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tdG9wOiAwLjc1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXRvcDogMC43NXJlbTtcbi8vLyBAbmFtZSAuay1tdC1tZFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi10b3A6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tdG9wOiAxcmVtO1xuLy8vIEBuYW1lIC5rLW10LWxnXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXRvcDogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXRvcDogMS41cmVtO1xuLy8vIEBuYW1lIC5rLW10LXhsXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXRvcDogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tdG9wOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1tdC10aGluXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXRvcDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXRvcDogMXB4O1xuLy8vIEBuYW1lIC5rLW10LWhhaXJcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tdG9wOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXRvcDogYXV0bztcbi8vLyBAbmFtZSAuay1tdC1hdXRvXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXJpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vIEBuYW1lIC5rLW1yLTBcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tcmlnaHQ6IDFweDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1yaWdodDogMXB4O1xuLy8vIEBuYW1lIC5rLW1yLTFweFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1yaWdodDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tci0xXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXJpZ2h0OiAtMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuLy8vIEBuYW1lIC5rLW1yLS0xcHhcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tci0tMVxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1yaWdodDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tci14c1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1yaWdodDogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4vLy8gQG5hbWUgLmstbXItc21cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4vLy8gQG5hbWUgLmstbXItbWRcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tcmlnaHQ6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tcmlnaHQ6IDFyZW07XG4vLy8gQG5hbWUgLmstbXItbGdcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1yaWdodDogMS41cmVtO1xuLy8vIEBuYW1lIC5rLW1yLXhsXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1yaWdodDogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstbXItdGhpblxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1yaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXJpZ2h0OiAxcHg7XG4vLy8gQG5hbWUgLmstbXItaGFpclxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1yaWdodDogYXV0bztgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1yaWdodDogYXV0bztcbi8vLyBAbmFtZSAuay1tci1hdXRvXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJvdHRvbTogMDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ib3R0b206IDA7XG4vLy8gQG5hbWUgLmstbWItMFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ib3R0b206IDFweDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ib3R0b206IDFweDtcbi8vLyBAbmFtZSAuay1tYi0xcHhcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tYi0xXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJvdHRvbTogLTFweDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ib3R0b206IC0xcHg7XG4vLy8gQG5hbWUgLmstbWItLTFweFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ib3R0b206IC0wLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW07XG4vLy8gQG5hbWUgLmstbWItLTFcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tYi14c1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ib3R0b206IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1tYi1zbVxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ib3R0b206IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLW1iLW1kXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJvdHRvbTogMXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ib3R0b206IDFyZW07XG4vLy8gQG5hbWUgLmstbWItbGdcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYm90dG9tOiAxLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4vLy8gQG5hbWUgLmstbWIteGxcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLW1iLXRoaW5cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYm90dG9tOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYm90dG9tOiAxcHg7XG4vLy8gQG5hbWUgLmstbWItaGFpclxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ib3R0b206IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYm90dG9tOiBhdXRvO1xuLy8vIEBuYW1lIC5rLW1iLWF1dG9cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogMDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1sZWZ0OiAwO1xuLy8vIEBuYW1lIC5rLW1sLTBcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWxlZnQ6IDFweDtcbi8vLyBAbmFtZSAuay1tbC0xcHhcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW1sLTFcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogLTFweDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1sZWZ0OiAtMXB4O1xuLy8vIEBuYW1lIC5rLW1sLS0xcHhcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogLTAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tbGVmdDogLTAuMjVyZW07XG4vLy8gQG5hbWUgLmstbWwtLTFcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW1sLXhzXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWxlZnQ6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4vLy8gQG5hbWUgLmstbWwtc21cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogMC43NXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLW1sLW1kXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWxlZnQ6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tbGVmdDogMXJlbTtcbi8vLyBAbmFtZSAuay1tbC1sZ1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1sZWZ0OiAxLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tbGVmdDogMS41cmVtO1xuLy8vIEBuYW1lIC5rLW1sLXhsXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLW1sLXRoaW5cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWxlZnQ6IDFweDtcbi8vLyBAbmFtZSAuay1tbC1oYWlyXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWxlZnQ6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tbGVmdDogYXV0bztcbi8vLyBAbmFtZSAuay1tbC1hdXRvXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWlubGluZTogMDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1pbmxpbmU6IDA7XG4vLy8gQG5hbWUgLmstbXgtMFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1pbmxpbmU6IDFweDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1pbmxpbmU6IDFweDtcbi8vLyBAbmFtZSAuay1teC0xcHhcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4taW5saW5lOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWlubGluZTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1teC0xXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWlubGluZTogLTFweDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1pbmxpbmU6IC0xcHg7XG4vLy8gQG5hbWUgLmstbXgtLTFweFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1pbmxpbmU6IC0wLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWlubGluZTogLTAuMjVyZW07XG4vLy8gQG5hbWUgLmstbXgtLTFcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4taW5saW5lOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWlubGluZTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1teC14c1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1pbmxpbmU6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1pbmxpbmU6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1teC1zbVxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1pbmxpbmU6IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4taW5saW5lOiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLW14LW1kXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWlubGluZTogMXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1pbmxpbmU6IDFyZW07XG4vLy8gQG5hbWUgLmstbXgtbGdcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4taW5saW5lOiAxLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4taW5saW5lOiAxLjVyZW07XG4vLy8gQG5hbWUgLmstbXgteGxcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4taW5saW5lOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1pbmxpbmU6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLW14LXRoaW5cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4taW5saW5lOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4taW5saW5lOiAxcHg7XG4vLy8gQG5hbWUgLmstbXgtaGFpclxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1pbmxpbmU6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4taW5saW5lOiBhdXRvO1xuLy8vIEBuYW1lIC5rLW14LWF1dG9cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYmxvY2s6IDA7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYmxvY2s6IDA7XG4vLy8gQG5hbWUgLmstbXktMFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ibG9jazogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJsb2NrOiAxcHg7XG4vLy8gQG5hbWUgLmstbXktMXB4XG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJsb2NrOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJsb2NrOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW15LTFcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYmxvY2s6IC0xcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYmxvY2s6IC0xcHg7XG4vLy8gQG5hbWUgLmstbXktLTFweFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ibG9jazogLTAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYmxvY2s6IC0wLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW15LS0xXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJsb2NrOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJsb2NrOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW15LXhzXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJsb2NrOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYmxvY2s6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1teS1zbVxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ibG9jazogMC43NXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ibG9jazogMC43NXJlbTtcbi8vLyBAbmFtZSAuay1teS1tZFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ibG9jazogMXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ibG9jazogMXJlbTtcbi8vLyBAbmFtZSAuay1teS1sZ1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ibG9jazogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJsb2NrOiAxLjVyZW07XG4vLy8gQG5hbWUgLmstbXkteGxcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYmxvY2s6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJsb2NrOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1teS10aGluXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJsb2NrOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYmxvY2s6IDFweDtcbi8vLyBAbmFtZSAuay1teS1oYWlyXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJsb2NrOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJsb2NrOiBhdXRvO1xuLy8vIEBuYW1lIC5rLW15LWF1dG9cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXNwYWNpbmctLW1hcmdpbigpIHtcblxuICAgIC8vIE1hcmdpbiB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtbWFyZ2luOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJtYXJnaW5cIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBtLCBtYXJnaW4sICRrZW5kby11dGlscy1tYXJnaW4sICRjc3MtdmFyOiBcInNwYWNpbmdcIiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBtdCwgbWFyZ2luLXRvcCwgJGtlbmRvLXV0aWxzLW1hcmdpbiwgJGNzcy12YXI6IFwic3BhY2luZ1wiICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG1yLCBtYXJnaW4tcmlnaHQsICRrZW5kby11dGlscy1tYXJnaW4sICRjc3MtdmFyOiBcInNwYWNpbmdcIiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBtYiwgbWFyZ2luLWJvdHRvbSwgJGtlbmRvLXV0aWxzLW1hcmdpbiwgJGNzcy12YXI6IFwic3BhY2luZ1wiICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG1sLCBtYXJnaW4tbGVmdCwgJGtlbmRvLXV0aWxzLW1hcmdpbiwgJGNzcy12YXI6IFwic3BhY2luZ1wiICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG14LCBtYXJnaW4taW5saW5lLCAka2VuZG8tdXRpbHMtbWFyZ2luLCAkY3NzLXZhcjogXCJzcGFjaW5nXCIgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggbXksIG1hcmdpbi1ibG9jaywgJGtlbmRvLXV0aWxzLW1hcmdpbiwgJGNzcy12YXI6IFwic3BhY2luZ1wiICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fcGFkZGluZy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3NwYWNpbmcvX3BhZGRpbmcuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZzogMDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmc6IDA7XG4vLy8gQG5hbWUgLmstcC0wXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmc6IDFweDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmc6IDFweDtcbi8vLyBAbmFtZSAuay1wLTFweFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZzogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1wLTFcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZzogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmc6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcC14c1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstcC1zbVxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nOiAwLjc1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZzogMC43NXJlbTtcbi8vLyBAbmFtZSAuay1wLW1kXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmc6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nOiAxcmVtO1xuLy8vIEBuYW1lIC5rLXAtbGdcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZzogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZzogMS41cmVtO1xuLy8vIEBuYW1lIC5rLXAteGxcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZzogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1wLXRoaW5cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZzogMXB4O2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZzogMXB4O1xuLy8vIEBuYW1lIC5rLXAtaGFpclxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZzogYXV0bztcbi8vLyBAbmFtZSAuay1wLWF1dG9cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy10b3A6IDA7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXRvcDogMDtcbi8vLyBAbmFtZSAuay1wdC0wXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctdG9wOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXRvcDogMXB4O1xuLy8vIEBuYW1lIC5rLXB0LTFweFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXRvcDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXB0LTFcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy10b3A6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1wdC14c1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXRvcDogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy10b3A6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1wdC1zbVxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXRvcDogMC43NXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLXB0LW1kXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctdG9wOiAxcmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy10b3A6IDFyZW07XG4vLy8gQG5hbWUgLmstcHQtbGdcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy10b3A6IDEuNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctdG9wOiAxLjVyZW07XG4vLy8gQG5hbWUgLmstcHQteGxcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy10b3A6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy10b3A6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLXB0LXRoaW5cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy10b3A6IDFweDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctdG9wOiAxcHg7XG4vLy8gQG5hbWUgLmstcHQtaGFpclxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXRvcDogYXV0bztgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctdG9wOiBhdXRvO1xuLy8vIEBuYW1lIC5rLXB0LWF1dG9cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1yaWdodDogMDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctcmlnaHQ6IDA7XG4vLy8gQG5hbWUgLmstcHItMFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXJpZ2h0OiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXJpZ2h0OiAxcHg7XG4vLy8gQG5hbWUgLmstcHItMXB4XG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXByLTFcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1yaWdodDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcHIteHNcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1yaWdodDogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1yaWdodDogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXByLXNtXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLXByLW1kXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctcmlnaHQ6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuLy8vIEBuYW1lIC5rLXByLWxnXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbi8vLyBAbmFtZSAuay1wci14bFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXJpZ2h0OiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctcmlnaHQ6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLXByLXRoaW5cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1yaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1yaWdodDogMXB4O1xuLy8vIEBuYW1lIC5rLXByLWhhaXJcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1yaWdodDogYXV0bztgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctcmlnaHQ6IGF1dG87XG4vLy8gQG5hbWUgLmstcHItYXV0b1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJvdHRvbTogMDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYm90dG9tOiAwO1xuLy8vIEBuYW1lIC5rLXBiLTBcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ib3R0b206IDFweDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYm90dG9tOiAxcHg7XG4vLy8gQG5hbWUgLmstcGItMXB4XG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcGItMVxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXBiLXhzXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYm90dG9tOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXBiLXNtXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4vLy8gQG5hbWUgLmstcGItbWRcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ib3R0b206IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbi8vLyBAbmFtZSAuay1wYi1sZ1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJvdHRvbTogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbi8vLyBAbmFtZSAuay1wYi14bFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJvdHRvbTogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJvdHRvbTogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstcGItdGhpblxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJvdHRvbTogMXB4O2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ib3R0b206IDFweDtcbi8vLyBAbmFtZSAuay1wYi1oYWlyXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYm90dG9tOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ib3R0b206IGF1dG87XG4vLy8gQG5hbWUgLmstcGItYXV0b1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWxlZnQ6IDA7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWxlZnQ6IDA7XG4vLy8gQG5hbWUgLmstcGwtMFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWxlZnQ6IDFweDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctbGVmdDogMXB4O1xuLy8vIEBuYW1lIC5rLXBsLTFweFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcGwtMVxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcGwteHNcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1sZWZ0OiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1wbC1zbVxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4vLy8gQG5hbWUgLmstcGwtbWRcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1sZWZ0OiAxcmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1sZWZ0OiAxcmVtO1xuLy8vIEBuYW1lIC5rLXBsLWxnXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctbGVmdDogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4vLy8gQG5hbWUgLmstcGwteGxcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1sZWZ0OiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctbGVmdDogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstcGwtdGhpblxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWxlZnQ6IDFweDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctbGVmdDogMXB4O1xuLy8vIEBuYW1lIC5rLXBsLWhhaXJcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1sZWZ0OiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1sZWZ0OiBhdXRvO1xuLy8vIEBuYW1lIC5rLXBsLWF1dG9cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1pbmxpbmU6IDA7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWlubGluZTogMDtcbi8vLyBAbmFtZSAuay1weC0wXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctaW5saW5lOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWlubGluZTogMXB4O1xuLy8vIEBuYW1lIC5rLXB4LTFweFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWlubGluZTogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctaW5saW5lOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXB4LTFcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1pbmxpbmU6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWlubGluZTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1weC14c1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWlubGluZTogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1pbmxpbmU6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1weC1zbVxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWlubGluZTogMC43NXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctaW5saW5lOiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLXB4LW1kXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctaW5saW5lOiAxcmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1pbmxpbmU6IDFyZW07XG4vLy8gQG5hbWUgLmstcHgtbGdcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1pbmxpbmU6IDEuNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctaW5saW5lOiAxLjVyZW07XG4vLy8gQG5hbWUgLmstcHgteGxcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1pbmxpbmU6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1pbmxpbmU6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLXB4LXRoaW5cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1pbmxpbmU6IDFweDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctaW5saW5lOiAxcHg7XG4vLy8gQG5hbWUgLmstcHgtaGFpclxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWlubGluZTogYXV0bztgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctaW5saW5lOiBhdXRvO1xuLy8vIEBuYW1lIC5rLXB4LWF1dG9cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ibG9jazogMDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYmxvY2s6IDA7XG4vLy8gQG5hbWUgLmstcHktMFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJsb2NrOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJsb2NrOiAxcHg7XG4vLy8gQG5hbWUgLmstcHktMXB4XG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYmxvY2s6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJsb2NrOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXB5LTFcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ibG9jazogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYmxvY2s6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcHkteHNcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ibG9jazogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ibG9jazogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXB5LXNtXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYmxvY2s6IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJsb2NrOiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLXB5LW1kXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYmxvY2s6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJsb2NrOiAxcmVtO1xuLy8vIEBuYW1lIC5rLXB5LWxnXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYmxvY2s6IDEuNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYmxvY2s6IDEuNXJlbTtcbi8vLyBAbmFtZSAuay1weS14bFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJsb2NrOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYmxvY2s6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLXB5LXRoaW5cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ibG9jazogMXB4O2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ibG9jazogMXB4O1xuLy8vIEBuYW1lIC5rLXB5LWhhaXJcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ibG9jazogYXV0bztgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYmxvY2s6IGF1dG87XG4vLy8gQG5hbWUgLmstcHktYXV0b1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXNwYWNpbmctLXBhZGRpbmcoKSB7XG5cbiAgICAvLyBQYWRkaW5nIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1wYWRkaW5nOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJwYWRkaW5nXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcCwgcGFkZGluZywgJGtlbmRvLXV0aWxzLXBhZGRpbmcsICRjc3MtdmFyOiBcInNwYWNpbmdcIiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBwdCwgcGFkZGluZy10b3AsICRrZW5kby11dGlscy1wYWRkaW5nLCAkY3NzLXZhcjogXCJzcGFjaW5nXCIgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcHIsIHBhZGRpbmctcmlnaHQsICRrZW5kby11dGlscy1wYWRkaW5nLCAkY3NzLXZhcjogXCJzcGFjaW5nXCIgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcGIsIHBhZGRpbmctYm90dG9tLCAka2VuZG8tdXRpbHMtcGFkZGluZywgJGNzcy12YXI6IFwic3BhY2luZ1wiICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHBsLCBwYWRkaW5nLWxlZnQsICRrZW5kby11dGlscy1wYWRkaW5nLCAkY3NzLXZhcjogXCJzcGFjaW5nXCIgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcHgsIHBhZGRpbmctaW5saW5lLCAka2VuZG8tdXRpbHMtcGFkZGluZywgJGNzcy12YXI6IFwic3BhY2luZ1wiICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHB5LCBwYWRkaW5nLWJsb2NrLCAka2VuZG8tdXRpbHMtcGFkZGluZywgJGNzcy12YXI6IFwic3BhY2luZ1wiICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fc3BhY2UtYmV0d2Vlbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3NwYWNpbmcvX3NwYWNlLWJldHdlZW4uc2Nzc1xuLy8gVE9ETzogZG9jc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXNwYWNpbmctLXNwYWNlLWJldHdlZW4oKSB7XG5cbiAgICAvLyBTcGFjZSBiZXR3ZWVuIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1zcGFjZS1iZXR3ZWVuOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJzcGFjZS1iZXR3ZWVuXCIgKSAhZGVmYXVsdDtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGtlbmRvLXV0aWxzLXNwYWNlLWJldHdlZW4ge1xuICAgICAgICAkX2tleTogay1lc2NhcGUtY2xhc3MtbmFtZSggJGtleSApO1xuXG4gICAgICAgIC4jeyRrZW5kby1wcmVmaXh9c3BhY2UteC0jeyRfa2V5fSA+ICogKyAqIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICAuI3ska2VuZG8tcHJlZml4fXNwYWNlLXktI3skX2tleX0gPiAqICsgKiB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS1zcGFjaW5nKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1zcGFjaW5nLS1tYXJnaW4oKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tc3BhY2luZy0tcGFkZGluZygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1zcGFjaW5nLS1zcGFjZS1iZXR3ZWVuKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuJGtlbmRvLXByZWZpeDogay0gIWRlZmF1bHQ7XG4ka2VuZG8taW1wb3J0YW50OiB0cnVlICFkZWZhdWx0O1xuJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4ka2VuZG8tdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcblxuJGtlbmRvLWZvbnQtc2l6ZXM6ICgpICFkZWZhdWx0O1xuXG4ka2VuZG8tdXRpbC1jb2xvcnMtbGlzdDogKFxuICAgIGFwcC1zdXJmYWNlLFxuICAgIG9uLWFwcC1zdXJmYWNlLFxuICAgIHN1YnRsZSxcbiAgICBzdXJmYWNlLFxuICAgIHN1cmZhY2UtYWx0LFxuICAgIGJvcmRlcixcbiAgICBib3JkZXItYWx0LFxuICAgIGJhc2Utc3VidGxlLFxuICAgIGJhc2UtZW1waGFzaXMsXG4gICAgcHJpbWFyeS1zdWJ0bGUsXG4gICAgcHJpbWFyeSxcbiAgICBwcmltYXJ5LWVtcGhhc2lzLFxuICAgIHNlY29uZGFyeS1zdWJ0bGUsXG4gICAgc2Vjb25kYXJ5LFxuICAgIHNlY29uZGFyeS1lbXBoYXNpcyxcbiAgICB0ZXJ0aWFyeS1zdWJ0bGUsXG4gICAgdGVydGlhcnksXG4gICAgdGVydGlhcnktZW1waGFzaXMsXG4gICAgaW5mby1zdWJ0bGUsXG4gICAgaW5mbyxcbiAgICBpbmZvLWVtcGhhc2lzLFxuICAgIHN1Y2Nlc3Mtc3VidGxlLFxuICAgIHN1Y2Nlc3MsXG4gICAgc3VjY2Vzcy1lbXBoYXNpcyxcbiAgICB3YXJuaW5nLXN1YnRsZSxcbiAgICB3YXJuaW5nLFxuICAgIHdhcm5pbmctZW1waGFzaXMsXG4gICAgZXJyb3Itc3VidGxlLFxuICAgIGVycm9yLFxuICAgIGVycm9yLWVtcGhhc2lzLFxuICAgIGxpZ2h0LXN1YnRsZSxcbiAgICBsaWdodCxcbiAgICBsaWdodC1lbXBoYXNpcyxcbiAgICBkYXJrLXN1YnRsZSxcbiAgICBkYXJrLFxuICAgIGRhcmstZW1waGFzaXMsXG4pICFkZWZhdWx0O1xuXG4ka2VuZG8tdXRpbC1jb2xvcnM6ICgpICFkZWZhdWx0O1xuQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tY29sb3JzIHtcbiAgICBAZWFjaCAkdXRpbC1jb2xvciBpbiAka2VuZG8tdXRpbC1jb2xvcnMtbGlzdCB7XG4gICAgICAgIEBpZiAoICRuYW1lID09ICR1dGlsLWNvbG9yICkge1xuICAgICAgICAgICAgJGtlbmRvLXV0aWwtY29sb3JzOiBrLW1hcC1tZXJnZSggJGtlbmRvLXV0aWwtY29sb3JzLCAoICRuYW1lOiAkY29sb3IpICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiRrZW5kby1zcGFjaW5nOiAoKSAhZGVmYXVsdDtcblxuJGtlbmRvLXNpemluZzogKCkgIWRlZmF1bHQ7XG5cbiRrZW5kby1ib3JkZXItcmFkaWk6ICgpICFkZWZhdWx0O1xuXG4ka2VuZG8tdXRpbHM6IChcblxuICAgIC8vIEFjY2Vzc2liaWxpdHlcbiAgICBcInNjcmVlbi1yZWFkZXJzXCI6IHRydWUsXG5cbiAgICAvLyBMYXlvdXRcbiAgICBcImFzcGVjdC1yYXRpb1wiOiAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIDE6IDEsXG4gICAgICAgIHNxdWFyZTogay1zdHJpbmctdW5xdW90ZShcIjEgLyAxXCIpLFxuICAgICAgICB2aWRlbzogay1zdHJpbmctdW5xdW90ZShcIjE2IC8gOVwiKVxuICAgICksXG4gICAgXCJjb250YWluZXJcIjogKCksXG4gICAgXCJjb2x1bW5zXCI6IChcbiAgICAgICAgMTogMSxcbiAgICAgICAgMjogMixcbiAgICAgICAgMzogMyxcbiAgICAgICAgNDogNCxcbiAgICAgICAgNTogNSxcbiAgICAgICAgNjogNixcbiAgICAgICAgNzogNyxcbiAgICAgICAgODogOCxcbiAgICAgICAgOTogOSxcbiAgICAgICAgMTA6IDEwLFxuICAgICAgICAxMTogMTEsXG4gICAgICAgIDEyOiAxMixcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICksXG4gICAgXCJicmVhay1hZnRlclwiOiAoKSxcbiAgICBcImJyZWFrLWJlZm9yZVwiOiAoKSxcbiAgICBcImJyZWFrLWluc2lkZVwiOiAoKSxcbiAgICBcImJveC1kZWNvcmF0aW9uLWJyZWFrXCI6ICgpLFxuICAgIFwiYm94LXNpemluZ1wiOiAoXG4gICAgICAgIGJvcmRlcjogYm9yZGVyLWJveCxcbiAgICAgICAgY29udGVudDogY29udGVudC1ib3hcbiAgICApLFxuICAgIFwiZGlzcGxheVwiOiAoXG4gICAgICAgIG5vbmUsXG4gICAgICAgIGNvbnRlbnRzLFxuICAgICAgICBibG9jayxcbiAgICAgICAgaW5saW5lLFxuICAgICAgICBpbmxpbmUtYmxvY2ssXG4gICAgICAgIGZsZXgsXG4gICAgICAgIGlubGluZS1mbGV4LFxuICAgICAgICBncmlkLFxuICAgICAgICBpbmxpbmUtZ3JpZCxcbiAgICAgICAgdGFibGUsXG4gICAgICAgIGlubGluZS10YWJsZSxcbiAgICAgICAgdGFibGUtcm93LFxuICAgICAgICB0YWJsZS1jZWxsLFxuICAgICAgICBsaXN0LWl0ZW1cbiAgICApLFxuICAgIFwiZmxvYXRcIjogKFxuICAgICAgICBsZWZ0LFxuICAgICAgICByaWdodCxcbiAgICAgICAgbm9uZVxuICAgICksXG4gICAgXCJjbGVhclwiOiAoXG4gICAgICAgIGxlZnQsXG4gICAgICAgIHJpZ2h0LFxuICAgICAgICBib3RoLFxuICAgICAgICBub25lXG4gICAgKSxcbiAgICBcImlzb2xhdGlvblwiOiAoKSxcbiAgICBcIm9iamVjdC1maXRcIjogKFxuICAgICAgICBjb250YWluLFxuICAgICAgICBjb3ZlcixcbiAgICAgICAgZmlsbCxcbiAgICAgICAgc2NhbGUtZG93bixcbiAgICAgICAgaW5pdGlhbCxcbiAgICAgICAgbm9uZVxuICAgICksXG4gICAgXCJvYmplY3QtcG9zaXRpb25cIjogKFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgdG9wOiB0b3AsXG4gICAgICAgIHJpZ2h0OiByaWdodCxcbiAgICAgICAgYm90dG9tOiBib3R0b20sXG4gICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgIHRvcC1sZWZ0OiB0b3AgbGVmdCxcbiAgICAgICAgdG9wLXJpZ2h0OiB0b3AgcmlnaHQsXG4gICAgICAgIGJvdHRvbS1sZWZ0OiBib3R0b20gbGVmdCxcbiAgICAgICAgYm90dG9tLXJpZ2h0OiBib3R0b20gcmlnaHRcbiAgICApLFxuICAgIFwib3ZlcmZsb3dcIjogKFxuICAgICAgICBhdXRvOiBhdXRvLFxuICAgICAgICBoaWRkZW46IGhpZGRlbixcbiAgICAgICAgdmlzaWJsZTogdmlzaWJsZSxcbiAgICAgICAgc2Nyb2xsOiBzY3JvbGwsXG4gICAgICAgIGNsaXA6IGNsaXBcbiAgICApLFxuICAgIFwib3ZlcnNjcm9sbFwiOiAoKSxcbiAgICBcInBsYWNlbWVudFwiOiBrLW1hcC1tZXJnZSggJGtlbmRvLXNwYWNpbmcsIChcbiAgICAgICAgLTE6IC0xcHhcbiAgICApKSxcbiAgICBcInBvc2l0aW9uXCI6IChcbiAgICAgICAgc3RhdGljLFxuICAgICAgICByZWxhdGl2ZSxcbiAgICAgICAgYWJzb2x1dGUsXG4gICAgICAgIGZpeGVkLFxuICAgICAgICBzdGlja3lcbiAgICApLFxuICAgIFwiaW5zZXRcIjogKFxuICAgICAgICAwOiAwLFxuICAgICAgICAxOiAxcHgsXG4gICAgICAgIC0xOiAtMXB4XG4gICAgKSxcbiAgICBcInZpc2liaWxpdHlcIjogKFxuICAgICAgICB2aXNpYmxlOiB2aXNpYmxlLFxuICAgICAgICBpbnZpc2libGU6IGhpZGRlbixcbiAgICAgICAgY29sbGFwc2U6IGNvbGxhcHNlXG4gICAgKSxcbiAgICBcInppbmRleFwiOiAoXG4gICAgICAgIDA6IDAsXG4gICAgICAgIDEwOiAxMCxcbiAgICAgICAgMjA6IDIwLFxuICAgICAgICAzMDogMzAsXG4gICAgICAgIDQwOiA0MCxcbiAgICAgICAgNTA6IDUwLFxuICAgICAgICBhdXRvOiBhdXRvXG4gICAgKSxcblxuICAgIC8vIEZsZXggLyBHcmlkXG4gICAgXCJmbGV4LWRpcmVjdGlvblwiOiAoXG4gICAgICAgIHJvdzogcm93LFxuICAgICAgICByb3ctcmV2ZXJzZTogcm93LXJldmVyc2UsXG4gICAgICAgIGNvbDogY29sdW1uLFxuICAgICAgICBjb2wtcmV2ZXJzZTogY29sdW1uLXJldmVyc2VcbiAgICApLFxuICAgIFwiZmxleC13cmFwXCI6IChcbiAgICAgICAgd3JhcCxcbiAgICAgICAgd3JhcC1yZXZlcnNlLFxuICAgICAgICBub3dyYXBcbiAgICApLFxuICAgIFwiZmxleFwiOiAoXG4gICAgICAgIDE6IDEgMSAwJSxcbiAgICAgICAgYXV0bzogMSAxIGF1dG8sXG4gICAgICAgIGluaXRpYWw6IDAgMSBhdXRvLFxuICAgICAgICBub25lOiBub25lXG4gICAgKSxcbiAgICBcImZsZXgtZ3Jvd1wiOiAoXG4gICAgICAgIERFRkFVTFQ6IDEsXG4gICAgICAgIDA6IDBcbiAgICApLFxuICAgIFwiZmxleC1zaHJpbmtcIjogKFxuICAgICAgICBERUZBVUxUOiAxLFxuICAgICAgICAwOiAwXG4gICAgKSxcbiAgICBcImZsZXgtYmFzaXNcIjogJGtlbmRvLXNpemluZyxcbiAgICBcIm9yZGVyXCI6IChcbiAgICAgICAgMTogMSxcbiAgICAgICAgMjogMixcbiAgICAgICAgMzogMyxcbiAgICAgICAgNDogNCxcbiAgICAgICAgNTogNSxcbiAgICAgICAgNjogNixcbiAgICAgICAgNzogNyxcbiAgICAgICAgODogOCxcbiAgICAgICAgOTogOSxcbiAgICAgICAgMTA6IDEwLFxuICAgICAgICAxMTogMTEsXG4gICAgICAgIDEyOiAxMixcbiAgICAgICAgZmlyc3Q6IC05OTk5LFxuICAgICAgICBsYXN0OiA5OTk5LFxuICAgICAgICBub25lOiAwXG4gICAgKSxcbiAgICBcImdyaWQtdGVtcGxhdGUtY29sdW1uc1wiOiAoXG4gICAgICAgIDE6IHJlcGVhdCggMSwgbWlubWF4KCAwLCAxZnIgKSApLFxuICAgICAgICAyOiByZXBlYXQoIDIsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgMzogcmVwZWF0KCAzLCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDQ6IHJlcGVhdCggNCwgbWlubWF4KCAwLCAxZnIgKSApLFxuICAgICAgICA1OiByZXBlYXQoIDUsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgNjogcmVwZWF0KCA2LCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDc6IHJlcGVhdCggNywgbWlubWF4KCAwLCAxZnIgKSApLFxuICAgICAgICA4OiByZXBlYXQoIDgsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgOTogcmVwZWF0KCA5LCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDEwOiByZXBlYXQoIDEwLCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDExOiByZXBlYXQoIDExLCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDEyOiByZXBlYXQoIDEyLCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIG5vbmU6IG5vbmVcbiAgICApLFxuICAgIFwiZ3JpZC10ZW1wbGF0ZS1yb3dzXCI6IChcbiAgICAgICAgMTogcmVwZWF0KCAxLCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDI6IHJlcGVhdCggMiwgbWlubWF4KCAwLCAxZnIgKSApLFxuICAgICAgICAzOiByZXBlYXQoIDMsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgNDogcmVwZWF0KCA0LCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDU6IHJlcGVhdCggNSwgbWlubWF4KCAwLCAxZnIgKSApLFxuICAgICAgICA2OiByZXBlYXQoIDYsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgNzogcmVwZWF0KCA3LCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDg6IHJlcGVhdCggOCwgbWlubWF4KCAwLCAxZnIgKSApLFxuICAgICAgICA5OiByZXBlYXQoIDksIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgMTA6IHJlcGVhdCggMTAsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgMTE6IHJlcGVhdCggMTEsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgMTI6IHJlcGVhdCggMTIsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgbm9uZTogbm9uZVxuICAgICksXG4gICAgXCJncmlkLWNvbHVtbi1zdGFydFwiOiAoXG4gICAgICAgIDE6IDEsXG4gICAgICAgIDI6IDIsXG4gICAgICAgIDM6IDMsXG4gICAgICAgIDQ6IDQsXG4gICAgICAgIDU6IDUsXG4gICAgICAgIDY6IDYsXG4gICAgICAgIDc6IDcsXG4gICAgICAgIDg6IDgsXG4gICAgICAgIDk6IDksXG4gICAgICAgIDEwOiAxMCxcbiAgICAgICAgMTE6IDExLFxuICAgICAgICAxMjogMTIsXG4gICAgICAgIDEzOiAxMyxcbiAgICAgICAgLTE6IC0xLFxuICAgICAgICAtMjogLTIsXG4gICAgICAgIC0zOiAtMyxcbiAgICAgICAgLTQ6IC00LFxuICAgICAgICAtNTogLTUsXG4gICAgICAgIC02OiAtNixcbiAgICAgICAgLTc6IC03LFxuICAgICAgICAtODogLTgsXG4gICAgICAgIC05OiAtOSxcbiAgICAgICAgLTEwOiAtMTAsXG4gICAgICAgIC0xMTogLTExLFxuICAgICAgICAtMTI6IC0xMixcbiAgICAgICAgLTEzOiAtMTMsXG4gICAgICAgIGF1dG86IGF1dG9cbiAgICApLFxuICAgIFwiZ3JpZC1jb2x1bW4tZW5kXCI6IChcbiAgICAgICAgMTogMSxcbiAgICAgICAgMjogMixcbiAgICAgICAgMzogMyxcbiAgICAgICAgNDogNCxcbiAgICAgICAgNTogNSxcbiAgICAgICAgNjogNixcbiAgICAgICAgNzogNyxcbiAgICAgICAgODogOCxcbiAgICAgICAgOTogOSxcbiAgICAgICAgMTA6IDEwLFxuICAgICAgICAxMTogMTEsXG4gICAgICAgIDEyOiAxMixcbiAgICAgICAgMTM6IDEzLFxuICAgICAgICAtMTogLTEsXG4gICAgICAgIC0yOiAtMixcbiAgICAgICAgLTM6IC0zLFxuICAgICAgICAtNDogLTQsXG4gICAgICAgIC01OiAtNSxcbiAgICAgICAgLTY6IC02LFxuICAgICAgICAtNzogLTcsXG4gICAgICAgIC04OiAtOCxcbiAgICAgICAgLTk6IC05LFxuICAgICAgICAtMTA6IC0xMCxcbiAgICAgICAgLTExOiAtMTEsXG4gICAgICAgIC0xMjogLTEyLFxuICAgICAgICAtMTM6IC0xMyxcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICksXG4gICAgXCJncmlkLWNvbHVtbi1zcGFuXCI6IChcbiAgICAgICAgMTogc3BhbiAxIC8gc3BhbiAxLFxuICAgICAgICAyOiBzcGFuIDIgLyBzcGFuIDIsXG4gICAgICAgIDM6IHNwYW4gMyAvIHNwYW4gMyxcbiAgICAgICAgNDogc3BhbiA0IC8gc3BhbiA0LFxuICAgICAgICA1OiBzcGFuIDUgLyBzcGFuIDUsXG4gICAgICAgIDY6IHNwYW4gNiAvIHNwYW4gNixcbiAgICAgICAgNzogc3BhbiA3IC8gc3BhbiA3LFxuICAgICAgICA4OiBzcGFuIDggLyBzcGFuIDgsXG4gICAgICAgIDk6IHNwYW4gOSAvIHNwYW4gOSxcbiAgICAgICAgMTA6IHNwYW4gMTAgLyBzcGFuIDEwLFxuICAgICAgICAxMTogc3BhbiAxMSAvIHNwYW4gMTEsXG4gICAgICAgIDEyOiBzcGFuIDEyIC8gc3BhbiAxMixcbiAgICAgICAgZnVsbDogay1zdHJpbmctdW5xdW90ZShcIjEgLyAtMVwiKSxcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICksXG4gICAgXCJncmlkLXJvdy1zdGFydFwiOiAoXG4gICAgICAgIDE6IDEsXG4gICAgICAgIDI6IDIsXG4gICAgICAgIDM6IDMsXG4gICAgICAgIDQ6IDQsXG4gICAgICAgIDU6IDUsXG4gICAgICAgIDY6IDYsXG4gICAgICAgIDc6IDcsXG4gICAgICAgIDg6IDgsXG4gICAgICAgIDk6IDksXG4gICAgICAgIDEwOiAxMCxcbiAgICAgICAgMTE6IDExLFxuICAgICAgICAxMjogMTIsXG4gICAgICAgIDEzOiAxMyxcbiAgICAgICAgLTE6IC0xLFxuICAgICAgICAtMjogLTIsXG4gICAgICAgIC0zOiAtMyxcbiAgICAgICAgLTQ6IC00LFxuICAgICAgICAtNTogLTUsXG4gICAgICAgIC02OiAtNixcbiAgICAgICAgLTc6IC03LFxuICAgICAgICAtODogLTgsXG4gICAgICAgIC05OiAtOSxcbiAgICAgICAgLTEwOiAtMTAsXG4gICAgICAgIC0xMTogLTExLFxuICAgICAgICAtMTI6IC0xMixcbiAgICAgICAgLTEzOiAtMTMsXG4gICAgICAgIGF1dG86IGF1dG9cbiAgICApLFxuICAgIFwiZ3JpZC1yb3ctZW5kXCI6IChcbiAgICAgICAgMTogMSxcbiAgICAgICAgMjogMixcbiAgICAgICAgMzogMyxcbiAgICAgICAgNDogNCxcbiAgICAgICAgNTogNSxcbiAgICAgICAgNjogNixcbiAgICAgICAgNzogNyxcbiAgICAgICAgODogOCxcbiAgICAgICAgOTogOSxcbiAgICAgICAgMTA6IDEwLFxuICAgICAgICAxMTogMTEsXG4gICAgICAgIDEyOiAxMixcbiAgICAgICAgMTM6IDEzLFxuICAgICAgICAtMTogLTEsXG4gICAgICAgIC0yOiAtMixcbiAgICAgICAgLTM6IC0zLFxuICAgICAgICAtNDogLTQsXG4gICAgICAgIC01OiAtNSxcbiAgICAgICAgLTY6IC02LFxuICAgICAgICAtNzogLTcsXG4gICAgICAgIC04OiAtOCxcbiAgICAgICAgLTk6IC05LFxuICAgICAgICAtMTA6IC0xMCxcbiAgICAgICAgLTExOiAtMTEsXG4gICAgICAgIC0xMjogLTEyLFxuICAgICAgICAtMTM6IC0xMyxcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICksXG4gICAgXCJncmlkLXJvdy1zcGFuXCI6IChcbiAgICAgICAgMTogc3BhbiAxIC8gc3BhbiAxLFxuICAgICAgICAyOiBzcGFuIDIgLyBzcGFuIDIsXG4gICAgICAgIDM6IHNwYW4gMyAvIHNwYW4gMyxcbiAgICAgICAgNDogc3BhbiA0IC8gc3BhbiA0LFxuICAgICAgICA1OiBzcGFuIDUgLyBzcGFuIDUsXG4gICAgICAgIDY6IHNwYW4gNiAvIHNwYW4gNixcbiAgICAgICAgNzogc3BhbiA3IC8gc3BhbiA3LFxuICAgICAgICA4OiBzcGFuIDggLyBzcGFuIDgsXG4gICAgICAgIDk6IHNwYW4gOSAvIHNwYW4gOSxcbiAgICAgICAgMTA6IHNwYW4gMTAgLyBzcGFuIDEwLFxuICAgICAgICAxMTogc3BhbiAxMSAvIHNwYW4gMTEsXG4gICAgICAgIDEyOiBzcGFuIDEyIC8gc3BhbiAxMixcbiAgICAgICAgZnVsbDogc3BhbiAxIC8gc3BhbiAtMSxcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICksXG4gICAgXCJncmlkLWF1dG8tZmxvd1wiOiAoXG4gICAgICAgIHJvdzogcm93LFxuICAgICAgICBjb2w6IGNvbHVtbixcbiAgICAgICAgZGVuc2U6IGRlbnNlLFxuICAgICAgICByb3ctZGVuc2U6IHJvdyBkZW5zZSxcbiAgICAgICAgY29sLWRlbnNlOiBjb2x1bW4gZGVuc2UsXG4gICAgICAgIHVuc2V0OiB1bnNldFxuICAgICksXG4gICAgXCJncmlkLWF1dG8tY29sdW1uc1wiOiAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIG1pbjogbWluLWNvbnRlbnQsXG4gICAgICAgIG1heDogbWF4LWNvbnRlbnQsXG4gICAgICAgIGZyOiBtaW5tYXgoIDAsIDFmciApLFxuICAgICksXG4gICAgXCJncmlkLWF1dG8tcm93c1wiOiAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIG1pbjogbWluLWNvbnRlbnQsXG4gICAgICAgIG1heDogbWF4LWNvbnRlbnQsXG4gICAgICAgIGZyOiBtaW5tYXgoIDAsIDFmciApLFxuICAgICksXG4gICAgXCJnYXBcIjogay1tYXAtbWVyZ2UoICRrZW5kby1zcGFjaW5nLCAoXG4gICAgICAgIC8vIFRPRE86IHJlbW92ZSB0aGlzIGV4dGVuc2lvbiBvbmNlIHdlIGZpeCBkb2NzXG4gICAgICAgIHhzOiBrLXNwYWNpbmcoMSksXG4gICAgICAgIHNtOiBrLXNwYWNpbmcoMiksXG4gICAgICAgIG1kOiBrLXNwYWNpbmcoMyksXG4gICAgICAgIGxnOiBrLXNwYWNpbmcoNCksXG4gICAgICAgIHhsOiBrLXNwYWNpbmcoNiksXG4gICAgICAgIHRoaW46IGstc3BhY2luZygwLjUpLFxuICAgICAgICBoYWlyOiBrLXNwYWNpbmcoMXB4KVxuICAgICkpLFxuICAgIFwiYWxpZ24tY29udGVudFwiOiAoXG4gICAgICAgIG5vcm1hbDogbm9ybWFsLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZmxleC1zdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZmxleC1lbmQ6IGZsZXgtZW5kLFxuICAgICAgICBiYXNlbGluZTogYmFzZWxpbmUsXG4gICAgICAgIGZpcnN0LWJhc2VsaW5lOiBmaXJzdCBiYXNlbGluZSxcbiAgICAgICAgbGFzdC1iYXNlbGluZTogbGFzdCBiYXNlbGluZSxcbiAgICAgICAgYmV0d2Vlbjogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgYXJvdW5kOiBzcGFjZS1hcm91bmQsXG4gICAgICAgIGV2ZW5seTogc3BhY2UtZXZlbmx5XG4gICAgKSxcbiAgICBcImFsaWduLWl0ZW1zXCI6IChcbiAgICAgICAgbm9ybWFsOiBub3JtYWwsXG4gICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2gsXG4gICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgIGVuZDogZW5kLFxuICAgICAgICBmbGV4LXN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICBmbGV4LWVuZDogZmxleC1lbmQsXG4gICAgICAgIGJhc2VsaW5lOiBiYXNlbGluZSxcbiAgICAgICAgZmlyc3QtYmFzZWxpbmU6IGZpcnN0IGJhc2VsaW5lLFxuICAgICAgICBsYXN0LWJhc2VsaW5lOiBsYXN0IGJhc2VsaW5lLFxuICAgICAgICBzZWxmLXN0YXJ0OiBzZWxmLXN0YXJ0LFxuICAgICAgICBzZWxmLWVuZDogc2VsZi1lbmRcbiAgICApLFxuICAgIFwiYWxpZ24tc2VsZlwiOiAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIG5vcm1hbDogbm9ybWFsLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZmxleC1zdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZmxleC1lbmQ6IGZsZXgtZW5kLFxuICAgICAgICBiYXNlbGluZTogYmFzZWxpbmUsXG4gICAgICAgIGZpcnN0LWJhc2VsaW5lOiBmaXJzdCBiYXNlbGluZSxcbiAgICAgICAgbGFzdC1iYXNlbGluZTogbGFzdCBiYXNlbGluZSxcbiAgICAgICAgc2VsZi1zdGFydDogc2VsZi1zdGFydCxcbiAgICAgICAgc2VsZi1lbmQ6IHNlbGYtZW5kXG4gICAgKSxcbiAgICBcImp1c3RpZnktY29udGVudFwiOiAoXG4gICAgICAgIG5vcm1hbDogbm9ybWFsLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZmxleC1zdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZmxleC1lbmQ6IGZsZXgtZW5kLFxuICAgICAgICBsZWZ0OiBsZWZ0LFxuICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgIGJhc2VsaW5lOiBiYXNlbGluZSxcbiAgICAgICAgZmlyc3QtYmFzZWxpbmU6IGZpcnN0IGJhc2VsaW5lLFxuICAgICAgICBsYXN0LWJhc2VsaW5lOiBsYXN0IGJhc2VsaW5lLFxuICAgICAgICBiZXR3ZWVuOiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICBhcm91bmQ6IHNwYWNlLWFyb3VuZCxcbiAgICAgICAgZXZlbmx5OiBzcGFjZS1ldmVubHlcbiAgICApLFxuICAgIFwianVzdGlmeS1pdGVtc1wiOiAoXG4gICAgICAgIG5vcm1hbDogbm9ybWFsLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZmxleC1zdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZmxleC1lbmQ6IGZsZXgtZW5kLFxuICAgICAgICBzZWxmLXN0YXJ0OiBzZWxmLXN0YXJ0LFxuICAgICAgICBzZWxmLWVuZDogc2VsZi1lbmQsXG4gICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgIHJpZ2h0OiByaWdodCxcbiAgICAgICAgYmFzZWxpbmU6IGJhc2VsaW5lLFxuICAgICAgICBmaXJzdC1iYXNlbGluZTogZmlyc3QgYmFzZWxpbmUsXG4gICAgICAgIGxhc3QtYmFzZWxpbmU6IGxhc3QgYmFzZWxpbmVcbiAgICApLFxuICAgIFwianVzdGlmeS1zZWxmXCI6IChcbiAgICAgICAgYXV0bzogYXV0byxcbiAgICAgICAgbm9ybWFsOiBub3JtYWwsXG4gICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2gsXG4gICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgIGVuZDogZW5kLFxuICAgICAgICBmbGV4LXN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICBmbGV4LWVuZDogZmxleC1lbmQsXG4gICAgICAgIHNlbGYtc3RhcnQ6IHNlbGYtc3RhcnQsXG4gICAgICAgIHNlbGYtZW5kOiBzZWxmLWVuZCxcbiAgICAgICAgYmFzZWxpbmU6IGJhc2VsaW5lLFxuICAgICAgICBmaXJzdC1iYXNlbGluZTogZmlyc3QgYmFzZWxpbmUsXG4gICAgICAgIGxhc3QtYmFzZWxpbmU6IGxhc3QgYmFzZWxpbmVcbiAgICApLFxuICAgIFwicGxhY2UtY29udGVudFwiOiAoXG4gICAgICAgIG5vcm1hbDogbm9ybWFsLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZmxleC1zdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZmxleC1lbmQ6IGZsZXgtZW5kLFxuICAgICAgICBiYXNlbGluZTogYmFzZWxpbmUsXG4gICAgICAgIGJldHdlZW46IHNwYWNlLWJldHdlZW4sXG4gICAgICAgIGFyb3VuZDogc3BhY2UtYXJvdW5kLFxuICAgICAgICBldmVubHk6IHNwYWNlLWV2ZW5seVxuICAgICksXG4gICAgXCJwbGFjZS1pdGVtc1wiOiAoXG4gICAgICAgIG5vcm1hbDogbm9ybWFsLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZmxleC1zdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZmxleC1lbmQ6IGZsZXgtZW5kLFxuICAgICAgICBzZWxmLXN0YXJ0OiBzZWxmLXN0YXJ0LFxuICAgICAgICBzZWxmLWVuZDogc2VsZi1lbmQsXG4gICAgICAgIGJhc2VsaW5lOiBiYXNlbGluZVxuICAgICksXG4gICAgXCJwbGFjZS1zZWxmXCI6IChcbiAgICAgICAgYXV0bzogYXV0byxcbiAgICAgICAgbm9ybWFsOiBub3JtYWwsXG4gICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2gsXG4gICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgIGVuZDogZW5kLFxuICAgICAgICBmbGV4LXN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICBmbGV4LWVuZDogZmxleC1lbmQsXG4gICAgICAgIHNlbGYtc3RhcnQ6IHNlbGYtc3RhcnQsXG4gICAgICAgIHNlbGYtZW5kOiBzZWxmLWVuZCxcbiAgICAgICAgYmFzZWxpbmU6IGJhc2VsaW5lXG4gICAgKSxcblxuICAgIC8vIFNwYWNpbmdcbiAgICBcIm1hcmdpblwiOiBrLW1hcC1tZXJnZSggJGtlbmRvLXNwYWNpbmcsXG4gICAgICAgIGstbWFwLW5lZ2F0ZSggJGtlbmRvLXNwYWNpbmcpLCAoXG4gICAgICAgIC8vIFRPRE86IHJlbW92ZSB0aGlzIGV4dGVuc2lvbiBvbmNlIHdlIGZpeCBkb2NzXG4gICAgICAgIHhzOiBrLXNwYWNpbmcoMSksXG4gICAgICAgIHNtOiBrLXNwYWNpbmcoMiksXG4gICAgICAgIG1kOiBrLXNwYWNpbmcoMyksXG4gICAgICAgIGxnOiBrLXNwYWNpbmcoNCksXG4gICAgICAgIHhsOiBrLXNwYWNpbmcoNiksXG4gICAgICAgIHRoaW46IGstc3BhY2luZygwLjUpLFxuICAgICAgICBoYWlyOiBrLXNwYWNpbmcoMXB4KSxcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICkpLFxuICAgIFwicGFkZGluZ1wiOiBrLW1hcC1tZXJnZSggJGtlbmRvLXNwYWNpbmcsIChcbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlIHRoaXMgZXh0ZW5zaW9uIG9uY2Ugd2UgZml4IGRvY3NcbiAgICAgICAgeHM6IGstc3BhY2luZygxKSxcbiAgICAgICAgc206IGstc3BhY2luZygyKSxcbiAgICAgICAgbWQ6IGstc3BhY2luZygzKSxcbiAgICAgICAgbGc6IGstc3BhY2luZyg0KSxcbiAgICAgICAgeGw6IGstc3BhY2luZyg2KSxcbiAgICAgICAgdGhpbjogay1zcGFjaW5nKDAuNSksXG4gICAgICAgIGhhaXI6IGstc3BhY2luZygxcHgpXG4gICAgKSksXG4gICAgXCJzcGFjZS1iZXR3ZWVuXCI6ICgpLFxuXG4gICAgLy8gU2l6aW5nXG4gICAgXCJ3aWR0aFwiOiBrLW1hcC1tZXJnZSggJGtlbmRvLXNpemluZywgKFxuICAgICAgICBzY3JlZW46IDEwMHZ3XG4gICAgKSksXG4gICAgXCJtaW4td2lkdGhcIjogKFxuICAgICAgICAwOiAwLFxuICAgICAgICBmdWxsOiAxMDAlLFxuICAgICAgICBzY3JlZW46IDEwMHZ3LFxuICAgICAgICBtaW46IG1pbi1jb250ZW50LFxuICAgICAgICBtYXg6IG1heC1jb250ZW50LFxuICAgICAgICBmaXQ6IGZpdC1jb250ZW50XG4gICAgKSxcbiAgICBcIm1heC13aWR0aFwiOiAoXG4gICAgICAgIG5vbmU6IG5vbmUsXG4gICAgICAgIDA6IDAsXG4gICAgICAgIGZ1bGw6IDEwMCUsXG4gICAgICAgIHNjcmVlbjogMTAwdncsXG4gICAgICAgIG1pbjogbWluLWNvbnRlbnQsXG4gICAgICAgIG1heDogbWF4LWNvbnRlbnQsXG4gICAgICAgIGZpdDogZml0LWNvbnRlbnRcbiAgICApLFxuICAgIFwiaGVpZ2h0XCI6IGstbWFwLW1lcmdlKCAka2VuZG8tc2l6aW5nLCAoXG4gICAgICAgIHNjcmVlbjogMTAwdmhcbiAgICApKSxcbiAgICBcIm1pbi1oZWlnaHRcIjogKFxuICAgICAgICAwOiAwLFxuICAgICAgICBmdWxsOiAxMDAlLFxuICAgICAgICBzY3JlZW46IDEwMHZoLFxuICAgICAgICBtaW46IG1pbi1jb250ZW50LFxuICAgICAgICBtYXg6IG1heC1jb250ZW50LFxuICAgICAgICBmaXQ6IGZpdC1jb250ZW50XG4gICAgKSxcbiAgICBcIm1heC1oZWlnaHRcIjogKFxuICAgICAgICBub25lOiBub25lLFxuICAgICAgICAwOiAwLFxuICAgICAgICBmdWxsOiAxMDAlLFxuICAgICAgICBzY3JlZW46IDEwMHZoLFxuICAgICAgICBtaW46IG1pbi1jb250ZW50LFxuICAgICAgICBtYXg6IG1heC1jb250ZW50LFxuICAgICAgICBmaXQ6IGZpdC1jb250ZW50XG4gICAgKSxcblxuICAgIC8vIFR5cG9ncmFwaHlcbiAgICBcImZvbnQtZmFtaWx5XCI6ICgpLFxuICAgIFwiZm9udC1zaXplXCI6ICgpLFxuICAgIFwiZm9udC1zbW9vdGhpbmdcIjogKCksXG4gICAgXCJmb250LXN0eWxlXCI6IChcbiAgICAgICAgaXRhbGljOiBpdGFsaWMsXG4gICAgICAgIG5vbi1pdGFsaWM6IG5vcm1hbCxcbiAgICAgICAgb2JsaXF1ZTogb2JsaXF1ZVxuICAgICksXG4gICAgXCJmb250LXdlaWdodFwiOiAoKSxcbiAgICBcImZvbnQtdmFyaWFudC1udW1lcmljXCI6ICgpLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogKCksXG4gICAgXCJsaW5lLWhlaWdodFwiOiAoKSxcbiAgICBcImxpc3Qtc3R5bGUtdHlwZVwiOiAoXG4gICAgICAgIG5vbmUsXG4gICAgICAgIGRpc2MsXG4gICAgICAgIGRlY2ltYWxcbiAgICApLFxuICAgIFwibGlzdC1zdHlsZS1wb3NpdGlvblwiOiAoKSxcbiAgICBcInRleHQtYWxpZ25cIjogKFxuICAgICAgICBsZWZ0LFxuICAgICAgICByaWdodCxcbiAgICAgICAgY2VudGVyLFxuICAgICAgICBqdXN0aWZ5LFxuICAgICAgICBzdGFydCxcbiAgICAgICAgZW5kXG4gICAgKSxcbiAgICBcInRleHQtY29sb3JcIjogay1tYXAtbWVyZ2UoIGlmKCAka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGtlbmRvLXV0aWwtY29sb3JzLCAka2VuZG8tdGhlbWUtY29sb3JzICksIChcbiAgICAgICAgXCJpbmhlcml0XCI6IGluaGVyaXQsXG4gICAgICAgIFwiY3VycmVudFwiOiBjdXJyZW50Q29sb3IsXG4gICAgICAgIFwidHJhbnNwYXJlbnRcIjogdHJhbnNwYXJlbnQsXG4gICAgICAgIFwiYmxhY2tcIjogYmxhY2ssXG4gICAgICAgIFwid2hpdGVcIjogd2hpdGVcbiAgICApKSxcbiAgICBcInRleHQtZGVjb3JhdGlvblwiOiAoXG4gICAgICAgIHVuZGVybGluZTogdW5kZXJsaW5lLFxuICAgICAgICBvdmVybGluZTogb3ZlcmxpbmUsXG4gICAgICAgIGxpbmUtdGhyb3VnaDogbGluZS10aHJvdWdoLFxuICAgICAgICBuby11bmRlcmxpbmU6IG5vbmVcbiAgICApLFxuICAgIFwidGV4dC1kZWNvcmF0aW9uLXdpZHRoXCI6ICgpLFxuICAgIFwidGV4dC1kZWNvcmF0aW9uLXN0eWxlXCI6ICgpLFxuICAgIFwidGV4dC1kZWNvcmF0aW9uLWNvbG9yXCI6ICgpLFxuICAgIFwidGV4dC1kZWNvcmF0aW9uLW9mZnNldFwiOiAoKSxcbiAgICBcInRleHQtdHJhbnNmb3JtXCI6IChcbiAgICAgICAgdXBwZXJjYXNlOiB1cHBlcmNhc2UsXG4gICAgICAgIGxvd2VyY2FzZTogbG93ZXJjYXNlLFxuICAgICAgICBjYXBpdGFsaXplOiBjYXBpdGFsaXplLFxuICAgICAgICBub3JtYWwtY2FzZTogbm9uZVxuICAgICksXG4gICAgXCJ0ZXh0LW92ZXJmbG93XCI6IChcbiAgICAgICAgY2xpcDogY2xpcCxcbiAgICAgICAgZWxsaXBzaXM6IGVsbGlwc2lzXG4gICAgKSxcbiAgICBcInRleHQtaW5kZW50XCI6ICgpLFxuICAgIFwidmVydGljYWwtYWxpZ25cIjogKFxuICAgICAgICBiYXNlbGluZSxcbiAgICAgICAgdG9wLFxuICAgICAgICBtaWRkbGUsXG4gICAgICAgIGJvdHRvbSxcbiAgICAgICAgdGV4dC10b3AsXG4gICAgICAgIHRleHQtYm90dG9tLFxuICAgICAgICBzdWIsXG4gICAgICAgIHN1cGVyXG4gICAgKSxcbiAgICBcIndoaXRlLXNwYWNlXCI6IChcbiAgICAgICAgbm9ybWFsLFxuICAgICAgICBub3dyYXAsXG4gICAgICAgIHByZSxcbiAgICAgICAgcHJlLWxpbmUsXG4gICAgICAgIHByZS13cmFwLFxuICAgICAgICBicmVhay1zcGFjZXNcbiAgICApLFxuICAgIFwid29yZC1icmVha1wiOiAoKSxcblxuICAgIC8vIEJhY2tncm91bmRcbiAgICBcImJhY2tncm91bmQtY2xpcFwiOiAoXG4gICAgICAgIGJvcmRlcjogYm9yZGVyLWJveCxcbiAgICAgICAgcGFkZGluZzogcGFkZGluZy1ib3gsXG4gICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQtYm94LFxuICAgICAgICB0ZXh0OiB0ZXh0XG4gICAgKSxcbiAgICBcImJhY2tncm91bmQtY29sb3JcIjogay1tYXAtbWVyZ2UoIGlmKCAka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGtlbmRvLXV0aWwtY29sb3JzLCAka2VuZG8tdGhlbWUtY29sb3JzICksIChcbiAgICAgICAgXCJpbmhlcml0XCI6IGluaGVyaXQsXG4gICAgICAgIFwidHJhbnNwYXJlbnRcIjogdHJhbnNwYXJlbnQsXG4gICAgICAgIFwiYmxhY2tcIjogYmxhY2ssXG4gICAgICAgIFwid2hpdGVcIjogd2hpdGVcbiAgICApKSxcbiAgICBcImJhY2tncm91bmQtcG9zaXRpb25cIjogKFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgdG9wOiB0b3AsXG4gICAgICAgIHJpZ2h0OiByaWdodCxcbiAgICAgICAgYm90dG9tOiBib3R0b20sXG4gICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgIHRvcC1sZWZ0OiB0b3AgbGVmdCxcbiAgICAgICAgdG9wLXJpZ2h0OiB0b3AgcmlnaHQsXG4gICAgICAgIGJvdHRvbS1sZWZ0OiBib3R0b20gbGVmdCxcbiAgICAgICAgYm90dG9tLXJpZ2h0OiBib3R0b20gcmlnaHRcbiAgICApLFxuICAgIFwiYmFja2dyb3VuZC1zaXplXCI6IChcbiAgICAgICAgYXV0byxcbiAgICAgICAgY292ZXIsXG4gICAgICAgIGNvbnRhaW5cbiAgICApLFxuXG4gICAgLy8gQm9yZGVyXG4gICAgXCJib3JkZXItd2lkdGhcIjogKFxuICAgICAgICBERUZBVUxUOiAxcHgsXG4gICAgICAgIDA6IDAsXG4gICAgICAgIDI6IDJweCxcbiAgICAgICAgNDogNHB4LFxuICAgICAgICA4OiA4cHhcbiAgICApLFxuICAgIFwiYm9yZGVyLXN0eWxlXCI6IChcbiAgICAgICAgc29saWQsXG4gICAgICAgIGRhc2hlZCxcbiAgICAgICAgZG90dGVkLFxuICAgICAgICBkb3VibGUsXG4gICAgICAgIC8vIGdyb292ZSxcbiAgICAgICAgLy8gcmlkZ2UsXG4gICAgICAgIGluc2V0LFxuICAgICAgICBvdXRzZXQsXG4gICAgICAgIGhpZGRlbixcbiAgICAgICAgbm9uZVxuICAgICksXG4gICAgXCJib3JkZXItY29sb3JcIjogay1tYXAtbWVyZ2UoIGlmKCAka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGtlbmRvLXV0aWwtY29sb3JzLCAka2VuZG8tdGhlbWUtY29sb3JzICksIChcbiAgICAgICAgXCJpbmhlcml0XCI6IGluaGVyaXQsXG4gICAgICAgIFwiY3VycmVudFwiOiBjdXJyZW50Q29sb3IsXG4gICAgICAgIFwidHJhbnNwYXJlbnRcIjogdHJhbnNwYXJlbnQsXG4gICAgICAgIFwiYmxhY2tcIjogYmxhY2ssXG4gICAgICAgIFwid2hpdGVcIjogd2hpdGVcbiAgICApKSxcbiAgICBcImJvcmRlci1yYWRpdXNcIjogJGtlbmRvLWJvcmRlci1yYWRpaSxcbiAgICBcIm91dGxpbmUtd2lkdGhcIjogKFxuICAgICAgICBERUZBVUxUOiAxcHgsXG4gICAgICAgIDA6IDAsXG4gICAgICAgIDI6IDJweCxcbiAgICAgICAgNDogNHB4LFxuICAgICAgICA4OiA4cHhcbiAgICApLFxuICAgIFwib3V0bGluZS1zdHlsZVwiOiAoXG4gICAgICAgIHNvbGlkLFxuICAgICAgICBkYXNoZWQsXG4gICAgICAgIGRvdHRlZCxcbiAgICAgICAgZG91YmxlLFxuICAgICAgICAvLyBncm9vdmUsXG4gICAgICAgIC8vIHJpZGdlLFxuICAgICAgICBpbnNldCxcbiAgICAgICAgb3V0c2V0LFxuICAgICAgICBub25lXG4gICAgKSxcbiAgICBcIm91dGxpbmUtY29sb3JcIjogay1tYXAtbWVyZ2UoIGlmKCAka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGtlbmRvLXV0aWwtY29sb3JzLCAka2VuZG8tdGhlbWUtY29sb3JzICksIChcbiAgICAgICAgXCJpbmhlcml0XCI6IGluaGVyaXQsXG4gICAgICAgIFwiY3VycmVudFwiOiBjdXJyZW50Q29sb3IsXG4gICAgICAgIFwidHJhbnNwYXJlbnRcIjogdHJhbnNwYXJlbnQsXG4gICAgICAgIFwiYmxhY2tcIjogYmxhY2ssXG4gICAgICAgIFwid2hpdGVcIjogd2hpdGVcbiAgICApKSxcbiAgICBcIm91dGxpbmUtb2Zmc2V0XCI6IChcbiAgICAgICAgMDogMCxcbiAgICAgICAgMTogMXB4LFxuICAgICAgICAyOiAycHgsXG4gICAgICAgIDQ6IDRweCxcbiAgICAgICAgODogOHB4XG4gICAgKSxcblxuICAgIC8vIEVmZmVjdHNcbiAgICBcImJveC1zaGFkb3dcIjogKCksXG4gICAgXCJib3gtc2hhZG93LWNvbG9yXCI6ICgpLFxuICAgIFwib3BhY2l0eVwiOiAoXG4gICAgICAgIDA6IDAsXG4gICAgICAgIDU6IDAuMDUsXG4gICAgICAgIDEwOiAwLjEsXG4gICAgICAgIDIwOiAwLjIsXG4gICAgICAgIDMwOiAwLjMsXG4gICAgICAgIDQwOiAwLjQsXG4gICAgICAgIDUwOiAwLjUsXG4gICAgICAgIDYwOiAwLjYsXG4gICAgICAgIDcwOiAwLjcsXG4gICAgICAgIDgwOiAwLjgsXG4gICAgICAgIDkwOiAwLjksXG4gICAgICAgIDEwMDogMVxuICAgICksXG5cbiAgICAvLyBGaWx0ZXJcbiAgICBcImJhY2tkcm9wLWJsdXJcIjogKFxuICAgICAgICBERUZBVUxUOiBibHVyKDhweCksXG4gICAgICAgIG5vbmU6IGJsdXIoMCksXG4gICAgICAgIHNtOiBibHVyKDRweCksXG4gICAgICAgIG1kOiBibHVyKDZweCksXG4gICAgICAgIGxnOiBibHVyKDEycHgpXG4gICAgKSxcblxuICAgIC8vIFRhYmxlXG4gICAgXCJib3JkZXItY29sbGFwc2VcIjogKFxuICAgICAgICBjb2xsYXBzZSxcbiAgICAgICAgc2VwYXJhdGVcbiAgICApLFxuICAgIFwidGFibGUtbGF5b3V0XCI6IChcbiAgICAgICAgYXV0byxcbiAgICAgICAgZml4ZWRcbiAgICApLFxuXG4gICAgLy8gVHJhbnNpdGlvblxuXG4gICAgLy8gVHJhbnNmb3JtXG4gICAgXCJmbGlwXCI6IHRydWUsXG4gICAgXCJzY2FsZVwiOiAoXG4gICAgICAgIDA6IDAsXG4gICAgICAgIDAuMjU6IC4yNSxcbiAgICAgICAgMC41OiAuNSxcbiAgICAgICAgMC43NTogLjc1LFxuICAgICAgICAxOiAxLFxuICAgICAgICAxLjI1OiAxLjI1LFxuICAgICAgICAxLjU6IDEuNSxcbiAgICAgICAgMjogMlxuICAgICksXG4gICAgXCJyb3RhdGVcIjogKFxuICAgICAgICAwOiAwZGVnLFxuICAgICAgICA0NTogNDVkZWcsXG4gICAgICAgIDkwOiA5MGRlZyxcbiAgICAgICAgMTM1OiAxMzVkZWcsXG4gICAgICAgIDE4MDogMTgwZGVnLFxuICAgICAgICAyMjU6IDIyNWRlZyxcbiAgICAgICAgMjcwOiAyNzBkZWcsXG4gICAgICAgIDMxNTogMzE1ZGVnXG4gICAgKSxcbiAgICBcInRyYW5zbGF0ZVwiOiBrLW1hcC1yZW1vdmUoICRrZW5kby1zaXppbmcsIFwiYXV0b1wiLCBcIm1pblwiLCBcIm1heFwiLCBcImZpdFwiICksXG4gICAgXCJza2V3XCI6IChcbiAgICAgICAgMDogMGRlZyxcbiAgICAgICAgMTogMWRlZyxcbiAgICAgICAgMjogMmRlZyxcbiAgICAgICAgMzogM2RlZyxcbiAgICAgICAgNDogNGRlZyxcbiAgICAgICAgNTogNWRlZyxcbiAgICAgICAgNjogNmRlZyxcbiAgICAgICAgNzogN2RlZyxcbiAgICAgICAgODogOGRlZyxcbiAgICAgICAgOTogOWRlZyxcbiAgICAgICAgMTA6IDEwZGVnLFxuICAgICAgICAxMTogMTFkZWcsXG4gICAgICAgIDEyOiAxMmRlZ1xuICAgICksXG4gICAgXCJvcmlnaW5cIjogKFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgdG9wOiB0b3AsXG4gICAgICAgIHJpZ2h0OiByaWdodCxcbiAgICAgICAgYm90dG9tOiBib3R0b20sXG4gICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgIHRvcC1sZWZ0OiB0b3AgbGVmdCxcbiAgICAgICAgdG9wLXJpZ2h0OiB0b3AgcmlnaHQsXG4gICAgICAgIGJvdHRvbS1sZWZ0OiBib3R0b20gbGVmdCxcbiAgICAgICAgYm90dG9tLXJpZ2h0OiBib3R0b20gcmlnaHRcbiAgICApLFxuXG5cbiAgICAvLyBJbnRlcmFjdGl2aXR5XG4gICAgXCJhY2NlbnQtY29sb3JcIjogKCksXG4gICAgXCJhcHBlYXJhbmNlXCI6IChcbiAgICAgICAgbm9uZSxcbiAgICAgICAgYXV0b1xuICAgICksXG4gICAgXCJjdXJzb3JcIjogKFxuICAgICAgICBub25lLFxuICAgICAgICBhdXRvLFxuICAgICAgICBkZWZhdWx0LFxuICAgICAgICBjb250ZXh0LW1lbnUsXG4gICAgICAgIGhlbHAsXG4gICAgICAgIHBvaW50ZXIsXG4gICAgICAgIHByb2dyZXNzLFxuICAgICAgICB3YWl0LFxuICAgICAgICBjZWxsLFxuICAgICAgICBjcm9zc2hhaXIsXG4gICAgICAgIHRleHQsXG4gICAgICAgIHZlcnRpY2FsLXRleHQsXG4gICAgICAgIGFsaWFzLFxuICAgICAgICBjb3B5LFxuICAgICAgICBtb3ZlLFxuICAgICAgICBuby1kcm9wLFxuICAgICAgICBub3QtYWxsb3dlZCxcbiAgICAgICAgZS1yZXNpemUsXG4gICAgICAgIG4tcmVzaXplLFxuICAgICAgICBuZS1yZXNpemUsXG4gICAgICAgIG53LXJlc2l6ZSxcbiAgICAgICAgcy1yZXNpemUsXG4gICAgICAgIHNlLXJlc2l6ZSxcbiAgICAgICAgc3ctcmVzaXplLFxuICAgICAgICB3LXJlc2l6ZSxcbiAgICAgICAgZXctcmVzaXplLFxuICAgICAgICBucy1yZXNpemUsXG4gICAgICAgIG5lc3ctcmVzaXplLFxuICAgICAgICBud3NlLXJlc2l6ZSxcbiAgICAgICAgY29sLXJlc2l6ZSxcbiAgICAgICAgcm93LXJlc2l6ZSxcbiAgICAgICAgYWxsLXNjcm9sbCxcbiAgICAgICAgem9vbS1pbixcbiAgICAgICAgem9vbS1vdXQsXG4gICAgICAgIGdyYWIsXG4gICAgICAgIGdyYWJiaW5nXG4gICAgKSxcbiAgICBcImNhcmV0LWNvbG9yXCI6ICgpLFxuICAgIFwicG9pbnRlci1ldmVudHNcIjogKFxuICAgICAgICBub25lLFxuICAgICAgICBhdXRvXG4gICAgKSxcbiAgICBcInJlc2l6ZVwiOiAoXG4gICAgICAgIERFRkFVTFQ6IGJvdGgsXG4gICAgICAgIG5vbmU6IG5vbmUsXG4gICAgICAgIHg6IGhvcml6b250YWwsXG4gICAgICAgIHk6IHZlcnRpY2FsXG4gICAgKSxcbiAgICBcInNjcm9sbC1iZWhhdmlvclwiOiAoXG4gICAgICAgIGF1dG8sXG4gICAgICAgIHNtb290aFxuICAgICksXG4gICAgXCJzY3JvbGwtc25hcC10eXBlXCI6IChcbiAgICAgICAgbm9uZTogbm9uZSxcbiAgICAgICAgc25hcC14OiB4IHZhcigtLSN7JGtlbmRvLXByZWZpeH1zY3JvbGwtc25hcC1zdHJpY3RuZXNzKSxcbiAgICAgICAgc25hcC15OiB5IHZhcigtLSN7JGtlbmRvLXByZWZpeH1zY3JvbGwtc25hcC1zdHJpY3RuZXNzKSxcbiAgICAgICAgc25hcC1ib3RoOiBib3RoIHZhcigtLSN7JGtlbmRvLXByZWZpeH1zY3JvbGwtc25hcC1zdHJpY3RuZXNzKVxuICAgICksXG4gICAgXCJzY3JvbGwtc25hcC1hbGlnblwiOiAoXG4gICAgICAgIHN0YXJ0LFxuICAgICAgICBlbmQsXG4gICAgICAgIGNlbnRlcixcbiAgICAgICAgbm9uZVxuICAgICksXG4gICAgXCJzY3JvbGwtc25hcC1zdG9wXCI6IChcbiAgICAgICAgbm9ybWFsLFxuICAgICAgICBhbHdheXNcbiAgICApLFxuICAgIFwic2Nyb2xsLW1hcmdpblwiOiAka2VuZG8tc3BhY2luZyxcbiAgICBcInNjcm9sbC1wYWRkaW5nXCI6ICRrZW5kby1zcGFjaW5nLFxuICAgIFwidG91Y2gtYWN0aW9uXCI6IChcbiAgICAgICAgbm9uZSxcbiAgICAgICAgYXV0byxcbiAgICAgICAgcGFuLXgsXG4gICAgICAgIHBhbi1sZWZ0LFxuICAgICAgICBwYW4tcmlnaHQsXG4gICAgICAgIHBhbi15LFxuICAgICAgICBwYW4tdXAsXG4gICAgICAgIHBhbi1kb3duLFxuICAgICAgICBwaW5jaC16b29tLFxuICAgICAgICBtYW5pcHVsYXRpb25cbiAgICApLFxuICAgIFwidXNlci1zZWxlY3RcIjogKFxuICAgICAgICBub25lLFxuICAgICAgICBhdXRvLFxuICAgICAgICB0ZXh0LFxuICAgICAgICBhbGwsXG4gICAgICAgIGNvbnRhaW5cbiAgICApLFxuICAgIFwid2lsbC1jaGFuZ2VcIjogKFxuICAgICAgICBhdXRvOiBhdXRvLFxuICAgICAgICBzY3JvbGw6IHNjcm9sbC1wb3NpdGlvbixcbiAgICAgICAgY29udGVudHM6IGNvbnRlbnRzLFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zZm9ybVxuICAgICksXG4gICAgXCJmaWxsLXN0cm9rZVwiOiAoXG4gICAgICAgIG5vbmU6IG5vbmUsXG4gICAgICAgIGluaGVyaXQ6IGluaGVyaXQsXG4gICAgICAgIGN1cnJlbnQ6IGN1cnJlbnRDb2xvcixcbiAgICAgICAgXCJ0cmFuc3BhcmVudFwiOiB0cmFuc3BhcmVudCxcbiAgICAgICAgXCJibGFja1wiOiBibGFjayxcbiAgICAgICAgXCJ3aGl0ZVwiOiB3aGl0ZVxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX21peGlucy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL19taXhpbnMuc2Nzc1xuQG1peGluIGdlbmVyYXRlLXV0aWxzKCAkbmFtZSwgJHByb3BzLCAkdmFsdWVzLCAkZnVuY3Rpb246IFwiXCIsICRpbXBvcnRhbnQ6ICRrZW5kby1pbXBvcnRhbnQsICRjc3MtdmFyOiBudWxsICkge1xuICAgIEBpZiAkdmFsdWVzIHtcbiAgICAgICAgJF9wcm9wczogaWYoIGstbWV0YS10eXBlLW9mKCRwcm9wcykgPT0gbGlzdCwgJHByb3BzLCAoICRwcm9wcyApICk7XG4gICAgICAgICRfZm46IGlmKCBrLW1ldGEtZnVuY3Rpb24tZXhpc3RzKCAkZnVuY3Rpb24gKSwgay1tZXRhLWdldC1mdW5jdGlvbiggJGZ1bmN0aW9uICksIG51bGwgKTtcblxuICAgICAgICBAZWFjaCAka2V5LCAkdmFsIGluICR2YWx1ZXMge1xuICAgICAgICAgICAgJF9rZXk6IGstZXNjYXBlLWNsYXNzLW5hbWUoICRrZXkgKTtcbiAgICAgICAgICAgICRfdmFsOiBpZiggay1tZXRhLXR5cGUtb2YoJHZhbHVlcykgPT0gbGlzdCwgJGtleSwgJHZhbCApO1xuICAgICAgICAgICAgJF9uYW1lOiBrLWVzY2FwZS1jbGFzcy1uYW1lKCAkbmFtZSApO1xuICAgICAgICAgICAgJF9zZWxlY3RvcjogaWYoICRfa2V5ID09IERFRkFVTFQsICN7JGtlbmRvLXByZWZpeH0jeyRfbmFtZX0sICN7JGtlbmRvLXByZWZpeH0jeyRfbmFtZX0tI3skX2tleX0pO1xuICAgICAgICAgICAgJF9jdXN0b20tcHJvcDogaWYoICRfa2V5ID09IERFRkFVTFQsIHZhciggLS1rZW5kby0jeyRjc3MtdmFyfSwgI3skX3ZhbH0gKSwgdmFyKCAtLWtlbmRvLSN7JGNzcy12YXJ9LSN7JF9rZXl9LCAjeyRfdmFsfSApICk7XG5cbiAgICAgICAgICAgIEBpZiAkaW1wb3J0YW50ICE9IG9ubHkge1xuICAgICAgICAgICAgICAgIC4jeyRfc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgICAgICAgQGVhY2ggJHByb3AgaW4gJF9wcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGNzcy12YXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHByb3B9OiBpZiggJF9mbiwgay1tZXRhLWNhbGwoJF9mbiwgJF9jdXN0b20tcHJvcCksICRfY3VzdG9tLXByb3AgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHByb3B9OiBpZiggJF9mbiwgay1tZXRhLWNhbGwoJF9mbiwgJF92YWwpLCAkX3ZhbCApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgICAgICAgICAgIC5cXCEjeyRfc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgICAgICAgQGVhY2ggJHByb3AgaW4gJF9wcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGNzcy12YXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHByb3B9OiBpZiggJF9mbiwgay1tZXRhLWNhbGwoJF9mbiwgJC1jdXN0b20tcHJvcCksICQtY3VzdG9tLXByb3AgKSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skcHJvcH06ICBpZiggJF9mbiwgay1tZXRhLWNhbGwoJF9mbiwgJF92YWwpLCAkX3ZhbCApICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyAjZW5kcmVnaW9uXG5cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vYWNjZXNzaWJpbGl0eS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9hY2Nlc3NpYmlsaXR5L2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19zY3JlZW4tcmVhZGVycy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2FjY2Vzc2liaWxpdHkvX3NjcmVlbi1yZWFkZXJzLnNjc3NcbkBtaXhpbiBrZW5kby11dGlscy0tYWNjZXNzaWJpbGl0eS0tc2NyZWVuLXJlYWRlcnMoKSB7XG5cbiAgICAvLyBTY3JlZW4gcmVhZGVycyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYWNjZXNzaWJpbGl0eTogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiYWNjZXNzaWJpbGl0eVwiICkgIWRlZmF1bHQ7XG5cbiAgICBAaWYgJGtlbmRvLXV0aWxzLWFjY2Vzc2liaWxpdHkge1xuICAgICAgICAvLy8gVGhpcyBjbGFzcyBjb3VsZCBiZSBhc3NpZ25lZCB0byBlbGVtZW50cyB3aGljaCBzaG91bGQgYmUgdmlzdWFsbHkgaGlkZGVuLCBidXQgcmVtYWluIGFjY2Vzc2libGUgZm9yIHNjcmVlbiByZWFkZXJzLlxuICAgICAgICAvLy8gQG5hbWUgLmstc3Itb25seVxuICAgICAgICAvLy8gQGdyb3VwIGFjY2Vzc2liaWxpdHlcbiAgICAgICAgLiN7JGtlbmRvLXByZWZpeH1zci1vbmx5IHtcbiAgICAgICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRrZW5kby1wcmVmaXh9bm90LXNyLW9ubHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBjbGlwOiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBtaXhpbiBrZW5kby11dGlscy0tYWNjZXNzaWJpbGl0eSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tYWNjZXNzaWJpbGl0eS0tc2NyZWVuLXJlYWRlcnMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9sYXlvdXQvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvbGF5b3V0L2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19hc3BlY3QtcmF0aW8uc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9sYXlvdXQvX2FzcGVjdC1yYXRpby5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhc3BlY3QtcmF0aW86IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBhc3BlY3QtcmF0aW86IGF1dG87XG4vLy8gQG5hbWUgLmstYXNwZWN0LXJhdGlvLWF1dG9cbi8vLyBAZ3JvdXAgYXNwZWN0LXJhdGlvXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhc3BlY3QtcmF0aW86IDE7YC5cbi8vLyBAZXhhbXBsZSBhc3BlY3QtcmF0aW86IDE7XG4vLy8gQG5hbWUgLmstYXNwZWN0LXJhdGlvLTFcbi8vLyBAZ3JvdXAgYXNwZWN0LXJhdGlvXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhc3BlY3QtcmF0aW86IDEgLyAxO2AuXG4vLy8gQGV4YW1wbGUgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbi8vLyBAbmFtZSAuay1hc3BlY3QtcmF0aW8tc3F1YXJlXG4vLy8gQGdyb3VwIGFzcGVjdC1yYXRpb1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYXNwZWN0LXJhdGlvOiAxNiAvIDk7YC5cbi8vLyBAZXhhbXBsZSBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbi8vLyBAbmFtZSAuay1hc3BlY3QtcmF0aW8tdmlkZW9cbi8vLyBAZ3JvdXAgYXNwZWN0LXJhdGlvXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWxheW91dC0tYXNwZWN0LXJhdGlvKCkge1xuXG4gICAgLy8gQXNwZWN0IHJhdGlvIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1hc3BlY3QtcmF0aW86IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImFzcGVjdC1yYXRpb1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJhdGlvLCBhc3BlY3QtcmF0aW8sICRrZW5kby11dGlscy1hc3BlY3QtcmF0aW8gKTtcblxuXG4gICAgLy8gTGVnYWN5IGFsaWFzZXNcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYXNwZWN0LXJhdGlvLCBhc3BlY3QtcmF0aW8sICRrZW5kby11dGlscy1hc3BlY3QtcmF0aW8gKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19ib3gtc2l6aW5nLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvbGF5b3V0L19ib3gtc2l6aW5nLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJveC1zaXppbmc6IGJvcmRlci1ib3g7YC5cbi8vLyBAZXhhbXBsZSBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8vIEBuYW1lIC5rLWJveC1zaXppbmctYm9yZGVyXG4vLy8gQGdyb3VwIGJveC1zaXppbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94O2AuXG4vLy8gQGV4YW1wbGUgYm94LXNpemluZzogY29udGVudC1ib3g7XG4vLy8gQG5hbWUgLmstYm94LXNpemluZy1jb250ZW50XG4vLy8gQGdyb3VwIGJveC1zaXppbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tbGF5b3V0LS1ib3gtc2l6aW5nKCkge1xuXG4gICAgLy8gYm94LXNpemluZyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYm94LXNpemluZzogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiYm94LXNpemluZ1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJveC1zaXppbmcsIGJveC1zaXppbmcsICRrZW5kby11dGlscy1ib3gtc2l6aW5nICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fY2xlYXIuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9sYXlvdXQvX2NsZWFyLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNsZWFyOiBsZWZ0O2AuXG4vLy8gQGV4YW1wbGUgY2xlYXI6IGxlZnQ7XG4vLy8gQG5hbWUgLmstY2xlYXItbGVmdFxuLy8vIEBncm91cCBjbGVhclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY2xlYXI6IHJpZ2h0O2AuXG4vLy8gQGV4YW1wbGUgY2xlYXI6IHJpZ2h0O1xuLy8vIEBuYW1lIC5rLWNsZWFyLXJpZ2h0XG4vLy8gQGdyb3VwIGNsZWFyXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjbGVhcjogYm90aDtgLlxuLy8vIEBleGFtcGxlIGNsZWFyOiBib3RoO1xuLy8vIEBuYW1lIC5rLWNsZWFyLWJvdGhcbi8vLyBAZ3JvdXAgY2xlYXJcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNsZWFyOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgY2xlYXI6IG5vbmU7XG4vLy8gQG5hbWUgLmstY2xlYXItbm9uZVxuLy8vIEBncm91cCBjbGVhclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1sYXlvdXQtLWNsZWFyKCkge1xuXG4gICAgLy8gQ2xlYXIgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWNsZWFyOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJjbGVhclwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGNsZWFyLCBjbGVhciwgJGtlbmRvLXV0aWxzLWNsZWFyICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fY29sdW1ucy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2xheW91dC9fY29sdW1ucy5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW5zOiAxO2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uczogMTtcbi8vLyBAbmFtZSAuay1jb2x1bW5zLTFcbi8vLyBAZ3JvdXAgY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uczogMjtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbnM6IDI7XG4vLy8gQG5hbWUgLmstY29sdW1ucy0yXG4vLy8gQGdyb3VwIGNvbHVtbnNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbnM6IDM7YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW5zOiAzO1xuLy8vIEBuYW1lIC5rLWNvbHVtbnMtM1xuLy8vIEBncm91cCBjb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW5zOiA0O2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uczogNDtcbi8vLyBAbmFtZSAuay1jb2x1bW5zLTRcbi8vLyBAZ3JvdXAgY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uczogNTtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbnM6IDU7XG4vLy8gQG5hbWUgLmstY29sdW1ucy01XG4vLy8gQGdyb3VwIGNvbHVtbnNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbnM6IDY7YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW5zOiA2O1xuLy8vIEBuYW1lIC5rLWNvbHVtbnMtNlxuLy8vIEBncm91cCBjb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW5zOiA3O2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uczogNztcbi8vLyBAbmFtZSAuay1jb2x1bW5zLTdcbi8vLyBAZ3JvdXAgY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uczogODtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbnM6IDg7XG4vLy8gQG5hbWUgLmstY29sdW1ucy04XG4vLy8gQGdyb3VwIGNvbHVtbnNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbnM6IDk7YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW5zOiA5O1xuLy8vIEBuYW1lIC5rLWNvbHVtbnMtOVxuLy8vIEBncm91cCBjb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW5zOiAxMDtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbnM6IDEwO1xuLy8vIEBuYW1lIC5rLWNvbHVtbnMtMTBcbi8vLyBAZ3JvdXAgY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uczogMTE7YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW5zOiAxMTtcbi8vLyBAbmFtZSAuay1jb2x1bW5zLTExXG4vLy8gQGdyb3VwIGNvbHVtbnNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbnM6IDEyO2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uczogMTI7XG4vLy8gQG5hbWUgLmstY29sdW1ucy0xMlxuLy8vIEBncm91cCBjb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW5zOiBhdXRvO2AuVGhlIG51bWJlciBvZiBjb2x1bW5zIGlzIGRldGVybWluZWQgYnkgb3RoZXIgQ1NTIHByb3BlcnRpZXMsIHN1Y2ggYXMgY29sdW1uLXdpZHRoLlxuLy8vIEBleGFtcGxlIGNvbHVtbnM6IGF1dG87XG4vLy8gQG5hbWUgLmstY29sdW1ucy1hdXRvXG4vLy8gQGdyb3VwIGNvbHVtbnNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tbGF5b3V0LS1jb2x1bW5zKCkge1xuXG4gICAgLy8gY29sdW1ucyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtY29sdW1uczogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiY29sdW1uc1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGNvbHVtbnMsIGNvbHVtbnMsICRrZW5kby11dGlscy1jb2x1bW5zICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZGlzcGxheS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2xheW91dC9fZGlzcGxheS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBkaXNwbGF5OiBub25lO2AuXG4vLy8gQGV4YW1wbGUgZGlzcGxheTogbm9uZTtcbi8vLyBAbmFtZSAuay1kLW5vbmVcbi8vLyBAZ3JvdXAgZGlzcGxheVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZGlzcGxheTogY29udGVudHM7YC5cbi8vLyBAZXhhbXBsZSBkaXNwbGF5OiBjb250ZW50cztcbi8vLyBAbmFtZSAuay1kLWNvbnRlbnRzXG4vLy8gQGdyb3VwIGRpc3BsYXlcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGRpc3BsYXk6IGJsb2NrO2AuXG4vLy8gQGV4YW1wbGUgZGlzcGxheTogYmxvY2s7XG4vLy8gQG5hbWUgLmstZC1ibG9ja1xuLy8vIEBncm91cCBkaXNwbGF5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBkaXNwbGF5OiBpbmxpbmU7YC5cbi8vLyBAZXhhbXBsZSBkaXNwbGF5OiBpbmxpbmU7XG4vLy8gQG5hbWUgLmstZC1pbmxpbmVcbi8vLyBAZ3JvdXAgZGlzcGxheVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZGlzcGxheTogaW5saW5lLWJsb2NrO2AuXG4vLy8gQGV4YW1wbGUgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vIEBuYW1lIC5rLWQtaW5saW5lLWJsb2NrXG4vLy8gQGdyb3VwIGRpc3BsYXlcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGRpc3BsYXk6IGZsZXg7YC5cbi8vLyBAZXhhbXBsZSBkaXNwbGF5OiBmbGV4O1xuLy8vIEBuYW1lIC5rLWQtZmxleFxuLy8vIEBncm91cCBkaXNwbGF5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBkaXNwbGF5OiBpbmxpbmUtZmxleDtgLlxuLy8vIEBleGFtcGxlIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuLy8vIEBuYW1lIC5rLWQtaW5saW5lLWZsZXhcbi8vLyBAZ3JvdXAgZGlzcGxheVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZGlzcGxheTogZ3JpZGAuIEl0IGRlZmluZXMgdGhlIGVsZW1lbnQgYXMgYSBncmlkIGNvbnRhaW5lciBhbmQgZXN0YWJsaXNoZXMgYSBuZXcgZ3JpZCBmb3JtYXR0aW5nIGNvbnRleHQgZm9yIGl0cyBjb250ZW50cy5cbi8vLyBAZXhhbXBsZSBkaXNwbGF5OiBncmlkXG4vLy8gQG5hbWUgLmstZC1ncmlkXG4vLy8gQGdyb3VwIGRpc3BsYXlcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGRpc3BsYXk6IGlubGluZS1ncmlkYC4gSXQgZGVmaW5lcyB0aGUgZWxlbWVudCBhcyBhIGdyaWQgY29udGFpbmVyIGFuZCBlc3RhYmxpc2hlcyBhIG5ldyBncmlkIGZvcm1hdHRpbmcgY29udGV4dCBmb3IgaXRzIGNvbnRlbnRzLlxuLy8vIEBleGFtcGxlIGRpc3BsYXk6IGlubGluZS1ncmlkXG4vLy8gQG5hbWUgLmstZC1pbmxpbmUtZ3JpZFxuLy8vIEBncm91cCBkaXNwbGF5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBkaXNwbGF5OiB0YWJsZTtgLlxuLy8vIEBleGFtcGxlIGRpc3BsYXk6IHRhYmxlO1xuLy8vIEBuYW1lIC5rLWQtdGFibGVcbi8vLyBAZ3JvdXAgZGlzcGxheVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZGlzcGxheTogaW5saW5lLXRhYmxlO2AuXG4vLy8gQGV4YW1wbGUgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuLy8vIEBuYW1lIC5rLWQtaW5saW5lLXRhYmxlXG4vLy8gQGdyb3VwIGRpc3BsYXlcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGRpc3BsYXk6IGxpc3QtaXRlbTtgLlxuLy8vIEBleGFtcGxlIGRpc3BsYXk6IGxpc3QtaXRlbTtcbi8vLyBAbmFtZSAuay1kLWxpc3QtaXRlbVxuLy8vIEBncm91cCBkaXNwbGF5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBkaXNwbGF5OiB0YWJsZS1yb3c7YC5cbi8vLyBAZXhhbXBsZSBkaXNwbGF5OiB0YWJsZS1yb3c7XG4vLy8gQG5hbWUgLmstZC10YWJsZS1yb3dcbi8vLyBAZ3JvdXAgZGlzcGxheVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZGlzcGxheTogdGFibGUtY2VsbDtgLlxuLy8vIEBleGFtcGxlIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4vLy8gQG5hbWUgLmstZC10YWJsZS1jZWxsXG4vLy8gQGdyb3VwIGRpc3BsYXlcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tbGF5b3V0LS1kaXNwbGF5KCkge1xuXG4gICAgLy8gRGlzcGxheSB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZGlzcGxheTogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZGlzcGxheVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGQsIGRpc3BsYXksICRrZW5kby11dGlscy1kaXNwbGF5ICk7XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGRpc3BsYXksIGRpc3BsYXksICRrZW5kby11dGlscy1kaXNwbGF5ICk7XG4gICAgLiN7JGtlbmRvLXByZWZpeH1kLWZsZXgtcm93IHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fWQtZmxleCwgLiN7JGtlbmRvLXByZWZpeH1mbGV4LXJvdyAhb3B0aW9uYWw7IH1cbiAgICAuXFwhI3ska2VuZG8tcHJlZml4fWQtZmxleC1yb3cgeyBAZXh0ZW5kIC5cXCEjeyRrZW5kby1wcmVmaXh9ZC1mbGV4LCAuXFwhI3ska2VuZG8tcHJlZml4fWZsZXgtcm93ICFvcHRpb25hbDsgfVxuICAgIC4jeyRrZW5kby1wcmVmaXh9ZC1mbGV4LWNvbCB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH1kLWZsZXgsIC4jeyRrZW5kby1wcmVmaXh9ZmxleC1jb2wgIW9wdGlvbmFsOyB9XG4gICAgLlxcISN7JGtlbmRvLXByZWZpeH1kLWZsZXgtY29sIHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fWQtZmxleCwgLlxcISN7JGtlbmRvLXByZWZpeH1mbGV4LXJvdyAhb3B0aW9uYWw7IH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19mbG9hdC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2xheW91dC9fZmxvYXQuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxvYXQ6IGxlZnQ7YC5cbi8vLyBAZXhhbXBsZSBmbG9hdDogbGVmdDtcbi8vLyBAbmFtZSAuay1mbG9hdC1sZWZ0XG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmbG9hdDogcmlnaHQ7YC5cbi8vLyBAZXhhbXBsZSBmbG9hdDogcmlnaHQ7XG4vLy8gQG5hbWUgLmstZmxvYXQtcmlnaHRcbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsb2F0OiBub25lO2AuXG4vLy8gQGV4YW1wbGUgZmxvYXQ6IG5vbmU7XG4vLy8gQG5hbWUgLmstZmxvYXQtbm9uZVxuLy8vIEBncm91cCBmbG9hdFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1sYXlvdXQtLWZsb2F0KCkge1xuXG4gICAgLy8gRmxvYXQgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWZsb2F0OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJmbG9hdFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGZsb2F0LCBmbG9hdCwgJGtlbmRvLXV0aWxzLWZsb2F0ICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fb2JqZWN0LWZpdC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2xheW91dC9fb2JqZWN0LWZpdC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtZml0OiBjb250YWluO2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LWZpdDogY29udGFpbjtcbi8vLyBAbmFtZSAuay1vYmplY3QtZml0LWNvbnRhaW5cbi8vLyBAZ3JvdXAgb2JqZWN0LWZpdFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb2JqZWN0LWZpdDogY292ZXI7YC5cbi8vLyBAZXhhbXBsZSBvYmplY3QtZml0OiBjb3Zlcjtcbi8vLyBAbmFtZSAuay1vYmplY3QtZml0LWNvdmVyXG4vLy8gQGdyb3VwIG9iamVjdC1maXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1maXQ6IGZpbGw7YC5cbi8vLyBAZXhhbXBsZSBvYmplY3QtZml0OiBmaWxsO1xuLy8vIEBuYW1lIC5rLW9iamVjdC1maXQtZmlsbFxuLy8vIEBncm91cCBvYmplY3QtZml0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtZml0OiBzY2FsZS1kb3duO2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LWZpdDogc2NhbGUtZG93bjtcbi8vLyBAbmFtZSAuay1vYmplY3QtZml0LXNjYWxlLWRvd25cbi8vLyBAZ3JvdXAgb2JqZWN0LWZpdFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb2JqZWN0LWZpdDogaW5pdGlhbDtgLlxuLy8vIEBleGFtcGxlIG9iamVjdC1maXQ6IGluaXRpYWw7XG4vLy8gQG5hbWUgLmstb2JqZWN0LWZpdC1pbml0aWFsXG4vLy8gQGdyb3VwIG9iamVjdC1maXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1maXQ6IG5vbmU7YC5cbi8vLyBAZXhhbXBsZSBvYmplY3QtZml0OiBub25lO1xuLy8vIEBuYW1lIC5rLW9iamVjdC1maXQtbm9uZVxuLy8vIEBncm91cCBvYmplY3QtZml0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWxheW91dC0tb2JqZWN0LWZpdCgpIHtcblxuICAgIC8vIG9iamVjdC1maXQgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLW9iamVjdC1maXQ6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcIm9iamVjdC1maXRcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBvYmplY3QtZml0LCBvYmplY3QtZml0LCAka2VuZG8tdXRpbHMtb2JqZWN0LWZpdCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX29iamVjdC1wb3NpdGlvbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2xheW91dC9fb2JqZWN0LXBvc2l0aW9uLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1wb3NpdGlvbjogY2VudGVyO2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4vLy8gQG5hbWUgLmstb2JqZWN0LXBvc2l0aW9uLWNlbnRlclxuLy8vIEBncm91cCBvYmplY3QtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1wb3NpdGlvbjogdG9wO2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LXBvc2l0aW9uOiB0b3A7XG4vLy8gQG5hbWUgLmstb2JqZWN0LXBvc2l0aW9uLXRvcFxuLy8vIEBncm91cCBvYmplY3QtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1wb3NpdGlvbjogcmlnaHQ7YC5cbi8vLyBAZXhhbXBsZSBvYmplY3QtcG9zaXRpb246IHJpZ2h0O1xuLy8vIEBuYW1lIC5rLW9iamVjdC1wb3NpdGlvbi1yaWdodFxuLy8vIEBncm91cCBvYmplY3QtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1wb3NpdGlvbjogYm90dG9tO2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LXBvc2l0aW9uOiBib3R0b207XG4vLy8gQG5hbWUgLmstb2JqZWN0LXBvc2l0aW9uLWJvdHRvbVxuLy8vIEBncm91cCBvYmplY3QtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1wb3NpdGlvbjogbGVmdDtgLlxuLy8vIEBleGFtcGxlIG9iamVjdC1wb3NpdGlvbjogbGVmdDtcbi8vLyBAbmFtZSAuay1vYmplY3QtcG9zaXRpb24tbGVmdFxuLy8vIEBncm91cCBvYmplY3QtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1wb3NpdGlvbjogdG9wIGxlZnQ7YC5cbi8vLyBAZXhhbXBsZSBvYmplY3QtcG9zaXRpb246IHRvcCBsZWZ0O1xuLy8vIEBuYW1lIC5rLW9iamVjdC1wb3NpdGlvbi10b3AtbGVmdFxuLy8vIEBncm91cCBvYmplY3QtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1wb3NpdGlvbjogdG9wIHJpZ2h0O2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LXBvc2l0aW9uOiB0b3AgcmlnaHQ7XG4vLy8gQG5hbWUgLmstb2JqZWN0LXBvc2l0aW9uLXRvcC1yaWdodFxuLy8vIEBncm91cCBvYmplY3QtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1wb3NpdGlvbjogYm90dG9tIGxlZnQ7YC5cbi8vLyBAZXhhbXBsZSBvYmplY3QtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuLy8vIEBuYW1lIC5rLW9iamVjdC1wb3NpdGlvbi1ib3R0b20tbGVmdFxuLy8vIEBncm91cCBvYmplY3QtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7XG4vLy8gQG5hbWUgLmstb2JqZWN0LXBvc2l0aW9uLWJvdHRvbS1yaWdodFxuLy8vIEBncm91cCBvYmplY3QtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tbGF5b3V0LS1vYmplY3QtcG9zaXRpb24oKSB7XG5cbiAgICAvLyBvYmplY3QtcG9zaXRpb24gdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLW9iamVjdC1wb3NpdGlvbjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwib2JqZWN0LXBvc2l0aW9uXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggb2JqZWN0LXBvc2l0aW9uLCBvYmplY3QtcG9zaXRpb24sICRrZW5kby11dGlscy1vYmplY3QtcG9zaXRpb24gKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19vdmVyZmxvdy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2xheW91dC9fb3ZlcmZsb3cuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3ZlcmZsb3c6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBvdmVyZmxvdzogYXV0bztcbi8vLyBAbmFtZSAuay1vdmVyZmxvdy1hdXRvXG4vLy8gQGdyb3VwIG92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdmVyZmxvdzogaGlkZGVuO2AuXG4vLy8gQGV4YW1wbGUgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vLyBAbmFtZSAuay1vdmVyZmxvdy1oaWRkZW5cbi8vLyBAZ3JvdXAgb3ZlcmZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG92ZXJmbG93OiB2aXNpYmxlO2AuXG4vLy8gQGV4YW1wbGUgb3ZlcmZsb3c6IHZpc2libGU7XG4vLy8gQG5hbWUgLmstb3ZlcmZsb3ctdmlzaWJsZVxuLy8vIEBncm91cCBvdmVyZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3ZlcmZsb3c6IHNjcm9sbDtgLlxuLy8vIEBleGFtcGxlIG92ZXJmbG93OiBzY3JvbGw7XG4vLy8gQG5hbWUgLmstb3ZlcmZsb3ctc2Nyb2xsXG4vLy8gQGdyb3VwIG92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdmVyZmxvdzogY2xpcDtgLlxuLy8vIEBleGFtcGxlIG92ZXJmbG93OiBjbGlwO1xuLy8vIEBuYW1lIC5rLW92ZXJmbG93LWNsaXBcbi8vLyBAZ3JvdXAgb3ZlcmZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG92ZXJmbG93LXg6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBvdmVyZmxvdy14OiBhdXRvO1xuLy8vIEBuYW1lIC5rLW92ZXJmbG93LXgtYXV0b1xuLy8vIEBncm91cCBvdmVyZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3ZlcmZsb3cteDogaGlkZGVuO2AuXG4vLy8gQGV4YW1wbGUgb3ZlcmZsb3cteDogaGlkZGVuO1xuLy8vIEBuYW1lIC5rLW92ZXJmbG93LXgtaGlkZGVuXG4vLy8gQGdyb3VwIG92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdmVyZmxvdy14OiB2aXNpYmxlO2AuXG4vLy8gQGV4YW1wbGUgb3ZlcmZsb3cteDogdmlzaWJsZTtcbi8vLyBAbmFtZSAuay1vdmVyZmxvdy14LXZpc2libGVcbi8vLyBAZ3JvdXAgb3ZlcmZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG92ZXJmbG93LXg6IHNjcm9sbDtgLlxuLy8vIEBleGFtcGxlIG92ZXJmbG93LXg6IHNjcm9sbDtcbi8vLyBAbmFtZSAuay1vdmVyZmxvdy14LXNjcm9sbFxuLy8vIEBncm91cCBvdmVyZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3ZlcmZsb3cteDogY2xpcDtgLlxuLy8vIEBleGFtcGxlIG92ZXJmbG93LXg6IGNsaXA7XG4vLy8gQG5hbWUgLmstb3ZlcmZsb3cteC1jbGlwXG4vLy8gQGdyb3VwIG92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdmVyZmxvdy15OiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgb3ZlcmZsb3cteTogYXV0bztcbi8vLyBAbmFtZSAuay1vdmVyZmxvdy15LWF1dG9cbi8vLyBAZ3JvdXAgb3ZlcmZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG92ZXJmbG93LXk6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIG92ZXJmbG93LXk6IGhpZGRlbjtcbi8vLyBAbmFtZSAuay1vdmVyZmxvdy15LWhpZGRlblxuLy8vIEBncm91cCBvdmVyZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3ZlcmZsb3cteTogdmlzaWJsZTtgLlxuLy8vIEBleGFtcGxlIG92ZXJmbG93LXk6IHZpc2libGU7XG4vLy8gQG5hbWUgLmstb3ZlcmZsb3cteS12aXNpYmxlXG4vLy8gQGdyb3VwIG92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdmVyZmxvdy15OiBzY3JvbGw7YC5cbi8vLyBAZXhhbXBsZSBvdmVyZmxvdy15OiBzY3JvbGw7XG4vLy8gQG5hbWUgLmstb3ZlcmZsb3cteS1zY3JvbGxcbi8vLyBAZ3JvdXAgb3ZlcmZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG92ZXJmbG93LXk6IGNsaXA7YC5cbi8vLyBAZXhhbXBsZSBvdmVyZmxvdy15OiBjbGlwO1xuLy8vIEBuYW1lIC5rLW92ZXJmbG93LXktY2xpcFxuLy8vIEBncm91cCBvdmVyZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1sYXlvdXQtLW92ZXJmbG93KCkge1xuXG4gICAgLy8gT3ZlcmZsb3cgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLW92ZXJmbG93OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJvdmVyZmxvd1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG92ZXJmbG93LCBvdmVyZmxvdywgJGtlbmRvLXV0aWxzLW92ZXJmbG93ICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG92ZXJmbG93LXgsIG92ZXJmbG93LXgsICRrZW5kby11dGlscy1vdmVyZmxvdyApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBvdmVyZmxvdy15LCBvdmVyZmxvdy15LCAka2VuZG8tdXRpbHMtb3ZlcmZsb3cgKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fcGxhY2VtZW50LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvbGF5b3V0L19wbGFjZW1lbnQuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdG9wOiAwO2AuXG4vLy8gQGV4YW1wbGUgdG9wOiAwO1xuLy8vIEBuYW1lIC5rLXRvcC0wXG4vLy8gQGdyb3VwIHBsYWNlbWVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcmlnaHQ6IDA7YC5cbi8vLyBAZXhhbXBsZSByaWdodDogMDtcbi8vLyBAbmFtZSAuay1yaWdodC0wXG4vLy8gQGdyb3VwIHBsYWNlbWVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm90dG9tOiAwO2AuXG4vLy8gQGV4YW1wbGUgYm90dG9tOiAwO1xuLy8vIEBuYW1lIC5rLWJvdHRvbS0wXG4vLy8gQGdyb3VwIHBsYWNlbWVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbGVmdDogMDtgLlxuLy8vIEBleGFtcGxlIGxlZnQ6IDA7XG4vLy8gQG5hbWUgLmstbGVmdC0wXG4vLy8gQGdyb3VwIHBsYWNlbWVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdG9wOiAwO2AuXG4vLy8gQGV4YW1wbGUgdG9wOiAwO1xuLy8vIEBuYW1lIC5rLXBvcy10b3AtMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHJpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgcmlnaHQ6IDA7XG4vLy8gQG5hbWUgLmstcG9zLXJpZ2h0LTBcbi8vLyBAZ3JvdXAgcGxhY2VtZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3R0b206IDA7YC5cbi8vLyBAZXhhbXBsZSBib3R0b206IDA7XG4vLy8gQG5hbWUgLmstcG9zLWJvdHRvbS0wXG4vLy8gQGdyb3VwIHBsYWNlbWVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbGVmdDogMDtgLlxuLy8vIEBleGFtcGxlIGxlZnQ6IDA7XG4vLy8gQG5hbWUgLmstcG9zLWxlZnQtMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvcDogMDsgbGVmdDogMDtgLlxuLy8vIEBleGFtcGxlIHRvcDogMDsgbGVmdDogMDtcbi8vLyBAbmFtZSAuay10b3AtbGVmdC0wXG4vLy8gQGdyb3VwIHBsYWNlbWVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdG9wOiAwOyByaWdodDogMDtgLlxuLy8vIEBleGFtcGxlIHRvcDogMDsgcmlnaHQ6IDA7XG4vLy8gQG5hbWUgLmstdG9wLXJpZ2h0LTBcbi8vLyBAZ3JvdXAgcGxhY2VtZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3R0b206IDA7IGxlZnQ6IDA7YC5cbi8vLyBAZXhhbXBsZSBib3R0b206IDA7IGxlZnQ6IDA7XG4vLy8gQG5hbWUgLmstYm90dG9tLWxlZnQtMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvdHRvbTogMDsgcmlnaHQ6IDA7YC5cbi8vLyBAZXhhbXBsZSBib3R0b206IDA7IHJpZ2h0OiAwO1xuLy8vIEBuYW1lIC5rLWJvdHRvbS1yaWdodC0wXG4vLy8gQGdyb3VwIHBsYWNlbWVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgaW5zZXQ6IDA7YC5cbi8vLyBAZXhhbXBsZSBpbnNldDogMDtcbi8vLyBAbmFtZSAuay1pbnNldC0wXG4vLy8gQGdyb3VwIHBsYWNlbWVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgaW5zZXQtaW5saW5lOiAwO2AuXG4vLy8gQGV4YW1wbGUgaW5zZXQtaW5saW5lOiAwO1xuLy8vIEBuYW1lIC5rLWluc2V0LXgtMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGluc2V0LWJsb2NrOiAwO2AuXG4vLy8gQGV4YW1wbGUgaW5zZXQtYmxvY2s6IDA7XG4vLy8gQG5hbWUgLmstaW5zZXQteS0wXG4vLy8gQGdyb3VwIHBsYWNlbWVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1sYXlvdXQtLXBsYWNlbWVudCgpIHtcbiAgICAvLyBUb3AgLyByaWdodCAvIGJvdHRvbSAvIGxlZnRcbiAgICAka2VuZG8tdXRpbHMtcGxhY2VtZW50OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJwbGFjZW1lbnRcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCB0b3AsIHRvcCwgJGtlbmRvLXV0aWxzLXBsYWNlbWVudCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCByaWdodCwgcmlnaHQsICRrZW5kby11dGlscy1wbGFjZW1lbnQgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm90dG9tLCBib3R0b20sICRrZW5kby11dGlscy1wbGFjZW1lbnQgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggbGVmdCwgbGVmdCwgJGtlbmRvLXV0aWxzLXBsYWNlbWVudCApO1xuXG5cbiAgICAvLyBwbGFjZW1lbnQgbGVuZ3RoIHV0aWxpdHkgY2xhc3Nlc1xuICAgIEBlYWNoICRzaWRlIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpIHtcbiAgICAgICAgLiN7JGtlbmRvLXByZWZpeH0jeyRzaWRlfSxcbiAgICAgICAgLiN7JGtlbmRvLXByZWZpeH1wb3MtI3skc2lkZX0geyAjeyRzaWRlfTogMDsgfVxuICAgIH1cblxuICAgIC8vIEluc2V0IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1pbnNldDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiaW5zZXRcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBpbnNldCwgaW5zZXQsICRrZW5kby11dGlscy1pbnNldCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBpbnNldC14LCBpbnNldC1pbmxpbmUsICRrZW5kby11dGlscy1pbnNldCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBpbnNldC15LCBpbnNldC1ibG9jaywgJGtlbmRvLXV0aWxzLWluc2V0ICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRvcC1sZWZ0LCAoIHRvcCwgbGVmdCApLCAka2VuZG8tdXRpbHMtaW5zZXQgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggdG9wLXJpZ2h0LCAoIHRvcCwgcmlnaHQgKSwgJGtlbmRvLXV0aWxzLWluc2V0ICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvdHRvbS1sZWZ0LCAoIGJvdHRvbSwgbGVmdCApLCAka2VuZG8tdXRpbHMtaW5zZXQgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm90dG9tLXJpZ2h0LCAoIGJvdHRvbSwgcmlnaHQgKSwgJGtlbmRvLXV0aWxzLWluc2V0ICk7XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgLiN7JGtlbmRvLXByZWZpeH10b3Atc3RhcnQsXG4gICAgLiN7JGtlbmRvLXByZWZpeH1wb3MtdG9wLXN0YXJ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JGtlbmRvLXByZWZpeH10b3AtZW5kLFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLXRvcC1lbmQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JGtlbmRvLXByZWZpeH1ib3R0b20tc3RhcnQsXG4gICAgLiN7JGtlbmRvLXByZWZpeH1wb3MtYm90dG9tLXN0YXJ0IHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JGtlbmRvLXByZWZpeH1ib3R0b20tZW5kLFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLWJvdHRvbS1lbmQge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JGtlbmRvLXByZWZpeH10b3AtY2VudGVyLFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLXRvcC1jZW50ZXIge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgICAuI3ska2VuZG8tcHJlZml4fW1pZGRsZS1sZWZ0LFxuICAgIC4jeyRrZW5kby1wcmVmaXh9bWlkZGxlLXN0YXJ0LFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLW1pZGRsZS1zdGFydCB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICAgIC4jeyRrZW5kby1wcmVmaXh9bWlkZGxlLWNlbnRlciB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgLiN7JGtlbmRvLXByZWZpeH1taWRkbGUtcmlnaHQsXG4gICAgLiN7JGtlbmRvLXByZWZpeH1taWRkbGUtZW5kLFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLW1pZGRsZS1lbmQge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgLiN7JGtlbmRvLXByZWZpeH1ib3R0b20tY2VudGVyLFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLWJvdHRvbS1jZW50ZXIge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19wb3NpdGlvbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2xheW91dC9fcG9zaXRpb24uc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcG9zaXRpb246IHN0YXRpYztgLlxuLy8vIEBleGFtcGxlIHBvc2l0aW9uOiBzdGF0aWM7XG4vLy8gQG5hbWUgLmstcG9zLXN0YXRpY1xuLy8vIEBncm91cCBwb3NpdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcG9zaXRpb246IHJlbGF0aXZlO2AuXG4vLy8gQGV4YW1wbGUgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8vIEBuYW1lIC5rLXBvcy1yZWxhdGl2ZVxuLy8vIEBncm91cCBwb3NpdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcG9zaXRpb246IGFic29sdXRlO2AuXG4vLy8gQGV4YW1wbGUgcG9zaXRpb246IGFic29sdXRlO1xuLy8vIEBuYW1lIC5rLXBvcy1hYnNvbHV0ZVxuLy8vIEBncm91cCBwb3NpdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcG9zaXRpb246IGZpeGVkO2AuXG4vLy8gQGV4YW1wbGUgcG9zaXRpb246IGZpeGVkO1xuLy8vIEBuYW1lIC5rLXBvcy1maXhlZFxuLy8vIEBncm91cCBwb3NpdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcG9zaXRpb246IHN0aWNreTtgLlxuLy8vIEBleGFtcGxlIHBvc2l0aW9uOiBzdGlja3k7XG4vLy8gQG5hbWUgLmstcG9zLXN0aWNreVxuLy8vIEBncm91cCBwb3NpdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1sYXlvdXQtLXBvc2l0aW9uKCkge1xuXG4gICAgLy8gUG9zaXRpb24gdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXBvc2l0aW9uOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJwb3NpdGlvblwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHBvcywgcG9zaXRpb24sICRrZW5kby11dGlscy1wb3NpdGlvbiApO1xuXG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIC4jeyRrZW5kby1wcmVmaXh9c3RhdGljIHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fXBvcy1zdGF0aWMgIW9wdGlvbmFsOyB9XG4gICAgLlxcISN7JGtlbmRvLXByZWZpeH1zdGF0aWMgeyBAZXh0ZW5kIC5cXCEjeyRrZW5kby1wcmVmaXh9cG9zLXN0YXRpYyAhb3B0aW9uYWw7IH1cbiAgICAuI3ska2VuZG8tcHJlZml4fXJlbGF0aXZlIHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fXBvcy1yZWxhdGl2ZSAhb3B0aW9uYWw7IH1cbiAgICAuXFwhI3ska2VuZG8tcHJlZml4fXJlbGF0aXZlIHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fXBvcy1yZWxhdGl2ZSAhb3B0aW9uYWw7IH1cbiAgICAuI3ska2VuZG8tcHJlZml4fWFic29sdXRlIHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fXBvcy1hYnNvbHV0ZSAhb3B0aW9uYWw7IH1cbiAgICAuXFwhI3ska2VuZG8tcHJlZml4fWFic29sdXRlIHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fXBvcy1hYnNvbHV0ZSAhb3B0aW9uYWw7IH1cbiAgICAuI3ska2VuZG8tcHJlZml4fWZpeGVkIHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fXBvcy1maXhlZCAhb3B0aW9uYWw7IH1cbiAgICAuXFwhI3ska2VuZG8tcHJlZml4fWZpeGVkIHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fXBvcy1maXhlZCAhb3B0aW9uYWw7IH1cbiAgICAuI3ska2VuZG8tcHJlZml4fXN0aWNreSB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH1wb3Mtc3RpY2t5ICFvcHRpb25hbDsgfVxuICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9c3RpY2t5IHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fXBvcy1zdGlja3kgIW9wdGlvbmFsOyB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmlzaWJpbGl0eS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2xheW91dC9fdmlzaWJpbGl0eS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB2aXNpYmlsaXR5OiB2aXNibGU7YC5cbi8vLyBAZXhhbXBsZSB2aXNpYmlsaXR5OiB2aXNibGU7XG4vLy8gQG5hbWUgLmstdmlzaWJsZVxuLy8vIEBncm91cCB2aXNpYmlsaXR5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB2aXNpYmlsaXR5OiBoaWRkZW47YC5cbi8vLyBAZXhhbXBsZSB2aXNpYmlsaXR5OiBoaWRkZW47XG4vLy8gQG5hbWUgLmstaW52aXNpYmxlXG4vLy8gQGdyb3VwIHZpc2liaWxpdHlcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHZpc2liaWxpdHk6IGNvbGxhcHNlO2AuXG4vLy8gQGV4YW1wbGUgdmlzaWJpbGl0eTogY29sbGFwc2U7XG4vLy8gQG5hbWUgLmstY29sbGFwc2Vcbi8vLyBAZ3JvdXAgdmlzaWJpbGl0eVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1sYXlvdXQtLXZpc2liaWxpdHkoKSB7XG5cbiAgICAvLyBWaXNpYmlsaXR5IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy12aXNpYmlsaXR5OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJ2aXNpYmlsaXR5XCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggdmlzaWJpbGl0eSwgdmlzaWJpbGl0eSwgJGtlbmRvLXV0aWxzLXZpc2liaWxpdHkgKTtcblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgLiN7JGtlbmRvLXByZWZpeH12aXNpYmxlIHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fXZpc2liaWxpdHktdmlzaWJsZSAhb3B0aW9uYWw7IH1cbiAgICAuXFwhI3ska2VuZG8tcHJlZml4fXZpc2libGUgeyBAZXh0ZW5kIC5cXCEjeyRrZW5kby1wcmVmaXh9dmlzaWJpbGl0eS12aXNpYmxlICFvcHRpb25hbDsgfVxuICAgIC4jeyRrZW5kby1wcmVmaXh9aW52aXNpYmxlIHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fXZpc2liaWxpdHktaGlkZGVuICFvcHRpb25hbDsgfVxuICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9aW52aXNpYmxlIHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fXZpc2liaWxpdHktaGlkZGVuICFvcHRpb25hbDsgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ppbmRleC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2xheW91dC9femluZGV4LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHotaW5kZXg6IDA7YC5cbi8vLyBAZXhhbXBsZSB6LWluZGV4OiAwO1xuLy8vIEBuYW1lIC5rLXotMFxuLy8vIEBncm91cCB6aW5kZXhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHotaW5kZXg6IDEwO2AuXG4vLy8gQGV4YW1wbGUgei1pbmRleDogMTA7XG4vLy8gQG5hbWUgLmstei0xMFxuLy8vIEBncm91cCB6aW5kZXhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHotaW5kZXg6IDIwO2AuXG4vLy8gQGV4YW1wbGUgei1pbmRleDogMjA7XG4vLy8gQG5hbWUgLmstei0yMFxuLy8vIEBncm91cCB6aW5kZXhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHotaW5kZXg6IDMwO2AuXG4vLy8gQGV4YW1wbGUgei1pbmRleDogMzA7XG4vLy8gQG5hbWUgLmstei0zMFxuLy8vIEBncm91cCB6aW5kZXhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHotaW5kZXg6IDQwO2AuXG4vLy8gQGV4YW1wbGUgei1pbmRleDogNDA7XG4vLy8gQG5hbWUgLmstei00MFxuLy8vIEBncm91cCB6aW5kZXhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHotaW5kZXg6IDUwO2AuXG4vLy8gQGV4YW1wbGUgei1pbmRleDogNTA7XG4vLy8gQG5hbWUgLmstei01MFxuLy8vIEBncm91cCB6aW5kZXhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHotaW5kZXg6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSB6LWluZGV4OiBhdXRvO1xuLy8vIEBuYW1lIC5rLXotYXV0b1xuLy8vIEBncm91cCB6aW5kZXhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tbGF5b3V0LS16aW5kZXgoKSB7XG5cbiAgICAvLyBaLWluZGV4IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy16aW5kZXg6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInppbmRleFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHosIHotaW5kZXgsICRrZW5kby11dGlscy16aW5kZXggKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWxheW91dC0tYXNwZWN0LXJhdGlvKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWxheW91dC0tYm94LXNpemluZygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1sYXlvdXQtLWNsZWFyKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWxheW91dC0tY29sdW1ucygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1sYXlvdXQtLWRpc3BsYXkoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tbGF5b3V0LS1mbG9hdCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1sYXlvdXQtLW9iamVjdC1maXQoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tbGF5b3V0LS1vYmplY3QtcG9zaXRpb24oKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tbGF5b3V0LS1vdmVyZmxvdygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1sYXlvdXQtLXBsYWNlbWVudCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1sYXlvdXQtLXBvc2l0aW9uKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWxheW91dC0tdmlzaWJpbGl0eSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1sYXlvdXQtLXppbmRleCgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2ZsZXgtZ3JpZC9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2FsaWduLWNvbnRlbnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2FsaWduLWNvbnRlbnQuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tY29udGVudDogbm9ybWFsO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tY29udGVudDogbm9ybWFsO1xuLy8vIEBuYW1lIC5rLWFsaWduLWNvbnRlbnQtbm9ybWFsXG4vLy8gQGdyb3VwIGFsaWduLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuLy8vIEBuYW1lIC5rLWFsaWduLWNvbnRlbnQtc3RyZXRjaFxuLy8vIEBncm91cCBhbGlnbi1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1jb250ZW50OiBjZW50ZXI7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4vLy8gQG5hbWUgLmstYWxpZ24tY29udGVudC1jZW50ZXJcbi8vLyBAZ3JvdXAgYWxpZ24tY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tY29udGVudDogc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1jb250ZW50OiBzdGFydDtcbi8vLyBAbmFtZSAuay1hbGlnbi1jb250ZW50LXN0YXJ0XG4vLy8gQGdyb3VwIGFsaWduLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWNvbnRlbnQ6IGVuZDtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWNvbnRlbnQ6IGVuZDtcbi8vLyBAbmFtZSAuay1hbGlnbi1jb250ZW50LWVuZFxuLy8vIEBncm91cCBhbGlnbi1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbi8vLyBAbmFtZSAuay1hbGlnbi1jb250ZW50LWZsZXgtc3RhcnRcbi8vLyBAZ3JvdXAgYWxpZ24tY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tY29udGVudDogZmxleC1lbmQ7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcbi8vLyBAbmFtZSAuay1hbGlnbi1jb250ZW50LWZsZXgtZW5kXG4vLy8gQGdyb3VwIGFsaWduLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tY29udGVudDogYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstYWxpZ24tY29udGVudC1iYXNlbGluZVxuLy8vIEBncm91cCBhbGlnbi1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1jb250ZW50OiBmaXJzdCBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWNvbnRlbnQ6IGZpcnN0IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWFsaWduLWNvbnRlbnQtZmlyc3QtYmFzZWxpbmVcbi8vLyBAZ3JvdXAgYWxpZ24tY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tY29udGVudDogbGFzdCBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWNvbnRlbnQ6IGxhc3QgYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstYWxpZ24tY29udGVudC1sYXN0LWJhc2VsaW5lXG4vLy8gQGdyb3VwIGFsaWduLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuLy8vIEBuYW1lIC5rLWFsaWduLWNvbnRlbnQtYmV0d2VlblxuLy8vIEBncm91cCBhbGlnbi1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4vLy8gQG5hbWUgLmstYWxpZ24tY29udGVudC1hcm91bmRcbi8vLyBAZ3JvdXAgYWxpZ24tY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tY29udGVudDogc3BhY2UtZXZlbmx5O2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tY29udGVudDogc3BhY2UtZXZlbmx5O1xuLy8vIEBuYW1lIC5rLWFsaWduLWNvbnRlbnQtZXZlbmx5XG4vLy8gQGdyb3VwIGFsaWduLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1hbGlnbi1jb250ZW50KCkge1xuXG4gICAgLy8gQWxpZ24gY29udGVudCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYWxpZ24tY29udGVudDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiYWxpZ24tY29udGVudFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGFsaWduLWNvbnRlbnQsIGFsaWduLWNvbnRlbnQsICRrZW5kby11dGlscy1hbGlnbi1jb250ZW50ICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYWxpZ24taXRlbXMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2FsaWduLWl0ZW1zLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWl0ZW1zOiBub3JtYWw7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1pdGVtczogbm9ybWFsO1xuLy8vIEBuYW1lIC5rLWFsaWduLWl0ZW1zLW5vcm1hbFxuLy8vIEBncm91cCBhbGlnbi1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24taXRlbXM6IHN0cmV0Y2g7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1pdGVtczogc3RyZXRjaDtcbi8vLyBAbmFtZSAuay1hbGlnbi1pdGVtcy1zdHJldGNoXG4vLy8gQGdyb3VwIGFsaWduLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1pdGVtczogY2VudGVyO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vLyBAbmFtZSAuay1hbGlnbi1pdGVtcy1zdHJldGNoXG4vLy8gQGdyb3VwIGFsaWduLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1pdGVtczogc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1pdGVtczogc3RhcnQ7XG4vLy8gQG5hbWUgLmstYWxpZ24taXRlbXMtc3RhcnRcbi8vLyBAZ3JvdXAgYWxpZ24taXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWl0ZW1zOiBlbmQ7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1pdGVtczogZW5kO1xuLy8vIEBuYW1lIC5rLWFsaWduLWl0ZW1zLWVuZFxuLy8vIEBncm91cCBhbGlnbi1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbi8vLyBAbmFtZSAuay1hbGlnbi1pdGVtcy1mbGV4LXN0YXJ0XG4vLy8gQGdyb3VwIGFsaWduLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1pdGVtczogZmxleC1lbmQ7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4vLy8gQG5hbWUgLmstYWxpZ24taXRlbXMtZmxleC1lbmRcbi8vLyBAZ3JvdXAgYWxpZ24taXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWl0ZW1zOiBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1hbGlnbi1pdGVtcy1iYXNlbGluZVxuLy8vIEBncm91cCBhbGlnbi1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24taXRlbXM6IGZpcnN0IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24taXRlbXM6IGZpcnN0IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWFsaWduLWl0ZW1zLWZpcnN0LWJhc2VsaW5lXG4vLy8gQGdyb3VwIGFsaWduLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1pdGVtczogbGFzdCBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWl0ZW1zOiBsYXN0IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWFsaWduLWl0ZW1zLWxhc3QtYmFzZWxpbmVcbi8vLyBAZ3JvdXAgYWxpZ24taXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG4vLy8gQG5hbWUgLmstYWxpZ24taXRlbXMtc2VsZi1zdGFydFxuLy8vIEBncm91cCBhbGlnbi1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24taXRlbXM6IHNlbGYtZW5kO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24taXRlbXM6IHNlbGYtZW5kO1xuLy8vIEBuYW1lIC5rLWFsaWduLWl0ZW1zLXNlbGYtZW5kXG4vLy8gQGdyb3VwIGFsaWduLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tYWxpZ24taXRlbXMoKSB7XG5cbiAgICAvLyBBbGlnbiBpdGVtcyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYWxpZ24taXRlbXM6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImFsaWduLWl0ZW1zXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYWxpZ24taXRlbXMsIGFsaWduLWl0ZW1zLCAka2VuZG8tdXRpbHMtYWxpZ24taXRlbXMgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19hbGlnbi1zZWxmLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19hbGlnbi1zZWxmLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLXNlbGY6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1zZWxmOiBhdXRvO1xuLy8vIEBuYW1lIC5rLWFsaWduLXNlbGYtYXV0b1xuLy8vIEBncm91cCBhbGlnbi1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1zZWxmOiBub3JtYWw7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1zZWxmOiBub3JtYWw7XG4vLy8gQG5hbWUgLmstYWxpZ24tc2VsZi1ub3JtYWxcbi8vLyBAZ3JvdXAgYWxpZ24tc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tc2VsZjogc3RyZXRjaDtgLlxuLy8vIEBleGFtcGxlIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4vLy8gQG5hbWUgLmstYWxpZ24tc2VsZi1zdHJldGNoXG4vLy8gQGdyb3VwIGFsaWduLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLXNlbGY6IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIGFsaWduLXNlbGY6IGNlbnRlcjtcbi8vLyBAbmFtZSAuay1hbGlnbi1zZWxmLWNlbnRlclxuLy8vIEBncm91cCBhbGlnbi1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1zZWxmOiBzdGFydDtgLlxuLy8vIEBleGFtcGxlIGFsaWduLXNlbGY6IHN0YXJ0O1xuLy8vIEBuYW1lIC5rLWFsaWduLXNlbGYtc3RhcnRcbi8vLyBAZ3JvdXAgYWxpZ24tc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tc2VsZjogZW5kO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tc2VsZjogZW5kO1xuLy8vIEBuYW1lIC5rLWFsaWduLXNlbGYtZW5kXG4vLy8gQGdyb3VwIGFsaWduLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuLy8vIEBuYW1lIC5rLWFsaWduLXNlbGYtZmxleC1zdGFydFxuLy8vIEBncm91cCBhbGlnbi1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1zZWxmOiBmbGV4LWVuZDtgLlxuLy8vIEBleGFtcGxlIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuLy8vIEBuYW1lIC5rLWFsaWduLXNlbGYtZmxleC1lbmRcbi8vLyBAZ3JvdXAgYWxpZ24tc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tc2VsZjogYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1zZWxmOiBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1hbGlnbi1zZWxmLWJhc2VsaW5lXG4vLy8gQGdyb3VwIGFsaWduLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLXNlbGY6IGZpcnN0IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tc2VsZjogZmlyc3QgYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstYWxpZ24tc2VsZi1maXJzdC1iYXNlbGluZVxuLy8vIEBncm91cCBhbGlnbi1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1zZWxmOiBsYXN0IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tc2VsZjogbGFzdCBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1hbGlnbi1zZWxmLWxhc3QtYmFzZWxpbmVcbi8vLyBAZ3JvdXAgYWxpZ24tc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tc2VsZjogc2VsZi1zdGFydDtgLlxuLy8vIEBleGFtcGxlIGFsaWduLXNlbGY6IHNlbGYtc3RhcnQ7XG4vLy8gQG5hbWUgLmstYWxpZ24tc2VsZi1zZWxmLXN0YXJ0XG4vLy8gQGdyb3VwIGFsaWduLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLXNlbGY6IHNlbGYtZW5kO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tc2VsZjogc2VsZi1lbmQ7XG4vLy8gQG5hbWUgLmstYWxpZ24tc2VsZi1zZWxmLWVuZFxuLy8vIEBncm91cCBhbGlnbi1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tYWxpZ24tc2VsZigpIHtcblxuICAgIC8vIEFsaWduIHNlbGYgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWFsaWduLXNlbGY6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImFsaWduLXNlbGZcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBhbGlnbi1zZWxmLCBhbGlnbi1zZWxmLCAka2VuZG8tdXRpbHMtYWxpZ24tc2VsZiApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2ZsZXgtYmFzaXMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2ZsZXgtYmFzaXMuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleC1iYXNpczogYXV0bztgLlxuLy8vIEBleGFtcGxlIGZsZXgtYmFzaXM6IGF1dG87XG4vLy8gQG5hbWUgLmstZmxleC1iYXNpcy1hdXRvXG4vLy8gQGdyb3VwIGZsZXgtYmFzaXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXgtYmFzaXM6IDA7YC5cbi8vLyBAZXhhbXBsZSBmbGV4LWJhc2lzOiAwO1xuLy8vIEBuYW1lIC5rLWZsZXgtYmFzaXMtMFxuLy8vIEBncm91cCBmbGV4LWJhc2lzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZmxleC1iYXNpcygpIHtcblxuICAgIC8vIEZsZXggYmFzaXMgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWZsZXgtYmFzaXM6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImZsZXgtYmFzaXNcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBiYXNpcywgZmxleC1iYXNpcywgJGtlbmRvLXV0aWxzLWZsZXgtYmFzaXMgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZmxleC1iYXNpcywgZmxleC1iYXNpcywgJGtlbmRvLXV0aWxzLWZsZXgtYmFzaXMgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19mbGV4LWRpcmVjdGlvbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fZmxleC1kaXJlY3Rpb24uc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleC1kaXJlY3Rpb246IHJvdztgLlxuLy8vIEBleGFtcGxlIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4vLy8gQG5hbWUgLmstZmxleC1yb3dcbi8vLyBAZ3JvdXAgZmxleC1kaXJlY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtgLlxuLy8vIEBleGFtcGxlIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbi8vLyBAbmFtZSAuay1mbGV4LXJvdy1yZXZlcnNlXG4vLy8gQGdyb3VwIGZsZXgtZGlyZWN0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmbGV4LWRpcmVjdGlvbjogY29sdW1uO2AuXG4vLy8gQGV4YW1wbGUgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbi8vLyBAbmFtZSAuay1mbGV4LWNvbFxuLy8vIEBncm91cCBmbGV4LWRpcmVjdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO2AuXG4vLy8gQGV4YW1wbGUgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuLy8vIEBuYW1lIC5rLWZsZXgtY29sLXJldmVyc2Vcbi8vLyBAZ3JvdXAgZmxleC1kaXJlY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1mbGV4LWRpcmVjdGlvbigpIHtcblxuICAgIC8vIEZsZXggZGlyZWN0aW9uIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1mbGV4LWRpcmVjdGlvbjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZmxleC1kaXJlY3Rpb25cIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBmbGV4LCBmbGV4LWRpcmVjdGlvbiwgJGtlbmRvLXV0aWxzLWZsZXgtZGlyZWN0aW9uICk7XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgLiN7JGtlbmRvLXByZWZpeH1mbGV4LWNvbHVtbiB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH1mbGV4LWNvbCAhb3B0aW9uYWw7IH1cbiAgICAuI3ska2VuZG8tcHJlZml4fWZsZXgtY29sdW1uLXJldmVyc2UgeyBAZXh0ZW5kIC4jeyRrZW5kby1wcmVmaXh9ZmxleC1jb2wtcmV2ZXJzZSAhb3B0aW9uYWw7IH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19mbGV4LWdyb3cuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2ZsZXgtZ3Jvdy5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmbGV4LWdyb3c6IDE7YC5cbi8vLyBAZXhhbXBsZSBmbGV4LWdyb3c6IDE7XG4vLy8gQG5hbWUgLmstZmxleC1ncm93XG4vLy8gQGdyb3VwIGZsZXgtZ3Jvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleC1ncm93OiAwO2AuXG4vLy8gQGV4YW1wbGUgZmxleC1ncm93OiAwO1xuLy8vIEBuYW1lIC5rLWZsZXgtZ3Jvdy0wXG4vLy8gQGdyb3VwIGZsZXgtZ3Jvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWZsZXgtZ3JvdygpIHtcblxuICAgIC8vIEZsZXggZ3JvdyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZmxleC1ncm93OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJmbGV4LWdyb3dcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBncm93LCBmbGV4LWdyb3csICRrZW5kby11dGlscy1mbGV4LWdyb3cgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZmxleC1ncm93LCBmbGV4LWdyb3csICRrZW5kby11dGlscy1mbGV4LWdyb3cgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19mbGV4LXNocmluay5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fZmxleC1zaHJpbmsuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleC1zaHJpbms6IDE7YC5cbi8vLyBAZXhhbXBsZSBmbGV4LXNocmluazogMTtcbi8vLyBAbmFtZSAuay1mbGV4LXNocmlua1xuLy8vIEBncm91cCBmbGV4LXNocmlua1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleC1zaHJpbms6IDA7YC5cbi8vLyBAZXhhbXBsZSBmbGV4LXNocmluazogMDtcbi8vLyBAbmFtZSAuay1mbGV4LXNocmluay0wXG4vLy8gQGdyb3VwIGZsZXgtc2hyaW5rXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZmxleC1zaHJpbmsoKSB7XG5cbiAgICAvLyBGbGV4IHNocmluayB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZmxleC1zaHJpbms6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImZsZXgtc2hyaW5rXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggc2hyaW5rLCBmbGV4LXNocmluaywgJGtlbmRvLXV0aWxzLWZsZXgtc2hyaW5rICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGZsZXgtc2hyaW5rLCBmbGV4LXNocmluaywgJGtlbmRvLXV0aWxzLWZsZXgtc2hyaW5rICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZmxleC13cmFwLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19mbGV4LXdyYXAuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleC13cmFwOiB3cmFwO2AuXG4vLy8gQGV4YW1wbGUgZmxleC13cmFwOiB3cmFwXG4vLy8gQG5hbWUgLmstZmxleC13cmFwXG4vLy8gQGdyb3VwIGZsZXgtd3JhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleC13cmFwOiBub3dyYXA7YC5cbi8vLyBAZXhhbXBsZSBmbGV4LXdyYXA6IG5vd3JhcFxuLy8vIEBuYW1lIC5rLWZsZXgtbm93cmFwXG4vLy8gQGdyb3VwIGZsZXgtd3JhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7YC5cbi8vLyBAZXhhbXBsZSBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZVxuLy8vIEBuYW1lIC5rLWZsZXgtd3JhcC1yZXZlcnNlXG4vLy8gQGdyb3VwIGZsZXgtd3JhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWZsZXgtd3JhcCgpIHtcblxuICAgIC8vIEZsZXggd3JhcCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZmxleC13cmFwOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJmbGV4LXdyYXBcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBmbGV4LCBmbGV4LXdyYXAsICRrZW5kby11dGlscy1mbGV4LXdyYXAgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19mbGV4LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19mbGV4LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXg6IDEgMSAwJTtgLlxuLy8vIEBleGFtcGxlIGZsZXg6IDEgMSAwJTtcbi8vLyBAbmFtZSAuay1mbGV4LTFcbi8vLyBAZ3JvdXAgZmxleFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleDogMSAxIGF1dG87YC5cbi8vLyBAZXhhbXBsZSBmbGV4OiAxIDEgYXV0bztcbi8vLyBAbmFtZSAuay1mbGV4LWF1dG9cbi8vLyBAZ3JvdXAgZmxleFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgdGhlIHNhbWUgYXMgYGZsZXg6IGluaXRpYWw7YCBhbmQgdGhlIHNob3J0aGFuZCBmb3IgdGhlIGRlZmF1bHQgdmFsdWU6IGBmbGV4OiAwIDEgYXV0b2AuIEl0IHNpemVzIHRoZSBpdGVtIGJhc2VkIG9uIGl0cyBgd2lkdGhgL2BoZWlnaHRgIHByb3BlcnRpZXMgKG9yIGl0cyBjb250ZW50IGlmIG5vdCBzZXQpLiBJdCBtYWtlcyB0aGUgZmxleCBpdGVtIGluZmxleGlibGUgd2hlbiB0aGVyZSBpcyBzb21lIGZyZWUgc3BhY2UgbGVmdCwgYnV0IGFsbG93cyBpdCB0byBzaHJpbmsgdG8gaXRzIG1pbmltdW0gd2hlbiB0aGVyZSBpcyBub3QgZW5vdWdoIHNwYWNlLiBUaGUgYWxpZ25tZW50IGFiaWxpdGllcyBvciBgYXV0b2AgbWFyZ2lucyBjYW4gYmUgdXNlZCB0byBhbGlnbiBmbGV4IGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXMuXG4vLy8gQGV4YW1wbGUgZmxleDogaW5pdGlhbDtcbi8vLyBAbmFtZSAuay1mbGV4LWluaXRpYWxcbi8vLyBAZ3JvdXAgZmxleFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleDogMCAwIGF1dG87YC5cbi8vLyBAZXhhbXBsZSBmbGV4OiAwIDAgYXV0bztcbi8vLyBAbmFtZSAuay1mbGV4LW5vbmVcbi8vLyBAZ3JvdXAgZmxleFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWZsZXgoKSB7XG5cbiAgICAvLyBGbGV4IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1mbGV4OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJmbGV4XCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZmxleCwgZmxleCwgJGtlbmRvLXV0aWxzLWZsZXggKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19nYXAuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2dhcC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBnYXA6IDA7YC5cbi8vLyBAZXhhbXBsZSBnYXA6IDA7XG4vLy8gQG5hbWUgLmstZ2FwLTBcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBnYXA6IDFweDtgLlxuLy8vIEBleGFtcGxlIGdhcDogMXB4O1xuLy8vIEBuYW1lIC5rLWdhcC0xcHhcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBnYXA6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBnYXA6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLTFcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBnYXA6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBnYXA6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXhzXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ2FwOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBnYXA6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1nYXAtc21cbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBnYXA6IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBnYXA6IDAuNzVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLW1kXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ2FwOiAxcmVtO2AuXG4vLy8gQGV4YW1wbGUgZ2FwOiAxcmVtO1xuLy8vIEBuYW1lIC5rLWdhcC1sZ1xuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdhcDogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgZ2FwOiAxLjVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXhsXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ2FwOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIGdhcDogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXRoaW5cbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBnYXA6IDFweDtgLlxuLy8vIEBleGFtcGxlIGdhcDogMXB4O1xuLy8vIEBuYW1lIC5rLWdhcC1oYWlyXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uLWdhcDogMDtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbi1nYXA6IDA7XG4vLy8gQG5hbWUgLmstZ2FwLXgtMFxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbi1nYXA6IDFweDtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbi1nYXA6IDFweDtcbi8vLyBAbmFtZSAuay1nYXAteC0xcHhcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW4tZ2FwOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uLWdhcDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1nYXAteC0xXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uLWdhcDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbi1nYXA6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXgteHNcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW4tZ2FwOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW4tZ2FwOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXgtc21cbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW4tZ2FwOiAwLjc1cmVtO2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uLWdhcDogMC43NXJlbTtcbi8vLyBAbmFtZSAuay1nYXAteC1tZFxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbi1nYXA6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW4tZ2FwOiAxcmVtO1xuLy8vIEBuYW1lIC5rLWdhcC14LWxnXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uLWdhcDogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uLWdhcDogMS41cmVtO1xuLy8vIEBuYW1lIC5rLWdhcC14LXhsXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uLWdhcDogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW4tZ2FwOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1nYXAteC10aGluXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uLWdhcDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uLWdhcDogMXB4O1xuLy8vIEBuYW1lIC5rLWdhcC14LWhhaXJcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGByb3ctZ2FwOiAwO2AuXG4vLy8gQGV4YW1wbGUgcm93LWdhcDogMDtcbi8vLyBAbmFtZSAuay1nYXAteS0wXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcm93LWdhcDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgcm93LWdhcDogMXB4O1xuLy8vIEBuYW1lIC5rLWdhcC15LTFweFxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHJvdy1nYXA6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSByb3ctZ2FwOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLWdhcC15LTFcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGByb3ctZ2FwOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcm93LWdhcDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1nYXAteS14c1xuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHJvdy1nYXA6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIHJvdy1nYXA6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1nYXAteS1zbVxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHJvdy1nYXA6IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSByb3ctZ2FwOiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLWdhcC15LW1kXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcm93LWdhcDogMXJlbTtgLlxuLy8vIEBleGFtcGxlIHJvdy1nYXA6IDFyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXktbGdcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGByb3ctZ2FwOiAxLjVyZW07YC5cbi8vLyBAZXhhbXBsZSByb3ctZ2FwOiAxLjVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXkteGxcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGByb3ctZ2FwOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIHJvdy1nYXA6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLWdhcC15LXRoaW5cbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGByb3ctZ2FwOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSByb3ctZ2FwOiAxcHg7XG4vLy8gQG5hbWUgLmstZ2FwLXktaGFpclxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1nYXAoKSB7XG5cbiAgICAvLyBHYXAgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWdhcDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZ2FwXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZ2FwLCBnYXAsICRrZW5kby11dGlscy1nYXAsICRjc3MtdmFyOiBcInNwYWNpbmdcIiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBnYXAteCwgY29sdW1uLWdhcCwgJGtlbmRvLXV0aWxzLWdhcCwgJGNzcy12YXI6IFwic3BhY2luZ1wiICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGdhcC15LCByb3ctZ2FwLCAka2VuZG8tdXRpbHMtZ2FwLCAkY3NzLXZhcjogXCJzcGFjaW5nXCIgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19ncmlkLWF1dG8tY29sdW1ucy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fZ3JpZC1hdXRvLWNvbHVtbnMuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1hdXRvLWNvbHVtbnM6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBncmlkLWF1dG8tY29sdW1uczogYXV0bztcbi8vLyBAbmFtZSAuay1ncmlkLWF1dG8tY29scy1hdXRvXG4vLy8gQGdyb3VwIGdyaWQtYXV0by1jb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLWF1dG8tY29sdW1uczogbWluLWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBncmlkLWF1dG8tY29sdW1uczogbWluLWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstZ3JpZC1hdXRvLWNvbHMtbWluXG4vLy8gQGdyb3VwIGdyaWQtYXV0by1jb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLWF1dG8tY29sdW1uczogbWF4LWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBncmlkLWF1dG8tY29sdW1uczogbWF4LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstZ3JpZC1hdXRvLWNvbHMtbWF4XG4vLy8gQGdyb3VwIGdyaWQtYXV0by1jb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLWF1dG8tY29sdW1uczogbWlubWF4KCAwLCAxZnIgKTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtYXV0by1jb2x1bW5zOiBtaW5tYXgoIDAsIDFmciApO1xuLy8vIEBuYW1lIC5rLWdyaWQtYXV0by1jb2xzLWZyXG4vLy8gQGdyb3VwIGdyaWQtYXV0by1jb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZ3JpZC1hdXRvLWNvbHVtbnMoKSB7XG5cbiAgICAvLyBHcmlkIGF1dG8gY29sdW1ucyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZ3JpZC1hdXRvLWNvbHVtbnM6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImdyaWQtYXV0by1jb2x1bW5zXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZ3JpZC1hdXRvLWNvbHMsIGdyaWQtYXV0by1jb2x1bW5zLCAka2VuZG8tdXRpbHMtZ3JpZC1hdXRvLWNvbHVtbnMgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19ncmlkLWF1dG8tZmxvdy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fZ3JpZC1hdXRvLWZsb3cuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1hdXRvLWZsb3c6IHJvdztgLlxuLy8vIEBleGFtcGxlIGdyaWQtYXV0by1mbG93OiByb3c7XG4vLy8gQG5hbWUgLmstZ3JpZC1mbG93LXJvd1xuLy8vIEBncm91cCBncmlkLWF1dG8tZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtgLlxuLy8vIEBleGFtcGxlIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4vLy8gQG5hbWUgLmstZ3JpZC1mbG93LWNvbHVtblxuLy8vIEBncm91cCBncmlkLWF1dG8tZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1hdXRvLWZsb3c6IGRlbnNlO2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC1hdXRvLWZsb3c6IGRlbnNlO1xuLy8vIEBuYW1lIC5rLWdyaWQtZmxvdy1kZW5zZVxuLy8vIEBncm91cCBncmlkLWF1dG8tZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1hdXRvLWZsb3c6IHJvdyBkZW5zZTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtYXV0by1mbG93OiByb3cgZGVuc2U7XG4vLy8gQG5hbWUgLmstZ3JpZC1mbG93LXJvdy1kZW5zZVxuLy8vIEBncm91cCBncmlkLWF1dG8tZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1hdXRvLWZsb3c6IGNvbCBkZW5zZTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtYXV0by1mbG93OiBjb2wgZGVuc2U7XG4vLy8gQG5hbWUgLmstZ3JpZC1mbG93LWNvbC1kZW5zZVxuLy8vIEBncm91cCBncmlkLWF1dG8tZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1hdXRvLWZsb3c6IHVuc2V0O2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC1hdXRvLWZsb3c6IHVuc2V0O1xuLy8vIEBuYW1lIC5rLWdyaWQtZmxvdy11bnNldFxuLy8vIEBncm91cCBncmlkLWF1dG8tZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWdyaWQtYXV0by1mbG93KCkge1xuXG4gICAgLy8gR3JpZCBhdXRvIGZsb3cgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWdyaWQtYXV0by1mbG93OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJncmlkLWF1dG8tZmxvd1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGdyaWQtZmxvdywgZ3JpZC1hdXRvLWZsb3csICRrZW5kby11dGlscy1ncmlkLWF1dG8tZmxvdyApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2dyaWQtYXV0by1yb3dzLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19ncmlkLWF1dG8tcm93cy5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLWF1dG8tcm93czogYXV0bztgLlxuLy8vIEBleGFtcGxlIGdyaWQtYXV0by1yb3dzOiBhdXRvO1xuLy8vIEBuYW1lIC5rLWdyaWQtYXV0by1yb3dzLWF1dG9cbi8vLyBAZ3JvdXAgZ3JpZC1hdXRvLXJvd3Ncbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtYXV0by1yb3dzOiBtaW4tY29udGVudDtgLlxuLy8vIEBleGFtcGxlIGdyaWQtYXV0by1yb3dzOiBtaW4tY29udGVudDtcbi8vLyBAbmFtZSAuay1ncmlkLWF1dG8tcm93cy1taW5cbi8vLyBAZ3JvdXAgZ3JpZC1hdXRvLXJvd3Ncbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtYXV0by1yb3dzOiBtYXgtY29udGVudDtgLlxuLy8vIEBleGFtcGxlIGdyaWQtYXV0by1yb3dzOiBtYXgtY29udGVudDtcbi8vLyBAbmFtZSAuay1ncmlkLWF1dG8tcm93cy1tYXhcbi8vLyBAZ3JvdXAgZ3JpZC1hdXRvLXJvd3Ncbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtYXV0by1yb3dzOiBtaW5tYXgoIDAsIDFmciApO2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC1hdXRvLXJvd3M6IG1pbm1heCggMCwgMWZyICk7XG4vLy8gQG5hbWUgLmstZ3JpZC1hdXRvLXJvd3MtZnJcbi8vLyBAZ3JvdXAgZ3JpZC1hdXRvLXJvd3Ncbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1ncmlkLWF1dG8tcm93cygpIHtcblxuICAgIC8vIEdyaWQgYXV0byByb3dzIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1ncmlkLWF1dG8tcm93czogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZ3JpZC1hdXRvLXJvd3NcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBncmlkLWF1dG8tcm93cywgZ3JpZC1hdXRvLXJvd3MsICRrZW5kby11dGlscy1ncmlkLWF1dG8tcm93cyApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2dyaWQtY29sdW1uLXN0YXJ0LWVuZC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fZ3JpZC1jb2x1bW4tc3RhcnQtZW5kLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtY29sdW1uLXN0YXJ0OiAxO2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG4vLy8gQG5hbWUgLmstY29sLXN0YXJ0LTFcbi8vLyBAZ3JvdXAgZ3JpZC1jb2x1bW4tc3RhcnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtY29sdW1uLXN0YXJ0OiAtMTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtY29sdW1uLXN0YXJ0OiAtMTtcbi8vLyBAbmFtZSAuay1jb2wtc3RhcnQtLTFcbi8vLyBAZ3JvdXAgZ3JpZC1jb2x1bW4tc3RhcnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtY29sdW1uLXN0YXJ0OiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC1jb2x1bW4tc3RhcnQ6IGF1dG87XG4vLy8gQG5hbWUgLmstY29sLXN0YXJ0LWF1dG9cbi8vLyBAZ3JvdXAgZ3JpZC1jb2x1bW4tc3RhcnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1ncmlkLWNvbHVtbi1zdGFydC1lbmQoKSB7XG5cbiAgICAvLyBHcmlkIGNvbHVtbiBzdGFydCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZ3JpZC1jb2x1bW4tc3RhcnQ6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImdyaWQtY29sdW1uLXN0YXJ0XCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggY29sLXN0YXJ0LCBncmlkLWNvbHVtbi1zdGFydCwgJGtlbmRvLXV0aWxzLWdyaWQtY29sdW1uLXN0YXJ0ICk7XG5cblxuICAgIC8vIEdyaWQgY29sdW1uIGVuZCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZ3JpZC1jb2x1bW4tZW5kOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJncmlkLWNvbHVtbi1lbmRcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBjb2wtZW5kLCBncmlkLWNvbHVtbi1lbmQsICRrZW5kby11dGlscy1ncmlkLWNvbHVtbi1lbmQgKTtcblxuXG4gICAgLy8gR3JpZCBjb2x1bW4gc3BhbiB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZ3JpZC1jb2x1bW4tc3Bhbjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZ3JpZC1jb2x1bW4tc3BhblwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGNvbC1zcGFuLCBncmlkLWNvbHVtbiwgJGtlbmRvLXV0aWxzLWdyaWQtY29sdW1uLXNwYW4gKTtcblxuXG4gICAgLy8gTGVnYWN5IGFsaWFzZXNcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggY29sc3BhbiwgZ3JpZC1jb2x1bW4sICRrZW5kby11dGlscy1ncmlkLWNvbHVtbi1zcGFuICk7XG4gICAgLiN7JGtlbmRvLXByZWZpeH1jb2xzcGFuLWFsbCB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH1jb2xzcGFuLWZ1bGwgIW9wdGlvbmFsOyB9XG4gICAgLlxcISN7JGtlbmRvLXByZWZpeH1jb2xzcGFuLWFsbCB7IEBleHRlbmQgLlxcISN7JGtlbmRvLXByZWZpeH1jb2xzcGFuLWZ1bGwgIW9wdGlvbmFsOyB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZ3JpZC1yb3ctc3RhcnQtZW5kLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19ncmlkLXJvdy1zdGFydC1lbmQuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1yb3ctc3RhcnQ6IDE7YC5cbi8vLyBAZXhhbXBsZSBncmlkLXJvdy1zdGFydDogMTtcbi8vLyBAbmFtZSAuay1yb3ctc3RhcnQtMVxuLy8vIEBncm91cCBncmlkLXJvdy1zdGFydFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1yb3ctc3RhcnQ6IC0xO2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC1yb3ctc3RhcnQ6IC0xO1xuLy8vIEBuYW1lIC5rLXJvdy1zdGFydC0tMVxuLy8vIEBncm91cCBncmlkLXJvdy1zdGFydFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1yb3ctc3RhcnQ6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBncmlkLXJvdy1zdGFydDogYXV0bztcbi8vLyBAbmFtZSAuay1yb3ctc3RhcnQtYXV0b1xuLy8vIEBncm91cCBncmlkLXJvdy1zdGFydFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWdyaWQtcm93LXN0YXJ0LWVuZCgpIHtcblxuICAgIC8vIEdyaWQgcm93IHN0YXJ0L2VuZCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZ3JpZC1yb3ctc3RhcnQ6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImdyaWQtcm93LXN0YXJ0XCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcm93LXN0YXJ0LCBncmlkLXJvdy1zdGFydCwgJGtlbmRvLXV0aWxzLWdyaWQtcm93LXN0YXJ0ICk7XG5cblxuICAgIC8vIEdyaWQgcm93IHN0YXJ0L2VuZCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZ3JpZC1yb3ctZW5kOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJncmlkLXJvdy1lbmRcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCByb3ctZW5kLCBncmlkLXJvdy1lbmQsICRrZW5kby11dGlscy1ncmlkLXJvdy1lbmQgKTtcblxuXG4gICAgLy8gR3JpZCByb3cgc3BhbiB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZ3JpZC1yb3ctc3Bhbjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZ3JpZC1yb3ctc3BhblwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJvdy1zcGFuLCBncmlkLXJvdywgJGtlbmRvLXV0aWxzLWdyaWQtcm93LXNwYW4gKTtcblxuXG4gICAgLy8gTGVnYWN5IGFsaWFzZXNcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcm93c3BhbiwgZ3JpZC1yb3csICRrZW5kby11dGlscy1ncmlkLXJvdy1zcGFuICk7XG4gICAgLiN7JGtlbmRvLXByZWZpeH1yb3dzcGFuLWFsbCB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH1yb3dzcGFuLWZ1bGwgIW9wdGlvbmFsOyB9XG4gICAgLlxcISN7JGtlbmRvLXByZWZpeH1yb3dzcGFuLWFsbCB7IEBleHRlbmQgLlxcISN7JGtlbmRvLXByZWZpeH1yb3dzcGFuLWZ1bGwgIW9wdGlvbmFsOyB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19ncmlkLXRlbXBsYXRlLWNvbHVtbnMuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xuLy8vIEBuYW1lIC5rLWdyaWQtY29scy0xXG4vLy8gQGdyb3VwIGdyaWQtdGVtcGxhdGUtY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuLy8vIEBuYW1lIC5rLWdyaWQtY29scy0yXG4vLy8gQGdyb3VwIGdyaWQtdGVtcGxhdGUtY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xuLy8vIEBuYW1lIC5rLWdyaWQtY29scy1ub25lXG4vLy8gQGdyb3VwIGdyaWQtdGVtcGxhdGUtY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWdyaWQtdGVtcGxhdGUtY29sdW1ucygpIHtcblxuICAgIC8vIEdyaWQgdGVtcGxhdGUgY29sdW1ucyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJncmlkLXRlbXBsYXRlLWNvbHVtbnNcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBncmlkLWNvbHMsIGdyaWQtdGVtcGxhdGUtY29sdW1ucywgJGtlbmRvLXV0aWxzLWdyaWQtdGVtcGxhdGUtY29sdW1ucyApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2dyaWQtdGVtcGxhdGUtcm93cy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fZ3JpZC10ZW1wbGF0ZS1yb3dzLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcbi8vLyBAbmFtZSAuay1ncmlkLXJvd3MtMVxuLy8vIEBncm91cCBncmlkLXRlbXBsYXRlLXJvd3Ncbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbi8vLyBAbmFtZSAuay1ncmlkLXJvd3MtMlxuLy8vIEBncm91cCBncmlkLXRlbXBsYXRlLXJvd3Ncbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtdGVtcGxhdGUtcm93czogbm9uZTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtdGVtcGxhdGUtcm93czogbm9uZTtcbi8vLyBAbmFtZSAuay1ncmlkLXJvd3Mtbm9uZVxuLy8vIEBncm91cCBncmlkLXRlbXBsYXRlLXJvd3Ncbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1ncmlkLXRlbXBsYXRlLXJvd3MoKSB7XG5cbiAgICAvLyBHcmlkIHRlbXBsYXRlIHJvd3MgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWdyaWQtdGVtcGxhdGUtcm93czogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZ3JpZC10ZW1wbGF0ZS1yb3dzXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZ3JpZC1yb3dzLCBncmlkLXRlbXBsYXRlLXJvd3MsICRrZW5kby11dGlscy1ncmlkLXRlbXBsYXRlLXJvd3MgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19qdXN0aWZ5LWNvbnRlbnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2p1c3RpZnktY29udGVudC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogbm9ybWFsO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1ub3JtYWxcbi8vLyBAZ3JvdXAganVzdGlmeS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LXN0cmV0Y2hcbi8vLyBAZ3JvdXAganVzdGlmeS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1jZW50ZXJcbi8vLyBAZ3JvdXAganVzdGlmeS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1jb250ZW50OiBzdGFydDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWNvbnRlbnQtc3RhcnRcbi8vLyBAZ3JvdXAganVzdGlmeS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogZW5kO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1lbmRcbi8vLyBAZ3JvdXAganVzdGlmeS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LXNlbGZ0LXN0YXJ0XG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LXNlbGYtZW5kXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LWJhc2VsaW5lXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBmaXJzdCBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogZmlyc3QgYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LWZpcnN0LWJhc2VsaW5lXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBsYXN0IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1jb250ZW50OiBsYXN0IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1sYXN0LWJhc2VsaW5lXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1iZXR3ZWVuXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWNvbnRlbnQtYXJvdW5kXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWNvbnRlbnQtZXZlbmx5XG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWp1c3RpZnktY29udGVudCgpIHtcblxuICAgIC8vIEp1c3RpZnkgY29udGVudCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtanVzdGlmeS1jb250ZW50OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJqdXN0aWZ5LWNvbnRlbnRcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBqdXN0aWZ5LWNvbnRlbnQsIGp1c3RpZnktY29udGVudCwgJGtlbmRvLXV0aWxzLWp1c3RpZnktY29udGVudCApO1xuXG5cbiAgICAvLyBDdXN0b20ganVzdGlmeS1jb250ZW50IGNsYXNzZXNcbiAgICAuI3ska2VuZG8tcHJlZml4fWp1c3RpZnktY29udGVudC1zdHJldGNoID4gKiB7IGZsZXg6IDEgMCAwJTsgfVxuICAgIC5cXCEuI3ska2VuZG8tcHJlZml4fWp1c3RpZnktY29udGVudC1zdHJldGNoID4gKiB7IGZsZXg6IDEgMCAwJSAhaW1wb3J0YW50OyB9IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fanVzdGlmeS1pdGVtcy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fanVzdGlmeS1pdGVtcy5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWl0ZW1zOiBub3JtYWw7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWl0ZW1zOiBub3JtYWw7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1pdGVtcy1ub3JtYWxcbi8vLyBAZ3JvdXAganVzdGlmeS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1pdGVtczogc3RyZXRjaDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktaXRlbXM6IHN0cmV0Y2g7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1pdGVtcy1zdHJldGNoXG4vLy8gQGdyb3VwIGp1c3RpZnktaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktaXRlbXM6IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWl0ZW1zLWNlbnRlclxuLy8vIEBncm91cCBqdXN0aWZ5LWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWl0ZW1zOiBzdGFydDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktaXRlbXM6IHN0YXJ0O1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktaXRlbXMtc3RhcnRcbi8vLyBAZ3JvdXAganVzdGlmeS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1pdGVtczogZW5kO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1pdGVtczogZW5kO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktaXRlbXMtZW5kXG4vLy8gQGdyb3VwIGp1c3RpZnktaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktaXRlbXM6IGZsZXgtc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWl0ZW1zOiBmbGV4LXN0YXJ0O1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktaXRlbXMtc2VsZnQtc3RhcnRcbi8vLyBAZ3JvdXAganVzdGlmeS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1pdGVtczogZmxleC1lbmQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWl0ZW1zOiBmbGV4LWVuZDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWl0ZW1zLXNlbGYtZW5kXG4vLy8gQGdyb3VwIGp1c3RpZnktaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktaXRlbXM6IHNlbGYtc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWl0ZW1zOiBzZWxmLXN0YXJ0O1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktaXRlbXMtc2VsZnQtc3RhcnRcbi8vLyBAZ3JvdXAganVzdGlmeS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1pdGVtczogc2VsZi1lbmQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWl0ZW1zOiBzZWxmLWVuZDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWl0ZW1zLXNlbGYtZW5kXG4vLy8gQGdyb3VwIGp1c3RpZnktaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktaXRlbXM6IGxlZnQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWl0ZW1zOiBsZWZ0O1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktaXRlbXMtbGVmdFxuLy8vIEBncm91cCBqdXN0aWZ5LWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWl0ZW1zOiByaWdodDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktaXRlbXM6IHJpZ2h0O1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktaXRlbXMtcmlnaHRcbi8vLyBAZ3JvdXAganVzdGlmeS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1pdGVtczogYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWl0ZW1zOiBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWl0ZW1zLWJhc2VsaW5lXG4vLy8gQGdyb3VwIGp1c3RpZnktaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktaXRlbXM6IGZpcnN0IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1pdGVtczogZmlyc3QgYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1pdGVtcy1maXJzdC1iYXNlbGluZVxuLy8vIEBncm91cCBqdXN0aWZ5LWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWl0ZW1zOiBsYXN0IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1pdGVtczogbGFzdCBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWl0ZW1zLWxhc3QtYmFzZWxpbmVcbi8vLyBAZ3JvdXAganVzdGlmeS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWp1c3RpZnktaXRlbXMoKSB7XG5cbiAgICAvLyBKdXN0aWZ5IGl0ZW1zIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1qdXN0aWZ5LWl0ZW1zOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJqdXN0aWZ5LWl0ZW1zXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscygganVzdGlmeS1pdGVtcywganVzdGlmeS1pdGVtcywgJGtlbmRvLXV0aWxzLWp1c3RpZnktaXRlbXMgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19qdXN0aWZ5LXNlbGYuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2p1c3RpZnktc2VsZi5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LXNlbGY6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LXNlbGY6IGF1dG87XG4vLy8gQG5hbWUgLmstanVzdGlmeS1zZWxmLWF1dG9cbi8vLyBAZ3JvdXAganVzdGlmeS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LXNlbGY6IG5vcm1hbDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktc2VsZjogbm9ybWFsO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktc2VsZi1ub3JtYWxcbi8vLyBAZ3JvdXAganVzdGlmeS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1zZWxmLXN0cmV0Y2hcbi8vLyBAZ3JvdXAganVzdGlmeS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktc2VsZjogY2VudGVyO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktc2VsZi1jZW50ZXJcbi8vLyBAZ3JvdXAganVzdGlmeS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LXNlbGY6IHN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1zZWxmOiBzdGFydDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LXNlbGYtc3RhcnRcbi8vLyBAZ3JvdXAganVzdGlmeS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LXNlbGY6IGVuZDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktc2VsZjogZW5kO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktc2VsZi1lbmRcbi8vLyBAZ3JvdXAganVzdGlmeS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LXNlbGY6IGZsZXgtc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LXNlbGY6IGZsZXgtc3RhcnQ7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1zZWxmLXNlbGZ0LXN0YXJ0XG4vLy8gQGdyb3VwIGp1c3RpZnktc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktc2VsZjogZmxleC1lbmQ7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1zZWxmLXNlbGYtZW5kXG4vLy8gQGdyb3VwIGp1c3RpZnktc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1zZWxmOiBzZWxmLXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1zZWxmOiBzZWxmLXN0YXJ0O1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktc2VsZi1zZWxmdC1zdGFydFxuLy8vIEBncm91cCBqdXN0aWZ5LXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktc2VsZjogc2VsZi1lbmQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LXNlbGY6IHNlbGYtZW5kO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktc2VsZi1zZWxmLWVuZFxuLy8vIEBncm91cCBqdXN0aWZ5LXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktc2VsZjogYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LXNlbGY6IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktc2VsZi1iYXNlbGluZVxuLy8vIEBncm91cCBqdXN0aWZ5LXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktc2VsZjogZmlyc3QgYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LXNlbGY6IGZpcnN0IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktc2VsZi1maXJzdC1iYXNlbGluZVxuLy8vIEBncm91cCBqdXN0aWZ5LXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktc2VsZjogbGFzdCBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktc2VsZjogbGFzdCBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LXNlbGYtbGFzdC1iYXNlbGluZVxuLy8vIEBncm91cCBqdXN0aWZ5LXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1qdXN0aWZ5LXNlbGYoKSB7XG5cbiAgICAvLyBKdXN0aWZ5IHNlbGYgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWp1c3RpZnktc2VsZjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwianVzdGlmeS1zZWxmXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscygganVzdGlmeS1zZWxmLCBqdXN0aWZ5LXNlbGYsICRrZW5kby11dGlscy1qdXN0aWZ5LXNlbGYgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19vcmRlci5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fb3JkZXIuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3JkZXI6IDE7YC5cbi8vLyBAZXhhbXBsZSBvcmRlcjogMTtcbi8vLyBAbmFtZSAuay1vcmRlci1maXJzdFxuLy8vIEBncm91cCBvcmRlclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3JkZXI6IC05OTk5O2AuXG4vLy8gQGV4YW1wbGUgb3JkZXI6IC05OTk5O1xuLy8vIEBuYW1lIC5rLW9yZGVyLWZpcnN0XG4vLy8gQGdyb3VwIG9yZGVyXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvcmRlcjogOTk5OTtgLlxuLy8vIEBleGFtcGxlIG9yZGVyOiA5OTk5O1xuLy8vIEBuYW1lIC5rLW9yZGVyLWxhc3Rcbi8vLyBAZ3JvdXAgb3JkZXJcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9yZGVyOiAwO2AuXG4vLy8gQGV4YW1wbGUgb3JkZXI6IDA7XG4vLy8gQG5hbWUgLmstb3JkZXItbm9uZVxuLy8vIEBncm91cCBvcmRlclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLW9yZGVyKCkge1xuXG4gICAgLy8gT3JkZXIgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLW9yZGVyOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJvcmRlclwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG9yZGVyLCBvcmRlciwgJGtlbmRvLXV0aWxzLW9yZGVyICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fcGxhY2UtY29udGVudC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fcGxhY2UtY29udGVudC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1jb250ZW50OiBub3JtYWw7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1jb250ZW50OiBub3JtYWw7XG4vLy8gQG5hbWUgLmstcGxhY2UtY29udGVudC1ub3JtYWxcbi8vLyBAZ3JvdXAgcGxhY2UtY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtY29udGVudDogc3RyZXRjaDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWNvbnRlbnQ6IHN0cmV0Y2g7XG4vLy8gQG5hbWUgLmstcGxhY2UtY29udGVudC1zdHJldGNoXG4vLy8gQGdyb3VwIHBsYWNlLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbi8vLyBAbmFtZSAuay1wbGFjZS1jb250ZW50LWNlbnRlclxuLy8vIEBncm91cCBwbGFjZS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1jb250ZW50OiBzdGFydDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWNvbnRlbnQ6IHN0YXJ0O1xuLy8vIEBuYW1lIC5rLXBsYWNlLWNvbnRlbnQtc3RhcnRcbi8vLyBAZ3JvdXAgcGxhY2UtY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtY29udGVudDogZW5kO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtY29udGVudDogZW5kO1xuLy8vIEBuYW1lIC5rLXBsYWNlLWNvbnRlbnQtZW5kXG4vLy8gQGdyb3VwIHBsYWNlLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuLy8vIEBuYW1lIC5rLXBsYWNlLWNvbnRlbnQtc2VsZnQtc3RhcnRcbi8vLyBAZ3JvdXAgcGxhY2UtY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtY29udGVudDogZmxleC1lbmQ7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1jb250ZW50OiBmbGV4LWVuZDtcbi8vLyBAbmFtZSAuay1wbGFjZS1jb250ZW50LXNlbGYtZW5kXG4vLy8gQGdyb3VwIHBsYWNlLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWNvbnRlbnQ6IHNlbGYtc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1jb250ZW50OiBzZWxmLXN0YXJ0O1xuLy8vIEBuYW1lIC5rLXBsYWNlLWNvbnRlbnQtc2VsZnQtc3RhcnRcbi8vLyBAZ3JvdXAgcGxhY2UtY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtY29udGVudDogc2VsZi1lbmQ7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1jb250ZW50OiBzZWxmLWVuZDtcbi8vLyBAbmFtZSAuay1wbGFjZS1jb250ZW50LXNlbGYtZW5kXG4vLy8gQGdyb3VwIHBsYWNlLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWNvbnRlbnQ6IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtY29udGVudDogYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstcGxhY2UtY29udGVudC1iYXNlbGluZVxuLy8vIEBncm91cCBwbGFjZS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbi8vLyBAbmFtZSAuay1wbGFjZS1jb250ZW50LWJldHdlZW5cbi8vLyBAZ3JvdXAgcGxhY2UtY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtY29udGVudDogc3BhY2UtYXJvdW5kO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtY29udGVudDogc3BhY2UtYXJvdW5kO1xuLy8vIEBuYW1lIC5rLXBsYWNlLWNvbnRlbnQtYXJvdW5kXG4vLy8gQGdyb3VwIHBsYWNlLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbi8vLyBAbmFtZSAuay1wbGFjZS1jb250ZW50LWV2ZW5seVxuLy8vIEBncm91cCBwbGFjZS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tcGxhY2UtY29udGVudCgpIHtcblxuICAgIC8vIFBsYWNlIGNvbnRlbnQgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXBsYWNlLWNvbnRlbnQ6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInBsYWNlLWNvbnRlbnRcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBwbGFjZS1jb250ZW50LCBwbGFjZS1jb250ZW50LCAka2VuZG8tdXRpbHMtcGxhY2UtY29udGVudCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3BsYWNlLWl0ZW1zLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19wbGFjZS1pdGVtcy5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1pdGVtczogbm9ybWFsO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtaXRlbXM6IG5vcm1hbDtcbi8vLyBAbmFtZSAuay1wbGFjZS1pdGVtcy1ub3JtYWxcbi8vLyBAZ3JvdXAgcGxhY2UtaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWl0ZW1zOiBzdHJldGNoO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtaXRlbXM6IHN0cmV0Y2g7XG4vLy8gQG5hbWUgLmstcGxhY2UtaXRlbXMtc3RyZXRjaFxuLy8vIEBncm91cCBwbGFjZS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtaXRlbXM6IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4vLy8gQG5hbWUgLmstcGxhY2UtaXRlbXMtY2VudGVyXG4vLy8gQGdyb3VwIHBsYWNlLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1pdGVtczogc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1pdGVtczogc3RhcnQ7XG4vLy8gQG5hbWUgLmstcGxhY2UtaXRlbXMtc3RhcnRcbi8vLyBAZ3JvdXAgcGxhY2UtaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWl0ZW1zOiBlbmQ7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1pdGVtczogZW5kO1xuLy8vIEBuYW1lIC5rLXBsYWNlLWl0ZW1zLWVuZFxuLy8vIEBncm91cCBwbGFjZS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtaXRlbXM6IGZsZXgtc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1pdGVtczogZmxleC1zdGFydDtcbi8vLyBAbmFtZSAuay1wbGFjZS1pdGVtcy1mbGV4LXN0YXJ0XG4vLy8gQGdyb3VwIHBsYWNlLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1pdGVtczogZmxleC1lbmQ7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1pdGVtczogZmxleC1lbmQ7XG4vLy8gQG5hbWUgLmstcGxhY2UtaXRlbXMtZmxleC1lbmRcbi8vLyBAZ3JvdXAgcGxhY2UtaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWl0ZW1zOiBzZWxmLXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtaXRlbXM6IHNlbGYtc3RhcnQ7XG4vLy8gQG5hbWUgLmstcGxhY2UtaXRlbXMtc2VsZi1zdGFydFxuLy8vIEBncm91cCBwbGFjZS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtaXRlbXM6IHNlbGYtZW5kO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtaXRlbXM6IHNlbGYtZW5kO1xuLy8vIEBuYW1lIC5rLXBsYWNlLWl0ZW1zLXNlbGYtZW5kXG4vLy8gQGdyb3VwIHBsYWNlLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1pdGVtczogYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1pdGVtczogYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstcGxhY2UtaXRlbXMtYmFzZWxpbmVcbi8vLyBAZ3JvdXAgcGxhY2UtaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1wbGFjZS1pdGVtcygpIHtcblxuICAgIC8vIFBsYWNlIGl0ZW1zIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1wbGFjZS1pdGVtczogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwicGxhY2UtaXRlbXNcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBwbGFjZS1pdGVtcywgcGxhY2UtaXRlbXMsICRrZW5kby11dGlscy1wbGFjZS1pdGVtcyApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3BsYWNlLXNlbGYuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX3BsYWNlLXNlbGYuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2Utc2VsZjogYXV0bztgLlxuLy8vIEBleGFtcGxlIHBsYWNlLXNlbGY6IGF1dG87XG4vLy8gQG5hbWUgLmstcGxhY2Utc2VsZi1hdXRvXG4vLy8gQGdyb3VwIHBsYWNlLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLXNlbGY6IG5vcm1hbDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLXNlbGY6IG5vcm1hbDtcbi8vLyBAbmFtZSAuay1wbGFjZS1zZWxmLW5vcm1hbFxuLy8vIEBncm91cCBwbGFjZS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1zZWxmOiBzdHJldGNoO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2Utc2VsZjogc3RyZXRjaDtcbi8vLyBAbmFtZSAuay1wbGFjZS1zZWxmLXN0cmV0Y2hcbi8vLyBAZ3JvdXAgcGxhY2Utc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2Utc2VsZjogY2VudGVyO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2Utc2VsZjogY2VudGVyO1xuLy8vIEBuYW1lIC5rLXBsYWNlLXNlbGYtY2VudGVyXG4vLy8gQGdyb3VwIHBsYWNlLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLXNlbGY6IHN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgcGxhY2Utc2VsZjogc3RhcnQ7XG4vLy8gQG5hbWUgLmstcGxhY2Utc2VsZi1zdGFydFxuLy8vIEBncm91cCBwbGFjZS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1zZWxmOiBlbmQ7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1zZWxmOiBlbmQ7XG4vLy8gQG5hbWUgLmstcGxhY2Utc2VsZi1lbmRcbi8vLyBAZ3JvdXAgcGxhY2Utc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2Utc2VsZjogZmxleC1zdGFydDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLXNlbGY6IGZsZXgtc3RhcnQ7XG4vLy8gQG5hbWUgLmstcGxhY2Utc2VsZi1mbGV4LXN0YXJ0XG4vLy8gQGdyb3VwIHBsYWNlLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLXNlbGY6IGZsZXgtZW5kO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2Utc2VsZjogZmxleC1lbmQ7XG4vLy8gQG5hbWUgLmstcGxhY2Utc2VsZi1mbGV4LWVuZFxuLy8vIEBncm91cCBwbGFjZS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1zZWxmOiBzZWxmLXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgcGxhY2Utc2VsZjogc2VsZi1zdGFydDtcbi8vLyBAbmFtZSAuay1wbGFjZS1zZWxmLXNlbGYtc3RhcnRcbi8vLyBAZ3JvdXAgcGxhY2Utc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2Utc2VsZjogc2VsZi1lbmQ7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1zZWxmOiBzZWxmLWVuZDtcbi8vLyBAbmFtZSAuay1wbGFjZS1zZWxmLXNlbGYtZW5kXG4vLy8gQGdyb3VwIHBsYWNlLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLXNlbGY6IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2Utc2VsZjogYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstcGxhY2Utc2VsZi1iYXNlbGluZVxuLy8vIEBncm91cCBwbGFjZS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tcGxhY2Utc2VsZigpIHtcblxuICAgIC8vIFBsYWNlIHNlbGYgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXBsYWNlLXNlbGY6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInBsYWNlLXNlbGZcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBwbGFjZS1zZWxmLCBwbGFjZS1zZWxmLCAka2VuZG8tdXRpbHMtcGxhY2Utc2VsZiApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tZmxleC1ncmlkLS1hbGlnbi1jb250ZW50KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tYWxpZ24taXRlbXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tZmxleC1ncmlkLS1hbGlnbi1zZWxmKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZmxleC1iYXNpcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWZsZXgtZGlyZWN0aW9uKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZmxleC1ncm93KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZmxleC1zaHJpbmsoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tZmxleC1ncmlkLS1mbGV4LXdyYXAoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tZmxleC1ncmlkLS1mbGV4KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZ2FwKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZ3JpZC1hdXRvLWNvbHVtbnMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tZmxleC1ncmlkLS1ncmlkLWF1dG8tZmxvdygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWdyaWQtYXV0by1yb3dzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZ3JpZC1jb2x1bW4tc3RhcnQtZW5kKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZ3JpZC1yb3ctc3RhcnQtZW5kKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZ3JpZC10ZW1wbGF0ZS1yb3dzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tanVzdGlmeS1jb250ZW50KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tanVzdGlmeS1pdGVtcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWp1c3RpZnktc2VsZigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLW9yZGVyKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tcGxhY2UtY29udGVudCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLXBsYWNlLWl0ZW1zKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tcGxhY2Utc2VsZigpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3NwYWNpbmcvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3Mvc3BhY2luZy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc2l6aW5nL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3NpemluZy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9faGVpZ2h0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3Mvc2l6aW5nL19oZWlnaHQuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgaGVpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgaGVpZ2h0OiAwO1xuLy8vIEBuYW1lIC5rLWgtMFxuLy8vIEBncm91cCBoZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGhlaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgaGVpZ2h0OiAxcHg7XG4vLy8gQG5hbWUgLmstaC0xcHhcbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBoZWlnaHQ6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBoZWlnaHQ6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstaC0xXG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWluLWhlaWdodDogMTAwJTtgLlxuLy8vIEBleGFtcGxlIG1pbi1oZWlnaHQ6IDEwMCU7XG4vLy8gQG5hbWUgLmstaC1mdWxsXG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgaGVpZ2h0OiAxMDB2aDtgLlxuLy8vIEBleGFtcGxlIGhlaWdodDogMTAwdmg7XG4vLy8gQG5hbWUgLmstaC1zY3JlZW5cbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBoZWlnaHQ6IG1pbi1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgaGVpZ2h0OiBtaW4tY29udGVudDtcbi8vLyBAbmFtZSAuay1oLW1pblxuLy8vIEBncm91cCBoZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGhlaWdodDogbWF4LWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBoZWlnaHQ6IG1heC1jb250ZW50O1xuLy8vIEBuYW1lIC5rLWgtbWF4XG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgaGVpZ2h0OiBmaXQtY29udGVudDtgLlxuLy8vIEBleGFtcGxlIGhlaWdodDogZml0LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstaC1maXRcbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4taGVpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgbWluLWhlaWdodDogMDtcbi8vLyBAbmFtZSAuay1taW4taC0wXG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWluLWhlaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWluLWhlaWdodDogMXB4O1xuLy8vIEBuYW1lIC5rLW1pbi1oLTFweFxuLy8vIEBncm91cCBoZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1pbi1oZWlnaHQ6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtaW4taGVpZ2h0OiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW1pbi1oLTFcbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4taGVpZ2h0OiAxMDAlO2AuXG4vLy8gQGV4YW1wbGUgbWluLWhlaWdodDogMTAwJTtcbi8vLyBAbmFtZSAuay1taW4taC1mdWxsXG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWluLWhlaWdodDogMTAwdmg7YC5cbi8vLyBAZXhhbXBsZSBtaW4taGVpZ2h0OiAxMDB2aDtcbi8vLyBAbmFtZSAuay1taW4taC1zY3JlZW5cbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4taGVpZ2h0OiBtaW4tY29udGVudDtgLlxuLy8vIEBleGFtcGxlIG1pbi1oZWlnaHQ6IG1pbi1jb250ZW50O1xuLy8vIEBuYW1lIC5rLW1pbi1oLW1pblxuLy8vIEBncm91cCBoZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1pbi1oZWlnaHQ6IG1heC1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgbWluLWhlaWdodDogbWF4LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstbWluLWgtbWF4XG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWluLWhlaWdodDogZml0LWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcbi8vLyBAbmFtZSAuay1taW4taC1maXRcbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXgtaGVpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgbWF4LWhlaWdodDogMDtcbi8vLyBAbmFtZSAuay1tYXgtaC0wXG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWF4LWhlaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWF4LWhlaWdodDogMXB4O1xuLy8vIEBuYW1lIC5rLW1heC1oLTFweFxuLy8vIEBncm91cCBoZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1heC1oZWlnaHQ6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXgtaGVpZ2h0OiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW1heC1oLTFcbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXgtaGVpZ2h0OiAxMDAlO2AuXG4vLy8gQGV4YW1wbGUgbWF4LWhlaWdodDogMTAwJTtcbi8vLyBAbmFtZSAuay1tYXgtaC1mdWxsXG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWF4LWhlaWdodDogMTAwdmg7YC5cbi8vLyBAZXhhbXBsZSBtYXgtaGVpZ2h0OiAxMDB2aDtcbi8vLyBAbmFtZSAuay1tYXgtaC1zY3JlZW5cbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXgtaGVpZ2h0OiBtaW4tY29udGVudDtgLlxuLy8vIEBleGFtcGxlIG1heC1oZWlnaHQ6IG1pbi1jb250ZW50O1xuLy8vIEBuYW1lIC5rLW1heC1oLW1pblxuLy8vIEBncm91cCBoZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1heC1oZWlnaHQ6IG1heC1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgbWF4LWhlaWdodDogbWF4LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstbWF4LWgtbWF4XG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcbi8vLyBAbmFtZSAuay1tYXgtaC1maXRcbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXNpemluZy0taGVpZ2h0KCkge1xuXG4gICAgLy8gSGVpZ2h0IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1oZWlnaHQ6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImhlaWdodFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGgsIGhlaWdodCwgJGtlbmRvLXV0aWxzLWhlaWdodCApO1xuXG4gICAgLy8gTWluIGhlaWdodCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtbWluLWhlaWdodDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwibWluLWhlaWdodFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG1pbi1oLCBtaW4taGVpZ2h0LCAka2VuZG8tdXRpbHMtbWluLWhlaWdodCApO1xuXG4gICAgLy8gTWF4IGhlaWdodCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtbWF4LWhlaWdodDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwibWF4LWhlaWdodFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG1heC1oLCBtYXgtaGVpZ2h0LCAka2VuZG8tdXRpbHMtbWF4LWhlaWdodCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3dpZHRoLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3Mvc2l6aW5nL193aWR0aC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB3aWR0aDogMDtgLlxuLy8vIEBleGFtcGxlIHdpZHRoOiAwO1xuLy8vIEBuYW1lIC5rLXctMFxuLy8vIEBncm91cCB3aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgd2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIHdpZHRoOiAxcHg7XG4vLy8gQG5hbWUgLmstdy0xcHhcbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHdpZHRoOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgd2lkdGg6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstdy0xXG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4td2lkdGg6IDEwMCU7YC5cbi8vLyBAZXhhbXBsZSBtaW4td2lkdGg6IDEwMCU7XG4vLy8gQG5hbWUgLmstdy1mdWxsXG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB3aWR0aDogMTAwdnc7YC5cbi8vLyBAZXhhbXBsZSB3aWR0aDogMTAwdnc7XG4vLy8gQG5hbWUgLmstdy1zY3JlZW5cbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHdpZHRoOiBtaW4tY29udGVudDtgLlxuLy8vIEBleGFtcGxlIHdpZHRoOiBtaW4tY29udGVudDtcbi8vLyBAbmFtZSAuay13LW1pblxuLy8vIEBncm91cCB3aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgd2lkdGg6IG1heC1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgd2lkdGg6IG1heC1jb250ZW50O1xuLy8vIEBuYW1lIC5rLXctbWF4XG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB3aWR0aDogZml0LWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSB3aWR0aDogZml0LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstdy1maXRcbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1pbi13aWR0aDogMDtgLlxuLy8vIEBleGFtcGxlIG1pbi13aWR0aDogMDtcbi8vLyBAbmFtZSAuay1taW4tdy0wXG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4td2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIG1pbi13aWR0aDogMXB4O1xuLy8vIEBuYW1lIC5rLW1pbi13LTFweFxuLy8vIEBncm91cCB3aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWluLXdpZHRoOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWluLXdpZHRoOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW1pbi13LTFcbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1pbi13aWR0aDogMTAwJTtgLlxuLy8vIEBleGFtcGxlIG1pbi13aWR0aDogMTAwJTtcbi8vLyBAbmFtZSAuay1taW4tdy1mdWxsXG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4td2lkdGg6IDEwMHZ3O2AuXG4vLy8gQGV4YW1wbGUgbWluLXdpZHRoOiAxMDB2dztcbi8vLyBAbmFtZSAuay1taW4tdy1zY3JlZW5cbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBtaW4td2lkdGg6IG1pbi1jb250ZW50O1xuLy8vIEBuYW1lIC5rLW1pbi13LW1pblxuLy8vIEBncm91cCB3aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWluLXdpZHRoOiBtYXgtY29udGVudDtgLlxuLy8vIEBleGFtcGxlIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstbWluLXctbWF4XG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4td2lkdGg6IGZpdC1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbi8vLyBAbmFtZSAuay1taW4tdy1maXRcbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1heC13aWR0aDogMDtgLlxuLy8vIEBleGFtcGxlIG1heC13aWR0aDogMDtcbi8vLyBAbmFtZSAuay1tYXgtdy0wXG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXgtd2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIG1heC13aWR0aDogMXB4O1xuLy8vIEBuYW1lIC5rLW1heC13LTFweFxuLy8vIEBncm91cCB3aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWF4LXdpZHRoOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWF4LXdpZHRoOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW1heC13LTFcbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1heC13aWR0aDogMTAwJTtgLlxuLy8vIEBleGFtcGxlIG1heC13aWR0aDogMTAwJTtcbi8vLyBAbmFtZSAuay1tYXgtdy1mdWxsXG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXgtd2lkdGg6IDEwMHZoO2AuXG4vLy8gQGV4YW1wbGUgbWF4LXdpZHRoOiAxMDB2aDtcbi8vLyBAbmFtZSAuay1tYXgtdy1zY3JlZW5cbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1heC13aWR0aDogbWluLWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBtYXgtd2lkdGg6IG1pbi1jb250ZW50O1xuLy8vIEBuYW1lIC5rLW1heC13LW1pblxuLy8vIEBncm91cCB3aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWF4LXdpZHRoOiBtYXgtY29udGVudDtgLlxuLy8vIEBleGFtcGxlIG1heC13aWR0aDogbWF4LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstbWF4LXctbWF4XG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXgtd2lkdGg6IGZpdC1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbi8vLyBAbmFtZSAuay1tYXgtdy1maXRcbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tc2l6aW5nLS13aWR0aCgpIHtcblxuICAgIC8vIFdpZHRoIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy13aWR0aDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwid2lkdGhcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCB3LCB3aWR0aCwgJGtlbmRvLXV0aWxzLXdpZHRoICk7XG5cbiAgICAvLyBNaW4td2lkdGggdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLW1pbi13aWR0aDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwibWluLXdpZHRoXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggbWluLXcsIG1pbi13aWR0aCwgJGtlbmRvLXV0aWxzLW1pbi13aWR0aCApO1xuXG4gICAgLy8gTWF4LXdpZHRoIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1tYXgtd2lkdGg6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcIm1heC13aWR0aFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG1heC13LCBtYXgtd2lkdGgsICRrZW5kby11dGlscy1tYXgtd2lkdGggKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS1zaXppbmcoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXNpemluZy0taGVpZ2h0KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXNpemluZy0td2lkdGgoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90eXBvZ3JhcGh5L2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvaW5kZXguaW1wb3J0LnNjc3Ncbi8vIGZvbnQgZmFtaWx5XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19mb250LWZhbWlseS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvX2ZvbnQtZmFtaWx5LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS1mb250LWZhbWlseSgpIHtcblxuICAgIC8vIEZvbnQgZmFtaWx5IHV0aWxpdHkgY2xhc3Nlc1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBmb250LWZhbWlseSwgZm9udC1mYW1pbHksICRrZW5kby1mb250LWZhbWlsaWVzLCAkY3NzLXZhcjogXCJmb250LWZhbWlseVwiICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZm9udC1zaXplLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdHlwb2dyYXBoeS9fZm9udC1zaXplLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC1zaXplOiAxMHB4O2AuXG4vLy8gQGV4YW1wbGUgZm9udC1zaXplOiAxMHB4O1xuLy8vIEBuYW1lIC5rLWZvbnQtc2l6ZS14c1xuLy8vIEBncm91cCBmb250LXNpemVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZvbnQtc2l6ZTogMTJweDtgLlxuLy8vIEBleGFtcGxlIGZvbnQtc2l6ZTogMTJweDtcbi8vLyBAbmFtZSAuay1mb250LXNpemUtc21cbi8vLyBAZ3JvdXAgZm9udC1zaXplXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmb250LXNpemU6IDE0cHg7YC5cbi8vLyBAZXhhbXBsZSBmb250LXNpemU6IDE0cHg7XG4vLy8gQG5hbWUgLmstZm9udC1zaXplLW1kXG4vLy8gQGdyb3VwIGZvbnQtc2l6ZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC1zaXplOiAxNnB4O2AuXG4vLy8gQGV4YW1wbGUgZm9udC1zaXplOiAxNnB4O1xuLy8vIEBuYW1lIC5rLWZvbnQtc2l6ZS1sZ1xuLy8vIEBncm91cCBmb250LXNpemVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZvbnQtc2l6ZTogMjBweDtgLlxuLy8vIEBleGFtcGxlIGZvbnQtc2l6ZTogMjBweDtcbi8vLyBAbmFtZSAuay1mb250LXNpemUteGxcbi8vLyBAZ3JvdXAgZm9udC1zaXplXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLWZvbnQtc2l6ZSgpIHtcblxuICAgIC8vIEZvbnQgc2l6ZSB1dGlsaXR5IGNsYXNzZXNcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZm9udC1zaXplLCBmb250LXNpemUsICRrZW5kby1mb250LXNpemVzLCAkY3NzLXZhcjogXCJmb250LXNpemVcIiApO1xuXG4gICAgLy8gTGVnYWN5IGFsaWFzZXNcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZnMsIGZvbnQtc2l6ZSwgJGtlbmRvLWZvbnQtc2l6ZXMsICRjc3MtdmFyOiBcImZzXCIgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyBmb250IHNtb290aGluZ1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZm9udC1zdHlsZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvX2ZvbnQtc3R5bGUuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC1zdHlsZTogaXRhbGljO2AuXG4vLy8gQGV4YW1wbGUgZm9udC1zdHlsZTogaXRhbGljO1xuLy8vIEBuYW1lIC5rLWZvbnQtaXRhbGljXG4vLy8gQGdyb3VwIGZvbnQtc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZvbnQtc3R5bGU6IG5vcm1hbDtgLlxuLy8vIEBleGFtcGxlIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vLyBAbmFtZSAuay1mb250LW5vbi1pdGFsaWNcbi8vLyBAZ3JvdXAgZm9udC1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS1mb250LXN0eWxlKCkge1xuXG4gICAgLy8gRm9udCBzdHlsZSB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZm9udC1zdHlsZTogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZm9udC1zdHlsZVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGZvbnQtc3R5bGUsIGZvbnQtc3R5bGUsICRrZW5kby11dGlscy1mb250LXN0eWxlLCAkY3NzLXZhcjogXCJmb250LXN0eWxlXCIgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19mb250LXdlaWdodC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvX2ZvbnQtd2VpZ2h0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC13ZWlnaHQ6IDEwMDtgLlxuLy8vIEBleGFtcGxlIGZvbnQtd2VpZ2h0OiAxMDA7XG4vLy8gQG5hbWUgLmstZm9udC10aGluXG4vLy8gQGdyb3VwIGZvbnQtd2VpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmb250LXdlaWdodDogMjAwO2AuXG4vLy8gQGV4YW1wbGUgZm9udC13ZWlnaHQ6IDIwMDtcbi8vLyBAbmFtZSAuay1mb250LWV4dHJhbGlnaHRcbi8vLyBAZ3JvdXAgZm9udC13ZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZvbnQtd2VpZ2h0OiAzMDA7YC5cbi8vLyBAZXhhbXBsZSBmb250LXdlaWdodDogMzAwO1xuLy8vIEBuYW1lIC5rLWZvbnQtbGlnaHRcbi8vLyBAZ3JvdXAgZm9udC13ZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZvbnQtd2VpZ2h0OiA0MDA7YC5cbi8vLyBAZXhhbXBsZSBmb250LXdlaWdodDogNDAwO1xuLy8vIEBuYW1lIC5rLWZvbnQtbm9ybWFsXG4vLy8gQGdyb3VwIGZvbnQtd2VpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmb250LXdlaWdodDogNTAwO2AuXG4vLy8gQGV4YW1wbGUgZm9udC13ZWlnaHQ6IDUwMDtcbi8vLyBAbmFtZSAuay1mb250LW1lZGl1bVxuLy8vIEBncm91cCBmb250LXdlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC13ZWlnaHQ6IDYwMDtgLlxuLy8vIEBleGFtcGxlIGZvbnQtd2VpZ2h0OiA2MDA7XG4vLy8gQG5hbWUgLmstZm9udC1zZW1pYm9sZFxuLy8vIEBncm91cCBmb250LXdlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC13ZWlnaHQ6IDcwMDtgLlxuLy8vIEBleGFtcGxlIGZvbnQtd2VpZ2h0OiA3MDA7XG4vLy8gQG5hbWUgLmstZm9udC1ib2xkXG4vLy8gQGdyb3VwIGZvbnQtd2VpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmb250LXdlaWdodDogODAwO2AuXG4vLy8gQGV4YW1wbGUgZm9udC13ZWlnaHQ6IDgwMDtcbi8vLyBAbmFtZSAuay1mb250LWV4dHJhYm9sZFxuLy8vIEBncm91cCBmb250LXdlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC13ZWlnaHQ6IDkwMDtgLlxuLy8vIEBleGFtcGxlIGZvbnQtd2VpZ2h0OiA5MDA7XG4vLy8gQG5hbWUgLmstZm9udC1ibGFja1xuLy8vIEBncm91cCBmb250LXdlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS1mb250LXdlaWdodCgpIHtcblxuICAgIC8vIEZvbnQgd2VpZ2h0IHV0aWxpdHkgY2xhc3Nlc1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBmb250LCBmb250LXdlaWdodCwgJGtlbmRvLWZvbnQtd2VpZ2h0cywgJGNzcy12YXI6IFwiZm9udC13ZWlnaHRcIiApO1xuXG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBmb250LXdlaWdodCwgZm9udC13ZWlnaHQsICRrZW5kby1mb250LXdlaWdodHMsICRjc3MtdmFyOiBcImZvbnQtd2VpZ2h0XCIgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyBmb250IHZhcmlhbnRcbi8vIGxldHRlciBzcGFjaW5nXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sZXR0ZXItc3BhY2luZy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvX2xldHRlci1zcGFjaW5nLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS1sZXR0ZXItc3BhY2luZygpIHtcblxuICAgIC8vIExldHRlciBzcGFjaW5nIHV0aWxpdHkgY2xhc3Nlc1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBsZXR0ZXItc3BhY2luZywgbGV0dGVyLXNwYWNpbmcsICRrZW5kby1sZXR0ZXItc3BhY2luZ3MsICRjc3MtdmFyOiBcImxldHRlci1zcGFjaW5nXCIgKTtcblxufVxuXG5cbi8vICNlbmRyZWdpb25cbi8vIGxpbmUgaGVpZ2h0XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19saW5lLWhlaWdodC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvX2xpbmUtaGVpZ2h0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS1saW5lLWhlaWdodCgpIHtcblxuICAgIC8vIExpbmUgaGVpZ2h0IHV0aWxpdHkgY2xhc3Nlc1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBsaW5lLWhlaWdodCwgbGluZS1oZWlnaHQsICRrZW5kby1saW5lLWhlaWdodHMsICRjc3MtdmFyOiBcImxpbmUtaGVpZ2h0XCIgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19saXN0LXN0eWxlLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdHlwb2dyYXBoeS9fbGlzdC1zdHlsZS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7YC5cbi8vLyBAZXhhbXBsZSBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4vLy8gQG5hbWUgLmstbGlzdC1ub25lXG4vLy8gQGdyb3VwIGxpc3Qtc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGxpc3Qtc3R5bGUtdHlwZTogZGlzYztgLlxuLy8vIEBleGFtcGxlIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbi8vLyBAbmFtZSAuay1saXN0LWRpc2Ncbi8vLyBAZ3JvdXAgbGlzdC1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO2AuVGhlIG1hcmtlciBvZiBsaXN0IGl0ZW1zIGlzIGEgbnVtYmVyLlxuLy8vIEBleGFtcGxlIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbi8vLyBAbmFtZSAuay1saXN0LWRlY2ltYWxcbi8vLyBAZ3JvdXAgbGlzdC1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS1saXN0LXN0eWxlLXR5cGUoKSB7XG5cbiAgICAvLyBsaXN0LXN0eWxlLXR5cGUgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWxpc3Qtc3R5bGUtdHlwZTogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwibGlzdC1zdHlsZS10eXBlXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggbGlzdCwgbGlzdC1zdHlsZS10eXBlLCAka2VuZG8tdXRpbHMtbGlzdC1zdHlsZS10eXBlICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGV4dC1hbGlnbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvX3RleHQtYWxpZ24uc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdGV4dC1hbGlnbjogbGVmdDtgLlxuLy8vIEBleGFtcGxlIHRleHQtYWxpZ246IGxlZnQ7XG4vLy8gQG5hbWUgLmstdGV4dC1sZWZ0XG4vLy8gQGdyb3VwIHRleHQtYWxpZ25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRleHQtYWxpZ246IHJpZ2h0O2AuXG4vLy8gQGV4YW1wbGUgdGV4dC1hbGlnbjogcmlnaHQ7XG4vLy8gQG5hbWUgLmstdGV4dC1yaWdodFxuLy8vIEBncm91cCB0ZXh0LWFsaWduXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0ZXh0LWFsaWduOiBjZW50ZXI7YC5cbi8vLyBAZXhhbXBsZSB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLy8gQG5hbWUgLmstdGV4dC1jZW50ZXJcbi8vLyBAZ3JvdXAgdGV4dC1hbGlnblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdGV4dC1hbGlnbjoganVzdGlmeTtgLlxuLy8vIEBleGFtcGxlIHRleHQtYWxpZ246IGp1c3RpZnk7XG4vLy8gQG5hbWUgLmstdGV4dC1qdXN0aWZ5XG4vLy8gQGdyb3VwIHRleHQtYWxpZ25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tdHlwb2dyYXBoeS0tdGV4dC1hbGlnbigpIHtcblxuICAgIC8vIFRleHQgYWxpZ24gdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXRleHQtYWxpZ246IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInRleHQtYWxpZ25cIiApICFkZWZhdWx0O1xuXG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRleHQsIHRleHQtYWxpZ24sICRrZW5kby11dGlscy10ZXh0LWFsaWduICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGV4dC1jb2xvci5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvX3RleHQtY29sb3Iuc2Nzc1xuLy8gVE9ETzogZG9jc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLXRleHQtY29sb3IoKSB7XG5cbiAgICAvLyBUZXh0IGNvbG9yIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy10ZXh0LWNvbG9yOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJ0ZXh0LWNvbG9yXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggdGV4dCwgY29sb3IsICRrZW5kby11dGlscy10ZXh0LWNvbG9yLCAkY3NzLXZhcjogJ2NvbG9yJyApO1xuXG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBjb2xvciwgY29sb3IsICRrZW5kby11dGlscy10ZXh0LWNvbG9yLCAkY3NzLXZhcjogJ2NvbG9yJyApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RleHQtZGVjb3JhdGlvbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvX3RleHQtZGVjb3JhdGlvbi5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtgLlxuLy8vIEBleGFtcGxlIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuLy8vIEBuYW1lIC5rLXRleHQtdW5kZXJsaW5lXG4vLy8gQGdyb3VwIHRleHQtZGVjb3JhdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdGV4dC1kZWNvcmF0aW9uOiBvdmVybGluZTtgLlxuLy8vIEBleGFtcGxlIHRleHQtZGVjb3JhdGlvbjogb3ZlcmxpbmU7XG4vLy8gQG5hbWUgLmstdGV4dC1vdmVybGluZVxuLy8vIEBncm91cCB0ZXh0LWRlY29yYXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO2AuXG4vLy8gQGV4YW1wbGUgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4vLy8gQG5hbWUgLmstdGV4dC1saW5lLXRocm91Z2hcbi8vLyBAZ3JvdXAgdGV4dC1kZWNvcmF0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0ZXh0LWRlY29yYXRpb246IG5vbmUtZGVjb3JhdGlvbjtgLlxuLy8vIEBleGFtcGxlIHRleHQtZGVjb3JhdGlvbjogbm9uZS1kZWNvcmF0aW9uO1xuLy8vIEBuYW1lIC5rLXRleHQtbm8tdW5kZXJsaW5lXG4vLy8gQGdyb3VwIHRleHQtZGVjb3JhdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS10ZXh0LWRlY29yYXRpb24oKSB7XG5cbiAgICAvLyB0ZXh0LWRlY29yYXRpb24gdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXRleHQtZGVjb3JhdGlvbjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwidGV4dC1kZWNvcmF0aW9uXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggdGV4dCwgdGV4dC1kZWNvcmF0aW9uLCAka2VuZG8tdXRpbHMtdGV4dC1kZWNvcmF0aW9uICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGV4dC1vdmVyZmxvdy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvX3RleHQtb3ZlcmZsb3cuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdGV4dC1vdmVyZmxvdzogY2xpcDtgLlxuLy8vIEBleGFtcGxlIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4vLy8gQG5hbWUgLmstdGV4dC1jbGlwXG4vLy8gQGdyb3VwIHRleHQtb3ZlcmZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuO2AuXG4vLy8gQGV4YW1wbGUgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47XG4vLy8gQG5hbWUgLmstdGV4dC1lbGxpcHNpc1xuLy8vIEBncm91cCB0ZXh0LW92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLXRleHQtb3ZlcmZsb3coKSB7XG5cbiAgICAvLyBUZXh0IG92ZXJmbG93IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy10ZXh0LW92ZXJmbG93OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJ0ZXh0LW92ZXJmbG93XCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggdGV4dCwgdGV4dC1vdmVyZmxvdywgJGtlbmRvLXV0aWxzLXRleHQtb3ZlcmZsb3cgKTtcblxuXG4gICAgLy8gVGV4dCB0cnVuY2F0ZSB1dGlsaXR5IGNsYXNzZXNcbiAgICAuI3ska2VuZG8tcHJlZml4fXRleHQtdHJ1bmNhdGUge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG4gICAgLlxcISN7JGtlbmRvLXByZWZpeH10ZXh0LXRydW5jYXRlIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG4gICAgLy8gTGVnYWN5IGFsaWFzZXNcbiAgICAuI3ska2VuZG8tcHJlZml4fXRleHQtZWxsaXBzaXMgeyBAZXh0ZW5kIC4jeyRrZW5kby1wcmVmaXh9dGV4dC10cnVuY2F0ZSAhb3B0aW9uYWw7IH1cbiAgICAuXFwhI3ska2VuZG8tcHJlZml4fXRleHQtZWxsaXBzaXMgeyBAZXh0ZW5kIC5cXCEjeyRrZW5kby1wcmVmaXh9dGV4dC10cnVuY2F0ZSAhb3B0aW9uYWw7IH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190ZXh0LXRyYW5zZm9ybS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvX3RleHQtdHJhbnNmb3JtLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7YC5cbi8vLyBAZXhhbXBsZSB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuLy8vIEBuYW1lIC5rLXRleHQtbG93ZXJjYXNlXG4vLy8gQGdyb3VwIHRleHQtdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO2AuXG4vLy8gQGV4YW1wbGUgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vLyBAbmFtZSAuay10ZXh0LXVwcGVyY2FzZVxuLy8vIEBncm91cCB0ZXh0LXRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7YC5cbi8vLyBAZXhhbXBsZSB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbi8vLyBAbmFtZSAuay10ZXh0LWNhcGl0YWxpemVcbi8vLyBAZ3JvdXAgdGV4dC10cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tdHlwb2dyYXBoeS0tdGV4dC10cmFuc2Zvcm0oKSB7XG5cbiAgICAvLyBUZXh0IHRyYW5zZm9ybSB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtdGV4dC10cmFuc2Zvcm06IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInRleHQtdHJhbnNmb3JtXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggdGV4dCwgdGV4dC10cmFuc2Zvcm0sICRrZW5kby11dGlscy10ZXh0LXRyYW5zZm9ybSApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vIHRleHQgaW5kZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192ZXJ0aWNhbC1hbGlnbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvX3ZlcnRpY2FsLWFsaWduLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1hbGlnbi1iYXNlbGluZVxuLy8vIEBncm91cCB2ZXJ0aWNhbC1hbGlnblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdmVydGljYWwtYWxpZ246IHRvcDtgLlxuLy8vIEBleGFtcGxlIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4vLy8gQG5hbWUgLmstYWxpZ24tdG9wXG4vLy8gQGdyb3VwIHZlcnRpY2FsLWFsaWduXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO2AuXG4vLy8gQGV4YW1wbGUgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vLyBAbmFtZSAuay1hbGlnbi1taWRkbGVcbi8vLyBAZ3JvdXAgdmVydGljYWwtYWxpZ25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHZlcnRpY2FsLWFsaWduOiBib3R0b207YC5cbi8vLyBAZXhhbXBsZSB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuLy8vIEBuYW1lIC5rLWFsaWduLWJvdHRvbVxuLy8vIEBncm91cCB2ZXJ0aWNhbC1hbGlnblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO2AuXG4vLy8gQGV4YW1wbGUgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuLy8vIEBuYW1lIC5rLWFsaWduLXRleHQtdG9wXG4vLy8gQGdyb3VwIHZlcnRpY2FsLWFsaWduXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207YC5cbi8vLyBAZXhhbXBsZSB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4vLy8gQG5hbWUgLmstYWxpZ24tdGV4dC1ib3R0b21cbi8vLyBAZ3JvdXAgdmVydGljYWwtYWxpZ25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHZlcnRpY2FsLWFsaWduOiBzdWI7YC5cbi8vLyBAZXhhbXBsZSB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xuLy8vIEBuYW1lIC5rLWFsaWduLXN1YlxuLy8vIEBncm91cCB2ZXJ0aWNhbC1hbGlnblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdmVydGljYWwtYWxpZ246IHN1cGVyO2AuXG4vLy8gQGV4YW1wbGUgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuLy8vIEBuYW1lIC5rLWFsaWduLXN1cGVyXG4vLy8gQGdyb3VwIHZlcnRpY2FsLWFsaWduXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLXZlcnRpY2FsLWFsaWduKCkge1xuXG4gICAgLy8gdmVydGljYWwtYWxpZ24gdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXZlcnRpY2FsLWFsaWduOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJ2ZXJ0aWNhbC1hbGlnblwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGFsaWduLCB2ZXJ0aWNhbC1hbGlnbiwgJGtlbmRvLXV0aWxzLXZlcnRpY2FsLWFsaWduICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fd2hpdGUtc3BhY2Uuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy90eXBvZ3JhcGh5L193aGl0ZS1zcGFjZS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB3aGl0ZS1zcGFjZTogbm9ybWFsO2AuXG4vLy8gQGV4YW1wbGUgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbi8vLyBAbmFtZSAuay13aGl0ZS1zcGFjZS1ub3JtYWxcbi8vLyBAZ3JvdXAgd2hpdGUtc3BhY2Vcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHdoaXRlLXNwYWNlOiBub3dyYXA7YC5cbi8vLyBAZXhhbXBsZSB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vIEBuYW1lIC5rLXdoaXRlLXNwYWNlLW5vd3JhcFxuLy8vIEBncm91cCB3aGl0ZS1zcGFjZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgd2hpdGUtc3BhY2U6IHByZTtgLlxuLy8vIEBleGFtcGxlIHdoaXRlLXNwYWNlOiBwcmU7XG4vLy8gQG5hbWUgLmstd2hpdGUtc3BhY2UtcHJlXG4vLy8gQGdyb3VwIHdoaXRlLXNwYWNlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7YC5cbi8vLyBAZXhhbXBsZSB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4vLy8gQG5hbWUgLmstd2hpdGUtc3BhY2UtcHJlLXdyYXBcbi8vLyBAZ3JvdXAgd2hpdGUtc3BhY2Vcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHdoaXRlLXNwYWNlOiBwcmUtbGluZTtgLlxuLy8vIEBleGFtcGxlIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbi8vLyBAbmFtZSAuay13aGl0ZS1zcGFjZS1wcmUtbGluZVxuLy8vIEBncm91cCB3aGl0ZS1zcGFjZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgd2hpdGUtc3BhY2U6IGJyZWFrLXNwYWNlcztgLlxuLy8vIEBleGFtcGxlIHdoaXRlLXNwYWNlOiBicmVhay1zcGFjZXM7XG4vLy8gQG5hbWUgLmstd2hpdGUtc3BhY2UtYnJlYWstc3BhY2VzXG4vLy8gQGdyb3VwIHdoaXRlLXNwYWNlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLXdoaXRlLXNwYWNlKCkge1xuXG4gICAgLy8gV2hpdGUgc3BhY2UgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXdoaXRlLXNwYWNlOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJ3aGl0ZS1zcGFjZVwiICkgIWRlZmF1bHQ7XG5cbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggd2hpdGUtc3BhY2UsIHdoaXRlLXNwYWNlLCAka2VuZG8tdXRpbHMtd2hpdGUtc3BhY2UgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggd2hpdGVzcGFjZSwgd2hpdGUtc3BhY2UsICRrZW5kby11dGlscy13aGl0ZS1zcGFjZSApO1xuXG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIC4jeyRrZW5kby1wcmVmaXh9dGV4dC1ub3dyYXAgeyBAZXh0ZW5kIC4jeyRrZW5kby1wcmVmaXh9d2hpdGUtc3BhY2Utbm93cmFwICFvcHRpb25hbDsgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHkoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLWZvbnQtZmFtaWx5KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLWZvbnQtc2l6ZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS1mb250LXN0eWxlKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLWZvbnQtd2VpZ2h0KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLWxldHRlci1zcGFjaW5nKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLWxpbmUtaGVpZ2h0KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLWxpc3Qtc3R5bGUtdHlwZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS10ZXh0LWFsaWduKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLXRleHQtY29sb3IoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tdHlwb2dyYXBoeS0tdGV4dC1kZWNvcmF0aW9uKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLXRleHQtb3ZlcmZsb3coKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tdHlwb2dyYXBoeS0tdGV4dC10cmFuc2Zvcm0oKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tdHlwb2dyYXBoeS0tdmVydGljYWwtYWxpZ24oKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tdHlwb2dyYXBoeS0td2hpdGUtc3BhY2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9iYWNrZ3JvdW5kL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2JhY2tncm91bmQvaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2JhY2tncm91bmQtY2xpcC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2JhY2tncm91bmQvX2JhY2tncm91bmQtY2xpcC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4vLy8gQG5hbWUgLmstYmctY2xpcC1ib3JkZXJcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1jbGlwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O2AuXG4vLy8gQGV4YW1wbGUgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbi8vLyBAbmFtZSAuay1iZy1jbGlwLXBhZGRpbmdcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1jbGlwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O2AuXG4vLy8gQGV4YW1wbGUgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbi8vLyBAbmFtZSAuay1iZy1jbGlwLWNvbnRlbnRcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1jbGlwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4vLy8gQG5hbWUgLmstYmctY2xpcC10ZXh0XG4vLy8gQGdyb3VwIGJhY2tncm91bmQtY2xpcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1iYWNrZ3JvdW5kLS1iYWNrZ3JvdW5kLWNsaXAoKSB7XG5cbiAgICAvLyBCYWNrZ3JvdW5kIGNvbG9yIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1iYWNrZ3JvdW5kLWNsaXA6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImJhY2tncm91bmQtY2xpcFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJnLWNsaXAsIGJhY2tncm91bmQtY2xpcCwgJGtlbmRvLXV0aWxzLWJhY2tncm91bmQtY2xpcCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2JhY2tncm91bmQtY29sb3Iuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9iYWNrZ3JvdW5kL19iYWNrZ3JvdW5kLWNvbG9yLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuLy8vIEBuYW1lIC5rLWJnLWluaGVyaXRcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1jb2xvclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbi8vLyBAbmFtZSAuay1iZy10cmFuc3BhcmVudFxuLy8vIEBncm91cCBiYWNrZ3JvdW5kLWNvbG9yXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztgLlxuLy8vIEBleGFtcGxlIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuLy8vIEBuYW1lIC5rLWJnLWJsYWNrXG4vLy8gQGdyb3VwIGJhY2tncm91bmQtY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tncm91bmQtY29sb3I6IHdoaXRlO2AuXG4vLy8gQGV4YW1wbGUgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4vLy8gQG5hbWUgLmstYmctd2hpdGVcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1jb2xvclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1iYWNrZ3JvdW5kLS1iYWNrZ3JvdW5kLWNvbG9yKCkge1xuXG4gICAgLy8gQmFja2dyb3VuZCBjb2xvciB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYmFja2dyb3VuZC1jb2xvcjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiYmFja2dyb3VuZC1jb2xvclwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJnLCBiYWNrZ3JvdW5kLWNvbG9yLCAka2VuZG8tdXRpbHMtYmFja2dyb3VuZC1jb2xvciwgJGNzcy12YXI6ICdjb2xvcicgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19iYWNrZ3JvdW5kLXBvc2l0aW9uLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvYmFja2dyb3VuZC9fYmFja2dyb3VuZC1wb3NpdGlvbi5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4vLy8gQG5hbWUgLmstYmctY2VudGVyXG4vLy8gQGdyb3VwIGJhY2tncm91bmQtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tncm91bmQtcG9zaXRpb246IHRvcDtgLlxuLy8vIEBleGFtcGxlIGJhY2tncm91bmQtcG9zaXRpb246IHRvcDtcbi8vLyBAbmFtZSAuay1iZy10b3Bcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1wb3NpdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbi8vLyBAbmFtZSAuay1iZy1yaWdodFxuLy8vIEBncm91cCBiYWNrZ3JvdW5kLXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4vLy8gQG5hbWUgLmstYmctYm90dG9tXG4vLy8gQGdyb3VwIGJhY2tncm91bmQtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuLy8vIEBuYW1lIC5rLWJnLWxlZnRcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1wb3NpdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcbi8vLyBAbmFtZSAuay1iZy10b3AtbGVmdFxuLy8vIEBncm91cCBiYWNrZ3JvdW5kLXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7XG4vLy8gQG5hbWUgLmstYmctdG9wLXJpZ2h0XG4vLy8gQGdyb3VwIGJhY2tncm91bmQtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O2AuXG4vLy8gQGV4YW1wbGUgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGxlZnQ7XG4vLy8gQG5hbWUgLmstYmctYm90dG9tLWxlZnRcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1wb3NpdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O2AuXG4vLy8gQGV4YW1wbGUgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O1xuLy8vIEBuYW1lIC5rLWJnLWJvdHRvbS1yaWdodFxuLy8vIEBncm91cCBiYWNrZ3JvdW5kLXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWJhY2tncm91bmQtLWJhY2tncm91bmQtcG9zaXRpb24oKSB7XG5cbiAgICAvLyBCYWNrZ3JvdW5kIHBvc2l0aW9uIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1iYWNrZ3JvdW5kLXBvc2l0aW9uOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJiYWNrZ3JvdW5kLXBvc2l0aW9uXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYmcsIGJhY2tncm91bmQtcG9zaXRpb24sICRrZW5kby11dGlscy1iYWNrZ3JvdW5kLXBvc2l0aW9uICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYmFja2dyb3VuZC1zaXplLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvYmFja2dyb3VuZC9fYmFja2dyb3VuZC1zaXplLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tncm91bmQtc2l6ZTogYXV0bztgLlxuLy8vIEBleGFtcGxlIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbi8vLyBAbmFtZSAuay1iZy1hdXRvXG4vLy8gQGdyb3VwIGJhY2tncm91bmQtc2l6ZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtgLlxuLy8vIEBleGFtcGxlIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4vLy8gQG5hbWUgLmstYmctY292ZXJcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1zaXplXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4vLy8gQG5hbWUgLmstYmctY29udGFpblxuLy8vIEBncm91cCBiYWNrZ3JvdW5kLXNpemVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tYmFja2dyb3VuZC0tYmFja2dyb3VuZC1zaXplKCkge1xuXG4gICAgLy8gQmFja2dyb3VuZCBzaXplIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1iYWNrZ3JvdW5kLXNpemU6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImJhY2tncm91bmQtc2l6ZVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJnLCBiYWNrZ3JvdW5kLXNpemUsICRrZW5kby11dGlscy1iYWNrZ3JvdW5kLXNpemUgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS1iYWNrZ3JvdW5kKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1iYWNrZ3JvdW5kLS1iYWNrZ3JvdW5kLWNsaXAoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tYmFja2dyb3VuZC0tYmFja2dyb3VuZC1jb2xvcigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1iYWNrZ3JvdW5kLS1iYWNrZ3JvdW5kLXBvc2l0aW9uKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWJhY2tncm91bmQtLWJhY2tncm91bmQtc2l6ZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2JvcmRlci9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9ib3JkZXIvaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2JvcmRlci1jb2xvci5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2JvcmRlci9fYm9yZGVyLWNvbG9yLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1jb2xvcjogaW5oZXJpdDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbi8vLyBAbmFtZSAuay1ib3JkZXItaW5oZXJpdFxuLy8vIEBncm91cCBib3JkZXItY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWN1cnJlbnRDb2xvclxuLy8vIEBncm91cCBib3JkZXItY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuLy8vIEBuYW1lIC5rLWJvcmRlci10cmFuc3BhcmVudFxuLy8vIEBncm91cCBib3JkZXItY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1jb2xvcjogYmxhY2s7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItY29sb3I6IGJsYWNrO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1ibGFja1xuLy8vIEBncm91cCBib3JkZXItY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1jb2xvcjogd2hpdGU7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItY29sb3I6IHdoaXRlO1xuLy8vIEBuYW1lIC5rLWJvcmRlci13aGl0ZVxuLy8vIEBncm91cCBib3JkZXItY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS1ib3JkZXItLWJvcmRlci1jb2xvcigpIHtcblxuICAgIC8vIEJvcmRlciBjb2xvciB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYm9yZGVyLWNvbG9yOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJib3JkZXItY29sb3JcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXIsIGJvcmRlci1jb2xvciwgJGtlbmRvLXV0aWxzLWJvcmRlci1jb2xvciwgJGNzcy12YXI6ICdjb2xvcicgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19ib3JkZXItcmFkaXVzLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvYm9yZGVyL19ib3JkZXItcmFkaXVzLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJhZGl1czogMDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yYWRpdXM6IDA7XG4vLy8gQG5hbWUgLmstcm91bmRlZC0wXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1zbVxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmFkaXVzOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLW1kXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yYWRpdXM6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWxnXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yYWRpdXM6IDk5OTlweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWZ1bGxcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC10bFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXRsLTBcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXRsLXNtXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdGwtbWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdGwtbGdcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOTk5OXB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOTk5OXB4O1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdGwtZnVsbFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdHJcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXRyLTBcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdHItc21cbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXRyLW1kXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdHItbGdcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDk5OTlweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA5OTk5cHg7XG4vLy8gQG5hbWUgLmstcm91bmRlZC10ci1mdWxsXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1iclxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYnItMFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1ici1zbVxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYnItbWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1ici1sZ1xuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOTk5OXB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDk5OTlweDtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWJyLWZ1bGxcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1ibFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWJsLTBcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWJsLXNtXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYmwtbWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYmwtbGdcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDk5OTlweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA5OTk5cHg7XG4vLy8gQG5hbWUgLmstcm91bmRlZC1ibC1mdWxsXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtcmFkaXVzOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1yYWRpdXM6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC10XG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtcmFkaXVzOiAwO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1yYWRpdXM6IDA7XG4vLy8gQG5hbWUgLmstcm91bmRlZC10LTBcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1yYWRpdXM6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1yYWRpdXM6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdC1zbVxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLXJhZGl1czogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdC1tZFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLXJhZGl1czogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1yYWRpdXM6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXQtbGdcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1yYWRpdXM6IDk5OTlweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtcmFkaXVzOiA5OTk5cHg7XG4vLy8gQG5hbWUgLmstcm91bmRlZC10LWZ1bGxcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1yXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC1yYWRpdXM6IDA7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmlnaHQtcmFkaXVzOiAwO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtci0wXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1yLXNtXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtci1tZFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmlnaHQtcmFkaXVzOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmlnaHQtcmFkaXVzOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1yLWxnXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC1yYWRpdXM6IDk5OTlweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yaWdodC1yYWRpdXM6IDk5OTlweDtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXItZnVsbFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXJhZGl1czogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYlxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXJhZGl1czogMDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tcmFkaXVzOiAwO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYi0wXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tcmFkaXVzOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tcmFkaXVzOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWItc21cbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXJhZGl1czogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWItbWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1yYWRpdXM6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tcmFkaXVzOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1iLWxnXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tcmFkaXVzOiA5OTk5cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXJhZGl1czogOTk5OXB4O1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYi1mdWxsXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1sZWZ0LXJhZGl1czogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWxcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWxlZnQtcmFkaXVzOiAwO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtcmFkaXVzOiAwO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtbC0wXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1sZWZ0LXJhZGl1czogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItbGVmdC1yYWRpdXM6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtbC1zbVxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1sLW1kXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1sZWZ0LXJhZGl1czogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtcmFkaXVzOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1sLWxnXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1sZWZ0LXJhZGl1czogOTk5OXB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtcmFkaXVzOiA5OTk5cHg7XG4vLy8gQG5hbWUgLmstcm91bmRlZC1sLWZ1bGxcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9ib3JkZXItcmFkaWkvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9ib3JkZXItcmFkaWkvaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cbkBtaXhpbiBrZW5kby11dGlscy0tYm9yZGVyLS1ib3JkZXItcmFkaXVzKCkge1xuXG4gICAgLy8gQm9yZGVyIHJhZGl1cyB1dGlsaXR5IGNsYXNzZXNcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcm91bmRlZCwgYm9yZGVyLXJhZGl1cywgJGtlbmRvLWJvcmRlci1yYWRpaSwgJGNzcy12YXI6IFwiYm9yZGVyLXJhZGl1c1wiICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJvdW5kZWQtdGwsIGJvcmRlci10b3AtbGVmdC1yYWRpdXMsICRrZW5kby1ib3JkZXItcmFkaWksICRjc3MtdmFyOiBcImJvcmRlci1yYWRpdXNcIiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCByb3VuZGVkLXRyLCBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cywgJGtlbmRvLWJvcmRlci1yYWRpaSwgJGNzcy12YXI6IFwiYm9yZGVyLXJhZGl1c1wiICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJvdW5kZWQtYnIsIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzLCAka2VuZG8tYm9yZGVyLXJhZGlpLCAkY3NzLXZhcjogXCJib3JkZXItcmFkaXVzXCIgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcm91bmRlZC1ibCwgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cywgJGtlbmRvLWJvcmRlci1yYWRpaSwgJGNzcy12YXI6IFwiYm9yZGVyLXJhZGl1c1wiICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJvdW5kZWQtdCwgKCBib3JkZXItdG9wLWxlZnQtcmFkaXVzLCBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyApLCAka2VuZG8tYm9yZGVyLXJhZGlpLCAkY3NzLXZhcjogXCJib3JkZXItcmFkaXVzXCIgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcm91bmRlZC1yLCAoIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzLCBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyApLCAka2VuZG8tYm9yZGVyLXJhZGlpLCAkY3NzLXZhcjogXCJib3JkZXItcmFkaXVzXCIgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcm91bmRlZC1iLCAoIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMsIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzICksICRrZW5kby1ib3JkZXItcmFkaWksICRjc3MtdmFyOiBcImJvcmRlci1yYWRpdXNcIiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCByb3VuZGVkLWwsICggYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cywgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyApLCAka2VuZG8tYm9yZGVyLXJhZGlpLCAkY3NzLXZhcjogXCJib3JkZXItcmFkaXVzXCIgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19ib3JkZXItc3R5bGUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9ib3JkZXIvX2JvcmRlci1zdHlsZS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItc3R5bGU6IHNvbGlkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItc29saWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItc3R5bGU6IGRhc2hlZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1kYXNoZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItc3R5bGU6IGRvdHRlZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1zdHlsZTogZG90dGVkO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1kb3R0ZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItc3R5bGU6IGRvdWJsZTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1zdHlsZTogZG91YmxlO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1kb3VibGVcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItc3R5bGU6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1zdHlsZTogaGlkZGVuO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1oaWRkZW5cbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItc3R5bGU6IG5vbmU7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItc3R5bGU6IG5vbmU7XG4vLy8gQG5hbWUgLmstYm9yZGVyLW5vbmVcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuLy8vIEBuYW1lIC5rLWJvcmRlci10LXNvbGlkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO1xuLy8vIEBuYW1lIC5rLWJvcmRlci10LWRhc2hlZFxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItdC1kb3R0ZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLXN0eWxlOiBkb3VibGU7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXN0eWxlOiBkb3VibGU7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXQtZG91YmxlXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1zdHlsZTogaGlkZGVuO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1zdHlsZTogaGlkZGVuO1xuLy8vIEBuYW1lIC5rLWJvcmRlci10LWhpZGRlblxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3Atc3R5bGU6IG5vbmU7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXN0eWxlOiBub25lO1xuLy8vIEBuYW1lIC5rLWJvcmRlci10LW5vbmVcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItci1zb2xpZFxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC1zdHlsZTogZGFzaGVkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXN0eWxlOiBkYXNoZWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXItZGFzaGVkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJpZ2h0LXN0eWxlOiBkb3R0ZWQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmlnaHQtc3R5bGU6IGRvdHRlZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItci1kb3R0ZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmlnaHQtc3R5bGU6IGRvdWJsZTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yaWdodC1zdHlsZTogZG91YmxlO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1yLWRvdWJsZVxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC1zdHlsZTogaGlkZGVuO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXN0eWxlOiBoaWRkZW47XG4vLy8gQG5hbWUgLmstYm9yZGVyLXItaGlkZGVuXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1yLW5vbmVcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1iLXNvbGlkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1zdHlsZTogZGFzaGVkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1zdHlsZTogZGFzaGVkO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1iLWRhc2hlZFxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItYi1kb3R0ZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXN0eWxlOiBkb3VibGU7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXN0eWxlOiBkb3VibGU7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWItZG91YmxlXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1zdHlsZTogaGlkZGVuO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1zdHlsZTogaGlkZGVuO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1iLWhpZGRlblxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1iLW5vbmVcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWwtc29saWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC1zdHlsZTogZGFzaGVkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtc3R5bGU6IGRhc2hlZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItbC1kYXNoZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC1zdHlsZTogZG90dGVkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtc3R5bGU6IGRvdHRlZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItbC1kb3R0ZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC1zdHlsZTogZG91YmxlO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtc3R5bGU6IGRvdWJsZTtcbi8vLyBAbmFtZSAuay1ib3JkZXItbC1kb3VibGVcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC1zdHlsZTogaGlkZGVuO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtc3R5bGU6IGhpZGRlbjtcbi8vLyBAbmFtZSAuay1ib3JkZXItbC1oaWRkZW5cbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItaW5saW5lLXN0eWxlOiBzb2xpZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1pbmxpbmUtc3R5bGU6IHNvbGlkO1xuLy8vIEBuYW1lIC5rLWJvcmRlci14LXNvbGlkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWlubGluZS1zdHlsZTogZGFzaGVkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWlubGluZS1zdHlsZTogZGFzaGVkO1xuLy8vIEBuYW1lIC5rLWJvcmRlci14LWRhc2hlZFxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1pbmxpbmUtc3R5bGU6IGRvdHRlZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1pbmxpbmUtc3R5bGU6IGRvdHRlZDtcbi8vLyBAbmFtZSAuay1ib3JkZXIteC1kb3R0ZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItaW5saW5lLXN0eWxlOiBkb3VibGU7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItaW5saW5lLXN0eWxlOiBkb3VibGU7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXgtZG91YmxlXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWlubGluZS1zdHlsZTogaGlkZGVuO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWlubGluZS1zdHlsZTogaGlkZGVuO1xuLy8vIEBuYW1lIC5rLWJvcmRlci14LWhpZGRlblxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1pbmxpbmUtc3R5bGU6IG5vbmU7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItaW5saW5lLXN0eWxlOiBub25lO1xuLy8vIEBuYW1lIC5rLWJvcmRlci14LW5vbmVcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYmxvY2stc3R5bGU6IHNvbGlkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJsb2NrLXN0eWxlOiBzb2xpZDtcbi8vLyBAbmFtZSAuay1ib3JkZXIteS1zb2xpZFxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ibG9jay1zdHlsZTogZGFzaGVkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJsb2NrLXN0eWxlOiBkYXNoZWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXktZGFzaGVkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJsb2NrLXN0eWxlOiBkb3R0ZWQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYmxvY2stc3R5bGU6IGRvdHRlZDtcbi8vLyBAbmFtZSAuay1ib3JkZXIteS1kb3R0ZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYmxvY2stc3R5bGU6IGRvdWJsZTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ibG9jay1zdHlsZTogZG91YmxlO1xuLy8vIEBuYW1lIC5rLWJvcmRlci15LWRvdWJsZVxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ibG9jay1zdHlsZTogaGlkZGVuO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJsb2NrLXN0eWxlOiBoaWRkZW47XG4vLy8gQG5hbWUgLmstYm9yZGVyLXktaGlkZGVuXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJsb2NrLXN0eWxlOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJsb2NrLXN0eWxlOiBub25lO1xuLy8vIEBuYW1lIC5rLWJvcmRlci15LW5vbmVcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5cbkBtaXhpbiBrZW5kby11dGlscy0tYm9yZGVyLS1ib3JkZXItc3R5bGUoKSB7XG5cbiAgICAvLyBCb3JkZXIgc3R5bGUgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWJvcmRlci1zdHlsZTogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiYm9yZGVyLXN0eWxlXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLCBib3JkZXItc3R5bGUsICRrZW5kby11dGlscy1ib3JkZXItc3R5bGUgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLXQsIGJvcmRlci10b3Atc3R5bGUsICRrZW5kby11dGlscy1ib3JkZXItc3R5bGUgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLXIsIGJvcmRlci1yaWdodC1zdHlsZSwgJGtlbmRvLXV0aWxzLWJvcmRlci1zdHlsZSApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXItYiwgYm9yZGVyLWJvdHRvbS1zdHlsZSwgJGtlbmRvLXV0aWxzLWJvcmRlci1zdHlsZSApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXItbCwgYm9yZGVyLWxlZnQtc3R5bGUsICRrZW5kby11dGlscy1ib3JkZXItc3R5bGUgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLXgsIGJvcmRlci1pbmxpbmUtc3R5bGUsICRrZW5kby11dGlscy1ib3JkZXItc3R5bGUgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLXksIGJvcmRlci1ibG9jay1zdHlsZSwgJGtlbmRvLXV0aWxzLWJvcmRlci1zdHlsZSApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2JvcmRlci13aWR0aC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2JvcmRlci9fYm9yZGVyLXdpZHRoLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci13aWR0aDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXdpZHRoOiAxcHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXdpZHRoOiAwO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXdpZHRoOiAwO1xuLy8vIEBuYW1lIC5rLWJvcmRlci0wXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXdpZHRoOiAycHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItd2lkdGg6IDJweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItMlxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci13aWR0aDogNHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXdpZHRoOiA0cHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLTRcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItd2lkdGg6IDhweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci13aWR0aDogOHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci04XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC13aWR0aDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci10XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC13aWR0aDogMHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC13aWR0aDogMHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci10LTBcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLXdpZHRoOiAycHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXdpZHRoOiAycHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXQtMlxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3Atd2lkdGg6IDRweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3Atd2lkdGg6IDRweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItdC00XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC13aWR0aDogOHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC13aWR0aDogOHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci10LThcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci1yXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwcHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmlnaHQtd2lkdGg6IDBweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItci0wXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItci0yXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJpZ2h0LXdpZHRoOiA0cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmlnaHQtd2lkdGg6IDRweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItci00XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJpZ2h0LXdpZHRoOiA4cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmlnaHQtd2lkdGg6IDhweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItci04XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci1iXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci1iLTBcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWItMlxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20td2lkdGg6IDRweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20td2lkdGg6IDRweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItYi00XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS13aWR0aDogOHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS13aWR0aDogOHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci1iLThcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC13aWR0aDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItbFxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1sZWZ0LXdpZHRoOiAwcHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItbGVmdC13aWR0aDogMHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci1sLTBcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC13aWR0aDogMnB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtd2lkdGg6IDJweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItbC0yXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWxlZnQtd2lkdGg6IDRweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1sZWZ0LXdpZHRoOiA0cHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWwtNFxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1sZWZ0LXdpZHRoOiA4cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItbGVmdC13aWR0aDogOHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci1sLThcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItaW5saW5lLXdpZHRoOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItaW5saW5lLXdpZHRoOiAxcHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXhcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItaW5saW5lLXdpZHRoOiAwcHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItaW5saW5lLXdpZHRoOiAwcHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXgtMFxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1pbmxpbmUtd2lkdGg6IDJweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1pbmxpbmUtd2lkdGg6IDJweDtcbi8vLyBAbmFtZSAuay1ib3JkZXIteC0yXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWlubGluZS13aWR0aDogNHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWlubGluZS13aWR0aDogNHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci14LTRcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItaW5saW5lLXdpZHRoOiA4cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItaW5saW5lLXdpZHRoOiA4cHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXgtOFxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ibG9jay13aWR0aDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJsb2NrLXdpZHRoOiAxcHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXlcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYmxvY2std2lkdGg6IDBweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ibG9jay13aWR0aDogMHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci15LTBcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYmxvY2std2lkdGg6IDJweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ibG9jay13aWR0aDogMnB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci15LTJcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYmxvY2std2lkdGg6IDRweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ibG9jay13aWR0aDogNHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci15LTRcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYmxvY2std2lkdGg6IDhweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ibG9jay13aWR0aDogOHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci15LThcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS1ib3JkZXItLWJvcmRlci13aWR0aCgpIHtcblxuICAgIC8vIEJvcmRlciB3aWR0aCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYm9yZGVyLXdpZHRoOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJib3JkZXItd2lkdGhcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXIsIGJvcmRlci13aWR0aCwgJGtlbmRvLXV0aWxzLWJvcmRlci13aWR0aCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXItdCwgYm9yZGVyLXRvcC13aWR0aCwgJGtlbmRvLXV0aWxzLWJvcmRlci13aWR0aCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXItciwgYm9yZGVyLXJpZ2h0LXdpZHRoLCAka2VuZG8tdXRpbHMtYm9yZGVyLXdpZHRoICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlci1iLCBib3JkZXItYm90dG9tLXdpZHRoLCAka2VuZG8tdXRpbHMtYm9yZGVyLXdpZHRoICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlci1sLCBib3JkZXItbGVmdC13aWR0aCwgJGtlbmRvLXV0aWxzLWJvcmRlci13aWR0aCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXIteCwgYm9yZGVyLWlubGluZS13aWR0aCwgJGtlbmRvLXV0aWxzLWJvcmRlci13aWR0aCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXIteSwgYm9yZGVyLWJsb2NrLXdpZHRoLCAka2VuZG8tdXRpbHMtYm9yZGVyLXdpZHRoICk7XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlci10b3AsIGJvcmRlci10b3Atd2lkdGgsICRrZW5kby11dGlscy1ib3JkZXItd2lkdGggKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLXJpZ2h0LCBib3JkZXItcmlnaHQtd2lkdGgsICRrZW5kby11dGlscy1ib3JkZXItd2lkdGggKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLWJvdHRvbSwgYm9yZGVyLWJvdHRvbS13aWR0aCwgJGtlbmRvLXV0aWxzLWJvcmRlci13aWR0aCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXItbGVmdCwgYm9yZGVyLWxlZnQtd2lkdGgsICRrZW5kby11dGlscy1ib3JkZXItd2lkdGggKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19vdXRsaW5lLWNvbG9yLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvYm9yZGVyL19vdXRsaW5lLWNvbG9yLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtY29sb3I6IGluaGVyaXQ7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLWNvbG9yOiBpbmhlcml0O1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtaW5oZXJpdFxuLy8vIEBncm91cCBvdXRsaW5lLWNvbG9yXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4vLy8gQG5hbWUgLmstb3V0bGluZS1jdXJyZW50Q29sb3Jcbi8vLyBAZ3JvdXAgb3V0bGluZS1jb2xvclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLXRyYW5zcGFyZW50XG4vLy8gQGdyb3VwIG91dGxpbmUtY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtY29sb3I6IGJsYWNrO2AuXG4vLy8gQGV4YW1wbGUgb3V0bGluZS1jb2xvcjogYmxhY2s7XG4vLy8gQG5hbWUgLmstb3V0bGluZS1ibGFja1xuLy8vIEBncm91cCBvdXRsaW5lLWNvbG9yXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdXRsaW5lLWNvbG9yOiB3aGl0ZTtgLlxuLy8vIEBleGFtcGxlIG91dGxpbmUtY29sb3I6IHdoaXRlO1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtd2hpdGVcbi8vLyBAZ3JvdXAgb3V0bGluZS1jb2xvclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1ib3JkZXItLW91dGxpbmUtY29sb3IoKSB7XG5cbiAgICAvLyBPdXRsaW5lIGNvbG9yIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1vdXRsaW5lLWNvbG9yOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJvdXRsaW5lLWNvbG9yXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggb3V0bGluZSwgb3V0bGluZS1jb2xvciwgJGtlbmRvLXV0aWxzLW91dGxpbmUtY29sb3IsICRjc3MtdmFyOiAnY29sb3InICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fb3V0bGluZS1vZmZzZXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9ib3JkZXIvX291dGxpbmUtb2Zmc2V0LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtb2Zmc2V0OiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLW9mZnNldDogMXB4O1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtb2Zmc2V0XG4vLy8gQGdyb3VwIG91dGxpbmUtb2Zmc2V0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdXRsaW5lLW9mZnNldDogMDtgLlxuLy8vIEBleGFtcGxlIG91dGxpbmUtb2Zmc2V0OiAwO1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtb2Zmc2V0LTBcbi8vLyBAZ3JvdXAgb3V0bGluZS1vZmZzZXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtb2Zmc2V0OiAycHg7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLW9mZnNldDogMnB4O1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtb2Zmc2V0LTJcbi8vLyBAZ3JvdXAgb3V0bGluZS1vZmZzZXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtb2Zmc2V0OiA0cHg7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLW9mZnNldDogNHB4O1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtb2Zmc2V0LTRcbi8vLyBAZ3JvdXAgb3V0bGluZS1vZmZzZXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtb2Zmc2V0OiA4cHg7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLW9mZnNldDogOHB4O1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtb2Zmc2V0LThcbi8vLyBAZ3JvdXAgb3V0bGluZS1vZmZzZXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tYm9yZGVyLS1vdXRsaW5lLW9mZnNldCgpIHtcblxuICAgIC8vIE91dGxpbmUgb2Zmc2V0IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1vdXRsaW5lLW9mZnNldDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwib3V0bGluZS1vZmZzZXRcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBvdXRsaW5lLW9mZnNldCwgb3V0bGluZS1vZmZzZXQsICRrZW5kby11dGlscy1vdXRsaW5lLW9mZnNldCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX291dGxpbmUtc3R5bGUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9ib3JkZXIvX291dGxpbmUtc3R5bGUuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3V0bGluZS1zdHlsZTogc29saWQ7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLXNvbGlkXG4vLy8gQGdyb3VwIG91dGxpbmUtc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtc3R5bGU6IGRhc2hlZDtgLlxuLy8vIEBleGFtcGxlIG91dGxpbmUtc3R5bGU6IGRhc2hlZDtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLWRhc2hlZFxuLy8vIEBncm91cCBvdXRsaW5lLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdXRsaW5lLXN0eWxlOiBkb3R0ZWQ7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gQG5hbWUgLmstb3V0bGluZS1kb3R0ZWRcbi8vLyBAZ3JvdXAgb3V0bGluZS1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3V0bGluZS1zdHlsZTogZG91YmxlO2AuXG4vLy8gQGV4YW1wbGUgb3V0bGluZS1zdHlsZTogZG91YmxlO1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtZG91YmxlXG4vLy8gQGdyb3VwIG91dGxpbmUtc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtc3R5bGU6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIG91dGxpbmUtc3R5bGU6IGhpZGRlbjtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLWhpZGRlblxuLy8vIEBncm91cCBvdXRsaW5lLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdXRsaW5lLXN0eWxlOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgb3V0bGluZS1zdHlsZTogbm9uZTtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLW5vbmVcbi8vLyBAZ3JvdXAgb3V0bGluZS1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1ib3JkZXItLW91dGxpbmUtc3R5bGUoKSB7XG5cbiAgICAvLyBPdXRsaW5lIHN0eWxlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1vdXRsaW5lLXN0eWxlOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJvdXRsaW5lLXN0eWxlXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggb3V0bGluZSwgb3V0bGluZS1zdHlsZSwgJGtlbmRvLXV0aWxzLW91dGxpbmUtc3R5bGUgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19vdXRsaW5lLXdpZHRoLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvYm9yZGVyL19vdXRsaW5lLXdpZHRoLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtd2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIG91dGxpbmUtd2lkdGg6IDFweDtcbi8vLyBAbmFtZSAuay1vdXRsaW5lXG4vLy8gQGdyb3VwIG91dGxpbmUtd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtd2lkdGg6IDA7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLXdpZHRoOiAwO1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtMFxuLy8vIEBncm91cCBvdXRsaW5lLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdXRsaW5lLXdpZHRoOiAycHg7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLXdpZHRoOiAycHg7XG4vLy8gQG5hbWUgLmstb3V0bGluZS0yXG4vLy8gQGdyb3VwIG91dGxpbmUtd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtd2lkdGg6IDRweDtgLlxuLy8vIEBleGFtcGxlIG91dGxpbmUtd2lkdGg6IDRweDtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLTRcbi8vLyBAZ3JvdXAgb3V0bGluZS13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3V0bGluZS13aWR0aDogOHB4O2AuXG4vLy8gQGV4YW1wbGUgb3V0bGluZS13aWR0aDogOHB4O1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtOFxuLy8vIEBncm91cCBvdXRsaW5lLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWJvcmRlci0tb3V0bGluZS13aWR0aCgpIHtcblxuICAgIC8vIE91dGxpbmUgd2lkdGggdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLW91dGxpbmUtd2lkdGg6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcIm91dGxpbmUtd2lkdGhcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBvdXRsaW5lLCBvdXRsaW5lLXdpZHRoLCAka2VuZG8tdXRpbHMtb3V0bGluZS13aWR0aCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWJvcmRlcigpIHtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tYm9yZGVyLS1ib3JkZXItY29sb3IoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tYm9yZGVyLS1ib3JkZXItcmFkaXVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWJvcmRlci0tYm9yZGVyLXN0eWxlKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWJvcmRlci0tYm9yZGVyLXdpZHRoKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWJvcmRlci0tb3V0bGluZS1jb2xvcigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1ib3JkZXItLW91dGxpbmUtb2Zmc2V0KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWJvcmRlci0tb3V0bGluZS1zdHlsZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1ib3JkZXItLW91dGxpbmUtd2lkdGgoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9lZmZlY3RzL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2VmZmVjdHMvaW5kZXguaW1wb3J0LnNjc3Ncbi8vIGJveCBzaGFkb3dcbi8vIGJveCBzaGFkb3cgY29sb3Jcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX29wYWNpdHkuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9lZmZlY3RzL19vcGFjaXR5LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9wYWNpdHk6IDA7YC5cbi8vLyBAZXhhbXBsZSBvcGFjaXR5OiAwO1xuLy8vIEBuYW1lIC5rLW9wYWNpdHktMFxuLy8vIEBncm91cCBvcGFjaXR5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvcGFjaXR5OiAxO2AuXG4vLy8gQGV4YW1wbGUgb3BhY2l0eTogMTtcbi8vLyBAbmFtZSAuay1vcGFjaXR5LTFcbi8vLyBAZ3JvdXAgb3BhY2l0eVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1lZmZlY3RzLS1vcGFjaXR5KCkge1xuXG4gICAgLy8gb3BhY2l0eSB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtb3BhY2l0eTogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwib3BhY2l0eVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG9wYWNpdHksIG9wYWNpdHksICRrZW5kby11dGlscy1vcGFjaXR5ICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWVmZmVjdHMoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWVmZmVjdHMtLW9wYWNpdHkoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9maWx0ZXIvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmlsdGVyL2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19iYWNrZHJvcC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZpbHRlci9fYmFja2Ryb3Auc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbi8vLyBAbmFtZSAuay1iYWNrZHJvcC1ibHVyXG4vLy8gQGdyb3VwIGJhY2tkcm9wLWJsdXJcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tkcm9wLWZpbHRlcjogYmx1cigwKTtgLlxuLy8vIEBleGFtcGxlIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwKTtcbi8vLyBAbmFtZSAuay1iYWNrZHJvcC1ibHVyLW5vbmVcbi8vLyBAZ3JvdXAgYmFja2Ryb3AtYmx1clxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbi8vLyBAbmFtZSAuay1iYWNrZHJvcC1ibHVyLXNtXG4vLy8gQGdyb3VwIGJhY2tkcm9wLWJsdXJcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpO2AuXG4vLy8gQGV4YW1wbGUgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7XG4vLy8gQG5hbWUgLmstYmFja2Ryb3AtYmx1ci1tZFxuLy8vIEBncm91cCBiYWNrZHJvcC1ibHVyXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4vLy8gQG5hbWUgLmstYmFja2Ryb3AtYmx1ci1sZ1xuLy8vIEBncm91cCBiYWNrZHJvcC1ibHVyXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZpbHRlci0tYmFja2Ryb3AoKSB7XG5cbiAgICAvLyBiYWNrZHJvcCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYmFja2Ryb3AtYmx1cjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiYmFja2Ryb3AtYmx1clwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJhY2tkcm9wLWJsdXIsIGJhY2tkcm9wLWZpbHRlciwgJGtlbmRvLXV0aWxzLWJhY2tkcm9wLWJsdXIgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmlsdGVyKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1maWx0ZXItLWJhY2tkcm9wKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdGFibGUvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdGFibGUvaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2JvcmRlci1jb2xsYXBzZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3RhYmxlL19ib3JkZXItY29sbGFwc2Uuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWNvbGxhcHNlXG4vLy8gQGdyb3VwIGJvcmRlci1jb2xsYXBzZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXNlcGFyYXRlXG4vLy8gQGdyb3VwIGJvcmRlci1jb2xsYXBzZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10YWJsZS0tYm9yZGVyLWNvbGxhcHNlKCkge1xuXG4gICAgLy8gQm9yZGVyIGNvbGxhcHNlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1ib3JkZXItY29sbGFwc2U6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImJvcmRlci1jb2xsYXBzZVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlciwgYm9yZGVyLWNvbGxhcHNlLCAka2VuZG8tdXRpbHMtYm9yZGVyLWNvbGxhcHNlICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGFibGUtbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdGFibGUvX3RhYmxlLWxheW91dC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0YWJsZS1sYXlvdXQ6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSB0YWJsZS1sYXlvdXQ6IGF1dG87XG4vLy8gQG5hbWUgLmstdGFibGUtYXV0b1xuLy8vIEBncm91cCB0YWJsZS1sYXlvdXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRhYmxlLWxheW91dDogZml4ZWQ7YC5cbi8vLyBAZXhhbXBsZSB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuLy8vIEBuYW1lIC5rLXRhYmxlLWZpeGVkXG4vLy8gQGdyb3VwIHRhYmxlLWxheW91dFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10YWJsZS0tdGFibGUtbGF5b3V0KCkge1xuXG4gICAgLy8gVGFibGUgbGF5b3V0IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy10YWJsZS1sYXlvdXQ6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInRhYmxlLWxheW91dFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRhYmxlLCB0YWJsZS1sYXlvdXQsICRrZW5kby11dGlscy10YWJsZS1sYXlvdXQgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggdGFibGUtbGF5b3V0LCB0YWJsZS1sYXlvdXQsICRrZW5kby11dGlscy10YWJsZS1sYXlvdXQgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS10YWJsZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tdGFibGUtLWJvcmRlci1jb2xsYXBzZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10YWJsZS0tdGFibGUtbGF5b3V0KCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vIHRyYW5zaXRpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdHJhbnNmb3JtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3RyYW5zZm9ybS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZmxpcC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3RyYW5zZm9ybS9fZmxpcC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHNjYWxlWCggLTEgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogc2NhbGVYKCAtMSApO1xuLy8vIEBuYW1lIC5rLWZsaXAtaFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogc2NhbGVZKCAtMSApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiBzY2FsZVkoIC0xICk7XG4vLy8gQG5hbWUgLmstZmxpcC12XG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8gVE9ETzogY29uc2lkZXIgZ2xvYmFsbHkgaG9yaXpvbnRhbCB2cyBoIHZzIHhcblxuQG1peGluIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLWZsaXAoKSB7XG5cbiAgICAvLyBGbGlwIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1mbGlwOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJmbGlwXCIgKSAhZGVmYXVsdDtcbiAgICBAaWYgJGtlbmRvLXV0aWxzLWZsaXAge1xuICAgICAgICAuI3ska2VuZG8tcHJlZml4fWZsaXAtaCB7IHRyYW5zZm9ybTogc2NhbGVYKCAtMSApOyB9XG4gICAgICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9ZmxpcC1oIHsgdHJhbnNmb3JtOiBzY2FsZVgoIC0xICkgIWltcG9ydGFudDsgfSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAuI3ska2VuZG8tcHJlZml4fWZsaXAtdiB7IHRyYW5zZm9ybTogc2NhbGVZKCAtMSApOyB9XG4gICAgICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9ZmxpcC12IHsgdHJhbnNmb3JtOiBzY2FsZVkoIC0xICkgIWltcG9ydGFudDsgfSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAuI3ska2VuZG8tcHJlZml4fWZsaXAtaC4jeyRrZW5kby1wcmVmaXh9ZmxpcC12IHsgdHJhbnNmb3JtOiBzY2FsZSggLTEsIC0xICk7IH1cbiAgICAgICAgLlxcISN7JGtlbmRvLXByZWZpeH1mbGlwLWguXFwhI3ska2VuZG8tcHJlZml4fWZsaXAtdiB7IHRyYW5zZm9ybTogc2NhbGUoIC0xLCAtMSApICFpbXBvcnRhbnQ7IH0gLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgICAgICAuI3ska2VuZG8tcHJlZml4fWZsaXAteCB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH1mbGlwLWggIW9wdGlvbmFsOyB9XG4gICAgICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9ZmxpcC14IHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fWZsaXAtaCAhb3B0aW9uYWw7IH1cbiAgICAgICAgLiN7JGtlbmRvLXByZWZpeH1mbGlwLXkgeyBAZXh0ZW5kIC4jeyRrZW5kby1wcmVmaXh9ZmxpcC12ICFvcHRpb25hbDsgfVxuICAgICAgICAuXFwhI3ska2VuZG8tcHJlZml4fWZsaXAteSB7IEBleHRlbmQgLlxcISN7JGtlbmRvLXByZWZpeH1mbGlwLXYgIW9wdGlvbmFsOyB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX29yaWdpbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3RyYW5zZm9ybS9fb3JpZ2luLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbi8vLyBAbmFtZSAuay1vcmlnaW4tY2VudGVyXG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IHRvcDtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbi8vLyBAbmFtZSAuay1vcmlnaW4tdG9wXG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4vLy8gQG5hbWUgLmstb3JpZ2luLXJpZ2h0XG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbi8vLyBAbmFtZSAuay1vcmlnaW4tYm90dG9tXG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuLy8vIEBuYW1lIC5rLW9yaWdpbi1sZWZ0XG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IHRvcC1sZWZ0O2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtLW9yaWdpbjogdG9wLWxlZnQ7XG4vLy8gQG5hbWUgLmstb3JpZ2luLXRvcC1sZWZ0XG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IHRvcC1yaWdodDtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybS1vcmlnaW46IHRvcC1yaWdodDtcbi8vLyBAbmFtZSAuay1vcmlnaW4tdG9wLXJpZ2h0XG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbS1sZWZ0O2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tLWxlZnQ7XG4vLy8gQG5hbWUgLmstb3JpZ2luLWJvdHRvbS1sZWZ0XG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbS1yaWdodDtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbS1yaWdodDtcbi8vLyBAbmFtZSAuay1vcmlnaW4tYm90dG9tLXJpZ2h0XG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tdHJhbnNmb3JtLS1vcmlnaW4oKSB7XG5cbiAgICAvLyBUcmFuc2Zvcm0gb3JpZ2luIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1vcmlnaW46IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcIm9yaWdpblwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG9yaWdpbiwgdHJhbnNmb3JtLW9yaWdpbiwgJGtlbmRvLXV0aWxzLW9yaWdpbiApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3JvdGF0ZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3RyYW5zZm9ybS9fcm90YXRlLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogcm90YXRlKCAwICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHJvdGF0ZSggMCApO1xuLy8vIEBuYW1lIC5rLXJvdGF0ZS0wXG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiByb3RhdGUoIDQ1ZGVnICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHJvdGF0ZSggNDVkZWcgKTtcbi8vLyBAbmFtZSAuay1yb3RhdGUtNDVcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHJvdGF0ZSggOTBkZWcgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogcm90YXRlKCA5MGRlZyApO1xuLy8vIEBuYW1lIC5rLXJvdGF0ZS05MFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogcm90YXRlKCAxMzVkZWcgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogcm90YXRlKCAxMzVkZWcgKTtcbi8vLyBAbmFtZSAuay1yb3RhdGUtMTM1XG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiByb3RhdGUoIDE4MGRlZyApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiByb3RhdGUoIDE4MGRlZyApO1xuLy8vIEBuYW1lIC5rLXJvdGF0ZS0xODBcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHJvdGF0ZSggMjI1ZGVnICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHJvdGF0ZSggMjI1ZGVnICk7XG4vLy8gQG5hbWUgLmstcm90YXRlLTIyNVxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogcm90YXRlKCAyNzBkZWcgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogcm90YXRlKCAyNzBkZWcgKTtcbi8vLyBAbmFtZSAuay1yb3RhdGUtMjcwXG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiByb3RhdGUoIDMxNWRlZyApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiByb3RhdGUoIDMxNWRlZyApO1xuLy8vIEBuYW1lIC5rLXJvdGF0ZS0zMTVcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2F0LWZ1bmN0aW9uLXBhdHRlcm5cbkBmdW5jdGlvbiBfcm90YXRlKCAkdmFsICkge1xuICAgIEByZXR1cm4gcm90YXRlKCAkdmFsICk7XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNjc3MvYXQtZnVuY3Rpb24tcGF0dGVyblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXRyYW5zZm9ybS0tcm90YXRlKCkge1xuXG4gICAgLy8gUm90YXRlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1yb3RhdGU6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInJvdGF0ZVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJvdGF0ZSwgdHJhbnNmb3JtLCAka2VuZG8tdXRpbHMtcm90YXRlLCBfcm90YXRlICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fc2NhbGUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy90cmFuc2Zvcm0vX3NjYWxlLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogc2NhbGUoIDAsIDAgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogc2NhbGUoIDAsIDAgKTtcbi8vLyBAbmFtZSAuay1zY2FsZS0wXG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiBzY2FsZSggMSwgMSApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiBzY2FsZSggMSwgMSApO1xuLy8vIEBuYW1lIC5rLXNjYWxlLTFcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHNjYWxlKCAyLCAyICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHNjYWxlKCAyLCAyICk7XG4vLy8gQG5hbWUgLmstc2NhbGUtMlxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvYXQtZnVuY3Rpb24tcGF0dGVyblxuQGZ1bmN0aW9uIF9zY2FsZSggJHZhbCApIHtcbiAgICBAcmV0dXJuIHNjYWxlKCAkdmFsICk7XG59XG5AZnVuY3Rpb24gX3NjYWxlLXgoICR2YWwgKSB7XG4gICAgQHJldHVybiBzY2FsZVgoICR2YWwgKTtcbn1cbkBmdW5jdGlvbiBfc2NhbGUteSggJHZhbCApIHtcbiAgICBAcmV0dXJuIHNjYWxlWSggJHZhbCApO1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzY3NzL2F0LWZ1bmN0aW9uLXBhdHRlcm5cblxuQG1peGluIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLXNjYWxlKCkge1xuXG4gICAgLy8gU2NhbGUgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXNjYWxlOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJzY2FsZVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjYWxlLCB0cmFuc2Zvcm0sICRrZW5kby11dGlscy1zY2FsZSwgX3NjYWxlICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjYWxlLXgsIHRyYW5zZm9ybSwgJGtlbmRvLXV0aWxzLXNjYWxlLCBfc2NhbGUteCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY2FsZS15LCB0cmFuc2Zvcm0sICRrZW5kby11dGlscy1zY2FsZSwgX3NjYWxlLXkgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19za2V3LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdHJhbnNmb3JtL19za2V3LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogc2tld1goMGRlZyk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpO1xuLy8vIEBuYW1lIC5rLXNrZXcteC0wXG4vLy8gQGdyb3VwIHNrZXdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogc2tld1goMWRlZyk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHNrZXdYKDFkZWcpO1xuLy8vIEBuYW1lIC5rLXNrZXcteC0xXG4vLy8gQGdyb3VwIHNrZXdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogc2tld1koMGRlZyk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHNrZXdZKDBkZWcpO1xuLy8vIEBuYW1lIC5rLXNrZXcteS0wXG4vLy8gQGdyb3VwIHNrZXdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogc2tld1koMWRlZyk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHNrZXdZKDFkZWcpO1xuLy8vIEBuYW1lIC5rLXNrZXcteS0xXG4vLy8gQGdyb3VwIHNrZXdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvYXQtZnVuY3Rpb24tcGF0dGVyblxuQGZ1bmN0aW9uIF9za2V3LXgoICR2YWwgKSB7XG4gICAgQHJldHVybiBza2V3WCggJHZhbCApO1xufVxuQGZ1bmN0aW9uIF9za2V3LXkoICR2YWwgKSB7XG4gICAgQHJldHVybiBza2V3WSggJHZhbCApO1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzY3NzL2F0LWZ1bmN0aW9uLXBhdHRlcm5cblxuQG1peGluIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLXNrZXcoKSB7XG5cbiAgICAvLyBUcmFuc2Zvcm0gc2tldyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtc2tldzogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwic2tld1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNrZXcteCwgdHJhbnNmb3JtLCAka2VuZG8tdXRpbHMtc2tldywgX3NrZXcteCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBza2V3LXksIHRyYW5zZm9ybSwgJGtlbmRvLXV0aWxzLXNrZXcsIF9za2V3LXkgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190cmFuc2xhdGUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy90cmFuc2Zvcm0vX3RyYW5zbGF0ZS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMCwgMCApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDAsIDAgKTtcbi8vLyBAbmFtZSAuay10cmFuc2xhdGUtMFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogdHJhbnNsYXRlKCAwLCA1MCUgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAwLCA1MCUgKTtcbi8vLyBAbmFtZSAuay10cmFuc2xhdGUtMC01MFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogdHJhbnNsYXRlKCAwLCAxMDAlICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMCwgMTAwJSApO1xuLy8vIEBuYW1lIC5rLXRyYW5zbGF0ZS0wLTEwMFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogdHJhbnNsYXRlKCA1MCUsIDAgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogdHJhbnNsYXRlKCA1MCUsIDAgKTtcbi8vLyBAbmFtZSAuay10cmFuc2xhdGUtNTAtMFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogdHJhbnNsYXRlKCA1MCUsIDUwJSApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDUwJSwgNTAlICk7XG4vLy8gQG5hbWUgLmstdHJhbnNsYXRlLTUwLTUwXG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDUwJSwgMTAwJSApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDUwJSwgMTAwJSApO1xuLy8vIEBuYW1lIC5rLXRyYW5zbGF0ZS01MC0xMDBcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMTAwJSwgMCApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDEwMCUsIDAgKTtcbi8vLyBAbmFtZSAuay10cmFuc2xhdGUtMTAwLTBcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMTAwJSwgNTAlICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMTAwJSwgNTAlICk7XG4vLy8gQG5hbWUgLmstdHJhbnNsYXRlLTEwMC01MFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogdHJhbnNsYXRlKCAxMDAlLCAxMDAlICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMTAwJSwgMTAwJSApO1xuLy8vIEBuYW1lIC5rLXRyYW5zbGF0ZS0xMDAtMTAwXG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9hdC1mdW5jdGlvbi1wYXR0ZXJuXG5AZnVuY3Rpb24gX3RyYW5zbGF0ZSggJHZhbCApIHtcbiAgICBAcmV0dXJuIHRyYW5zbGF0ZSggJHZhbCApO1xufVxuQGZ1bmN0aW9uIF90cmFuc2xhdGUteCggJHZhbCApIHtcbiAgICBAcmV0dXJuIHRyYW5zbGF0ZVgoICR2YWwgKTtcbn1cbkBmdW5jdGlvbiBfdHJhbnNsYXRlLXkoICR2YWwgKSB7XG4gICAgQHJldHVybiB0cmFuc2xhdGVZKCAkdmFsICk7XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNjc3MvYXQtZnVuY3Rpb24tcGF0dGVyblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXRyYW5zZm9ybS0tdHJhbnNsYXRlKCkge1xuXG4gICAgLy8gVHJhbnNsYXRlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy10cmFuc2xhdGU6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInRyYW5zbGF0ZVwiICkgIWRlZmF1bHQ7XG4gICAgJGtlbmRvLXV0aWxzLXRyYW5zbGF0ZS14eTogKFxuICAgICAgICBcIjBcIjogKCAwLCAwICksXG4gICAgICAgIFwiMC01MFwiOiAoIDAsIDUwJSApLFxuICAgICAgICBcIjAtMTAwXCI6ICggMCwgMTAwJSApLFxuICAgICAgICBcIjUwLTBcIjogKCA1MCUsIDAgKSxcbiAgICAgICAgXCI1MC01MFwiOiAoIDUwJSwgNTAlICksXG4gICAgICAgIFwiNTAtMTAwXCI6ICggNTAlLCAxMDAlICksXG4gICAgICAgIFwiMTAwLTBcIjogKCAxMDAlLCAwICksXG4gICAgICAgIFwiMTAwLTUwXCI6ICggMTAwJSwgNTAlICksXG4gICAgICAgIFwiMTAwLTEwMFwiOiAoIDEwMCUsIDEwMCUgKVxuICAgICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRyYW5zbGF0ZSwgdHJhbnNmb3JtLCAka2VuZG8tdXRpbHMtdHJhbnNsYXRlLXh5LCBfdHJhbnNsYXRlICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRyYW5zbGF0ZS14LCB0cmFuc2Zvcm0sICRrZW5kby11dGlscy10cmFuc2xhdGUsIF90cmFuc2xhdGUteCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCB0cmFuc2xhdGUteSwgdHJhbnNmb3JtLCAka2VuZG8tdXRpbHMtdHJhbnNsYXRlLCBfdHJhbnNsYXRlLXkgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0oKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXRyYW5zZm9ybS0tZmxpcCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLW9yaWdpbigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLXJvdGF0ZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLXNjYWxlKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXRyYW5zZm9ybS0tc2tldygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLXRyYW5zbGF0ZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2ludGVyYWN0aXZpdHkvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYWNjZW50LWNvbG9yLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9fYWNjZW50LWNvbG9yLnNjc3Ncbi8vIFRPRE86IGRvY3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1pbnRlcmFjdGl2aXR5LS1hY2NlbnQtY29sb3IoKSB7XG5cbiAgICAvLyBBY2NlbnQgY29sb3IgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWFjY2VudC1jb2xvcjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiYWNjZW50LWNvbG9yXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYWNjZW50LWNvbG9yLCBhY2NlbnQtY29sb3IsICRrZW5kby11dGlscy1hY2NlbnQtY29sb3IgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19hcHBlYXJhbmNlLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9fYXBwZWFyYW5jZS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhcHBlYXJhbmNlOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgYXBwZWFyYW5jZTogbm9uZTtcbi8vLyBAbmFtZSAuay1hcHBlYXJhbmNlLW5vbmVcbi8vLyBAZ3JvdXAgYXBwZWFyYW5jZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYXBwZWFyYW5jZTogYXV0bztgLlxuLy8vIEBleGFtcGxlIGFwcGVhcmFuY2U6IGF1dG87XG4vLy8gQG5hbWUgLmstYXBwZWFyYW5jZS1hdXRvXG4vLy8gQGdyb3VwIGFwcGVhcmFuY2Vcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tYXBwZWFyYW5jZSgpIHtcblxuICAgIC8vIEFwcGVhcmFuY2UgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWFwcGVhcmFuY2U6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImFwcGVhcmFuY2VcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBhcHBlYXJhbmNlLCBhcHBlYXJhbmNlLCAka2VuZG8tdXRpbHMtYXBwZWFyYW5jZSApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2NhcmV0LWNvbG9yLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9fY2FyZXQtY29sb3Iuc2Nzc1xuLy8gVE9ETzogZG9jc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLWNhcmV0LWNvbG9yKCkge1xuXG4gICAgLy8gQ2FyZXQgY29sb3IgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWNhcmV0LWNvbG9yOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJjYXJldC1jb2xvclwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGNhcmV0LCBjYXJldC1jb2xvciwgJGtlbmRvLXV0aWxzLWNhcmV0LWNvbG9yICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fY3Vyc29yLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9fY3Vyc29yLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGN1cnNvcjogbm9uZTtgLlxuLy8vIEBleGFtcGxlIGN1cnNvcjogbm9uZTtcbi8vLyBAbmFtZSAuay1jdXJzb3Itbm9uZVxuLy8vIEBncm91cCBjdXJzb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGN1cnNvcjogYXV0bztgLlxuLy8vIEBleGFtcGxlIGN1cnNvcjogYXV0bztcbi8vLyBAbmFtZSAuay1jdXJzb3ItYXV0b1xuLy8vIEBncm91cCBjdXJzb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGN1cnNvcjogZGVmYXVsdDtgLlxuLy8vIEBleGFtcGxlIGN1cnNvcjogZGVmYXVsdDtcbi8vLyBAbmFtZSAuay1jdXJzb3ItZGVmYXVsdFxuLy8vIEBncm91cCBjdXJzb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGN1cnNvcjogcG9pbnRlcjtgLlxuLy8vIEBleGFtcGxlIGN1cnNvcjogcG9pbnRlcjtcbi8vLyBAbmFtZSAuay1jdXJzb3ItcG9pbnRlclxuLy8vIEBncm91cCBjdXJzb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tY3Vyc29yKCkge1xuXG4gICAgLy8gQ3Vyc29yIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1jdXJzb3I6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImN1cnNvclwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGN1cnNvciwgY3Vyc29yLCAka2VuZG8tdXRpbHMtY3Vyc29yICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fcG9pbnRlci1ldmVudHMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9pbnRlcmFjdGl2aXR5L19wb2ludGVyLWV2ZW50cy5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwb2ludGVyLWV2ZW50czogbm9uZTtgLlxuLy8vIEBleGFtcGxlIHBvaW50ZXItZXZlbnRzOiBub25lO1xuLy8vIEBuYW1lIC5rLXBvaW50ZXItZXZlbnRzLW5vbmVcbi8vLyBAZ3JvdXAgcG9pbnRlci1ldmVudHNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBvaW50ZXItZXZlbnRzOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgcG9pbnRlci1ldmVudHM6IGF1dG87XG4vLy8gQG5hbWUgLmstcG9pbnRlci1ldmVudHMtYXV0b1xuLy8vIEBncm91cCBwb2ludGVyLWV2ZW50c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1pbnRlcmFjdGl2aXR5LS1wb2ludGVyLWV2ZW50cygpIHtcblxuICAgIC8vIFBvaW50ZXIgZXZlbnRzIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1wb2ludGVyLWV2ZW50czogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwicG9pbnRlci1ldmVudHNcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBwb2ludGVyLWV2ZW50cywgcG9pbnRlci1ldmVudHMsICRrZW5kby11dGlscy1wb2ludGVyLWV2ZW50cyApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3Jlc2l6ZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ludGVyYWN0aXZpdHkvX3Jlc2l6ZS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGByZXNpemU6IGJvdGg7YC5cbi8vLyBAZXhhbXBsZSByZXNpemU6IGJvdGg7XG4vLy8gQG5hbWUgLmstcmVzaXplXG4vLy8gQGdyb3VwIHJlc2l6ZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcmVzaXplOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgcmVzaXplOiBub25lO1xuLy8vIEBuYW1lIC5rLXJlc2l6ZS1ub25lXG4vLy8gQGdyb3VwIHJlc2l6ZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcmVzaXplOiBob3Jpem9udGFsO2AuXG4vLy8gQGV4YW1wbGUgcmVzaXplOiBob3Jpem9udGFsO1xuLy8vIEBuYW1lIC5rLXJlc2l6ZS14XG4vLy8gQGdyb3VwIHJlc2l6ZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcmVzaXplOiB2ZXJ0aWNhbDtgLlxuLy8vIEBleGFtcGxlIHJlc2l6ZTogdmVydGljYWw7XG4vLy8gQG5hbWUgLmstcmVzaXplLXlcbi8vLyBAZ3JvdXAgcmVzaXplXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXJlc2l6ZSgpIHtcblxuICAgIC8vIFJlc2l6ZSB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtcmVzaXplOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJyZXNpemVcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCByZXNpemUsIHJlc2l6ZSwgJGtlbmRvLXV0aWxzLXJlc2l6ZSApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3Njcm9sbC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ludGVyYWN0aXZpdHkvX3Njcm9sbC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtYmVoYXZpb3I6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtYmVoYXZpb3I6IGF1dG87XG4vLy8gQG5hbWUgLmstc2Nyb2xsLWF1dG9cbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1zbW9vdGhcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtc25hcC10eXBlOiB4IHZhcigtLWstc2Nyb2xsLXNuYXAtc3RyaWN0bmVzcyk7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtc25hcC10eXBlOiB4IHZhcigtLWstc2Nyb2xsLXNuYXAtc3RyaWN0bmVzcyk7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXNuYXAtc25hcC14XG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLXNuYXAtdHlwZTogeSB2YXIoLS1rLXNjcm9sbC1zbmFwLXN0cmljdG5lc3MpO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXNuYXAtdHlwZTogeSB2YXIoLS1rLXNjcm9sbC1zbmFwLXN0cmljdG5lc3MpO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1zbmFwLXNuYXAteVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYC0tay1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBtYW5kYXRvcnk7YC5cbi8vLyBAZXhhbXBsZSAtLWstc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogbWFuZGF0b3J5O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1zbmFwLW1hbmRhdG9yeVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYC0tay1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7YC5cbi8vLyBAZXhhbXBsZSAtLWstc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1zbmFwLXByb3hpbWl0eVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1zbmFwLXN0b3A6IG5vcm1hbDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1zbmFwLXN0b3A6IG5vcm1hbDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtc25hcC1zdG9wLW5vcm1hbFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cztgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cztcbi8vLyBAbmFtZSAuay1zY3JvbGwtc25hcC1zdG9wLWFsd2F5c1xuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtc25hcC1hbGlnbi1zdGFydFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1zbmFwLWFsaWduOiBlbmQ7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtc25hcC1hbGlnbjogZW5kO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1zbmFwLWFsaWduLWVuZFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXI7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtc25hcC1hbGlnbjogY2VudGVyO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1zbmFwLWFsaWduLWNlbnRlclxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1zbmFwLWFsaWduOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXNuYXAtYWxpZ24tbm9uZVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW46IDA7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luOiAwO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1tLTBcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtbWFyZ2luOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luOiAxcHg7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLW0tMXB4XG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLW1hcmdpbjogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1tYXJnaW46IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLW0tMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tdG9wOiAwO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi10b3A6IDA7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLW0tMFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tdG9wOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luLXRvcDogMXB4O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1tLTFweFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tdG9wOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi10b3A6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLW0tMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tcmlnaHQ6IDA7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luLXJpZ2h0OiAwO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1tci0wXG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLW1hcmdpbi1yaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1yaWdodDogMXB4O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1tci0xcHhcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1yaWdodDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1zY3JvbGwtbXItMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tYm90dG9tOiAwO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1ib3R0b206IDA7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLW1iLTBcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtbWFyZ2luLWJvdHRvbTogMXB4O2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1ib3R0b206IDFweDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtbWItMXB4XG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLW1hcmdpbi1ib3R0b206IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1zY3JvbGwtbWItMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tbGVmdDogMDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1tYXJnaW4tbGVmdDogMDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtbWwtMFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tbGVmdDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1sZWZ0OiAxcHg7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLW1sLTFweFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tbGVmdDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1tYXJnaW4tbGVmdDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1zY3JvbGwtbWwtMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4taW5saW5lOiAwO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1pbmxpbmU6IDA7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXgtMFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4taW5saW5lOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luLWlubGluZTogMXB4O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC14LTFweFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4taW5saW5lOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1pbmxpbmU6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXgtMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tYmxvY2s6IDA7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luLWJsb2NrOiAwO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC15LTBcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtbWFyZ2luLWJsb2NrOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luLWJsb2NrOiAxcHg7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXktMXB4XG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLW1hcmdpbi1ibG9jazogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1tYXJnaW4tYmxvY2s6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXktMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nOiAwO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmc6IDA7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXAtMFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZzogMXB4O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1wLTFweFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmc6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXAtMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLXRvcDogMDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1wYWRkaW5nLXRvcDogMDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcC0wXG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLXBhZGRpbmctdG9wOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy10b3A6IDFweDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcC0xcHhcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtcGFkZGluZy10b3A6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy10b3A6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXAtMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLXJpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctcmlnaHQ6IDA7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXByLTBcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtcGFkZGluZy1yaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctcmlnaHQ6IDFweDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcHItMXB4XG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLXBhZGRpbmctcmlnaHQ6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcHItMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWJvdHRvbTogMDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1wYWRkaW5nLWJvdHRvbTogMDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcGItMFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWJvdHRvbTogMXB4O2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctYm90dG9tOiAxcHg7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXBiLTFweFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1wYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcGItMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWxlZnQ6IDA7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy1sZWZ0OiAwO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1wbC0wXG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLXBhZGRpbmctbGVmdDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctbGVmdDogMXB4O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1wbC0xcHhcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtcGFkZGluZy1sZWZ0OiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctbGVmdDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcGwtMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWlubGluZTogMDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1wYWRkaW5nLWlubGluZTogMDtcbi8vLyBAbmFtZSAuay1zY3JvbGwteC0wXG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLXBhZGRpbmctaW5saW5lOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy1pbmxpbmU6IDFweDtcbi8vLyBAbmFtZSAuay1zY3JvbGwteC0xcHhcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtcGFkZGluZy1pbmxpbmU6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy1pbmxpbmU6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXgtMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWJsb2NrOiAwO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctYmxvY2s6IDA7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXktMFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWJsb2NrOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy1ibG9jazogMXB4O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC15LTFweFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWJsb2NrOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctYmxvY2s6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXktMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXNjcm9sbCgpIHtcblxuICAgIC8vIFNjcm9sbCBiZWhhdmlvciB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtc2Nyb2xsLWJlaGF2aW9yOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJzY3JvbGwtYmVoYXZpb3JcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwsIHNjcm9sbC1iZWhhdmlvciwgJGtlbmRvLXV0aWxzLXNjcm9sbC1iZWhhdmlvciApO1xuXG5cbiAgICAvLyBTY3JvbGwgc25hcCB0eXBlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1zY3JvbGwtc25hcC10eXBlOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJzY3JvbGwtc25hcC10eXBlXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggc2Nyb2xsLXNuYXAsIHNjcm9sbC1zbmFwLXR5cGUsICRrZW5kby11dGlscy1zY3JvbGwtc25hcC10eXBlICk7XG5cbiAgICAvLyBDdXN0b20gc2Nyb2xsIHNuYXAgdHlwZSB1dGlsaXR5IGNsYXNzZXNcbiAgICAuI3ska2VuZG8tcHJlZml4fXNjcm9sbC1zbmFwLW1hbmRhdG9yeSB7ICN7LS0jeyRrZW5kby1wcmVmaXh9c2Nyb2xsLXNuYXAtc3RyaWN0bmVzc306IG1hbmRhdG9yeTsgfVxuICAgIC4jeyRrZW5kby1wcmVmaXh9c2Nyb2xsLXNuYXAtcHJveGltaXR5IHsgI3stLSN7JGtlbmRvLXByZWZpeH1zY3JvbGwtc25hcC1zdHJpY3RuZXNzfTogcHJveGltaXR5OyB9XG5cblxuICAgIC8vIFNjcm9sbCBzbmFwIHN0b3AgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXNjcm9sbC1zbmFwLXN0b3A6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInNjcm9sbC1zbmFwLXN0b3BcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtc25hcC1zdG9wLCBzY3JvbGwtc25hcC1zdG9wLCAka2VuZG8tdXRpbHMtc2Nyb2xsLXNuYXAtc3RvcCApO1xuXG5cbiAgICAvLyBTY3JvbGwgc25hcCBhbGlnbiB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtc2Nyb2xsLXNuYXAtYWxpZ246IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInNjcm9sbC1zbmFwLWFsaWduXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggc2Nyb2xsLXNuYXAtYWxpZ24sIHNjcm9sbC1zbmFwLWFsaWduLCAka2VuZG8tdXRpbHMtc2Nyb2xsLXNuYXAtYWxpZ24gKTtcblxuXG4gICAgLy8gU2Nyb2xsIG1hcmdpbiB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtc2Nyb2xsLW1hcmdpbjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwic2Nyb2xsLW1hcmdpblwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjcm9sbC1tLCBzY3JvbGwtbWFyZ2luLCAka2VuZG8tdXRpbHMtc2Nyb2xsLW1hcmdpbiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtbXQsIHNjcm9sbC1tYXJnaW4tdG9wLCAka2VuZG8tdXRpbHMtc2Nyb2xsLW1hcmdpbiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtbXIsIHNjcm9sbC1tYXJnaW4tcmlnaHQsICRrZW5kby11dGlscy1zY3JvbGwtbWFyZ2luICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjcm9sbC1tYiwgc2Nyb2xsLW1hcmdpbi1ib3R0b20sICRrZW5kby11dGlscy1zY3JvbGwtbWFyZ2luICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjcm9sbC1tbCwgc2Nyb2xsLW1hcmdpbi1sZWZ0LCAka2VuZG8tdXRpbHMtc2Nyb2xsLW1hcmdpbiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtbXgsIHNjcm9sbC1tYXJnaW4taW5saW5lLCAka2VuZG8tdXRpbHMtc2Nyb2xsLW1hcmdpbiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtbXksIHNjcm9sbC1tYXJnaW4tYmxvY2ssICRrZW5kby11dGlscy1zY3JvbGwtbWFyZ2luICk7XG5cblxuICAgIC8vIFNjcm9sbCBwYWRkaW5nIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1zY3JvbGwtcGFkZGluZzogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwic2Nyb2xsLXBhZGRpbmdcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtcCwgc2Nyb2xsLXBhZGRpbmcsICRrZW5kby11dGlscy1zY3JvbGwtcGFkZGluZyApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtcHQsIHNjcm9sbC1wYWRkaW5nLXRvcCwgJGtlbmRvLXV0aWxzLXNjcm9sbC1wYWRkaW5nICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjcm9sbC1wciwgc2Nyb2xsLXBhZGRpbmctcmlnaHQsICRrZW5kby11dGlscy1zY3JvbGwtcGFkZGluZyApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtcGIsIHNjcm9sbC1wYWRkaW5nLWJvdHRvbSwgJGtlbmRvLXV0aWxzLXNjcm9sbC1wYWRkaW5nICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjcm9sbC1wbCwgc2Nyb2xsLXBhZGRpbmctbGVmdCwgJGtlbmRvLXV0aWxzLXNjcm9sbC1wYWRkaW5nICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjcm9sbC1weCwgc2Nyb2xsLXBhZGRpbmctaW5saW5lLCAka2VuZG8tdXRpbHMtc2Nyb2xsLXBhZGRpbmcgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggc2Nyb2xsLXB5LCBzY3JvbGwtcGFkZGluZy1ibG9jaywgJGtlbmRvLXV0aWxzLXNjcm9sbC1wYWRkaW5nICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdG91Y2gtYWN0aW9uLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9fdG91Y2gtYWN0aW9uLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogbm9uZTtgLlxuLy8vIEBleGFtcGxlIHRvdWNoLWFjdGlvbjogbm9uZTtcbi8vLyBAbmFtZSAuay10b3VjaC1hY3Rpb24tbm9uZVxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogYXV0bztgLlxuLy8vIEBleGFtcGxlIHRvdWNoLWFjdGlvbjogYXV0bztcbi8vLyBAbmFtZSAuay10b3VjaC1hY3Rpb24tYXV0b1xuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGFuLXg7YC5cbi8vLyBAZXhhbXBsZSB0b3VjaC1hY3Rpb246IHBhbi14O1xuLy8vIEBuYW1lIC5rLXRvdWNoLWFjdGlvbi1wYW4teFxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGFuLXk7YC5cbi8vLyBAZXhhbXBsZSB0b3VjaC1hY3Rpb246IHBhbi15O1xuLy8vIEBuYW1lIC5rLXRvdWNoLWFjdGlvbi1wYW4teVxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGFuLWxlZnQ7YC5cbi8vLyBAZXhhbXBsZSB0b3VjaC1hY3Rpb246IHBhbi1sZWZ0O1xuLy8vIEBuYW1lIC5rLXRvdWNoLWFjdGlvbi1wYW4tbGVmdFxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGFuLXJpZ2h0O2AuXG4vLy8gQGV4YW1wbGUgdG91Y2gtYWN0aW9uOiBwYW4tcmlnaHQ7XG4vLy8gQG5hbWUgLmstdG91Y2gtYWN0aW9uLXBhbi1yaWdodFxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGFuLXVwO2AuXG4vLy8gQGV4YW1wbGUgdG91Y2gtYWN0aW9uOiBwYW4tdXA7XG4vLy8gQG5hbWUgLmstdG91Y2gtYWN0aW9uLXBhbi11cFxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGFuLWRvd247YC5cbi8vLyBAZXhhbXBsZSB0b3VjaC1hY3Rpb246IHBhbi1kb3duO1xuLy8vIEBuYW1lIC5rLXRvdWNoLWFjdGlvbi1wYW4tZG93blxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtgLlxuLy8vIEBleGFtcGxlIHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtcbi8vLyBAbmFtZSAuay10b3VjaC1hY3Rpb24tcGluY2gtem9vbVxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO2AuXG4vLy8gQGV4YW1wbGUgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4vLy8gQG5hbWUgLmstdG91Y2gtYWN0aW9uLW1hbmlwdWxhdGlvblxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tdG91Y2gtYWN0aW9uKCkge1xuXG4gICAgLy8gVG91Y2gtYWN0aW9uIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy10b3VjaC1hY3Rpb246IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInRvdWNoLWFjdGlvblwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRvdWNoLWFjdGlvbiwgdG91Y2gtYWN0aW9uLCAka2VuZG8tdXRpbHMtdG91Y2gtYWN0aW9uICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdXNlci1zZWxlY3Quc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9pbnRlcmFjdGl2aXR5L191c2VyLXNlbGVjdC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB1c2VyLXNlbGVjdDogbm9uZTtgLlxuLy8vIEBleGFtcGxlIHVzZXItc2VsZWN0OiBub25lO1xuLy8vIEBuYW1lIC5rLXVzZXItc2VsZWN0LW5vbmVcbi8vLyBAZ3JvdXAgdXNlci1zZWxlY3Rcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHVzZXItc2VsZWN0OiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgdXNlci1zZWxlY3Q6IGF1dG87XG4vLy8gQG5hbWUgLmstdXNlci1zZWxlY3QtYXV0b1xuLy8vIEBncm91cCB1c2VyLXNlbGVjdFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdXNlci1zZWxlY3Q6IHRleHQ7YC5cbi8vLyBAZXhhbXBsZSB1c2VyLXNlbGVjdDogdGV4dDtcbi8vLyBAbmFtZSAuay11c2VyLXNlbGVjdC10ZXh0XG4vLy8gQGdyb3VwIHVzZXItc2VsZWN0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB1c2VyLXNlbGVjdDogYWxsO2AuXG4vLy8gQGV4YW1wbGUgdXNlci1zZWxlY3Q6IGFsbDtcbi8vLyBAbmFtZSAuay11c2VyLXNlbGVjdC1hbGxcbi8vLyBAZ3JvdXAgdXNlci1zZWxlY3Rcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHVzZXItc2VsZWN0OiBjb250YWluO2AuXG4vLy8gQGV4YW1wbGUgdXNlci1zZWxlY3Q6IGNvbnRhaW47XG4vLy8gQG5hbWUgLmstdXNlci1zZWxlY3QtY29udGFpblxuLy8vIEBncm91cCB1c2VyLXNlbGVjdFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1pbnRlcmFjdGl2aXR5LS11c2VyLXNlbGVjdCgpIHtcblxuICAgIC8vIFVzZXIgc2VsZWN0IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy11c2VyLXNlbGVjdDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwidXNlci1zZWxlY3RcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCB1c2VyLXNlbGVjdCwgdXNlci1zZWxlY3QsICRrZW5kby11dGlscy11c2VyLXNlbGVjdCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3dpbGwtY2hhbmdlLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9fd2lsbC1jaGFuZ2Uuc2Nzc1xuLy8gVE9ETzogZG9jc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXdpbGwtY2hhbmdlKCkge1xuXG4gICAgLy8gV2lsbCBjaGFuZ2UgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXdpbGwtY2hhbmdlOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJ3aWxsLWNoYW5nZVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHdpbGwtY2hhbmdlLCB3aWxsLWNoYW5nZSwgJGtlbmRvLXV0aWxzLXdpbGwtY2hhbmdlICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tYWNjZW50LWNvbG9yKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLWFwcGVhcmFuY2UoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tY2FyZXQtY29sb3IoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tY3Vyc29yKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXBvaW50ZXItZXZlbnRzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXJlc2l6ZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1pbnRlcmFjdGl2aXR5LS1zY3JvbGwoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tdG91Y2gtYWN0aW9uKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXVzZXItc2VsZWN0KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXdpbGwtY2hhbmdlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc3ZnL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3N2Zy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZmlsbC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3N2Zy9fZmlsbC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmaWxsOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgZmlsbDogbm9uZTtcbi8vLyBAbmFtZSAuay1maWxsLW5vbmVcbi8vLyBAZ3JvdXAgZmlsbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmlsbDogaW5oZXJpdDtgLlxuLy8vIEBleGFtcGxlIGZpbGw6IGluaGVyaXQ7XG4vLy8gQG5hbWUgLmstZmlsbC1pbmhlcml0XG4vLy8gQGdyb3VwIGZpbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZpbGw6IGN1cnJlbnRDb2xvcjtgLlxuLy8vIEBleGFtcGxlIGZpbGw6IGN1cnJlbnRDb2xvcjtcbi8vLyBAbmFtZSAuay1maWxsLWN1cnJlbnRDb2xvclxuLy8vIEBncm91cCBmaWxsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmaWxsOiB0cmFuc3BhcmVudDtgLlxuLy8vIEBleGFtcGxlIGZpbGw6IHRyYW5zcGFyZW50O1xuLy8vIEBuYW1lIC5rLWZpbGwtdHJhbnNwYXJlbnRcbi8vLyBAZ3JvdXAgZmlsbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmlsbDogYmxhY2s7YC5cbi8vLyBAZXhhbXBsZSBmaWxsOiBibGFjaztcbi8vLyBAbmFtZSAuay1maWxsLWJsYWNrXG4vLy8gQGdyb3VwIGZpbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZpbGw6IHdoaXRlO2AuXG4vLy8gQGV4YW1wbGUgZmlsbDogd2hpdGU7XG4vLy8gQG5hbWUgLmstZmlsbC13aGl0ZVxuLy8vIEBncm91cCBmaWxsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXN2Zy0tZmlsbCgpIHtcblxuICAgIC8vIGZpbGwgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWZpbGw6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImZpbGwtc3Ryb2tlXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZmlsbCwgZmlsbCwgJGtlbmRvLXV0aWxzLWZpbGwgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19zdHJva2Uuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9zdmcvX3N0cm9rZS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzdHJva2U6IG5vbmU7YC5cbi8vLyBAZXhhbXBsZSBzdHJva2U6IG5vbmU7XG4vLy8gQG5hbWUgLmstc3Ryb2tlLW5vbmVcbi8vLyBAZ3JvdXAgc3Ryb2tlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzdHJva2U6IGluaGVyaXQ7YC5cbi8vLyBAZXhhbXBsZSBzdHJva2U6IGluaGVyaXQ7XG4vLy8gQG5hbWUgLmstc3Ryb2tlLWluaGVyaXRcbi8vLyBAZ3JvdXAgc3Ryb2tlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzdHJva2U6IGN1cnJlbnRDb2xvcjtgLlxuLy8vIEBleGFtcGxlIHN0cm9rZTogY3VycmVudENvbG9yO1xuLy8vIEBuYW1lIC5rLXN0cm9rZS1jdXJyZW50Q29sb3Jcbi8vLyBAZ3JvdXAgc3Ryb2tlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzdHJva2U6IHRyYW5zcGFyZW50O2AuXG4vLy8gQGV4YW1wbGUgc3Ryb2tlOiB0cmFuc3BhcmVudDtcbi8vLyBAbmFtZSAuay1zdHJva2UtdHJhbnNwYXJlbnRcbi8vLyBAZ3JvdXAgc3Ryb2tlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzdHJva2U6IGJsYWNrO2AuXG4vLy8gQGV4YW1wbGUgc3Ryb2tlOiBibGFjaztcbi8vLyBAbmFtZSAuay1zdHJva2UtYmxhY2tcbi8vLyBAZ3JvdXAgc3Ryb2tlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzdHJva2U6IHdoaXRlO2AuXG4vLy8gQGV4YW1wbGUgc3Ryb2tlOiB3aGl0ZTtcbi8vLyBAbmFtZSAuay1zdHJva2Utd2hpdGVcbi8vLyBAZ3JvdXAgc3Ryb2tlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXN2Zy0tc3Ryb2tlKCkge1xuXG4gICAgLy8gc3Ryb2tlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1zdHJva2U6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImZpbGwtc3Ryb2tlXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggc3Ryb2tlLCBzdHJva2UsICRrZW5kby11dGlscy1zdHJva2UgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBtaXhpbiBrZW5kby11dGlscy0tc3ZnKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1zdmctLWZpbGwoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tc3ZnLS1zdHJva2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2VsZXZhdGlvbi9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9lbGV2YXRpb24vaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZWxldmF0aW9uL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZWxldmF0aW9uL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWVsZXZhdGlvbiB7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoZWxldmF0aW9uLCBib3gtc2hhZG93LCAka2VuZG8tZWxldmF0aW9uLCAkY3NzLXZhcjogXCJlbGV2YXRpb25cIik7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNaXhpbiBmb3IgYWxsIHN0eWxlc1xuQG1peGluIGtlbmRvLXV0aWxzKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1hY2Nlc3NpYmlsaXR5KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWxheW91dCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tc3BhY2luZygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1zaXppbmcoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tdHlwb2dyYXBoeSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1iYWNrZ3JvdW5kKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWJvcmRlcigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1lZmZlY3RzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZpbHRlcigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10YWJsZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0oKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1zdmcoKTtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1lbGV2YXRpb24oKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXV0aWxzLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ1dGlsc1wiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby11dGlscygpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInR5cG9ncmFwaHlcIixcbiAgICBkZXBlbmRlbmNpZXM6ICgpXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy90eXBvZ3JhcGh5L192YXJpYWJsZXMuc2Nzc1xuLy8gVHlwb2dyYXBoeVxuXG5cbi8vIEhlYWRpbmdzXG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oMS1mb250LXNpemU6IDk2cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc2Vjb25kIGhpZ2hlc3QgbGV2ZWwgaGVhZGluZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWgyLWZvbnQtc2l6ZTogNjBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSB0aGlyZCBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oMy1mb250LXNpemU6IDQ4cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgZm91cnRoIGhpZ2hlc3QgbGV2ZWwgaGVhZGluZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWg0LWZvbnQtc2l6ZTogMzRweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBmaWZ0aCBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oNS1mb250LXNpemU6IDI0cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc2l4dGggaGlnaGVzdCBsZXZlbCBoZWFkaW5nLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8taDYtZm9udC1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oMS1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBzZWNvbmQgaGlnaGVzdCBsZXZlbCBoZWFkaW5nLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8taDItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgdGhpcmQgaGlnaGVzdCBsZXZlbCBoZWFkaW5nLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8taDMtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgZm91cnRoIGhpZ2hlc3QgbGV2ZWwgaGVhZGluZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWg0LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIGZpZnRoIGhpZ2hlc3QgbGV2ZWwgaGVhZGluZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWg1LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIHNpeHRoIGhpZ2hlc3QgbGV2ZWwgaGVhZGluZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWg2LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgaGlnaGVzdCBsZXZlbCBoZWFkaW5nLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8taDEtbGluZS1oZWlnaHQ6IDExMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgc2Vjb25kIGhpZ2hlc3QgbGV2ZWwgaGVhZGluZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWgyLWxpbmUtaGVpZ2h0OiA3MnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgdGhpcmQgaGlnaGVzdCBsZXZlbCBoZWFkaW5nLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8taDMtbGluZS1oZWlnaHQ6IDU2cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBmb3VydGggaGlnaGVzdCBsZXZlbCBoZWFkaW5nLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8taDQtbGluZS1oZWlnaHQ6IDM2cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBmaWZ0aCBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oNS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIHNpeHRoIGhpZ2hlc3QgbGV2ZWwgaGVhZGluZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWg2LWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oMS1mb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LWxpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIHNlY29uZCBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oMi1mb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LWxpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIHRoaXJkIGhpZ2hlc3QgbGV2ZWwgaGVhZGluZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWgzLWZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZm9udC13ZWlnaHQtbm9ybWFsLCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIGZvdXJ0aCBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oNC1mb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LW5vcm1hbCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBmaWZ0aCBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oNS1mb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LW5vcm1hbCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBzaXh0aCBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oNi1mb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LW1lZGl1bSwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGV0dGVyIHNwYWNpbmcgb2YgdGhlIGhpZ2hlc3QgbGV2ZWwgaGVhZGluZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWgxLWxldHRlci1zcGFjaW5nOiB2YXIoIC0ta2VuZG8tbGV0dGVyLXNwYWNpbmctdGlnaHRlciwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxldHRlciBzcGFjaW5nIG9mIHRoZSBzZWNvbmQgaGlnaGVzdCBsZXZlbCBoZWFkaW5nLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8taDItbGV0dGVyLXNwYWNpbmc6IHZhciggLS1rZW5kby1sZXR0ZXItc3BhY2luZy10aWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxldHRlciBzcGFjaW5nIG9mIHRoZSB0aGlyZCBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oMy1sZXR0ZXItc3BhY2luZzogdmFyKCAtLWtlbmRvLWxldHRlci1zcGFjaW5nLW5vcm1hbCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxldHRlciBzcGFjaW5nIG9mIHRoZSBmb3VydGggaGlnaGVzdCBsZXZlbCBoZWFkaW5nLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8taDQtbGV0dGVyLXNwYWNpbmc6IHZhciggLS1rZW5kby1sZXR0ZXItc3BhY2luZy13aWRlciwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxldHRlciBzcGFjaW5nIG9mIHRoZSBmaWZ0aCBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oNS1sZXR0ZXItc3BhY2luZzogdmFyKCAtLWtlbmRvLWxldHRlci1zcGFjaW5nLW5vcm1hbCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxldHRlciBzcGFjaW5nIG9mIHRoZSBzaXh0aCBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oNi1sZXR0ZXItc3BhY2luZzogdmFyKCAtLWtlbmRvLWxldHRlci1zcGFjaW5nLXdpZGUsIG5vcm1hbCApICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgbWFyZ2luIG9mIHRoZSBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oMS1tYXJnaW46IDAgMCAxMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBtYXJnaW4gb2YgdGhlIHNlY29uZCBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oMi1tYXJnaW46IDAgMCAxMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBtYXJnaW4gb2YgdGhlIHRoaXJkIGhpZ2hlc3QgbGV2ZWwgaGVhZGluZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWgzLW1hcmdpbjogMCAwIDEycHggIWRlZmF1bHQ7XG4vLy8gVGhlIG1hcmdpbiBvZiB0aGUgZm91cnRoIGhpZ2hlc3QgbGV2ZWwgaGVhZGluZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWg0LW1hcmdpbjogMCAwIDEycHggIWRlZmF1bHQ7XG4vLy8gVGhlIG1hcmdpbiBvZiB0aGUgZmlmdGggaGlnaGVzdCBsZXZlbCBoZWFkaW5nLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8taDUtbWFyZ2luOiAwIDAgMTJweCAhZGVmYXVsdDtcbi8vLyBUaGUgbWFyZ2luIG9mIHRoZSBzaXh0aCBoaWdoZXN0IGxldmVsIGhlYWRpbmcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1oNi1tYXJnaW46IDAgMCAxMnB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhlYWRpbmdzIE1hcC5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWhlYWRpbmdzOiAoXG4gICAgaDE6IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8taDEtZm9udC1zaXplLFxuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWgxLWZvbnQtZmFtaWx5LFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWgxLWxpbmUtaGVpZ2h0LFxuICAgICAgICBmb250LXdlaWdodDogJGtlbmRvLWgxLWZvbnQtd2VpZ2h0LFxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGtlbmRvLWgxLWxldHRlci1zcGFjaW5nLFxuICAgICAgICBtYXJnaW46ICRrZW5kby1oMS1tYXJnaW5cbiAgICApLFxuICAgIGgyOiAoXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWgyLWZvbnQtc2l6ZSxcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1oMi1mb250LWZhbWlseSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1oMi1saW5lLWhlaWdodCxcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRrZW5kby1oMi1mb250LXdlaWdodCxcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRrZW5kby1oMi1sZXR0ZXItc3BhY2luZyxcbiAgICAgICAgbWFyZ2luOiAka2VuZG8taDItbWFyZ2luXG4gICAgKSxcbiAgICBoMzogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1oMy1mb250LXNpemUsXG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8taDMtZm9udC1mYW1pbHksXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8taDMtbGluZS1oZWlnaHQsXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAka2VuZG8taDMtZm9udC13ZWlnaHQsXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAka2VuZG8taDMtbGV0dGVyLXNwYWNpbmcsXG4gICAgICAgIG1hcmdpbjogJGtlbmRvLWgzLW1hcmdpblxuICAgICksXG4gICAgaDQ6IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8taDQtZm9udC1zaXplLFxuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWg0LWZvbnQtZmFtaWx5LFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWg0LWxpbmUtaGVpZ2h0LFxuICAgICAgICBmb250LXdlaWdodDogJGtlbmRvLWg0LWZvbnQtd2VpZ2h0LFxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGtlbmRvLWg0LWxldHRlci1zcGFjaW5nLFxuICAgICAgICBtYXJnaW46ICRrZW5kby1oNC1tYXJnaW5cbiAgICApLFxuICAgIGg1OiAoXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWg1LWZvbnQtc2l6ZSxcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1oNS1mb250LWZhbWlseSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1oNS1saW5lLWhlaWdodCxcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRrZW5kby1oNS1mb250LXdlaWdodCxcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRrZW5kby1oNS1sZXR0ZXItc3BhY2luZyxcbiAgICAgICAgbWFyZ2luOiAka2VuZG8taDUtbWFyZ2luXG4gICAgKSxcbiAgICBoNjogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1oNi1mb250LXNpemUsXG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8taDYtZm9udC1mYW1pbHksXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8taDYtbGluZS1oZWlnaHQsXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAka2VuZG8taDYtZm9udC13ZWlnaHQsXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAka2VuZG8taDYtbGV0dGVyLXNwYWNpbmcsXG4gICAgICAgIG1hcmdpbjogJGtlbmRvLWg2LW1hcmdpblxuICAgIClcbikgIWRlZmF1bHQ7XG5cblxuLy8gUGFyYWdyYXBoXG5cbi8vLyBUaGUgbWFyZ2luIG9mIHRoZSBwYXJhZ3JhcGguXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1wYXJhZ3JhcGgtbWFyZ2luOiAwIDAgMTJweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBwYXJhZ3JhcGguXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1wYXJhZ3JhcGgtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgcGFyYWdyYXBoLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tcGFyYWdyYXBoLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIHBhcmFncmFwaC5cbi8vLyAgQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1wYXJhZ3JhcGgtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodC1sZywgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBwYXJhZ3JhcGguXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodC1ub3JtYWwsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBsZXR0ZXIgc3BhY2luZyBvZiB0aGUgcGFyYWdyYXBoLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tcGFyYWdyYXBoLWxldHRlci1zcGFjaW5nOiAuMDMxM2VtICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGNvZGUgdGFnLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tY29kZS1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIGNvZGUgdGFnLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tY29kZS1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LW1vbm9zcGFjZSwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBjb2RlIHRhZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWNvZGUtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBjb2RlIHRhZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWNvZGUtZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodC1ub3JtYWwsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBsZXR0ZXIgc3BhY2luZyBvZiB0aGUgY29kZSB0YWcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1jb2RlLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgY29kZSB0YWcuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1jb2RlLXBhZGRpbmcteDogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBjb2RlIHRhZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWNvZGUtcGFkZGluZy15OiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgcHJlZm9ybWF0dGVkIHRleHQuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1wcmUtcGFkZGluZy14OiBrLXNwYWNpbmcoNikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIHByZWZvcm1hdHRlZCB0ZXh0LlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tcHJlLXBhZGRpbmcteTogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIGNvZGUgdGFnLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tY29kZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjb2RlIHRhZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWNvZGUtYmc6ICRrZW5kby1iYXNlLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBjb2RlIHRhZy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWNvZGUtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGNvZGUgdGFnLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tY29kZS1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyBEaXNwbGF5XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBsYXJnZXN0IGRpc3BsYXkgdGV4dC5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWRpc3BsYXkxLWZvbnQtc2l6ZTogY2FsYyggdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgLjg3NXJlbSApICogOS41ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc2Vjb25kIGxhcmdlc3QgZGlzcGxheSB0ZXh0LlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZGlzcGxheTItZm9udC1zaXplOiBjYWxjKCB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCAuODc1cmVtICkgKiA4Ljc1ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgdGhpcmQgbGFyZ2VzdCBkaXNwbGF5IHRleHQuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1kaXNwbGF5My1mb250LXNpemU6IGNhbGMoIHZhciggLS1rZW5kby1mb250LXNpemUsIC44NzVyZW0gKSAqIDggKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBmb3VydGggbGFyZ2VzdCBkaXNwbGF5IHRleHQuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1kaXNwbGF5NC1mb250LXNpemU6IGNhbGMoIHZhciggLS1rZW5kby1mb250LXNpemUsIC44NzVyZW0gKSAqIDcuMjUgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgbGFyZ2VzdCBkaXNwbGF5IHRleHQuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1kaXNwbGF5MS1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBzZWNvbmQgbGFyZ2VzdCBkaXNwbGF5IHRleHQuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1kaXNwbGF5Mi1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSB0aGlyZCBsYXJnZXN0IGRpc3BsYXkgdGV4dC5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWRpc3BsYXkzLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIGZvdXJ0aCBsYXJnZXN0IGRpc3BsYXkgdGV4dC5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWRpc3BsYXk0LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbGFyZ2VzdCBkaXNwbGF5IHRleHQuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1kaXNwbGF5MS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgc2Vjb25kIGxhcmdlc3QgZGlzcGxheSB0ZXh0LlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZGlzcGxheTItbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIHRoaXJkIGxhcmdlc3QgZGlzcGxheSB0ZXh0LlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZGlzcGxheTMtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIGZvdXJ0aCBsYXJnZXN0IGRpc3BsYXkgdGV4dC5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWRpc3BsYXk0LWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIGxhcmdlc3QgZGlzcGxheSB0ZXh0LlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZGlzcGxheTEtZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodC1saWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBzZWNvbmQgbGFyZ2VzdCBkaXNwbGF5IHRleHQuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1kaXNwbGF5Mi1mb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LWxpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIHRoaXJkIGxhcmdlc3QgZGlzcGxheSB0ZXh0LlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZGlzcGxheTMtZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodC1saWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBmb3VydGggbGFyZ2VzdCBkaXNwbGF5IHRleHQuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1kaXNwbGF5NC1mb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LWxpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsZXR0ZXIgc3BhY2luZyBvZiB0aGUgbGFyZ2VzdCBkaXNwbGF5IHRleHQuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1kaXNwbGF5MS1sZXR0ZXItc3BhY2luZzogdmFyKCAtLWtlbmRvLWxldHRlci1zcGFjaW5nLXRpZ2h0ZXIsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBsZXR0ZXIgc3BhY2luZyBvZiB0aGUgc2Vjb25kIGxhcmdlc3QgZGlzcGxheSB0ZXh0LlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZGlzcGxheTItbGV0dGVyLXNwYWNpbmc6IHZhciggLS1rZW5kby1sZXR0ZXItc3BhY2luZy10aWdodGVyLCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGV0dGVyIHNwYWNpbmcgb2YgdGhlIHRoaXJkIGxhcmdlc3QgZGlzcGxheSB0ZXh0LlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZGlzcGxheTMtbGV0dGVyLXNwYWNpbmc6IHZhciggLS1rZW5kby1sZXR0ZXItc3BhY2luZy10aWdodGVyLCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGV0dGVyIHNwYWNpbmcgb2YgdGhlIGZvdXJ0aCBsYXJnZXN0IGRpc3BsYXkgdGV4dC5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWRpc3BsYXk0LWxldHRlci1zcGFjaW5nOiB2YXIoIC0ta2VuZG8tbGV0dGVyLXNwYWNpbmctdGlnaHRlciwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZGlzcGxheXMgTWFwLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZGlzcGxheTogKFxuICAgIDE6IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZGlzcGxheTEtZm9udC1zaXplLFxuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWRpc3BsYXkxLWZvbnQtZmFtaWx5LFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWRpc3BsYXkxLWxpbmUtaGVpZ2h0LFxuICAgICAgICBmb250LXdlaWdodDogJGtlbmRvLWRpc3BsYXkxLWZvbnQtd2VpZ2h0LFxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGtlbmRvLWRpc3BsYXkxLWxldHRlci1zcGFjaW5nXG4gICAgKSxcbiAgICAyOiAoXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWRpc3BsYXkyLWZvbnQtc2l6ZSxcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1kaXNwbGF5Mi1mb250LWZhbWlseSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1kaXNwbGF5Mi1saW5lLWhlaWdodCxcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRrZW5kby1kaXNwbGF5Mi1mb250LXdlaWdodCxcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRrZW5kby1kaXNwbGF5Mi1sZXR0ZXItc3BhY2luZ1xuICAgICksXG4gICAgMzogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1kaXNwbGF5My1mb250LXNpemUsXG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tZGlzcGxheTMtZm9udC1mYW1pbHksXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZGlzcGxheTMtbGluZS1oZWlnaHQsXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAka2VuZG8tZGlzcGxheTMtZm9udC13ZWlnaHQsXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAka2VuZG8tZGlzcGxheTMtbGV0dGVyLXNwYWNpbmdcbiAgICApLFxuICAgIDQ6IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZGlzcGxheTQtZm9udC1zaXplLFxuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWRpc3BsYXk0LWZvbnQtZmFtaWx5LFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWRpc3BsYXk0LWxpbmUtaGVpZ2h0LFxuICAgICAgICBmb250LXdlaWdodDogJGtlbmRvLWRpc3BsYXk0LWZvbnQtd2VpZ2h0LFxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGtlbmRvLWRpc3BsYXk0LWxldHRlci1zcGFjaW5nXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy90eXBvZ3JhcGh5L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90eXBvZ3JhcGh5L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3R5cG9ncmFwaHkvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdHlwb2dyYXBoeS0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICBAaWYgJGtlbmRvLWVuYWJsZS10eXBvZ3JhcGh5IHtcbiAgICAgICAgYm9keSB7IEBleHRlbmQgLmstYm9keSAhb3B0aW9uYWw7IH1cbiAgICAgICAgaDEgeyBAZXh0ZW5kIC5rLWgxICFvcHRpb25hbDsgfVxuICAgICAgICBoMiB7IEBleHRlbmQgLmstaDIgIW9wdGlvbmFsOyB9XG4gICAgICAgIGgzIHsgQGV4dGVuZCAuay1oMyAhb3B0aW9uYWw7IH1cbiAgICAgICAgaDQgeyBAZXh0ZW5kIC5rLWg0ICFvcHRpb25hbDsgfVxuICAgICAgICBoNSB7IEBleHRlbmQgLmstaDUgIW9wdGlvbmFsOyB9XG4gICAgICAgIGg2IHsgQGV4dGVuZCAuay1oNiAhb3B0aW9uYWw7IH1cbiAgICAgICAgcCB7IEBleHRlbmQgLmstcGFyYWdyYXBoICFvcHRpb25hbDsgfVxuICAgICAgICBwcmUgeyBAZXh0ZW5kIC5rLXByZSAhb3B0aW9uYWw7IH1cbiAgICAgICAgY29kZSB7IEBleHRlbmQgLmstY29kZSAhb3B0aW9uYWw7IH1cbiAgICB9XG5cbiAgICAvLyBUT0RPIGRlbGV0ZSBrLXR5cG9ncmFwaHkgY2xhc3MgZm9yIFIxIDIwMjJcbiAgICAuay1ib2R5LFxuICAgIC5rLXR5cG9ncmFwaHkge1xuICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LW5vcm1hbCwgbm9ybWFsICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGV0dGVyLXNwYWNpbmcsIG5vcm1hbCApXG4gICAgICAgICk7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGtlbmRvLXBhcmFncmFwaC1tYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIZWFkaW5nc1xuICAgIEBlYWNoICRoZWFkaW5nLCAkaGVhZGluZy1wcm9wcyBpbiAka2VuZG8taGVhZGluZ3Mge1xuICAgICAgICAkX2ZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkaGVhZGluZy1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfZm9udC1mYW1pbHk6IGstbWFwLWdldCggJGhlYWRpbmctcHJvcHMsIGZvbnQtZmFtaWx5ICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IGstbWFwLWdldCggJGhlYWRpbmctcHJvcHMsIGxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfZm9udC13ZWlnaHQ6IGstbWFwLWdldCggJGhlYWRpbmctcHJvcHMsIGZvbnQtd2VpZ2h0ICk7XG4gICAgICAgICRfbGV0dGVyLXNwYWNpbmc6IGstbWFwLWdldCggJGhlYWRpbmctcHJvcHMsIGxldHRlci1zcGFjaW5nICk7XG4gICAgICAgICRfbWFyZ2luOiBrLW1hcC1nZXQoICRoZWFkaW5nLXByb3BzLCBtYXJnaW4gKTtcblxuICAgICAgICAuay0jeyRoZWFkaW5nfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby0jeyRoZWFkaW5nfS1mb250LXNpemUsICN7JF9mb250LXNpemV9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLSN7JGhlYWRpbmd9LWZvbnQtZmFtaWx5LCAjeyRfZm9udC1mYW1pbHl9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLSN7JGhlYWRpbmd9LWxpbmUtaGVpZ2h0LCAjeyRfbGluZS1oZWlnaHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLSN7JGhlYWRpbmd9LWZvbnQtd2VpZ2h0LCAjeyRfZm9udC13ZWlnaHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLSN7JGhlYWRpbmd9LWxldHRlci1zcGFjaW5nLCAjeyRfbGV0dGVyLXNwYWNpbmd9ICksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWFyZ2luOiB2YXIoIC0ta2VuZG8tI3skaGVhZGluZ30tbWFyZ2luLCAjeyRfbWFyZ2lufSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGFyYWdyYXBoXG4gICAgLmstcGFyYWdyYXBoIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeShcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wYXJhZ3JhcGgtZm9udC1zaXplLCAjeyRrZW5kby1wYXJhZ3JhcGgtZm9udC1zaXplfSksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGFyYWdyYXBoLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1wYXJhZ3JhcGgtZm9udC1mYW1pbHl9KSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wYXJhZ3JhcGgtbGluZS1oZWlnaHQsICN7JGtlbmRvLXBhcmFncmFwaC1saW5lLWhlaWdodH0pLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBhcmFncmFwaC1mb250LXdlaWdodCwgI3ska2VuZG8tcGFyYWdyYXBoLWZvbnQtd2VpZ2h0fSksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGFyYWdyYXBoLWxldHRlci1zcGFjaW5nLCAjeyRrZW5kby1wYXJhZ3JhcGgtbGV0dGVyLXNwYWNpbmd9KVxuICAgICAgICApO1xuICAgICAgICBtYXJnaW46IHZhciggLS1rZW5kby1wYXJhZ3JhcGgtbWFyZ2luLCAjeyRrZW5kby1wYXJhZ3JhcGgtbWFyZ2lufSk7XG4gICAgfVxuXG4gICAgLy8gQ29kZSBzbmlwcGV0XG4gICAgLmstcHJlLFxuICAgIC5rLWNvZGUge1xuICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvZGUtZm9udC1zaXplLCAjeyRrZW5kby1jb2RlLWZvbnQtc2l6ZX0pLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvZGUtZm9udC1mYW1pbHksICN7JGtlbmRvLWNvZGUtZm9udC1mYW1pbHl9KSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jb2RlLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1jb2RlLWxpbmUtaGVpZ2h0fSksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY29kZS1mb250LXdlaWdodCwgI3ska2VuZG8tY29kZS1mb250LXdlaWdodH0pLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvZGUtbGV0dGVyLXNwYWNpbmcsICN7JGtlbmRvLWNvZGUtbGV0dGVyLXNwYWNpbmd9KVxuICAgICAgICApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1jb2RlLWJvcmRlci13aWR0aDtcbiAgICB9XG5cbiAgICAuay1wcmUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcHJlLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wcmUtcGFkZGluZy14O1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICAuay1wcmUgPiAuay1jb2RlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAuay1jb2RlIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNvZGUtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNvZGUtcGFkZGluZy14O1xuICAgIH1cblxuICAgIC8vIERpc3BsYXlcbiAgICBAZWFjaCAkZGlzcGxheSwgJGtlbmRvLWRpc3BsYXktcHJvcHMgaW4gJGtlbmRvLWRpc3BsYXkge1xuICAgICAgICAkX2ZvbnQtc2l6ZTogay1tYXAtZ2V0KCAka2VuZG8tZGlzcGxheS1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfZm9udC1mYW1pbHk6IGstbWFwLWdldCggJGtlbmRvLWRpc3BsYXktcHJvcHMsIGZvbnQtZmFtaWx5ICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IGstbWFwLWdldCggJGtlbmRvLWRpc3BsYXktcHJvcHMsIGxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfZm9udC13ZWlnaHQ6IGstbWFwLWdldCggJGtlbmRvLWRpc3BsYXktcHJvcHMsIGZvbnQtd2VpZ2h0ICk7XG4gICAgICAgICRfbGV0dGVyLXNwYWNpbmc6IGstbWFwLWdldCggJGtlbmRvLWRpc3BsYXktcHJvcHMsIGxldHRlci1zcGFjaW5nICk7XG4gICAgICAgICRfbWFyZ2luOiBrLW1hcC1nZXQoICRrZW5kby1kaXNwbGF5LXByb3BzLCBtYXJnaW4gKTtcblxuICAgICAgICAuay1kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRpc3BsYXkjeyRkaXNwbGF5fS1mb250LXNpemUsICN7JF9mb250LXNpemV9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRpc3BsYXkjeyRkaXNwbGF5fS1mb250LWZhbWlseSwgI3skX2ZvbnQtZmFtaWx5fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1kaXNwbGF5I3skZGlzcGxheX0tbGluZS1oZWlnaHQsICN7JF9saW5lLWhlaWdodH0gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tZGlzcGxheSN7JGRpc3BsYXl9LWZvbnQtd2VpZ2h0LCAjeyRfZm9udC13ZWlnaHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRpc3BsYXkjeyRkaXNwbGF5fS1sZXR0ZXItc3BhY2luZywgI3skX2xldHRlci1zcGFjaW5nfSApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AbWl4aW4ga2VuZG8tdHlwb2dyYXBoeS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXR5cG9ncmFwaHktLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdHlwb2dyYXBoeS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXR5cG9ncmFwaHktLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90eXBvZ3JhcGh5L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3R5cG9ncmFwaHkvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90eXBvZ3JhcGh5L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdHlwb2dyYXBoeS0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLWJvZHkge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWJvZHktdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1ib2R5LWJnXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ29kZSBzbmlwcGV0XG4gICAgLmstcHJlLFxuICAgIC5rLWNvZGUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNvZGUtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jb2RlLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNvZGUtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXR5cG9ncmFwaHktLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXR5cG9ncmFwaHktLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10eXBvZ3JhcGh5LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10eXBvZ3JhcGh5LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tdHlwb2dyYXBoeS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidHlwb2dyYXBoeVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10eXBvZ3JhcGh5LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdHlwb2dyYXBoeS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXR5cG9ncmFwaHktLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gR2VuZXJpYyBjb250ZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiaWNvblwiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2ljb25zL192YXJpYWJsZXMuc2Nzc1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9pY29ucy9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9pY29ucy9fbGF5b3V0LnNjc3NcbiRraS1lbWJlZC1mb250OiBmYWxzZTtcbiRraS1pY29uLXNpemU6ICRrZW5kby1pY29uLXNpemU7XG5cbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby1zdmctaWNvbnMvc2Nzcy9pbmRleC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby1zdmctaWNvbnMvc2Nzcy9pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJfdmFyaWFibGVzLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXN2Zy1pY29ucy9zY3NzL192YXJpYWJsZXMuc2Nzc1xuJGtpLWljb24tc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuJGtpLWljb24tc2l6ZS14czogY2FsYyggI3ska2ktaWNvbi1zaXplfSAqIC43NSApICFkZWZhdWx0O1xuJGtpLWljb24tc2l6ZS1zbTogY2FsYyggI3ska2ktaWNvbi1zaXplfSAqIC44NzUgKSAhZGVmYXVsdDtcbiRraS1pY29uLXNpemUtbWQ6ICRraS1pY29uLXNpemUgIWRlZmF1bHQ7XG4ka2ktaWNvbi1zaXplLWxnOiBjYWxjKCAjeyRraS1pY29uLXNpemV9ICogMS4yNSApICFkZWZhdWx0O1xuJGtpLWljb24tc2l6ZS14bDogY2FsYyggI3ska2ktaWNvbi1zaXplfSAqIDEuNSApICFkZWZhdWx0O1xuJGtpLWljb24tc2l6ZS14eGw6IGNhbGMoICN7JGtpLWljb24tc2l6ZX0gKiAyICkgIWRlZmF1bHQ7XG4ka2ktaWNvbi1zaXplLXh4eGw6IGNhbGMoICN7JGtpLWljb24tc2l6ZX0gKiAzICkgIWRlZmF1bHQ7XG5cbiRraS1yb3RhdGUtbWFwOiAoXG4gICAgMDogMGRlZyxcbiAgICA0NTogNDVkZWcsXG4gICAgOTA6IDkwZGVnLFxuICAgIDEzNTogMTM1ZGVnLFxuICAgIDE4MDogMTgwZGVnLFxuICAgIDIyNTogMjI1ZGVnLFxuICAgIDI3MDogMjcwZGVnLFxuICAgIDMxNTogMzE1ZGVnXG4pICFkZWZhdWx0O1xuXG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLXN2Zy1pY29uLXN0eWxlcygpIHtcblxuICAgIC5rLXN2Zy1pY29uIHtcbiAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemU7XG4gICAgICAgIGhlaWdodDogJGtpLWljb24tc2l6ZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiBzdmcge1xuICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTVkcgSWNvbiBzaXplc1xuICAgIC5rLXN2Zy1pY29uIHtcbiAgICAgICAgJi5rLWljb24teHMge1xuICAgICAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemUteHM7XG4gICAgICAgICAgICBoZWlnaHQ6ICRraS1pY29uLXNpemUteHM7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWljb24tc20ge1xuICAgICAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemUtc207XG4gICAgICAgICAgICBoZWlnaHQ6ICRraS1pY29uLXNpemUtc207XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWljb24tbWQge1xuICAgICAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemUtbWQ7XG4gICAgICAgICAgICBoZWlnaHQ6ICRraS1pY29uLXNpemUtbWQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWljb24tbGcge1xuICAgICAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemUtbGc7XG4gICAgICAgICAgICBoZWlnaHQ6ICRraS1pY29uLXNpemUtbGc7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWljb24teGwge1xuICAgICAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemUteGw7XG4gICAgICAgICAgICBoZWlnaHQ6ICRraS1pY29uLXNpemUteGw7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWljb24teHhsIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2ktaWNvbi1zaXplLXh4bDtcbiAgICAgICAgICAgIGhlaWdodDogJGtpLWljb24tc2l6ZS14eGw7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWljb24teHh4bCB7XG4gICAgICAgICAgICB3aWR0aDogJGtpLWljb24tc2l6ZS14eHhsO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2ktaWNvbi1zaXplLXh4eGw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG5cbiAgICAvLyBGbGlwXG4gICAgLmstZmxpcC1oLFxuICAgIC5rLWZsaXAtdixcbiAgICAuay1mbGlwLWguay1mbGlwLXYge1xuICAgICAgICAmLmstc3ZnLWljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWZsaXAtaCB7XG4gICAgICAgID4gc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKCAtMSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWZsaXAtdiB7XG4gICAgICAgID4gc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKCAtMSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWZsaXAtaC5rLWZsaXAtdixcbiAgICAuay1mbGlwLWJvdGgge1xuICAgICAgICA+IHN2ZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCAtMSwgLTEgKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUm90YXRlXG4gICAgQGVhY2ggJGluZGV4LCAkcm90YXRlIGluICRraS1yb3RhdGUtbWFwIHtcbiAgICAgICAgLmstcm90YXRlLSN7JGluZGV4fSB7XG4gICAgICAgICAgICAmLmstc3ZnLWljb24ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCAjeyRyb3RhdGV9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8taWNvbi0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1zdmctaWNvbi1zdHlsZXMoKTtcblxuICAgIC8vIEljb24gd3JhcFxuICAgIC5rLWljb24td3JhcCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGdhcDogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMjAwYlwiO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBrZW5kby1pY29uLXdyYXBwZXIgY29tcG9uZW50XG4gICAgLmstaWNvbi13cmFwcGVyLWhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG5cbiAgICAuay1pY29uLXdpdGgtbW9kaWZpZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogLjI1ZW07XG4gICAgfVxuXG4gICAgLmstaWNvbi5rLWljb24tbW9kaWZpZXIge1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBmb250LXNpemU6IC41ZW07XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCAtLjVlbSAtLjVlbSAwO1xuICAgIH1cblxuICAgIC5rLWktbm9uZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuay1pY29uLWFjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwYWRkaW5nOiAka2VuZG8taWNvbi1wYWRkaW5nO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5rLXNwcml0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5rLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuXG5AbWl4aW4ga2VuZG8taWNvbi0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWljb24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8taWNvbi0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWljb24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9pY29ucy9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2ljb25zL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8taWNvbi0tdGhlbWUtYmFzZSgpIHt9XG5cblxuQG1peGluIGtlbmRvLWljb24tLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWljb24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1pY29uLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1pY29uLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8taWNvbi0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiaWNvblwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1pY29uLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8taWNvbi0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWljb24tLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL21lc3NhZ2Vib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZXNzYWdlYm94L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcIm1lc3NhZ2Vib3hcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL21lc3NhZ2Vib3gvX3ZhcmlhYmxlcy5zY3NzXG4vLyBNZXNzYWdlIGJveFxuJGtlbmRvLW1lc3NhZ2UtYm94LW1hcmdpbjogMCAwIGstc3BhY2luZyg0KSAwICFkZWZhdWx0O1xuJGtlbmRvLW1lc3NhZ2UtYm94LXBhZGRpbmcteDogJGtlbmRvLXBhZGRpbmctbWQteCAhZGVmYXVsdDtcbiRrZW5kby1tZXNzYWdlLWJveC1wYWRkaW5nLXk6ICRrZW5kby1wYWRkaW5nLW1kLXkgIWRlZmF1bHQ7XG4ka2VuZG8tbWVzc2FnZS1ib3gtYm9yZGVyLXdpZHRoOiAwIDAgMCA0cHggIWRlZmF1bHQ7XG5cbiRrZW5kby1tZXNzYWdlLWJveC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbiRrZW5kby1tZXNzYWdlLWJveC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuJGtlbmRvLW1lc3NhZ2UtYm94LWJnLWxldmVsOiAtMTAgIWRlZmF1bHQ7XG4ka2VuZG8tbWVzc2FnZS1ib3gtdGV4dC1sZXZlbDogNiAhZGVmYXVsdDtcbiRrZW5kby1tZXNzYWdlLWJveC1ib3JkZXItbGV2ZWw6IC05ICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVzc2FnZS1ib3gtbGluay1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG4ka2VuZG8tbWVzc2FnZS1ib3gtbGluay10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9tZXNzYWdlYm94L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tZXNzYWdlYm94L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lc3NhZ2Vib3gvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tbWVzc2FnZWJveC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBCYXNlXG4gICAgLmstbWVzc2FnZWJveCB7XG4gICAgICAgIG1hcmdpbjogJGtlbmRvLW1lc3NhZ2UtYm94LW1hcmdpbjtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW1lc3NhZ2UtYm94LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1tZXNzYWdlLWJveC1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLW1lc3NhZ2UtYm94LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbWVzc2FnZS1ib3gtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW1lc3NhZ2UtYm94LWxpbmUtaGVpZ2h0O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXN0eWxlOiAka2VuZG8tbWVzc2FnZS1ib3gtbGluay1mb250LXN0eWxlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAka2VuZG8tbWVzc2FnZS1ib3gtbGluay10ZXh0LWRlY29yYXRpb247XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbWVzc2FnZWJveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lc3NhZ2Vib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbWVzc2FnZWJveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lc3NhZ2Vib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9tZXNzYWdlYm94L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lc3NhZ2Vib3gvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tZXNzYWdlYm94L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tbWVzc2FnZWJveC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIEBlYWNoICRjb2xvci1uYW1lLCAkY29sb3IgaW4gJGtlbmRvLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLW1lc3NhZ2Vib3gtI3skY29sb3ItbmFtZX0ge1xuICAgICAgICAgICAgQGlmICRjb2xvci1uYW1lID09IFwiaW52ZXJzZVwiIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggZGFyay1vbi1zdWJ0bGUgKSwgay1jb2xvci1sZXZlbCggJGNvbG9yLCAka2VuZG8tbWVzc2FnZS1ib3gtdGV4dC1sZXZlbCApKSxcbiAgICAgICAgICAgICAgICAgICAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGRhcmstc3VidGxlICksIGstY29sb3ItbGV2ZWwoICRjb2xvciwgJGtlbmRvLW1lc3NhZ2UtYm94LWJnLWxldmVsICkpLFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggZGFyay1ob3ZlciApLCBrLWNvbG9yLWxldmVsKCAkY29sb3IsICRrZW5kby1tZXNzYWdlLWJveC1ib3JkZXItbGV2ZWwgKSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JGNvbG9yLW5hbWV9LW9uLXN1YnRsZSApLCBrLWNvbG9yLWxldmVsKCAkY29sb3IsICRrZW5kby1tZXNzYWdlLWJveC10ZXh0LWxldmVsICkpLFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skY29sb3ItbmFtZX0tc3VidGxlICksIGstY29sb3ItbGV2ZWwoICRjb2xvciwgJGtlbmRvLW1lc3NhZ2UtYm94LWJnLWxldmVsICkpLFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skY29sb3ItbmFtZX0tZW1waGFzaXMgKSwgay1jb2xvci1sZXZlbCggJGNvbG9yLCAka2VuZG8tbWVzc2FnZS1ib3gtYm9yZGVyLWxldmVsICkpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1tZXNzYWdlYm94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZXNzYWdlYm94LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbWVzc2FnZWJveC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVzc2FnZWJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW1lc3NhZ2Vib3gtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcIm1lc3NhZ2Vib3hcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbWVzc2FnZWJveC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW1lc3NhZ2Vib3gtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZXNzYWdlYm94LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFByaW1pdGl2ZSBjb21wb25lbnRzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2RyYWdnYWJsZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RyYWdnYWJsZS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJkcmFnZ2FibGVcIixcbiAgICBkZXBlbmRlbmNpZXM6ICgpXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9kcmFnZ2FibGUvX3ZhcmlhYmxlcy5zY3NzXG4vLyBEcmFnIGhpbnRcbiRrZW5kby1kcmFnLWhpbnQtcGFkZGluZy14OiAka2VuZG8tcGFkZGluZy1tZC14ICFkZWZhdWx0O1xuJGtlbmRvLWRyYWctaGludC1wYWRkaW5nLXk6IGNhbGMoICN7JGtlbmRvLXBhZGRpbmctbWQteH0gLyAyICkgIWRlZmF1bHQ7XG4ka2VuZG8tZHJhZy1oaW50LWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1kcmFnLWhpbnQtYm9yZGVyLXJhZGl1czogOTk5OXB4ICFkZWZhdWx0O1xuJGtlbmRvLWRyYWctaGludC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbiRrZW5kby1kcmFnLWhpbnQtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuJGtlbmRvLWRyYWctaGludC1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1kcmFnLWhpbnQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWJvZHktYmcgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tZHJhZy1oaW50LXRleHQ6ICRrZW5kby1ib2R5LXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tZHJhZy1oaW50LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1kcmFnLWhpbnQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tZHJhZy1oaW50LXNoYWRvdzogJGJveC1zaGFkb3ctZGVwdGgtMyAhZGVmYXVsdDtcblxuJGtlbmRvLWRyYWctaGludC1vcGFjaXR5OiBudWxsICFkZWZhdWx0O1xuXG5cbi8vIERyb3AgaGludFxuJGtlbmRvLWRyb3AtaGludC1hcnJvdy1zaXplOiA4cHggIWRlZmF1bHQ7XG4ka2VuZG8tZHJvcC1oaW50LWFycm93LXNwYWNpbmc6IGstbWF0aC1kaXYoICRrZW5kby1kcm9wLWhpbnQtYXJyb3ctc2l6ZSwgMiApICFkZWZhdWx0O1xuJGtlbmRvLWRyb3AtaGludC1saW5lLWgtd2lkdGg6IDIwcHggIWRlZmF1bHQ7XG4ka2VuZG8tZHJvcC1oaW50LWxpbmUtaC1oZWlnaHQ6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1kcm9wLWhpbnQtbGluZS12LXdpZHRoOiAka2VuZG8tZHJvcC1oaW50LWxpbmUtaC1oZWlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8tZHJvcC1oaW50LWxpbmUtdi1oZWlnaHQ6ICRrZW5kby1kcm9wLWhpbnQtbGluZS1oLXdpZHRoICFkZWZhdWx0O1xuXG4ka2VuZG8tZHJvcC1oaW50LWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9kcmFnZ2FibGUvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RyYWdnYWJsZS9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kcmFnZ2FibGUvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZHJhZ2dhYmxlLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIExheW91dFxuICAgIC5rLWRyYWctY2x1ZSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1kcmFnLWhpbnQtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZHJhZy1oaW50LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1kcmFnLWhpbnQtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1kcmFnLWhpbnQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IGlmKCAka2VuZG8tZHJhZy1oaW50LWJvcmRlci13aWR0aCA9PSBudWxsLCBudWxsLCBzb2xpZCApO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1kcmFnLWhpbnQtZm9udC1zaXplO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWRyYWctaGludC1mb250LWZhbWlseTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1kcmFnLWhpbnQtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLWRyYWctaGludC1vcGFjaXR5O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDIwMDAwO1xuICAgICAgICBjdXJzb3I6IG1vdmU7XG4gICAgfVxuICAgIC5rLWRyYWctc3RhdHVzLFxuICAgIC5rLWRyYWctY2x1ZSAuay1kcmFnLXN0YXR1cyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNGV4O1xuICAgIH1cblxuXG4gICAgLy8gRHJvcCBoaW50XG4gICAgLmstZHJvcC1oaW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAka2VuZG8tZHJvcC1oaW50LWFycm93LXNwYWNpbmc7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG5cbiAgICAuay1kcm9wLWhpbnQtc3RhcnQsXG4gICAgLmstZHJvcC1oaW50LWVuZCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IGstbWF0aC1kaXYoICRrZW5kby1kcm9wLWhpbnQtYXJyb3ctc2l6ZSwgMiApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5rLWRyb3AtaGludC1saW5lIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZHJvcC1oaW50LWJnO1xuICAgIH1cblxuICAgIC5rLWRyb3AtaGludC1oIHtcbiAgICAgICAgLmstZHJvcC1oaW50LXN0YXJ0IHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAoIGstbWF0aC1kaXYoICRrZW5kby1kcm9wLWhpbnQtYXJyb3ctc2l6ZSwgMiApICogJGVxdWlsYXRlcmFsLWluZGV4ICk7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGtlbmRvLWRyb3AtaGludC1iZztcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyb3AtaGludC1saW5lIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZHJvcC1oaW50LWxpbmUtaC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWRyb3AtaGludC1saW5lLWgtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZHJvcC1oaW50LWVuZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6ICggay1tYXRoLWRpdiggJGtlbmRvLWRyb3AtaGludC1hcnJvdy1zaXplLCAyICkgKiAkZXF1aWxhdGVyYWwtaW5kZXggKTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGtlbmRvLWRyb3AtaGludC1iZztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZHJvcC1oaW50LXYge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC5rLWRyb3AtaGludC1zdGFydCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAoIGstbWF0aC1kaXYoICRrZW5kby1kcm9wLWhpbnQtYXJyb3ctc2l6ZSwgMiApICogJGVxdWlsYXRlcmFsLWluZGV4ICk7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAka2VuZG8tZHJvcC1oaW50LWJnO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyb3AtaGludC1saW5lIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZHJvcC1oaW50LWxpbmUtdi13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWRyb3AtaGludC1saW5lLXYtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZHJvcC1oaW50LWVuZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAoIGstbWF0aC1kaXYoICRrZW5kby1kcm9wLWhpbnQtYXJyb3ctc2l6ZSwgMiApICogJGVxdWlsYXRlcmFsLWluZGV4ICk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAka2VuZG8tZHJvcC1oaW50LWJnO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUmVvcmRlciBjdWVcbiAgICAuay1yZW9yZGVyLWN1ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIGJvdHRvbTogLTRweDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1kcmFnZ2FibGUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcmFnZ2FibGUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJhZ2dhYmxlLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJhZ2dhYmxlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZHJhZ2dhYmxlL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RyYWdnYWJsZS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RyYWdnYWJsZS9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRyYWdnYWJsZS0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIERyYWcgaGludFxuICAgIC5rLWRyYWctY2x1ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZHJhZy1oaW50LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZHJhZy1oaW50LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWRyYWctaGludC1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tZHJhZy1oaW50LWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1kcmFnLWhpbnQtc2hhZG93ICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyYWdnYWJsZS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJhZ2dhYmxlLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJhZ2dhYmxlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcmFnZ2FibGUtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1kcmFnZ2FibGUtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImRyYWdnYWJsZVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kcmFnZ2FibGUtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kcmFnZ2FibGUtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcmFnZ2FibGUtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImxpc3RcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJjaGVja2JveFwiLFxuICAgICAgICBcImljb25cIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2hlY2tib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jaGVja2JveC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJjaGVja2JveFwiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2NoZWNrYm94L192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9saXN0L192YXJpYWJsZXMuc2Nzc1xuLy8gTGlzdFxuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBMaXN0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIExpc3QgY29tcG9uZW50LCBpZiBubyBzaXplIGlzIHNldC5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20tZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkhZGVmYXVsdDtcbiRrZW5kby1saXN0LW1kLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbGctZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLWxnLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIExpc3QgY29tcG9uZW50LCBpZiBubyBzaXplIGlzIHNldC5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1zbS1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1tZC1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1sZy1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgTGlzdCBoZWFkZXIsIGlmIG5vIHNpemUgaXMgc2V0LlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1oZWFkZXItcGFkZGluZy14OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20taGVhZGVyLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbWQtaGVhZGVyLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbGctaGVhZGVyLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIExpc3QgaGVhZGVyLCBpZiBubyBzaXplIGlzIHNldC5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaGVhZGVyLXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LXNtLWhlYWRlci1wYWRkaW5nLXk6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbWQtaGVhZGVyLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbGctaGVhZGVyLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgTGlzdCBoZWFkZXIuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWhlYWRlci1ib3JkZXItd2lkdGg6IDAgMCAxcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBMaXN0IGhlYWRlciwgaWYgbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWhlYWRlci1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1zbS1oZWFkZXItZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbWQtaGVhZGVyLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LWxnLWhlYWRlci1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIExpc3QgaGVhZGVyLCBpZiBubyBzaXplIGlzIHNldC5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaGVhZGVyLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20taGVhZGVyLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbWQtaGVhZGVyLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbGctaGVhZGVyLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBMaXN0IGhlYWRlci5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaGVhZGVyLWZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZm9udC13ZWlnaHQtYm9sZCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBMaXN0IGl0ZW1zLCB3aGVuIG5vIHNpemUgaXMgc2V0LlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1pdGVtLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LXNtLWl0ZW0tcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1tZC1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbGctaXRlbS1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBMaXN0IGl0ZW1zLCB3aGVuIG5vIHNpemUgaXMgc2V0LlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1pdGVtLXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LXNtLWl0ZW0tcGFkZGluZy15OiBrLXNwYWNpbmcoMS41KSAhZGVmYXVsdDtcbiRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1sZy1pdGVtLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgTGlzdCBpdGVtcywgaWYgbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWl0ZW0tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20taXRlbS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1tZC1pdGVtLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LWxnLWl0ZW0tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBMaXN0IGl0ZW1zLCBpZiBubyBzaXplIGlzIHNldC5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaXRlbS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LXNtLWl0ZW0tbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1tZC1pdGVtLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbGctaXRlbS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIExpc3QgZ3JvdXAgaXRlbXMsIHdoZW4gbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20tZ3JvdXAtaXRlbS1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbiRrZW5kby1saXN0LW1kLWdyb3VwLWl0ZW0tcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1sZy1ncm91cC1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIExpc3QgZ3JvdXAgaXRlbXMsIHdoZW4gbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20tZ3JvdXAtaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbWQtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbiRrZW5kby1saXN0LWxnLWdyb3VwLWl0ZW0tcGFkZGluZy15OiBrLXNwYWNpbmcoMi41KSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIExpc3QgZ3JvdXAgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWdyb3VwLWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggMCAwICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgTGlzdCBncm91cCBpdGVtcywgaWYgbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWdyb3VwLWl0ZW0tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20tZ3JvdXAtaXRlbS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1tZC1ncm91cC1pdGVtLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LWxnLWdyb3VwLWl0ZW0tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBMaXN0IGdyb3VwIGl0ZW1zLCBpZiBubyBzaXplIGlzIHNldC5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LXNtLWdyb3VwLWl0ZW0tbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1tZC1ncm91cC1pdGVtLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbGctZ3JvdXAtaXRlbS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHdlaWdodCBvZiBhIExpc3QgZ3JvdXAgaXRlbS5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1mb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LWJvbGQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgbWFwIHdpdGggdGhlIHNpemVzIG9mIHRoZSBMaXN0LlxuLy8vIC8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3Qtc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1saXN0LXNtLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0LXNtLWxpbmUtaGVpZ2h0LFxuICAgICAgICBoZWFkZXItcGFkZGluZy14OiAka2VuZG8tbGlzdC1zbS1oZWFkZXItcGFkZGluZy14LFxuICAgICAgICBoZWFkZXItcGFkZGluZy15OiAka2VuZG8tbGlzdC1zbS1oZWFkZXItcGFkZGluZy15LFxuICAgICAgICBoZWFkZXItZm9udC1zaXplOiBudWxsLFxuICAgICAgICBoZWFkZXItbGluZS1oZWlnaHQ6IG51bGwsXG4gICAgICAgIGl0ZW0tcGFkZGluZy14OiAka2VuZG8tbGlzdC1zbS1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LXNtLWl0ZW0tcGFkZGluZy15LFxuICAgICAgICBpdGVtLWZvbnQtc2l6ZTogbnVsbCxcbiAgICAgICAgaXRlbS1saW5lLWhlaWdodDogbnVsbCxcbiAgICAgICAgZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICRrZW5kby1saXN0LXNtLWdyb3VwLWl0ZW0tcGFkZGluZy14LFxuICAgICAgICBncm91cC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLWxpc3Qtc20tZ3JvdXAtaXRlbS1wYWRkaW5nLXksXG4gICAgICAgIGdyb3VwLWl0ZW0tZm9udC1zaXplOiBudWxsLFxuICAgICAgICBncm91cC1pdGVtLWxpbmUtaGVpZ2h0OiBudWxsXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1saXN0LW1kLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0LW1kLWxpbmUtaGVpZ2h0LFxuICAgICAgICBoZWFkZXItcGFkZGluZy14OiAka2VuZG8tbGlzdC1tZC1oZWFkZXItcGFkZGluZy14LFxuICAgICAgICBoZWFkZXItcGFkZGluZy15OiAka2VuZG8tbGlzdC1tZC1oZWFkZXItcGFkZGluZy15LFxuICAgICAgICBoZWFkZXItZm9udC1zaXplOiBudWxsLFxuICAgICAgICBoZWFkZXItbGluZS1oZWlnaHQ6IG51bGwsXG4gICAgICAgIGl0ZW0tcGFkZGluZy14OiAka2VuZG8tbGlzdC1tZC1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy15LFxuICAgICAgICBpdGVtLWZvbnQtc2l6ZTogbnVsbCxcbiAgICAgICAgaXRlbS1saW5lLWhlaWdodDogbnVsbCxcbiAgICAgICAgZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICRrZW5kby1saXN0LW1kLWdyb3VwLWl0ZW0tcGFkZGluZy14LFxuICAgICAgICBncm91cC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLWxpc3QtbWQtZ3JvdXAtaXRlbS1wYWRkaW5nLXksXG4gICAgICAgIGdyb3VwLWl0ZW0tZm9udC1zaXplOiBudWxsLFxuICAgICAgICBncm91cC1pdGVtLWxpbmUtaGVpZ2h0OiBudWxsXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1saXN0LWxnLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0LWxnLWxpbmUtaGVpZ2h0LFxuICAgICAgICBoZWFkZXItcGFkZGluZy14OiAka2VuZG8tbGlzdC1sZy1oZWFkZXItcGFkZGluZy14LFxuICAgICAgICBoZWFkZXItcGFkZGluZy15OiAka2VuZG8tbGlzdC1sZy1oZWFkZXItcGFkZGluZy15LFxuICAgICAgICBoZWFkZXItZm9udC1zaXplOiBudWxsLFxuICAgICAgICBoZWFkZXItbGluZS1oZWlnaHQ6IG51bGwsXG4gICAgICAgIGl0ZW0tcGFkZGluZy14OiAka2VuZG8tbGlzdC1sZy1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LWxnLWl0ZW0tcGFkZGluZy15LFxuICAgICAgICBpdGVtLWZvbnQtc2l6ZTogbnVsbCxcbiAgICAgICAgaXRlbS1saW5lLWhlaWdodDogbnVsbCxcbiAgICAgICAgZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICRrZW5kby1saXN0LWxnLWdyb3VwLWl0ZW0tcGFkZGluZy14LFxuICAgICAgICBncm91cC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLWxpc3QtbGctZ3JvdXAtaXRlbS1wYWRkaW5nLXksXG4gICAgICAgIGdyb3VwLWl0ZW0tZm9udC1zaXplOiBudWxsLFxuICAgICAgICBncm91cC1pdGVtLWxpbmUtaGVpZ2h0OiBudWxsXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIExpc3QgY29tcG9uZW50LlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgTGlzdCBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBMaXN0IGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIExpc3QgaGVhZGVyLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1oZWFkZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIExpc3QgaGVhZGVyLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1oZWFkZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBMaXN0IGhlYWRlci5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaGVhZGVyLWJvcmRlcjogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgTGlzdCBoZWFkZXIuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWhlYWRlci1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBMaXN0IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1pdGVtLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBMaXN0IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1pdGVtLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBMaXN0IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1pdGVtLWhvdmVyLWJnOiAka2VuZG8taG92ZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgTGlzdCBpdGVtcy5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci10ZXh0OiAka2VuZG8taG92ZXItdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmb2N1c2VkIExpc3QgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWl0ZW0tZm9jdXMtYmc6ICRrZW5kby1saXN0LWl0ZW0taG92ZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZvY3VzZWQgTGlzdCBpdGVtcy5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIExpc3QgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWl0ZW0tZm9jdXMtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIExpc3QgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIExpc3QgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtdGV4dDogJGtlbmRvLWNvbG9yLXNlY29uZGFyeSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBMaXN0IGdyb3VwIGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1ncm91cC1pdGVtLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBMaXN0IGdyb3VwIGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1ncm91cC1pdGVtLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgTGlzdCBncm91cCBpdGVtcy5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1ib3JkZXI6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2Ugc2hhZG93IG9mIHRoZSBMaXN0IGdyb3VwIGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1ncm91cC1pdGVtLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciBvZiB0aGUgJ05vIERhdGEnIHRleHQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LW5vLWRhdGEtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIG9mIHRoZSAnT3B0aW9uIExhYmVsJyB0ZXh0LlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1vcHRpb24tbGFiZWwtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ2hlY2tCb3hcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgYSBzbWFsbCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1zbS1zaXplOiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIHNpemUgb2YgYSBtZWRpdW0gQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtbWQtc2l6ZTogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIGEgbGFyZ2UgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtbGctc2l6ZTogay1zcGFjaW5nKDUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGdseXBoIHNpemUgb2YgYSBzbWFsbCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1zbS1nbHlwaC1zaXplOiBrLXNwYWNpbmcoMi41KSAhZGVmYXVsdDtcbi8vLyBUaGUgZ2x5cGggc2l6ZSBvZiBhIG1lZGl1bSBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1tZC1nbHlwaC1zaXplOiBrLXNwYWNpbmcoMy41KSAhZGVmYXVsdDtcbi8vLyBUaGUgZ2x5cGggc2l6ZSBvZiBhIGxhcmdlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWxnLWdseXBoLXNpemU6IGstc3BhY2luZyg0LjUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHJpcHBsZSBzaXplIG9mIGEgc21hbGwgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtc20tcmlwcGxlLXNpemU6IDMwMCUgIWRlZmF1bHQ7XG4vLy8gVGhlIHJpcHBsZSBzaXplIG9mIGEgbWVkaXVtIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LW1kLXJpcHBsZS1zaXplOiAzMDAlICFkZWZhdWx0O1xuLy8vIFRoZSByaXBwbGUgc2l6ZSBvZiBhIGxhcmdlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWxnLXJpcHBsZS1zaXplOiAzMDAlICFkZWZhdWx0O1xuXG4vLyBBIG1hcCB3aXRoIHRoZSBkaWZmZXJlbnQgQ2hlY2tCb3ggc2l6ZXMuXG4ka2VuZG8tY2hlY2tib3gtc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBzaXplOiAka2VuZG8tY2hlY2tib3gtc20tc2l6ZSxcbiAgICAgICAgZ2x5cGgtc2l6ZTogJGtlbmRvLWNoZWNrYm94LXNtLWdseXBoLXNpemUsXG4gICAgICAgIHJpcHBsZS1zaXplOiAka2VuZG8tY2hlY2tib3gtc20tcmlwcGxlLXNpemVcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIHNpemU6ICRrZW5kby1jaGVja2JveC1tZC1zaXplLFxuICAgICAgICBnbHlwaC1zaXplOiAka2VuZG8tY2hlY2tib3gtbWQtZ2x5cGgtc2l6ZSxcbiAgICAgICAgcmlwcGxlLXNpemU6ICRrZW5kby1jaGVja2JveC1tZC1yaXBwbGUtc2l6ZVxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgc2l6ZTogJGtlbmRvLWNoZWNrYm94LWxnLXNpemUsXG4gICAgICAgIGdseXBoLXNpemU6ICRrZW5kby1jaGVja2JveC1sZy1nbHlwaC1zaXplLFxuICAgICAgICByaXBwbGUtc2l6ZTogJGtlbmRvLWNoZWNrYm94LWxnLXJpcHBsZS1zaXplXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NCUsIHRyYW5zcGFyZW50KSwgcmdiYSggaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApLCAuNTQgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1ob3Zlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtaG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNoZWNrZWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtY2hlY2tlZC1iZzogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGNoZWNrZWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtY2hlY2tlZC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tcHJpbWFyeSApLCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tY2hlY2tib3gtY2hlY2tlZC1iZyApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBjaGVja2VkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtYm9yZGVyOiAka2VuZG8tY2hlY2tib3gtY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBpbmRldGVybWluYXRlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmc6ICRrZW5kby1jaGVja2JveC1jaGVja2VkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBpbmRldGVybWluYXRlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdGV4dDogJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBpbmRldGVybWluYXRlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYm9yZGVyOiAka2VuZG8tY2hlY2tib3gtY2hlY2tlZC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1mb2N1cy1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBhbmQgY2hlY2tlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1mb2N1cy1jaGVja2VkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBhbmQgY2hlY2tlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1mb2N1cy1jaGVja2VkLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWVtcGhhc2lzICksIGstdHJ5LXNoYWRlKCAka2VuZG8tY29tcG9uZW50LWJnLCA0ICkpICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYW5kIGNoZWNrZWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZC1iZzogJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYW5kIGNoZWNrZWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYmFzZSApLCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZC1iZyApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBhbmQgY2hlY2tlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkLWJvcmRlcjogJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBpbnZhbGlkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWludmFsaWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgYW4gaW52YWxpZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1pbnZhbGlkLXRleHQ6ICRrZW5kby1pbnZhbGlkLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiBhbiBpbnZhbGlkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWludmFsaWQtYm9yZGVyOiAka2VuZG8taW52YWxpZC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8gQ2hlY2tCb3ggaW5kaWNhdG9yXG5cbi8vLyBUaGUgdHlwZSBvZiB0aGUgQ2hlY2tCb3ggaW5kaWNhdG9yLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWluZGljYXRvci10eXBlOiBpbWFnZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgQ2hlY2tCb3ggaW5kaWNhdG9yIGdseXBoLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWdseXBoLWZvbnQtZmFtaWx5OiBcIldlYkNvbXBvbmVudHNJY29uc1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4ka2VuZG8tY2hlY2tib3gtZ2x5cGgtc2l6ZTogMTBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZ2x5cGggb2YgdGhlIENoZWNrQm94IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1jaGVja2VkLWdseXBoOiBcIlxcZTExOFwiICFkZWZhdWx0O1xuLy8vIFRoZSBnbHlwaCBvZiB0aGUgaW5kZXRlcm1pbmF0ZSBDaGVja0JveCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1nbHlwaDogXCJcXGUxMjFcIiAhZGVmYXVsdDtcblxuLy8vIFRoZSBpbWFnZSBmb3IgYSBjaGVja2VkIENoZWNrQm94IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1jaGVja2VkLWltYWdlOiBrLWVzY2FwZS1zdmcoIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtdGV4dH0nIHN0cm9rZS13aWR0aD0nMycgZD0nTTQuMSwxMi43IDksMTcuNiAyMC4zLDYuMycvPjwvc3ZnPlwiKSApICFkZWZhdWx0O1xuLy8vIFRoZSBpbWFnZSBmb3IgYSBpbmRldGVybWluYXRlIENoZWNrQm94IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBrLWVzY2FwZS1zdmcoIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdGV4dH0nIHN0cm9rZS13aWR0aD0nMycgZD0nTTQgMTBoMTInLz48L3N2Zz5cIikgKSAhZGVmYXVsdDtcblxuXG4vLyBDaGVja0JveCBsYWJlbFxuXG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBDaGVja0JveCBpbnNpZGUgYSBsYWJlbC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1sYWJlbC1tYXJnaW4teDogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuXG5cbi8vIENoZWNrQm94IGxpc3RcblxuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIGl0ZW1zIGluIGEgaG9yaXpvbnRhbCBDaGVja0JveCBsaXN0LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWxpc3Qtc3BhY2luZzogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENoZWNrQm94IGxpc3QgaXRlbXMuXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtbGlzdC1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBDaGVja0JveCBsaXN0IGl0ZW1zLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWxpc3QtaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy15ICFkZWZhdWx0O1xuXG5cbi8vIENoZWNrQm94IHJpcHBsZVxuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENoZWNrQm94JyByaXBwbGUuXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtcmlwcGxlLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgb3BhY2l0eSBvZiB0aGUgQ2hlY2tCb3gnIHJpcHBsZS5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1yaXBwbGUtb3BhY2l0eTogLjIgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvY2hlY2tib3gvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoZWNrYm94L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoZWNrYm94L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWNoZWNrYm94LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIENoZWNrYm94XG4gICAgLmstY2hlY2tib3gge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1jaGVja2JveC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBDaGVja2JveCBpbmRpY2F0b3JcbiAgICAuay1jaGVja2JveDo6YmVmb3JlIHtcbiAgICAgICAgQGlmICRrZW5kby1jaGVja2JveC1pbmRpY2F0b3ItdHlwZSA9PSBcImdseXBoXCIge1xuICAgICAgICAgICAgY29udGVudDogJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtZ2x5cGg7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWNoZWNrYm94LWdseXBoLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tlZCBzdGF0ZVxuICAgIC5rLWNoZWNrYm94OmNoZWNrZWQsXG4gICAgLmstY2hlY2tib3guay1jaGVja2VkIHtcbiAgICAgICAgQGlmICRrZW5kby1jaGVja2JveC1pbmRpY2F0b3ItdHlwZSA9PSBcImltYWdlXCIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtaW1hZ2U7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGtlbmRvLWNoZWNrYm94LWluZGljYXRvci10eXBlID09IFwiZ2x5cGhcIiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBJbmRldGVybWluYXRlIHN0YXRlXG4gICAgLmstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbiAgICAuay1jaGVja2JveC5rLWluZGV0ZXJtaW5hdGUge1xuICAgICAgICBAaWYgJGtlbmRvLWNoZWNrYm94LWluZGljYXRvci10eXBlID09IFwiaW1hZ2VcIiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAka2VuZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAka2VuZG8tY2hlY2tib3gtaW5kaWNhdG9yLXR5cGUgPT0gXCJnbHlwaFwiIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtZ2x5cGg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgLmstY2hlY2tib3g6ZGlzYWJsZWQsXG4gICAgLmstY2hlY2tib3guay1kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGRpc2FibGVkKCAka2VuZG8tZGlzYWJsZWQtc3R5bGluZy4uLiApO1xuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tib3ggd3JhcFxuICAgIC5rLWNoZWNrYm94LXdyYXAge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENoZWNrYm94IGxhYmVsXG4gICAgLmstY2hlY2tib3gtbGFiZWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAka2VuZG8tY2hlY2tib3gtbGFiZWwtbWFyZ2luLXg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5rLXJpcHBsZSB7XG4gICAgICAgICAgICAvLyBIaWRlIHJpcHBsZSB0ZW1wb3JhcmlseVxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstY2hlY2tib3ggKyAuay1sYWJlbCxcbiAgICAuay1jaGVja2JveC13cmFwICsgLmstbGFiZWwsXG4gICAgLmstY2hlY2tib3ggKyAuay1jaGVja2JveC1sYWJlbCxcbiAgICAuay1jaGVja2JveC13cmFwICsgLmstY2hlY2tib3gtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRrZW5kby1jaGVja2JveC1sYWJlbC1tYXJnaW4teDtcbiAgICB9XG5cblxuICAgIC8vIEVtcHR5IGxhYmVsXG4gICAgLmstY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuICAgIC5rLWNoZWNrYm94LWxhYmVsLmstbm8tdGV4dCB7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tib3ggbGlzdFxuICAgIC5rLWNoZWNrYm94LWxpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgICAuay1jaGVja2JveC1pdGVtLFxuICAgIC5rLWNoZWNrYm94LWxpc3QtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1jaGVja2JveC1saXN0LWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNoZWNrYm94LWxpc3QtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IGstc3BhY2luZygxKTtcblxuICAgICAgICAuay1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstY2hlY2tib3gtbGlzdC1ob3Jpem9udGFsLFxuICAgIC5rLWNoZWNrYm94LWxpc3Quay1saXN0LWhvcml6b250YWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBnYXA6ICRrZW5kby1jaGVja2JveC1saXN0LXNwYWNpbmc7XG4gICAgfVxuXG5cbiAgICAvLyBSaXBwbGVcbiAgICAuay1yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgICAgLmstY2hlY2tib3g6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBsaW5lYXIsIHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNoZWNrYm94OmZvY3VzLFxuICAgICAgICAuay1jaGVja2JveC5rLWZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNoZWNrYm94OmRpc2FibGVkOjphZnRlcixcbiAgICAgICAgLmstY2hlY2tib3guay1kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tib3ggc2l6ZVxuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tY2hlY2tib3gtc2l6ZXMge1xuICAgICAgICAkX3NpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHNpemUgKTtcbiAgICAgICAgJF9nbHlwaC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBnbHlwaC1zaXplICk7XG4gICAgICAgICRfcmlwcGxlLXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHJpcHBsZS1zaXplICk7XG5cbiAgICAgICAgLmstY2hlY2tib3gtI3skc2l6ZX0ge1xuICAgICAgICAgICAgd2lkdGg6ICRfc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJF9zaXplO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9nbHlwaC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLXJpcHBsZS1jb250YWluZXIge1xuICAgICAgICAgICAgLmstY2hlY2tib3gtI3skc2l6ZX06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJF9yaXBwbGUtc2l6ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRfcmlwcGxlLXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tY2hlY2tib3gtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jaGVja2JveC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jaGVja2JveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNoZWNrYm94LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvY2hlY2tib3gvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2hlY2tib3gvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jaGVja2JveC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWNoZWNrYm94LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gQ2hlY2tib3hcbiAgICAuay1jaGVja2JveCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tY2hlY2tib3gtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1iZyxcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgLmstY2hlY2tib3g6aG92ZXIsXG4gICAgLmstY2hlY2tib3guay1ob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tY2hlY2tib3gtaG92ZXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1ob3Zlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1ob3Zlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgLmstY2hlY2tib3g6Zm9jdXMsXG4gICAgLmstY2hlY2tib3guay1mb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1jaGVja2JveC1mb2N1cy1ib3JkZXIgKTtcbiAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tY2hlY2tib3gtZm9jdXMtc2hhZG93ICk7XG4gICAgfVxuXG5cbiAgICAvLyBJbmRldGVybWluYXRlXG4gICAgLmstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbiAgICAuay1jaGVja2JveC5rLWluZGV0ZXJtaW5hdGUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1pbmRldGVybWluYXRlLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBDaGVja2VkXG4gICAgLmstY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAuay1jaGVja2JveC5rLWNoZWNrZWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1jaGVja2VkLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuICAgIC5rLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gICAgLmstY2hlY2tib3guay1jaGVja2VkLmstZm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tY2hlY2tib3gtZm9jdXMtY2hlY2tlZC1ib3JkZXIgKTtcbiAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tY2hlY2tib3gtZm9jdXMtY2hlY2tlZC1zaGFkb3cgKTtcbiAgICB9XG5cblxuICAgIC8vIERpc2FibGVkXG4gICAgLmstY2hlY2tib3g6ZGlzYWJsZWQsXG4gICAgLmstY2hlY2tib3guay1kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1iZyxcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstY2hlY2tib3g6Y2hlY2tlZDpkaXNhYmxlZCxcbiAgICAuay1jaGVja2JveDppbmRldGVybWluYXRlOmRpc2FibGVkLFxuICAgIC5rLWNoZWNrYm94LmstY2hlY2tlZC5rLWRpc2FibGVkLFxuICAgIC5rLWNoZWNrYm94LmstaW5kZXRlcm1pbmF0ZS5rLWRpc2FibGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZC1iZyxcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gSW52YWxpZFxuICAgIC5rLWNoZWNrYm94LmstaW52YWxpZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1jaGVja2JveC1pbnZhbGlkLWJvcmRlciApO1xuICAgIH1cbiAgICAuay1jaGVja2JveC5rLWludmFsaWQgKyAuay1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLWNoZWNrYm94LWludmFsaWQtdGV4dCApO1xuICAgIH1cblxuXG4gICAgLy8gUmlwcGxlXG4gICAgLmstY2hlY2tib3gtd3JhcCAuay1yaXBwbGUtYmxvYiB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tY2hlY2tib3gtcmlwcGxlLWJnO1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8tY2hlY2tib3gtcmlwcGxlLW9wYWNpdHk7XG4gICAgfVxuICAgIC5rLXJpcHBsZS1jb250YWluZXIge1xuICAgICAgICAuay1jaGVja2JveDo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLWNoZWNrYm94LXJpcHBsZS1iZztcbiAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1jaGVja2JveC1yaXBwbGUtb3BhY2l0eTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jaGVja2JveC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hlY2tib3gtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jaGVja2JveC0tdGhlbWUoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1jaGVja2JveC0tdGhlbWUtYmFzZSgpO1xuXG4gICAgLy8gQ2hlY2tib3hcbiAgICAuay1jaGVja2JveC1sYWJlbCB7XG5cbiAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgLmstY2hlY2tib3g6ZGlzYWJsZWQgKyAmIHtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VidGxlICksIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGxpZ2h0LXNlY29uZGFyeS10ZXh0LCAkZGFyay1zZWNvbmRhcnktdGV4dCApKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1jaGVja2JveC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiY2hlY2tib3hcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY2hlY2tib3gtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jaGVja2JveC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNoZWNrYm94LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9saXN0L192YXJpYWJsZXMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvbGlzdC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbGlzdC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9saXN0L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWxpc3QtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gTGlzdCBjb250YWluZXJcbiAgICAuay1saXN0LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblxuICAgICAgICA+IC5rLWxpc3Qge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExpc3RcbiAgICAuay1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWxpc3QtZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWxpc3QtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWxpc3QtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTGlzdCBpbiBwb3B1cFxuICAgIC5rLXBvcHVwID4gLmstbGlzdCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuXG4gICAgLy8gTGlzdCBoZWFkZXJcbiAgICAvLyAuay1saXN0LWhlYWRlcixcbiAgICAuay1saXN0LWdyb3VwLXN0aWNreS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdC1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWxpc3QtaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1saXN0LWhlYWRlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWxpc3QtaGVhZGVyLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0LWhlYWRlci1saW5lLWhlaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRrZW5kby1saXN0LWhlYWRlci1mb250LXdlaWdodDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuXG4gICAgLy8gTGlzdCBjb250ZW50XG4gICAgLmstbGlzdC1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gTGlzdCBVTFxuICAgIC5rLWxpc3QtdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0IGl0ZW1cbiAgICAuay1saXN0LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1saXN0LWl0ZW0tcGFkZGluZy14O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWxpc3QtaXRlbS1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbGlzdC1pdGVtLWxpbmUtaGVpZ2h0O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6ICRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIG91dGxpbmUtY29sb3IsIGJveC1zaGFkb3c7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcblxuICAgICAgICAmLmstZmlyc3Q6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1saXN0LWl0ZW0tdGV4dCxcbiAgICAuay1saXN0LWhlYWRlci10ZXh0LFxuICAgIC5rLWxpc3Qtb3B0aW9ubGFiZWwge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWxpc3Qtb3B0aW9ubGFiZWwge1xuICAgICAgICBAZXh0ZW5kIC5rLWxpc3QtaXRlbSAhb3B0aW9uYWw7XG4gICAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0IGdyb3VwIGl0ZW1cbiAgICAuay1saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbGlzdC1ncm91cC1pdGVtLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1mb250LXdlaWdodDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAka2VuZG8taWNvbi1zcGFjaW5nO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0IGl0ZW0gZ3JvdXAgbGFiZWxcbiAgICAuay1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBWaXJ0dWFsaXphdGlvblxuICAgIC5rLXZpcnR1YWwtbGlzdCB7fVxuICAgIC5rLXZpcnR1YWwtY29udGVudCxcbiAgICAuay12aXJ0dWFsLWxpc3QgLmstbGlzdC1jb250ZW50IHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cbiAgICAuay12aXJ0dWFsLWxpc3QgLmstbGlzdC1pdGVtLFxuICAgIC5rLXZpcnR1YWwtbGlzdCAuay1saXN0LWdyb3VwLWl0ZW0sXG4gICAgLmstdmlydHVhbC1jb250ZW50IC5rLWxpc3QtaXRlbSxcbiAgICAuay12aXJ0dWFsLWNvbnRlbnQgLmstbGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmstdmlydHVhbC1saXN0IC5rLWxpc3QtaXRlbS10ZXh0LFxuICAgIC5rLXZpcnR1YWwtbGlzdCAuay1saXN0LWhlYWRlci10ZXh0IHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuICAgIC5rLXZpcnR1YWwtbGlzdCAuay1saXN0LW9wdGlvbmxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gRmlsdGVyXG4gICAgLmstbGlzdC1maWx0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAka2VuZG8tcGFkZGluZy1tZC14O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbGV4OiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gU3dpdGNoIHNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1saXN0LXNpemVzIHtcbiAgICAgICAgJF9mb250LXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGZvbnQtc2l6ZSApO1xuICAgICAgICAkX2xpbmUtaGVpZ2h0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBsaW5lLWhlaWdodCApO1xuICAgICAgICAkX2ZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfaGVhZGVyLXBhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgaGVhZGVyLXBhZGRpbmcteCApO1xuICAgICAgICAkX2hlYWRlci1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGhlYWRlci1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9oZWFkZXItZm9udC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBoZWFkZXItZm9udC1zaXplICk7XG4gICAgICAgICRfaGVhZGVyLWxpbmUtaGVpZ2h0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBoZWFkZXItbGluZS1oZWlnaHQgKTtcbiAgICAgICAgJF9pdGVtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgaXRlbS1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9pdGVtLXBhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgaXRlbS1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9pdGVtLWZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgaXRlbS1mb250LXNpemUgKTtcbiAgICAgICAgJF9pdGVtLWxpbmUtaGVpZ2h0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBpdGVtLWxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfZ3JvdXAtaXRlbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGdyb3VwLWl0ZW0tcGFkZGluZy14ICk7XG4gICAgICAgICRfZ3JvdXAtaXRlbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGdyb3VwLWl0ZW0tcGFkZGluZy15ICk7XG4gICAgICAgICRfZ3JvdXAtaXRlbS1mb250LXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGdyb3VwLWl0ZW0tZm9udC1zaXplICk7XG4gICAgICAgICRfZ3JvdXAtaXRlbS1saW5lLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZ3JvdXAtaXRlbS1saW5lLWhlaWdodCApO1xuXG4gICAgICAgIC5rLWxpc3QtI3skc2l6ZX0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2xpbmUtaGVpZ2h0O1xuXG4gICAgICAgICAgICAvLyAuay1saXN0LWhlYWRlcixcbiAgICAgICAgICAgIC5rLWxpc3QtZ3JvdXAtc3RpY2t5LWhlYWRlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9oZWFkZXItcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX2hlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkX2hlYWRlci1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRfaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1saXN0LWl0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkX2l0ZW0tZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2l0ZW0tbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9ncm91cC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9ncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRfZ3JvdXAtaXRlbS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRfZ3JvdXAtaXRlbS1saW5lLWhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTm8gZGF0YVxuICAgIC5rLW5vLWRhdGEge1xuICAgICAgICBtaW4taGVpZ2h0OiAxNDBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG5cbiAgICAvLyBBbGlhc1xuICAgIC5rLW5vZGF0YSB7XG4gICAgICAgIEBleHRlbmQgLmstbm8tZGF0YSAhb3B0aW9uYWw7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWxpc3QtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWxpc3QtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvbGlzdC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9saXN0L190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbGlzdC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWxpc3QtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBMaXN0XG4gICAgLmstbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tbGlzdC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWxpc3QtYmcsXG4gICAgICAgICAgICAka2VuZG8tbGlzdC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIExpc3QgaGVhZGVyXG4gICAgLy8gLmstbGlzdC1oZWFkZXIsXG4gICAgLmstbGlzdC1ncm91cC1zdGlja3ktaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1saXN0LWhlYWRlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWxpc3QtaGVhZGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWxpc3QtaGVhZGVyLWJvcmRlcixcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWxpc3QtaGVhZGVyLXNoYWRvdyApO1xuICAgIH1cblxuXG4gICAgLy8gTGlzdCBpdGVtXG4gICAgLmstbGlzdC1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tYmdcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIb3ZlclxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLWZvY3VzLWJnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tbGlzdC1pdGVtLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0ZWRcbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtYmdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLXNlbGVjdGVkOmhvdmVyLFxuICAgICAgICAmLmstc2VsZWN0ZWQuay1ob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWxpc3QtaXRlbS1zZWxlY3RlZC10ZXh0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktaG92ZXIgKSwgay1jb2xvci1zaGFkZSggJGtlbmRvLWxpc3QtaXRlbS1zZWxlY3RlZC1iZyApKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9wdGlvbiBMYWJlbFxuICAgIC5rLWxpc3Qtb3B0aW9ubGFiZWwsXG4gICAgLmstbGlzdC1vcHRpb25sYWJlbC5rLWhvdmVyLFxuICAgIC5rLWxpc3Qtb3B0aW9ubGFiZWw6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWxpc3Qtb3B0aW9uLWxhYmVsLXRleHQ7XG4gICAgfVxuXG4gICAgLy8gTGlzdCBncm91cCBpdGVtXG4gICAgLmstbGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1saXN0LWdyb3VwLWl0ZW0tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1saXN0LWdyb3VwLWl0ZW0tYmcsXG4gICAgICAgICAgICAka2VuZG8tbGlzdC1ncm91cC1pdGVtLWJvcmRlcixcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1zaGFkb3cgKTtcbiAgICB9XG5cblxuICAgIC8vIExpc3QgaXRlbSBncm91cCBsYWJlbFxuICAgIC5rLWxpc3QtaXRlbS1ncm91cC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tbGlzdC1iZyxcbiAgICAgICAgICAgICRrZW5kby1saXN0LXRleHRcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIE5vIGRhdGFcbiAgICAuay1uby1kYXRhIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1saXN0LW5vLWRhdGEtdGV4dDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbGlzdC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbGlzdC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWxpc3QtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3QtLXRoZW1lLWJhc2UoKTtcblxuICAgIC8vIExpc3QgaXRlbVxuICAgIC5rLWxpc3QtaXRlbSB7XG4gICAgICAgICYuay1zZWxlY3RlZDpob3ZlcixcbiAgICAgICAgJi5rLXNlbGVjdGVkLmstaG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtYWN0aXZlICksIGstY29sb3Itc2hhZGUoICRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtYmcgKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tbGlzdC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwibGlzdFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1saXN0LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbGlzdC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3QtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2xpc3Rncm91cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3Rncm91cC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJsaXN0Z3JvdXBcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2xpc3Rncm91cC9fdmFyaWFibGVzLnNjc3Ncbi8vIExpc3Rncm91cFxuJGtlbmRvLWxpc3Rncm91cC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1saXN0Z3JvdXAtYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKSAhZGVmYXVsdDtcblxuJGtlbmRvLWxpc3Rncm91cC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbiRrZW5kby1saXN0Z3JvdXAtbGluZS1oZWlnaHQ6IGstbWF0aC1kaXYoIDIwLCAxNCApICFkZWZhdWx0O1xuXG4ka2VuZG8tbGlzdGdyb3VwLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Rncm91cC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdGdyb3VwLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbiRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbiRrZW5kby1saXN0Z3JvdXAtaXRlbS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9saXN0Z3JvdXAvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3Rncm91cC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9saXN0Z3JvdXAvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tbGlzdGdyb3VwLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLWxpc3Rncm91cCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1saXN0Z3JvdXAtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWxpc3Rncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWxpc3Rncm91cC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbGlzdGdyb3VwLWxpbmUtaGVpZ2h0O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQm9yZGVycyBvZiBpdGVtc1xuICAgICAgICAuay1saXN0Z3JvdXAtaXRlbSArIC5rLWxpc3Rncm91cC1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRrZW5kby1saXN0Z3JvdXAtaXRlbS1ib3JkZXItd2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdGdyb3VwLWZsdXNoIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggMCApO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIH1cblxuXG4gICAgLmstbGlzdGdyb3VwLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiBjYWxjKCAjeyRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXl9ICogLTEgKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoICN7JGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteH0gKiAtMSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgID4gLmstc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdGdyb3VwLWl0ZW0tc2VnbWVudGVkIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgPiAuay1saW5rIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstc2VsZWN0IHtcbiAgICAgICAgICAgIG1hcmdpbjogY2FsYyggI3ska2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15fSAqIC0xICkgY2FsYyggI3ska2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy14fSAqIC0xICkgY2FsYyggI3ska2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15fSAqIC0xICkgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwIDFweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEZvcm1zIGluIGxpc3Rncm91cFxuICAgIC5rLWxpc3Rncm91cC1mb3JtLXJvdyB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogY2FsYyggI3ska2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15fSAqIC0xICk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoICN7JGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteH0gKiAtMSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5rLWxpc3Rncm91cC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGlzdGdyb3VwLWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNGVtO1xuICAgICAgICAgICAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdGdyb3VwLWl0ZW0uay1saXN0Z3JvdXAtZm9ybS1yb3cge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG5cbiAgICBbZGlyPVwicnRsXCJdIHtcblxuICAgICAgICAuay1saXN0Z3JvdXAtaXRlbSB7XG5cbiAgICAgICAgICAgID4gLmstbGluayB7XG5cbiAgICAgICAgICAgICAgICA+IC5rLXNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1saXN0Z3JvdXAtaXRlbS1zZWdtZW50ZWQge1xuXG4gICAgICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyggI3ska2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy14fSAqIC0xICk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmstc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoICN7JGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteH0gKiAtMSApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBObyBmbGV4Ym94IGZpeFxuICAgIC5rLW5vZmxleGJveCB7XG4gICAgICAgIC5rLWxpc3Rncm91cCxcbiAgICAgICAgLmstbGlzdGdyb3VwID4gdWxcbiAgICAgICAgLmstbGlzdGdyb3VwLWl0ZW0sXG4gICAgICAgIC5rLWxpc3Rncm91cC1pdGVtID4gLmstbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1saXN0Z3JvdXAtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0Z3JvdXAtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbGlzdGdyb3VwLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbGlzdGdyb3VwLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvbGlzdGdyb3VwL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3Rncm91cC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3Rncm91cC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWxpc3Rncm91cC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIExpc3Rncm91cFxuICAgIC5rLWxpc3Rncm91cCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tbGlzdGdyb3VwLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tbGlzdGdyb3VwLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWxpc3Rncm91cC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbGlzdGdyb3VwLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0Z3JvdXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1saXN0Z3JvdXAtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rncm91cC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWxpc3Rncm91cC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwibGlzdGdyb3VwXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rncm91cC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rncm91cC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rncm91cC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vb3ZlcmxheS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL292ZXJsYXkvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwib3ZlcmxheVwiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL292ZXJsYXkvX3ZhcmlhYmxlcy5zY3NzXG4ka2VuZG8tb3ZlcmxheS10aGVtZS1jb2xvcnM6ICRrZW5kby10aGVtZS1jb2xvcnMgIWRlZmF1bHQ7XG5cbiRrZW5kby1vdmVybGF5LWJnOiAka2VuZG8tY29sb3ItYmxhY2sgIWRlZmF1bHQ7XG4ka2VuZG8tb3ZlcmxheS1vcGFjaXR5OiAuMzIgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3Mvb3ZlcmxheS9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvb3ZlcmxheS9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9vdmVybGF5L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLW92ZXJsYXktLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gT3ZlcmxheVxuICAgIC5rLW92ZXJsYXkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8tb3ZlcmxheS1vcGFjaXR5O1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTAwMDE7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLW92ZXJsYXktLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1vdmVybGF5LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW92ZXJsYXktLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1vdmVybGF5LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3Mvb3ZlcmxheS9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9vdmVybGF5L190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvb3ZlcmxheS9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLW92ZXJsYXktLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBPdmVybGF5XG4gICAgLmstb3ZlcmxheSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1vdmVybGF5LWJnO1xuICAgIH1cblxuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tb3ZlcmxheS10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1vdmVybGF5LSN7JG5hbWV9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1vdmVybGF5LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1vdmVybGF5LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tb3ZlcmxheS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tb3ZlcmxheS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW92ZXJsYXktLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcIm92ZXJsYXlcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tb3ZlcmxheS0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW92ZXJsYXktLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1vdmVybGF5LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInBvcHVwXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX3ZhcmlhYmxlcy5zY3NzXG4vLy8gSG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVmVydGljYWwgcGFkZGluZyBvZiB0aGUgcG9wdXAuXG4vLy8gQGdyb3VwIHBvcHVwXG4ka2VuZG8tcG9wdXAtcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuLy8vIFdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1ib3JkZXItcmFkaXVzOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBMaW5lIGhlaWdodCBvZiB0aGUgcG9wdXAuXG4vLy8gQGdyb3VwIHBvcHVwXG4ka2VuZG8tcG9wdXAtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBIb3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHBvcHVwIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHBvcHVwXG4ka2VuZG8tcG9wdXAtY29udGVudC1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBWZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBwb3B1cCBjb250ZW50LlxuLy8vIEBncm91cCBwb3B1cFxuJGtlbmRvLXBvcHVwLWNvbnRlbnQtcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIEJveCBzaGFkb3cgb2YgdGhlIHBvcHVwLlxuLy8vIEBncm91cCBwb3B1cFxuJGtlbmRvLXBvcHVwLXNoYWRvdzogJGJveC1zaGFkb3ctZGVwdGgtNCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcG9wdXAvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcG9wdXAvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tcG9wdXAtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQW5pbWF0aW9uIENvbnRhaW5lclxuICAgIC5rLWFuaW1hdGlvbi1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAmLWZpeGVkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtcmVsYXRpdmUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstYW5pbWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzLW9ubHkoICRrZW5kby1ib3JkZXItcmFkaXVzLW1kICk7XG4gICAgfVxuXG4gICAgLmstYW5pbWF0aW9uLWNvbnRhaW5lci1zaG93biB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8vIFBvcHVwXG4gICAgLmstcG9wdXAge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tcG9wdXAtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIC8vIHBhZGRpbmctYmxvY2s6ICRrZW5kby1wb3B1cC1wYWRkaW5nLXk7XG4gICAgICAgIC8vIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcG9wdXAtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1wb3B1cC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXBvcHVwLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1wb3B1cC1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcG9wdXAgPiAuay1jb2xvcnBhbGV0dGUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcG9wdXAtY29udGVudC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcG9wdXAtY29udGVudC1wYWRkaW5nLXg7XG4gICAgfVxuXG4gICAgLy8gVHJhbnNwYXJlbnQgcG9wdXBcbiAgICAuay1wb3B1cC5rLXBvcHVwLXRyYW5zcGFyZW50IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBGbHVzaCBwb3B1cFxuICAgIC5rLXBvcHVwLmstcG9wdXAtZmx1c2gge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIENoaWxkIGNvbXBvbmVudHNcbiAgICAuay1wb3B1cCA+IC5rLXdpZGdldCxcbiAgICAuay1wb3B1cCA+IC5rLWNvbG9yZWRpdG9yIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC8vIExlZ2FjeSBzaGFkb3dcbiAgICAuay1zaGFkb3cge1xuICAgICAgICBib3gtc2hhZG93OiAka2VuZG8tcG9wdXAtc2hhZG93O1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1wb3B1cC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBvcHVwLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXBvcHVwLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcG9wdXAtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wb3B1cC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BvcHVwL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tcG9wdXAtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1wb3B1cCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcG9wdXAtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1wb3B1cC1iZyxcbiAgICAgICAgICAgICRrZW5kby1wb3B1cC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXBvcHVwLXNoYWRvdyApO1xuICAgIH1cblxuICAgIC5rLWFuaW1hdGlvbi1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cy1vbmx5KCBrLWJvcmRlci1yYWRpdXMobWQpICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXBvcHVwLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wb3B1cC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXBvcHVwLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wb3B1cC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXBvcHVwLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJwb3B1cFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1wb3B1cC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXBvcHVwLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tcG9wdXAtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3JpcHBsZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3JpcHBsZS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJyaXBwbGVcIixcbiAgICBkZXBlbmRlbmNpZXM6ICgpXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9yaXBwbGUvX3ZhcmlhYmxlcy5zY3NzXG4vLyBSaXBwbGVcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9yaXBwbGUvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3JpcHBsZS9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yaXBwbGUvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tcmlwcGxlLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLXJpcHBsZS10YXJnZXQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmstcmlwcGxlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5rLXJpcHBsZS1ibG9iIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBsaW5lYXIsIHRyYW5zZm9ybSA1MDBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbiAgICAgICAgb3BhY2l0eTogLjE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgICAgICAuay1wcmltYXJ5ICYge1xuICAgICAgICAgICAgb3BhY2l0eTogLjI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1yaXBwbGUtZm9jdXM6OmFmdGVyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgYW5pbWF0aW9uOiByaXBwbGUgNjAwbXMgZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyByaXBwbGUge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcbiAgICAgICAgfVxuICAgICAgICAyMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcmlwcGxlLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcmlwcGxlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXJpcHBsZS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJpcHBsZS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3JpcHBsZS9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yaXBwbGUvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yaXBwbGUvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1yaXBwbGUtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1yaXBwbGUge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1yaXBwbGUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJpcHBsZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXJpcHBsZS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcmlwcGxlLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tcmlwcGxlLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJyaXBwbGVcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcmlwcGxlLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcmlwcGxlLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tcmlwcGxlLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90YWJsZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RhYmxlL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInRhYmxlXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvdGFibGUvX3ZhcmlhYmxlcy5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0L192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX3ZhcmlhYmxlcy5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFRhYmxlXG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdmVydGljYWwgYm9yZGVyIG9mIHRhYmxlIGNlbGxzLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIGhvcml6b250YWwgYm9yZGVyIG9mIHRhYmxlIGNlbGxzLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWNlbGwtaG9yaXpvbnRhbC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIHRhYmxlIGlmIG5vIHNpemUgaXMgc3BlY2lmaWVkLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgdGFibGUgaWYgbm8gc2l6ZSBpcyBzcGVjaWZpZWQuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBjZWxscyBpbiB0aGUgdGFibGUgaWYgbm8gc2l6ZSBpcyBzcGVjaWZpZWQuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtY2VsbC1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgY2VsbHMgaW4gdGhlIHRhYmxlIGlmIG5vIHNpemUgaXMgc3BlY2lmaWVkLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWNlbGwtcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tdGFibGUtc20tY2VsbC1wYWRkaW5nLXg6IGstc3BhY2luZygyLjUpICFkZWZhdWx0O1xuJGtlbmRvLXRhYmxlLXNtLWNlbGwtcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbiRrZW5kby10YWJsZS1tZC1jZWxsLXBhZGRpbmcteDogay1zcGFjaW5nKDYpICFkZWZhdWx0O1xuJGtlbmRvLXRhYmxlLW1kLWNlbGwtcGFkZGluZy15OiBrLXNwYWNpbmcoMi41KSAhZGVmYXVsdDtcblxuJGtlbmRvLXRhYmxlLWxnLWNlbGwtcGFkZGluZy14OiBrLXNwYWNpbmcoNikgIWRlZmF1bHQ7XG4ka2VuZG8tdGFibGUtbGctY2VsbC1wYWRkaW5nLXk6IGstc3BhY2luZygyLjUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemVzIG9mIHRoZSB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApLFxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXg6ICRrZW5kby10YWJsZS1zbS1jZWxsLXBhZGRpbmcteCxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXk6ICRrZW5kby10YWJsZS1zbS1jZWxsLXBhZGRpbmcteVxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICksXG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApLFxuICAgICAgICBjZWxsLXBhZGRpbmcteDogJGtlbmRvLXRhYmxlLW1kLWNlbGwtcGFkZGluZy14LFxuICAgICAgICBjZWxsLXBhZGRpbmcteTogJGtlbmRvLXRhYmxlLW1kLWNlbGwtcGFkZGluZy15XG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSxcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICksXG4gICAgICAgIGNlbGwtcGFkZGluZy14OiAka2VuZG8tdGFibGUtbGctY2VsbC1wYWRkaW5nLXgsXG4gICAgICAgIGNlbGwtcGFkZGluZy15OiAka2VuZG8tdGFibGUtbGctY2VsbC1wYWRkaW5nLXlcbiAgICApXG4pICFkZWZhdWx0O1xuXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYmxlcy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHRhYmxlcy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIHRhYmxlcy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYmxlIGhlYWRlcnMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtaGVhZGVyLWJnOiAka2VuZG8tdGFibGUtYmcgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiB0YWJsZSBoZWFkZXJzLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWhlYWRlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VidGxlICksIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGxpZ2h0LXNlY29uZGFyeS10ZXh0LCAkZGFyay1zZWNvbmRhcnktdGV4dCApKSAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgdGFibGUgaGVhZGVycy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1oZWFkZXItYm9yZGVyOiAka2VuZG8tdGFibGUtYm9yZGVyICFkZWZhdWx0O1xuLy8vIEdyYWRpZW50IG9mIHRhYmxlIGhlYWRlcnMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtaGVhZGVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYmxlIGZvb3RlcnMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtZm9vdGVyLWJnOiAka2VuZG8tdGFibGUtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgdGFibGUgZm9vdGVycy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1mb290ZXItdGV4dDogJGtlbmRvLXRhYmxlLWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiB0YWJsZSBmb290ZXJzLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWZvb3Rlci1ib3JkZXI6ICRrZW5kby10YWJsZS1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGdyb3VwIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtZ3JvdXAtcm93LWJnOiAka2VuZG8tdGFibGUtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgZ3JvdXAgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1ncm91cC1yb3ctdGV4dDogJGtlbmRvLXRhYmxlLWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiBncm91cCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWdyb3VwLXJvdy1ib3JkZXI6ICRrZW5kby10YWJsZS1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFsdGVybmF0aW5nIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtYWx0LXJvdy1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiBhbHRlcm5hdGluZyByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWFsdC1yb3ctdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgYWx0ZXJuYXRpbmcgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1hbHQtcm93LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBob3ZlcmVkIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA4JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tdGFibGUtYmcgKSwgLjA3ICkpICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgaG92ZXJlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIGhvdmVyZWQgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1ob3Zlci1ib3JkZXI6ICRrZW5kby10YWJsZS1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWZvY3VzLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgZm9jdXNlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIGZvY3VzZWQgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gQm94IHNoYWRvdyBvZiBmb2N1c2VkIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtZm9jdXMtc2hhZG93OiAka2VuZG8tbGlzdC1pdGVtLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBzZWxlY3RlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLXNlbGVjdGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAxMiUsIHRyYW5zcGFyZW50KSwgcmdiYSggay1jb250cmFzdC1jb2xvciggJGtlbmRvLXRhYmxlLWJnICksIC4wNCApKSAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHNlbGVjdGVkIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtc2VsZWN0ZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2Ygc2VsZWN0ZWQgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1zZWxlY3RlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvdGFibGUvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RhYmxlL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RhYmxlL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXRhYmxlLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFRhYmxlXG4gICAgLmstdGFibGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXRhYmxlLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10YWJsZS1saW5lLWhlaWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICBlbXB0eS1jZWxsczogc2hvdztcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIERhdGEgdGFibGVcbiAgICAuay1kYXRhLXRhYmxlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuXG4gICAgICAgIC5rLXRhYmxlIHtcbiAgICAgICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRhYmxlIG5hdGl2ZSBwYXJ0c1xuICAgIC5rLXRhYmxlLXRoZWFkLFxuICAgIC5rLXRhYmxlLXRib2R5LFxuICAgIC5rLXRhYmxlLXRmb290LFxuICAgIC5rLXRhYmxlLXJvdyxcbiAgICAuay10YWJsZS1hbHQtcm93IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIH1cbiAgICAuay10YWJsZS10aCxcbiAgICAuay10YWJsZS10ZCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10YWJsZS1jZWxsLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJGtlbmRvLXRhYmxlLWNlbGwtaG9yaXpvbnRhbC1ib3JkZXItd2lkdGggJGtlbmRvLXRhYmxlLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay10YWJsZS10aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICB9XG5cblxuICAgIC8vIFRhYmxlIGhlYWRlclxuICAgIC5rLXRhYmxlLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0ta2VuZG8tc2Nyb2xsYmFyLXdpZHRoKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgIC5rLXRhYmxlIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay10YWJsZS1oZWFkZXItd3JhcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAka2VuZG8tdGFibGUtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5rLXRhYmxlLWhlYWRlcixcbiAgICAuay10YWJsZS1oZWFkZXItd3JhcCB7XG4gICAgICAgID4gLmstdGFibGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay10YWJsZS1ncm91cC1zdGlja3ktaGVhZGVyIHtcbiAgICAgICAgZmxleDogbm9uZTtcblxuICAgICAgICAuay10YWJsZS10aCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGFibGUgbGlzdFxuICAgIC5rLXRhYmxlLWxpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICBlbXB0eS1jZWxsczogc2hvdztcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAuay10YWJsZS1yb3cge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtcm93LFxuICAgICAgICAuay10YWJsZS1ncm91cC1yb3cge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICB9XG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLWZpcnN0IHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS10aCxcbiAgICAgICAgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLWdyb3VwLXJvdyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRhYmxlLWNlbGwtcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRhYmxlLXRoIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIC5rLXRhYmxlLXNwYWNlci10ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5rLXRhYmxlLWdyb3VwLXRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC43NWVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gc3R5bGVsaW50LWVuYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICB9XG5cblxuICAgIC8vIFZpcnR1YWxpemF0aW9uXG4gICAgLmstdmlydHVhbC10YWJsZSAuay10YWJsZS1yb3csXG4gICAgLmstdmlydHVhbC10YWJsZSAuay10YWJsZS1ncm91cC1yb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuXG4gICAgLy8gVGFibGUgc2Nyb2xsZXJcbiAgICAuay10YWJsZS1zY3JvbGxlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgPiAuay10YWJsZSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRhYmxlIGZvb3RlclxuICAgIC5rLXRhYmxlLWZvb3RlciB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0ta2VuZG8tc2Nyb2xsYmFyLXdpZHRoKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgIC5rLXRhYmxlIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay10YWJsZS1mb290ZXItd3JhcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAka2VuZG8tdGFibGUtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tdGFibGUtc2l6ZXMge1xuICAgICAgICAkX2ZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgbGluZS1oZWlnaHQpO1xuICAgICAgICAkX2NlbGwtcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBjZWxsLXBhZGRpbmcteCk7XG4gICAgICAgICRfY2VsbC1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGNlbGwtcGFkZGluZy15KTtcblxuICAgICAgICAuay10YWJsZS0jeyRzaXplfSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRfZm9udC1zaXplO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRfbGluZS1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS0jeyRzaXplfSAuay10YWJsZS10aCxcbiAgICAgICAgLmstdGFibGUtI3skc2l6ZX0gLmstdGFibGUtdGQge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX2NlbGwtcGFkZGluZy14O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtI3skc2l6ZX0gLmstdGFibGUtbGlzdCAuay10YWJsZS1ncm91cC10ZCA+IHNwYW4ge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKCAjeyRfY2VsbC1wYWRkaW5nLXh9IC8gMiApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtI3skc2l6ZX0gLmstdGFibGUtbGlzdCAuay10YWJsZS1ncm91cC1yb3c6OmJlZm9yZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX2NlbGwtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFJUTFxuICAgIC5rLXJ0bCxcbiAgICBbZGlyPVwicnRsXCJdIHtcbiAgICAgICAgJi5rLXRhYmxlLFxuICAgICAgICAuay10YWJsZSB7XG5cbiAgICAgICAgICAgIC5rLXRhYmxlLXRoLFxuICAgICAgICAgICAgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogJGtlbmRvLXRhYmxlLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoO1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRhYmxlLWhlYWRlci13cmFwLFxuICAgICAgICAgICAgLmstdGFibGUtZm9vdGVyLXdyYXAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGtlbmRvLXRhYmxlLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLWxpc3Qge1xuICAgICAgICAgICAgLmstdGFibGUtZ3JvdXAtdGQgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRhYmxlLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGFibGUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdGFibGUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10YWJsZS0tbGF5b3V0LWJhc2UoKTtcblxuICAgIEBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSkge1xuICAgICAgICAuay10YWJsZSB7XG4gICAgICAgICAgICB0ZDpmb2N1cyxcbiAgICAgICAgICAgIHRkLmstZm9jdXMsXG4gICAgICAgICAgICB0aDpmb2N1cyxcbiAgICAgICAgICAgIHRoLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAgICAgdGQuay1ncmlkLWhlYWRlci1zdGlja3kge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90YWJsZS9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90YWJsZS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RhYmxlL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdGFibGUtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBUYWJsZVxuICAgIC5rLXRhYmxlLFxuICAgIC5rLWRhdGEtdGFibGUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby10YWJsZS1ib3JkZXI7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tdGFibGUtdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRhYmxlLWJnO1xuICAgIH1cblxuXG4gICAgLy8gVGFibGUgaGVhZGVyXG4gICAgLmstdGFibGUtdGhlYWQsXG4gICAgLmstdGFibGUtaGVhZGVyLFxuICAgIC5rLXRhYmxlLWdyb3VwLXN0aWNreS1oZWFkZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby10YWJsZS1oZWFkZXItYm9yZGVyO1xuICAgICAgICBjb2xvcjogJGtlbmRvLXRhYmxlLWhlYWRlci10ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tdGFibGUtaGVhZGVyLWJnO1xuICAgIH1cblxuXG4gICAgLy8gVGFibGUgZm9vdGVyXG4gICAgLmstdGFibGUtdGZvb3QsXG4gICAgLmstdGFibGUtZm9vdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tdGFibGUtZm9vdGVyLWJvcmRlcjtcbiAgICAgICAgY29sb3I6ICRrZW5kby10YWJsZS1mb290ZXItdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRhYmxlLWZvb3Rlci1iZztcbiAgICB9XG5cblxuICAgIC8vIEdyb3VwIHJvd1xuICAgIC5rLXRhYmxlLWdyb3VwLXJvdyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXRhYmxlLWdyb3VwLXJvdy1ib3JkZXI7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tdGFibGUtZ3JvdXAtcm93LXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10YWJsZS1ncm91cC1yb3ctYmc7XG4gICAgfVxuICAgIC5rLXRhYmxlLWdyb3VwLXRkID4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tdGFibGUtYmc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10YWJsZS10ZXh0O1xuICAgIH1cblxuXG4gICAgLy8gQWx0ZXJuYXRpbmcgcm93XG4gICAgLmstdGFibGUtYWx0LXJvdyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXRhYmxlLWFsdC1yb3ctYm9yZGVyO1xuICAgICAgICBjb2xvcjogJGtlbmRvLXRhYmxlLWFsdC1yb3ctdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRhYmxlLWFsdC1yb3ctYmc7XG4gICAgfVxuXG5cbiAgICAvLyBIb3ZlciBzdGF0ZVxuICAgIC5rLXRhYmxlLXRib2R5IC5rLXRhYmxlLXJvdzpob3ZlcixcbiAgICAuay10YWJsZS1saXN0IC5rLXRhYmxlLXJvdzpob3ZlcixcbiAgICAuay10YWJsZS10Ym9keSAuay10YWJsZS1yb3cuay1ob3ZlcixcbiAgICAuay10YWJsZS1saXN0IC5rLXRhYmxlLXJvdy5rLWhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tdGFibGUtaG92ZXItYm9yZGVyO1xuICAgICAgICBjb2xvcjogJGtlbmRvLXRhYmxlLWhvdmVyLXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10YWJsZS1ob3Zlci1iZztcbiAgICB9XG5cblxuICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgLmstdGFibGUtdGJvZHkgLmstdGFibGUtcm93LFxuICAgIC5rLXRhYmxlLWxpc3QgLmstdGFibGUtcm93LFxuICAgIC5rLXRhYmxlLXRib2R5IC5rLXRhYmxlLXRkLFxuICAgIC5rLXRhYmxlLWxpc3QgLmstdGFibGUtdGQge1xuICAgICAgICAmLmstZm9jdXMsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tdGFibGUtZm9jdXMtYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby10YWJsZS1mb2N1cy10ZXh0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRhYmxlLWZvY3VzLWJnO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tdGFibGUtZm9jdXMtc2hhZG93LCBpbnNldCApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgIC5rLXRhYmxlLXRib2R5IC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkID4gLmstdGFibGUtdGQsXG4gICAgLmstdGFibGUtbGlzdCAuay10YWJsZS1yb3cuay1zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXRhYmxlLXNlbGVjdGVkLWJvcmRlcjtcbiAgICAgICAgY29sb3I6ICRrZW5kby10YWJsZS1zZWxlY3RlZC10ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tdGFibGUtc2VsZWN0ZWQtYmc7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRhYmxlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10YWJsZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRhYmxlLS10aGVtZSgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXRhYmxlLS10aGVtZS1iYXNlKCk7XG5cbiAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgLmstdGFibGUgLmstdGFibGUtdGJvZHkge1xuICAgICAgICAgICAgdGQ6Zm9jdXMsXG4gICAgICAgICAgICB0ZC5rLWZvY3VzLFxuICAgICAgICAgICAgdGg6Zm9jdXMsXG4gICAgICAgICAgICB0aC5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10YWJsZS1ob3Zlci1iZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcblxuICAgICAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgICAgICAuay10YWJsZS10Ym9keSAuay10YWJsZS1yb3cuay1zZWxlY3RlZCxcbiAgICAgICAgLmstdGFibGUtdGJvZHkgLmstdGFibGUtY2VsbC5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tdGFibGUtc2VsZWN0ZWQtdGV4dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10YWJsZS1zZWxlY3RlZC1iZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLXRib2R5IC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkID4gdGQge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlIC5rLXRhYmxlLXRib2R5IHtcbiAgICAgICAgICAgIHRkOmZvY3VzLFxuICAgICAgICAgICAgdGQuay1mb2N1cyxcbiAgICAgICAgICAgIHRoOmZvY3VzLFxuICAgICAgICAgICAgdGguay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRhYmxlLWhvdmVyLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10YWJsZS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidGFibGVcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdGFibGUtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10YWJsZS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRhYmxlLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi92aXJ0dWFsLXNjcm9sbGVyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdmlydHVhbC1zY3JvbGxlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ2aXJ0dWFsLXNjcm9sbGVyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvdmlydHVhbC1zY3JvbGxlci9fdmFyaWFibGVzLnNjc3Ncbi8vIFZpcnR1YWwtc2Nyb2xsZXJcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy92aXJ0dWFsLXNjcm9sbGVyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy92aXJ0dWFsLXNjcm9sbGVyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3ZpcnR1YWwtc2Nyb2xsZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdmlydHVhbC1zY3JvbGxlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBWaXJ0dWFsIHNjcm9sbGVyXG4gICAgLmstdmlydHVhbC1zY3JvbGxlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gVmlydHVhbCBzY3JvbGxlciB3cmFwXG4gICAgLmstdmlydHVhbC1zY3JvbGxlci13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuXG4gICAgLy8gVmlydHVhbCBzY3JvbGxlciBjb250ZW50XG4gICAgLmstdmlydHVhbC1zY3JvbGxlci1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBWaXJ0dWFsIHNjcm9sbGVyIHNpemVcbiAgICAuay12aXJ0dWFsLXNjcm9sbGVyLXNpemUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby12aXJ0dWFsLXNjcm9sbGVyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby12aXJ0dWFsLXNjcm9sbGVyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvdmlydHVhbC1zY3JvbGxlci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy92aXJ0dWFsLXNjcm9sbGVyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdmlydHVhbC1zY3JvbGxlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBWaXJ0dWFsIHNjcm9sbGVyXG4gICAgLmstdmlydHVhbC1zY3JvbGxlciB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby12aXJ0dWFsLXNjcm9sbGVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby12aXJ0dWFsLXNjcm9sbGVyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tdmlydHVhbC1zY3JvbGxlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidmlydHVhbC1zY3JvbGxlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby12aXJ0dWFsLXNjcm9sbGVyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdmlydHVhbC1zY3JvbGxlci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gSW5kaWNhdG9yc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9hdmF0YXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hdmF0YXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiYXZhdGFyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvYXZhdGFyL192YXJpYWJsZXMuc2Nzc1xuLy8gQXZhdGFyXG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBBdmF0YXIuXG4vLy8gQGdyb3VwIGF2YXRhclxuJGtlbmRvLWF2YXRhci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgQXZhdGFyLlxuLy8vIEBncm91cCBhdmF0YXJcbiRrZW5kby1hdmF0YXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEF2YXRhci5cbi8vLyBAZ3JvdXAgYXZhdGFyXG4ka2VuZG8tYXZhdGFyLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIEF2YXRhci5cbi8vLyBAZ3JvdXAgYXZhdGFyXG4ka2VuZG8tYXZhdGFyLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemVzIG1hcCBvZiB0aGUgQXZhdGFyLlxuLy8vIEBncm91cCBhdmF0YXJcbiRrZW5kby1hdmF0YXItc2l6ZXM6IChcbiAgICBzbTogay1zcGFjaW5nKDQpLFxuICAgIG1kOiBrLXNwYWNpbmcoOCksXG4gICAgbGc6IGstc3BhY2luZygxNilcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhlbWUgY29sb3JzIG1hcCBvZiB0aGUgQXZhdGFyLlxuLy8vIEBncm91cCBhdmF0YXJcbiRrZW5kby1hdmF0YXItdGhlbWUtY29sb3JzOiAka2VuZG8tdGhlbWUtY29sb3JzICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2F2YXRhci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYXZhdGFyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2F2YXRhci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1hdmF0YXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQXZhdGFyXG4gICAgLmstYXZhdGFyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBBdmF0YXIgdGV4dFxuICAgIC5rLWF2YXRhci10ZXh0LFxuICAgIC5rLWF2YXRhci1pbml0aWFscyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWF2YXRhci1mb250LXNpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tYXZhdGFyLWZvbnQtZmFtaWx5O1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWF2YXRhci1saW5lLWhlaWdodDtcbiAgICB9XG5cblxuICAgIC8vIEF2YXRhciBpY29uXG4gICAgLmstYXZhdGFyLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG5cbiAgICAvLyBBdmF0YXIgaW1hZ2VcbiAgICAuay1hdmF0YXItaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRrZW5kby1hdmF0YXItc2l6ZXMge1xuICAgICAgICAuay1hdmF0YXItI3skbmFtZX0ge1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6ICRzaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2hhcGVzXG4gICAgLmstYXZhdGFyLXNxdWFyZSB7fVxuXG4gICAgLy8gQm9yZGVyZWRcbiAgICAuay1hdmF0YXItYm9yZGVyZWQge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1hdmF0YXItYm9yZGVyLXdpZHRoO1xuICAgIH1cblxuXG59XG5cblxuQG1peGluIGtlbmRvLWF2YXRhci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWF2YXRhci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1hdmF0YXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hdmF0YXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9hdmF0YXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYXZhdGFyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYXZhdGFyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tYXZhdGFyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gU29saWQgQXZhdGFyc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWF2YXRhci10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1hdmF0YXItc29saWQtI3skbmFtZX0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLSN7JG5hbWV9ICksIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdXRsaW5lIGF2YXRhcnNcbiAgICAuay1hdmF0YXItb3V0bGluZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWF2YXRhci10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1hdmF0YXItb3V0bGluZS0jeyRuYW1lfSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWF2YXRhci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYXZhdGFyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tYXZhdGFyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hdmF0YXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1hdmF0YXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImF2YXRhclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1hdmF0YXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1hdmF0YXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hdmF0YXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2JhZGdlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYmFkZ2UvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiYmFkZ2VcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIC8vIFwidXRpbHMvbGF5b3V0L3Bvc2l0aW9uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fcG9zaXRpb24uc2Nzc1wiO1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvYmFkZ2UvX3ZhcmlhYmxlcy5zY3NzXG4vLyBCYWRnZVxuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBCYWRnZS5cbi8vLyBAZ3JvdXAgYmFkZ2VcbiRrZW5kby1iYWRnZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBCYWRnZS5cbi8vLyBAZ3JvdXAgYmFkZ2VcbiRrZW5kby1iYWRnZS1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobWQpICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBCYWRnZS5cbi8vLyBAZ3JvdXAgYmFkZ2VcbiRrZW5kby1iYWRnZS1wYWRkaW5nLXg6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBCYWRnZS5cbi8vLyBAZ3JvdXAgYmFkZ2VcbiRrZW5kby1iYWRnZS1zbS1wYWRkaW5nLXg6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBCYWRnZS5cbi8vLyBAZ3JvdXAgYmFkZ2VcbiRrZW5kby1iYWRnZS1tZC1wYWRkaW5nLXg6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBCYWRnZS5cbi8vLyBAZ3JvdXAgYmFkZ2VcbiRrZW5kby1iYWRnZS1sZy1wYWRkaW5nLXg6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLXBhZGRpbmcteTogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBCYWRnZS5cbi8vLyBAZ3JvdXAgYmFkZ2VcbiRrZW5kby1iYWRnZS1zbS1wYWRkaW5nLXk6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2UtbWQtcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLWxnLXBhZGRpbmcteTogay1zcGFjaW5nKDEuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplcyBvZiB0aGUgQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2UtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXhzLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc21hbGwgQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2Utc20tZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXhzLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbWVkaXVtIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLW1kLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS14cywgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGxhcmdlIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLWxnLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS14cywgaW5oZXJpdCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUgaGVpZ2h0cyB1c2VkIGFsb25nIHdpdGggdGhlICRrZW5kby1mb250LXNpemUgdmFyaWFibGUuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2UtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IHVzZWQgYWxvbmcgd2l0aCB0aGUgJGtlbmRvLWZvbnQtc2l6ZSB2YXJpYWJsZSBvZiB0aGUgc21hbGwgQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2Utc20tbGluZS1oZWlnaHQ6ICRrZW5kby1iYWRnZS1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgdXNlZCBhbG9uZyB3aXRoIHRoZSAka2VuZG8tZm9udC1zaXplIHZhcmlhYmxlIG9mIHRoZSBtZWRpdW0gQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2UtbWQtbGluZS1oZWlnaHQ6ICRrZW5kby1iYWRnZS1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgdXNlZCBhbG9uZyB3aXRoIHRoZSAka2VuZG8tZm9udC1zaXplIHZhcmlhYmxlIG9mIHRoZSBsYXJnZSBCYWRnZS5cbi8vLyBAZ3JvdXAgYmFkZ2VcbiRrZW5kby1iYWRnZS1sZy1saW5lLWhlaWdodDogJGtlbmRvLWJhZGdlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNhbGN1bGF0ZWQgbWluaW11bSB3aWR0aCBvZiB0aGUgY2lyY3VsYXIgQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2UtbWluLXdpZHRoOiBjYWxjKCAjeyRrZW5kby1iYWRnZS1saW5lLWhlaWdodCAqIDFlbX0gKyBjYWxjKCAjeyRrZW5kby1iYWRnZS1wYWRkaW5nLXl9ICogMiApICsgI3ska2VuZG8tYmFkZ2UtYm9yZGVyLXdpZHRoICogMn0pICFkZWZhdWx0O1xuLy8vIFRoZSBjYWxjdWxhdGVkIG1pbmltdW0gd2lkdGggb2YgdGhlIHNtYWxsIGNpcmN1bGFyIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLXNtLW1pbi13aWR0aDogY2FsYyggI3ska2VuZG8tYmFkZ2Utc20tbGluZS1oZWlnaHQgKiAxZW19ICsgY2FsYyggI3ska2VuZG8tYmFkZ2Utc20tcGFkZGluZy15fSAqIDIgKSArICN7JGtlbmRvLWJhZGdlLWJvcmRlci13aWR0aCAqIDJ9ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGNhbGN1bGF0ZWQgbWluaW11bSB3aWR0aCBvZiB0aGUgbWVkaXVtIGNpcmN1bGFyIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLW1kLW1pbi13aWR0aDogY2FsYyggI3ska2VuZG8tYmFkZ2UtbWQtbGluZS1oZWlnaHQgKiAxZW19ICsgY2FsYyggI3ska2VuZG8tYmFkZ2UtbWQtcGFkZGluZy15fSAqIDIgKSArICN7JGtlbmRvLWJhZGdlLWJvcmRlci13aWR0aCAqIDJ9ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGNhbGN1bGF0ZWQgbWluaW11bSB3aWR0aCBvZiB0aGUgbGFyZ2UgY2lyY3VsYXIgQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2UtbGctbWluLXdpZHRoOiBjYWxjKCAjeyRrZW5kby1iYWRnZS1sZy1saW5lLWhlaWdodCAqIDFlbX0gKyBjYWxjKCAjeyRrZW5kby1iYWRnZS1sZy1wYWRkaW5nLXl9ICogMiApICsgI3ska2VuZG8tYmFkZ2UtYm9yZGVyLXdpZHRoICogMn0gKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplcyBtYXAgZm9yIHRoZSBCYWRnZS5cbi8vLyBAZ3JvdXAgYmFkZ2VcbiRrZW5kby1iYWRnZS1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLWJhZGdlLXNtLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tYmFkZ2Utc20tcGFkZGluZy15LFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1iYWRnZS1zbS1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYmFkZ2Utc20tbGluZS1oZWlnaHQsXG4gICAgICAgIG1pbi13aWR0aDogJGtlbmRvLWJhZGdlLXNtLW1pbi13aWR0aFxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tYmFkZ2UtbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1iYWRnZS1tZC1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWJhZGdlLW1kLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1iYWRnZS1tZC1saW5lLWhlaWdodCxcbiAgICAgICAgbWluLXdpZHRoOiAka2VuZG8tYmFkZ2UtbWQtbWluLXdpZHRoXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1iYWRnZS1sZy1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWJhZGdlLWxnLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYmFkZ2UtbGctZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWJhZGdlLWxnLWxpbmUtaGVpZ2h0LFxuICAgICAgICBtaW4td2lkdGg6ICRrZW5kby1iYWRnZS1sZy1taW4td2lkdGhcbiAgICApXG4pICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2JhZGdlL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9iYWRnZS9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9iYWRnZS9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1iYWRnZS0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay1iYWRnZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWJhZGdlLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWJhZGdlID4gKiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuXG4gICAgLy8gTGlua3NcbiAgICBhLmstYmFkZ2UsXG4gICAgLmstYmFkZ2UgPiBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICBhLmstYmFkZ2U6aG92ZXIsXG4gICAgLmstYmFkZ2UgPiBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG5cbiAgICAvLyBJY29uXG4gICAgLmstYmFkZ2UtaWNvbiB7XG4gICAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB9XG4gICAgLmstYmFkZ2UtaWNvbi5rLXN2Zy1pY29uIHN2ZyB7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cblxuICAgIC8vIEJhZGdlIHNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1iYWRnZS1zaXplcyB7XG4gICAgICAgICRfcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXggKTtcbiAgICAgICAgJF9wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteSApO1xuICAgICAgICAkX2ZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfbWluLXdpZHRoOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBtaW4td2lkdGggKTtcblxuICAgICAgICAuay1iYWRnZS0jeyRzaXplfSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX3BhZGRpbmcteDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJF9saW5lLWhlaWdodDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogJF9taW4td2lkdGg7XG5cbiAgICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBrZW5kby1iYWRnZS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLy8gQmFkZ2UgcG9zaXRpb25cbiAgICAuay1iYWRnZS1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgICBAZWFjaCAkcGxhY2VtZW50LCAkdHJhbnNsYXRlIGluIChcImluc2lkZVwiOiBudWxsLCBcImVkZ2VcIjogNTAsIFwib3V0c2lkZVwiOiAxMDApIHtcblxuICAgICAgICAuay1iYWRnZS0jeyRwbGFjZW1lbnR9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTk7XG5cbiAgICAgICAgICAgICYuay10b3Atc3RhcnQge1xuICAgICAgICAgICAgICAgIEBpZiAkdHJhbnNsYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIC0xJSAqICR0cmFuc2xhdGUsIC0xJSAqICR0cmFuc2xhdGUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstdG9wLWVuZCB7XG4gICAgICAgICAgICAgICAgQGlmICR0cmFuc2xhdGUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMSUgKiAkdHJhbnNsYXRlLCAtMSUgKiAkdHJhbnNsYXRlICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLWJvdHRvbS1zdGFydCB7XG4gICAgICAgICAgICAgICAgQGlmICR0cmFuc2xhdGUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggLTElICogJHRyYW5zbGF0ZSwgMSUgKiAkdHJhbnNsYXRlICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLWJvdHRvbS1lbmQge1xuICAgICAgICAgICAgICAgIEBpZiAkdHJhbnNsYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDElICogJHRyYW5zbGF0ZSwgMSUgKiAkdHJhbnNsYXRlICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstcnRsIC5rLWJhZGdlLSN7JHBsYWNlbWVudH0sXG4gICAgICAgIFtkaXI9XCJydGxcIl0uay1iYWRnZS0jeyRwbGFjZW1lbnR9LFxuICAgICAgICBbZGlyPVwicnRsXCJdIC5rLWJhZGdlLSN7JHBsYWNlbWVudH0ge1xuICAgICAgICAgICAgJi5rLXRvcC1zdGFydCB7XG4gICAgICAgICAgICAgICAgQGlmICR0cmFuc2xhdGUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMSUgKiAkdHJhbnNsYXRlLCAtMSUgKiAkdHJhbnNsYXRlICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLXRvcC1lbmQge1xuICAgICAgICAgICAgICAgIEBpZiAkdHJhbnNsYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIC0xJSAqICR0cmFuc2xhdGUsIC0xJSAqICR0cmFuc2xhdGUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstYm90dG9tLXN0YXJ0IHtcbiAgICAgICAgICAgICAgICBAaWYgJHRyYW5zbGF0ZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAxJSAqICR0cmFuc2xhdGUsIDElICogJHRyYW5zbGF0ZSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuay1ib3R0b20tZW5kIHtcbiAgICAgICAgICAgICAgICBAaWYgJHRyYW5zbGF0ZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAtMSUgKiAkdHJhbnNsYXRlLCAxJSAqICR0cmFuc2xhdGUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEJvcmRlciBjdXRvdXRcbiAgICAuay1iYWRnZS1ib3JkZXItY3V0b3V0IHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRrZW5kby1jb21wb25lbnQtYmc7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWJhZGdlLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYmFkZ2UtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tYmFkZ2UtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1iYWRnZS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2JhZGdlL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2JhZGdlL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYmFkZ2UvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1iYWRnZS0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFNvbGlkIGJhZGdlc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWJhZGdlLXNvbGlkLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3V0bGluZSBiYWRnZXNcbiAgICAuay1iYWRnZS1vdXRsaW5lIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWJhZGdlLW91dGxpbmUtI3skbmFtZX0ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1iYWRnZS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYmFkZ2UtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1iYWRnZS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYmFkZ2UtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1iYWRnZS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiYmFkZ2VcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYmFkZ2UtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1iYWRnZS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJhZGdlLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jaGlwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2hpcC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJjaGlwXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYXZhdGFyXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9jaGlwL192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9fdmFyaWFibGVzLnNjc3Ncbi8vIEJ1dHRvblxuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgc21hbGwgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tc20tcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLW1kLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWxnLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1zbS1wYWRkaW5nLXk6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tbWQtcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWxnLXBhZGRpbmcteTogay1zcGFjaW5nKDIuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc21hbGwgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tc20tZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIG1lZGl1bSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1tZC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbGFyZ2UgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tbGctZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHRzIHVzZWQgYWxvbmcgd2l0aCB0aGUgJGtlbmRvLWZvbnQtc2l6ZSB2YXJpYWJsZS5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWxpbmUtaGVpZ2h0OiBrLW1hdGgtZGl2KCAyMCwgMTQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgdXNlZCBhbG9uZyB3aXRoIHRoZSAka2VuZG8tZm9udC1zaXplIHZhcmlhYmxlIG9mIHRoZSBzbWFsbCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1zbS1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IHVzZWQgYWxvbmcgd2l0aCB0aGUgJGtlbmRvLWZvbnQtc2l6ZSB2YXJpYWJsZSBvZiB0aGUgbWVkaXVtIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLW1kLWxpbmUtaGVpZ2h0OiBrLW1hdGgtZGl2KCAyMCwgMTQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgdXNlZCBhbG9uZyB3aXRoIHRoZSAka2VuZG8tZm9udC1zaXplIHZhcmlhYmxlIG9mIHRoZSBsYXJnZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1sZy1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY2FsY3VsYXRlZCBoZWlnaHQgb2YgdGhlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tYnV0dG9uLWxpbmUtaGVpZ2h0ICogMWVtfSArIGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1wYWRkaW5nLXl9ICogMiApICsgI3ska2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCAqIDJ9ICkgIWRlZmF1bHQ7XG4ka2VuZG8tYnV0dG9uLXNtLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tYnV0dG9uLXNtLWxpbmUtaGVpZ2h0ICogMWVtfSArIGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1zbS1wYWRkaW5nLXl9ICogMiApICsgI3ska2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCAqIDJ9ICkgIWRlZmF1bHQ7XG4ka2VuZG8tYnV0dG9uLW1kLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tYnV0dG9uLW1kLWxpbmUtaGVpZ2h0ICogMWVtfSArIGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXl9ICogMiApICsgI3ska2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCAqIDJ9ICkgIWRlZmF1bHQ7XG4ka2VuZG8tYnV0dG9uLWxnLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tYnV0dG9uLWxnLWxpbmUtaGVpZ2h0ICogMWVtfSArIGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1sZy1wYWRkaW5nLXl9ICogMiApICsgI3ska2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCAqIDJ9ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY2FsY3VsYXRlZCBpbm5lciBoZWlnaHQgb2YgdGhlIEJ1dHRvbiBleGNsdWRpbmcgdGhlIGJvcmRlciB3aWR0aC5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWlubmVyLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tYnV0dG9uLWxpbmUtaGVpZ2h0ICogMWVtfSArIGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1wYWRkaW5nLXl9ICogMiApICkgIWRlZmF1bHQ7XG4ka2VuZG8tYnV0dG9uLXNtLWlubmVyLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tYnV0dG9uLXNtLWxpbmUtaGVpZ2h0ICogMWVtfSArIGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1zbS1wYWRkaW5nLXl9ICogMiApICkgIWRlZmF1bHQ7XG4ka2VuZG8tYnV0dG9uLW1kLWlubmVyLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tYnV0dG9uLW1kLWxpbmUtaGVpZ2h0ICogMWVtfSArIGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXl9ICogMiApICkgIWRlZmF1bHQ7XG4ka2VuZG8tYnV0dG9uLWxnLWlubmVyLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tYnV0dG9uLWxnLWxpbmUtaGVpZ2h0ICogMWVtfSArIGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1sZy1wYWRkaW5nLXl9ICogMiApICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZXMgbWFwIGZvciB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1idXR0b24tc20tcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1idXR0b24tc20tcGFkZGluZy15LFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1idXR0b24tc20tZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWJ1dHRvbi1zbS1saW5lLWhlaWdodFxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tYnV0dG9uLW1kLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tYnV0dG9uLW1kLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYnV0dG9uLW1kLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1idXR0b24tbWQtbGluZS1oZWlnaHRcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLWJ1dHRvbi1sZy1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWJ1dHRvbi1sZy1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWJ1dHRvbi1sZy1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYnV0dG9uLWxnLWxpbmUtaGVpZ2h0XG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0aGVtZSBjb2xvcnMgbWFwIGZvciB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tdGhlbWUtY29sb3JzOiBrLW1hcC1tZXJnZShcbiAgICAka2VuZG8tdGhlbWUtY29sb3JzLFxuICAgICggXCJiYXNlXCI6ICRrZW5kby1iYXNlLWJnIClcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIG9mIHRoZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UgKSwgJGtlbmRvLWJhc2UtYmcpICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIHRleHQgY29sb3Igb2YgdGhlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1iYXNlICksICRrZW5kby1iYXNlLXRleHQpICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJvcmRlciBjb2xvciBvZiB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tYm9yZGVyOiAka2VuZG8tYnV0dG9uLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIHNoYWRvdyBvZiB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC0yICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhc2UgYmFja2dyb3VuZCBvZiB0aGUgaG92ZXJlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtaG92ZXIgKSwgbnVsbCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1ob3Zlci1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWhvdmVyICksIG51bGwpICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIGhvdmVyZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24taG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2Ugc2hhZG93IG9mIHRoZSBob3ZlcmVkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWhvdmVyLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGFjdGl2ZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1hY3RpdmUtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApLCBudWxsKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSB0ZXh0IGNvbG9yIG9mIHRoZSBhY3RpdmUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tYWN0aXZlLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgYm9yZGVyIGNvbG9yIG9mIHRoZSBhY3RpdmUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tYWN0aXZlLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtYWN0aXZlICksIG51bGwpICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIGFjdGl2ZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1hY3RpdmUtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2Ugc2hhZG93IG9mIHRoZSBhY3RpdmUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tYWN0aXZlLXNoYWRvdzogJGJveC1zaGFkb3ctZGVwdGgtNiAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXNlbGVjdGVkLWJnOiAka2VuZG8tYnV0dG9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSB0ZXh0IGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1zZWxlY3RlZC10ZXh0OiAka2VuZG8tYnV0dG9uLWFjdGl2ZS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tc2VsZWN0ZWQtYm9yZGVyOiAka2VuZG8tYnV0dG9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSBzZWxlY3RlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1zZWxlY3RlZC1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBzaGFkb3cgb2YgdGhlIHNlbGVjdGVkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXNlbGVjdGVkLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgb2YgdGhlIGZvY3VzZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tZm9jdXMtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWhvdmVyICksIG51bGwpICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIHRleHQgY29sb3Igb2YgdGhlIGZvY3VzZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tZm9jdXMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tZm9jdXMtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1ob3ZlciApLCBudWxsKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIGZvY3VzZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tZm9jdXMtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2Ugc2hhZG93IG9mIHRoZSBmb2N1c2VkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWZvY3VzLXNoYWRvdzogJGJveC1zaGFkb3ctZGVwdGgtMyAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWRpc2FibGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgOSUsIHRyYW5zcGFyZW50KSwgay10cnktc2hhZGUoICRrZW5kby1ib2R5LWJnLCAxMiUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgdGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tZGlzYWJsZWQtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDMyJSwgdHJhbnNwYXJlbnQpLCAka2VuZG8tZGlzYWJsZWQtdGV4dCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCB0cmFuc3BhcmVudCwgJGtlbmRvLWJ1dHRvbi1kaXNhYmxlZC1iZykgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgZGlzYWJsZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tZGlzYWJsZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2Ugc2hhZG93IG9mIHRoZSBkaXNhYmxlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1kaXNhYmxlZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIFNvbGlkIEJ1dHRvblxuJGtlbmRvLXNvbGlkLWJ1dHRvbi1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1zb2xpZC1idXR0b24tc2hhZGUtZnVuY3Rpb246IFwiay10cnktc2hhZGVcIiAhZGVmYXVsdDtcbiRrZW5kby1zb2xpZC1idXR0b24tc2hhZGUtdGV4dC1hbW91bnQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tc29saWQtYnV0dG9uLXNoYWRlLWJnLWFtb3VudDogMCAhZGVmYXVsdDtcbiRrZW5kby1zb2xpZC1idXR0b24tc2hhZGUtYm9yZGVyLWFtb3VudDogMCAhZGVmYXVsdDtcbiRrZW5kby1zb2xpZC1idXR0b24taG92ZXItc2hhZGUtdGV4dC1hbW91bnQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tc29saWQtYnV0dG9uLWhvdmVyLXNoYWRlLWJnLWFtb3VudDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1zb2xpZC1idXR0b24taG92ZXItc2hhZGUtYm9yZGVyLWFtb3VudDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1zb2xpZC1idXR0b24tYWN0aXZlLXNoYWRlLXRleHQtYW1vdW50OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXNvbGlkLWJ1dHRvbi1hY3RpdmUtc2hhZGUtYmctYW1vdW50OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXNvbGlkLWJ1dHRvbi1hY3RpdmUtc2hhZGUtYm9yZGVyLWFtb3VudDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1zb2xpZC1idXR0b24tc2hhZG93OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXNvbGlkLWJ1dHRvbi1zaGFkb3ctYmx1cjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1zb2xpZC1idXR0b24tc2hhZG93LXNwcmVhZDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1zb2xpZC1idXR0b24tc2hhZG93LW9wYWNpdHk6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIE91dGxpbmUgQnV0dG9uXG4ka2VuZG8tb3V0bGluZS1idXR0b24tc2hhZG93OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLW91dGxpbmUtYnV0dG9uLXNoYWRvdy1ibHVyOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLW91dGxpbmUtYnV0dG9uLXNoYWRvdy1zcHJlYWQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tb3V0bGluZS1idXR0b24tc2hhZG93LW9wYWNpdHk6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIExpbmsgQnV0dG9uXG4ka2VuZG8tbGluay1idXR0b24tc2hhZG93OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpbmstYnV0dG9uLXNoYWRvdy1ibHVyOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpbmstYnV0dG9uLXNoYWRvdy1zcHJlYWQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGluay1idXR0b24tc2hhZG93LW9wYWNpdHk6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIENsZWFyIEJ1dHRvblxuJGtlbmRvLWNsZWFyLWJ1dHRvbi1mb2N1cy1vcGFjaXR5OiAuMTU1ICFkZWZhdWx0OyAvLyBlcXVhbCB0byAxMCUgb2YgYmxhY2tcblxuLy8vIFRoZSBvdmVybGF5IG9wYWNpdHkgb2YgdGhlIGhvdmVyZWQgZmxhdCBCdXR0b24uIFVzZWQgdG8gY3JlYXRlIGEgYmFja2dyb3VuZCBmb3IgdGhlIGZsYXQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1mbGF0LWJ1dHRvbi1ob3Zlci1vcGFjaXR5OiAuMDggIWRlZmF1bHQ7XG4vLy8gVGhlIG92ZXJsYXkgb3BhY2l0eSBvZiB0aGUgZm9jdXNlZCBmbGF0IEJ1dHRvbi4gVXNlZCB0byBjcmVhdGUgYSBiYWNrZ3JvdW5kIGZvciB0aGUgZmxhdCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWZsYXQtYnV0dG9uLWZvY3VzLW9wYWNpdHk6IC4xMiAhZGVmYXVsdDtcbi8vLyBUaGUgb3ZlcmxheSBvcGFjaXR5IG9mIHRoZSBhY3RpdmUgZmxhdCBCdXR0b24uIFVzZWQgdG8gY3JlYXRlIGEgYmFja2dyb3VuZCBmb3IgdGhlIGZsYXQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1mbGF0LWJ1dHRvbi1hY3RpdmUtb3BhY2l0eTogLjE2ICFkZWZhdWx0O1xuLy8vIFRoZSBvdmVybGF5IG9wYWNpdHkgb2YgdGhlIHNlbGVjdGVkIGZsYXQgQnV0dG9uLiBVc2VkIHRvIGNyZWF0ZSBhIGJhY2tncm91bmQgZm9yIHRoZSBmbGF0IEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tZmxhdC1idXR0b24tc2VsZWN0ZWQtb3BhY2l0eTogLjIyICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBmbGF0IEJ1dHRvbiBmb2N1cyByaW5nLiBVc2VkIHRvIGNyZWF0ZSBhIGJvcmRlciBmb3IgdGhlIGZsYXQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1mbGF0LWJ1dHRvbi1mb2N1cy1yaW5nLW9wYWNpdHk6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm94LXNoYWRvdyB0cmFuc2l0aW9uIG9mIHRoZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi10cmFuc2l0aW9uOiBib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllciggLjQsIDAsIC4yLCAxICkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDaGlwXG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIHRleHQgYW5kIHRoZSBpY29ucyBvZiB0aGUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc3BhY2luZzogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgc21hbGwgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc20tcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLW1kLXBhZGRpbmcteDogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWxnLXBhZGRpbmcteDogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXBhZGRpbmcteTogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zbS1wYWRkaW5nLXk6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtbWQtcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWxnLXBhZGRpbmcteTogay1zcGFjaW5nKDEuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc21hbGwgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc20tZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIG1lZGl1bSBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1tZC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbGFyZ2UgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtbGctZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgICFkZWZhdWx0O1xuXG4vLy8gVGhlIENoaXAncyBsaW5lIGhlaWdodCB0aGF0IGlzIHJlbGF0ZWQgdG8gdGhlICRrZW5kby1mb250LXNpemUuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWxpbmUtaGVpZ2h0OiBrLW1hdGgtZGl2KCAxOCwgMTQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc21hbGwgQ2hpcCdzIGxpbmUgaGVpZ2h0IHRoYXQgaXMgcmVsYXRlZCB0byB0aGUgJGtlbmRvLWZvbnQtc2l6ZS5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc20tbGluZS1oZWlnaHQ6ICRrZW5kby1jaGlwLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBtZWRpdW0gQ2hpcCdzIGxpbmUgaGVpZ2h0IHRoYXQgaXMgcmVsYXRlZCB0byB0aGUgJGtlbmRvLWZvbnQtc2l6ZS5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtbWQtbGluZS1oZWlnaHQ6ICRrZW5kby1jaGlwLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBsYXJnZSBDaGlwJ3MgbGluZSBoZWlnaHQgdGhhdCBpcyByZWxhdGVkIHRvIHRoZSAka2VuZG8tZm9udC1zaXplLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1sZy1saW5lLWhlaWdodDogJGtlbmRvLWNoaXAtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY2FsY3VsYXRlZCBoZWlnaHQgb2YgdGhlIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tY2hpcC1saW5lLWhlaWdodCAqIDFlbX0gKyBjYWxjKCAjeyRrZW5kby1jaGlwLXBhZGRpbmcteX0gKiAyICkgKyAjeyRrZW5kby1jaGlwLWJvcmRlci13aWR0aCAqIDJ9ICkgIWRlZmF1bHQ7XG4ka2VuZG8tY2hpcC1zbS1jYWxjLXNpemU6IGNhbGMoICN7JGtlbmRvLWNoaXAtc20tbGluZS1oZWlnaHQgKiAxZW19ICsgY2FsYyggI3ska2VuZG8tY2hpcC1zbS1wYWRkaW5nLXl9ICogMiApICsgI3ska2VuZG8tY2hpcC1ib3JkZXItd2lkdGggKiAyfSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1hcCB3aXRoIHRoZSBzaXplcyBvZiB0aGUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1jaGlwLXNtLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tY2hpcC1zbS1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNoaXAtc20tZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNoaXAtc20tbGluZS1oZWlnaHRcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLWNoaXAtbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1jaGlwLW1kLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hpcC1tZC1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2hpcC1tZC1saW5lLWhlaWdodFxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tY2hpcC1sZy1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWNoaXAtbGctcGFkZGluZy15LFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jaGlwLWxnLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jaGlwLWxnLWxpbmUtaGVpZ2h0XG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgb2YgdGhlIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWJhc2UtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci13aGl0ZSwgJGtlbmRvLWNvbG9yLWJsYWNrKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhlbWUgY29sb3JzIG1hcCBmb3IgdGhlIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXRoZW1lLWNvbG9yczogKFxuICAgIFwiYmFzZVwiOiAka2VuZG8tY2hpcC1iYXNlLWJnLFxuICAgIFwiZXJyb3JcIjogay1tYXAtZ2V0KCAka2VuZG8tdGhlbWUtY29sb3JzLCBcImVycm9yXCIgKSxcbiAgICBcImluZm9cIjogay1tYXAtZ2V0KCAka2VuZG8tdGhlbWUtY29sb3JzLCBcImluZm9cIiApLFxuICAgIFwid2FybmluZ1wiOiBrLW1hcC1nZXQoICRrZW5kby10aGVtZS1jb2xvcnMsIFwid2FybmluZ1wiICksXG4gICAgXCJzdWNjZXNzXCI6IGstbWFwLWdldCggJGtlbmRvLXRoZW1lLWNvbG9ycywgXCJzdWNjZXNzXCIgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNvbGlkIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXNvbGlkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1zdWJ0bGUgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tYnV0dG9uLWJnLCBrLXRyeS10aW50KCAka2VuZG8tY2hpcC1iYXNlLWJnLCA5MiUgKSkpICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIHRleHQgY29sb3Igb2YgdGhlIHNvbGlkIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXNvbGlkLXRleHQ6ICRrZW5kby1idXR0b24tdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBib3JkZXIgY29sb3Igb2YgdGhlIHNvbGlkIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXNvbGlkLWJvcmRlcjogJGtlbmRvLWNoaXAtc29saWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2Ugc2hhZG93IG9mIHRoZSBzb2xpZCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zb2xpZC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgZ3JhZGllbnQgb2YgdGhlIHNvbGlkIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXNvbGlkLWdyYWRpZW50OiAka2VuZG8tYnV0dG9uLWdyYWRpZW50ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhc2UgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBzb2xpZCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zb2xpZC1mb2N1cy1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWFjdGl2ZSApLCBrLXRyeS10aW50KCAka2VuZG8tY2hpcC1iYXNlLWJnLCA4MCUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBzb2xpZCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zb2xpZC1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhc2UgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBzb2xpZCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zb2xpZC1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWhvdmVyICksIGstdHJ5LXRpbnQoICRrZW5kby1jaGlwLWJhc2UtYmcsIDg0JSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIHNvbGlkIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXNvbGlkLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBzb2xpZCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zb2xpZC1zZWxlY3RlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWFjdGl2ZSApLCBrLXRyeS10aW50KCAka2VuZG8tY2hpcC1iYXNlLWJnLCA3NiUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgc29saWQgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc29saWQtc2VsZWN0ZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIG91dGxpbmUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtb3V0bGluZS1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSB0ZXh0IGNvbG9yIG9mIHRoZSBvdXRsaW5lIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLW91dGxpbmUtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utb24tc3VyZmFjZSApLCAka2VuZG8tY2hpcC1zb2xpZC10ZXh0KSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBib3JkZXIgY29sb3Igb2YgdGhlIG91dGxpbmUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtb3V0bGluZS1ib3JkZXI6ICRrZW5kby1jaGlwLW91dGxpbmUtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBzaGFkb3cgb2YgdGhlIG91dGxpbmUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtb3V0bGluZS1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIG91dGxpbmUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtb3V0bGluZS1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWhvdmVyICksIGstdHJ5LXRpbnQoICRrZW5kby1jaGlwLWJhc2UtYmcsIDkyJSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIG91dGxpbmUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtb3V0bGluZS1ob3Zlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1vbi1zdWJ0bGUgKSwgay1jb250cmFzdC1jb2xvciggJGtlbmRvLWNoaXAtb3V0bGluZS1ob3Zlci1iZyApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIG91dGxpbmUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtb3V0bGluZS1zZWxlY3RlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWFjdGl2ZSApLCBrLXRyeS10aW50KCAka2VuZG8tY2hpcC1iYXNlLWJnLCA4NCUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgb3V0bGluZSBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1vdXRsaW5lLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1jaGlwLW91dGxpbmUtaG92ZXItdGV4dCAhZGVmYXVsdDtcblxuLy8gQ2hpcCBMaXN0XG5cbi8vLyBUaGUgc2l6ZXMgb2YgdGhlIENoaXAgbGlzdC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtbGlzdC1zaXplczogKFxuICAgIHNtOiBrLXNwYWNpbmcoMSksXG4gICAgbWQ6IGstc3BhY2luZygxKSxcbiAgICBsZzogay1zcGFjaW5nKDEpXG4pICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2NoaXAvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoaXAvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2hpcC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1jaGlwLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIENoaXBcbiAgICAuay1jaGlwIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNoaXAtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNoaXAtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1jaGlwLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApO1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jaGlwLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jaGlwLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAka2VuZG8tY2hpcC1zcGFjaW5nO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2VsZWN0ZWQtaWNvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2hpcCBjb250ZW50XG4gICAgLmstY2hpcC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogLjVlbTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jazogLS41ZW07XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgICAgICAvLyBBZGp1c3RtZW50IGZvciBrZW5kby1pY29uLXdyYXBwZXJcbiAgICAgICAgLmstaWNvbi13cmFwcGVyLWhvc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1jaGlwLWNvbnRlbnQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAka2VuZG8tY2hpcC1zcGFjaW5nO1xuICAgIH1cbiAgICAuay1jaGlwLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAka2VuZG8tY2hpcC1zcGFjaW5nO1xuICAgIH1cblxuXG4gICAgLy8gQ2hpcCB0ZXh0XG4gICAgLmstY2hpcC10ZXh0LFxuICAgIC5rLWNoaXAtbGFiZWwge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG5cbiAgICAvLyBDaGlwIGF2YXRhclxuICAgIC5rLWNoaXAtYXZhdGFyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBDaGlwIGljb25cbiAgICAuay1jaGlwLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNcbiAgICAuay1jaGlwLWFjdGlvbnMge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IC01ZW07XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgICAuay1jaGlwLWFjdGlvbiB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cblxuXG4gICAgLy8gTGVnYWN5IGNoaXAgaWNvbnNcbiAgICAuay1yZW1vdmUtaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBDaGlwIGxpc3RcbiAgICAuay1jaGlwLWxpc3Qge1xuICAgICAgICBtaW4td2lkdGg6IDBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1jaGlwLXNpemVzIHtcbiAgICAgICAgJF9wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteCApO1xuICAgICAgICAkX3BhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy15ICk7XG4gICAgICAgICRfZm9udC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBmb250LXNpemUgKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgbGluZS1oZWlnaHQgKTtcbiAgICAgICAgJF9hdmF0YXItc2l6ZTogMWVtO1xuXG4gICAgICAgIC5rLWNoaXAtI3skc2l6ZX0ge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9wYWRkaW5nLXg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRfZm9udC1zaXplO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRfbGluZS1oZWlnaHQ7XG5cbiAgICAgICAgICAgIC5rLWNoaXAtYWN0aW9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNoaXAtYXZhdGFyIHtcbiAgICAgICAgICAgIHdpZHRoOiAkX2F2YXRhci1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkX2F2YXRhci1zaXplO1xuICAgICAgICAgICAgZmxleC1iYXNpczogJF9hdmF0YXItc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGtlbmRvLWNoaXAtbGlzdC1zaXplcyB7XG4gICAgICAgIC5rLWNoaXAtbGlzdC0jeyRuYW1lfSB7XG4gICAgICAgICAgICBnYXA6ICRzaXplO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNoaXAtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jaGlwLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWNoaXAtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jaGlwLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvY2hpcC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jaGlwL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2hpcC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWNoaXAtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBTb2xpZFxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWNoaXAtdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstY2hpcC1zb2xpZC0jeyRuYW1lfSB7XG5cbiAgICAgICAgICAgIEBpZiAoJG5hbWUgPT0gXCJiYXNlXCIpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tY2hpcC1zb2xpZC10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tY2hpcC1zb2xpZC1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWNoaXAtc29saWQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tY2hpcC1zb2xpZC1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWNoaXAtc29saWQtZm9jdXMtYmcgKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tY2hpcC1zb2xpZC1zaGFkb3cgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWNoaXAtc29saWQtaG92ZXItYmcgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1jaGlwLXNvbGlkLXNlbGVjdGVkLWJnICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LW9uLXN1YnRsZSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCA2NSUgKSksXG4gICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1zdWJ0bGUgKSwgay10cnktdGludCggJGNvbG9yLCA4MCUgKSksXG4gICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1lbXBoYXNpcyApLCBrLXRyeS10aW50KCAkY29sb3IsIDI1JSApKSxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWNoaXAtc29saWQtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoIDAgMCAwIDJweCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoICRuYW1lICkgMTYlLCB0cmFuc3BhcmVudCksIHJnYmEoICRjb2xvciwgLjE2ICkpICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1zdWJ0bGUtaG92ZXIgKSwgay10cnktdGludCgkY29sb3IsIDY1JSApKSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LXN1YnRsZS1hY3RpdmUgKSwgay10cnktdGludCggJGNvbG9yLCA1MCUgKSkgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIE91dGxpbmVcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1jaGlwLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWNoaXAtb3V0bGluZS0jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaWYgKCRuYW1lID09IFwiYmFzZVwiKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWNoaXAtb3V0bGluZS10ZXh0LFxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWNoaXAtb3V0bGluZS1ib3JkZXJcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1jaGlwLW91dGxpbmUtc2hhZG93ICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiAka2VuZG8tY2hpcC1vdXRsaW5lLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmc6ICRrZW5kby1jaGlwLW91dGxpbmUtaG92ZXItYmdcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiAka2VuZG8tY2hpcC1vdXRsaW5lLXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmc6ICRrZW5kby1jaGlwLW91dGxpbmUtc2VsZWN0ZWQtYmdcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkbmFtZSA9PSBcIndhcm5pbmdcIikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsIGstY29sb3ItdGludCgkY29sb3IsIDI1JSksICRrZW5kby1jaGlwLW91dGxpbmUtdGV4dCkpLFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgdHJhbnNwYXJlbnQsIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGtlbmRvLWNvbG9yLWJsYWNrLCAka2VuZG8tY29sb3Itd2hpdGUgKSksXG4gICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAkY29sb3IsIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgay1jb2xvci10aW50KCRjb2xvciwgMjUlKSwgJGNvbG9yKSlcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoIDAgMCAwIDJweCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoICRuYW1lICkgMTYlLCB0cmFuc3BhcmVudCksIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgcmdiYSggay1jb2xvci10aW50KCAkY29sb3IsIDUwJSApLCAuMzIgKSwgcmdiYSggJGNvbG9yLCAuMTYgKSkpICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDgwJSApICkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGNvbG9yLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsIGstY29sb3ItdGludCgkY29sb3IsIDI1JSksICRjb2xvcikpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLSN7JG5hbWV9ICksIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCA4MCUgKSApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRiZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICRjb2xvciwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCBrLWNvbG9yLXRpbnQoJGNvbG9yLCAyNSUpLCAkY29sb3IpKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1vbi1zdXJmYWNlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDI1JSApKSxcbiAgICAgICAgICAgICAgICAgICAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIHRyYW5zcGFyZW50LCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci1ibGFjaywgJGtlbmRvLWNvbG9yLXdoaXRlICkpLFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tb24tc3VyZmFjZSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyNSUgKSlcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoIDAgMCAwIDJweCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoICRuYW1lICkgMTYlLCB0cmFuc3BhcmVudCksIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgcmdiYSggay1jb2xvci10aW50KCAkY29sb3IsIDUwJSApLCAuMzIgKSwgcmdiYSggJGNvbG9yLCAuMTYgKSkpICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLSN7JG5hbWV9ICksIGstY29udHJhc3QtbGVnYWN5KCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyNSUgKSApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1ob3ZlciApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyNSUgKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0taG92ZXIgKSwgay10cnktc2hhZGUoICRjb2xvciwgMjUlICkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggay10cnktc2hhZGUoICRjb2xvciwgMjUlICkgKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tYWN0aXZlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDI1JSApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1hY3RpdmUgKSwgay10cnktc2hhZGUoICRjb2xvciwgMjUlICkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNoaXAtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNoaXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jaGlwLS10aGVtZSgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLWNoaXAtLXRoZW1lLWJhc2UoKTtcblxuICAgIC8vIFNvbGlkXG4gICAgLmstY2hpcC1zb2xpZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gU29saWRcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1jaGlwLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWNoaXAtc29saWQtI3skbmFtZX0ge1xuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3V0bGluZVxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWNoaXAtdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstY2hpcC1vdXRsaW5lLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpZiAoJG5hbWUgPT0gXCJiYXNlXCIpIHtcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tc3VidGxlLWFjdGl2ZSApLCBrLXRyeS10aW50KCAkY29sb3IsIDg4JSApKSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRuYW1lID09IFwid2FybmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCBrLXRyeS1zaGFkZSggJGNvbG9yLCA1MCUgKSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSkpXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1zdWJ0bGUtYWN0aXZlICksIGstdHJ5LXRpbnQoICRjb2xvciwgNjUlICkpICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tc3VidGxlLWhvdmVyICksIGstdHJ5LXRpbnQoICRjb2xvciwgODAlICkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCBrLXRyeS1zaGFkZSggJGNvbG9yLCA1MCUgKSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICRiZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LXN1YnRsZS1hY3RpdmUgKSwgay10cnktdGludCggJGNvbG9yLCA2NSUgKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDUwJSApLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApKSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1vbi1zdXJmYWNlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDUwJSApKVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICRiZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LXN1YnRsZS1hY3RpdmUgKSwgay10cnktdGludCggJGNvbG9yLCA2NSUgKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1vbi1zdWJ0bGUgKSwgay10cnktc2hhZGUoICRjb2xvciwgNTAlICkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tc3VidGxlLWhvdmVyICksIGstdHJ5LXRpbnQoICRjb2xvciwgODAlICkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tb24tc3VidGxlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDUwJSApKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1zdWJ0bGUtYWN0aXZlICksIGstdHJ5LXRpbnQoICRjb2xvciwgNjUlICkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tb24tc3VidGxlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDUwJSApKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWNoaXAtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImNoaXBcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY2hpcC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNoaXAtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jaGlwLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb2xvci1wcmV2aWV3L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29sb3ItcHJldmlldy9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJjb2xvci1wcmV2aWV3XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbG9yZ3JhZGllbnQvaW1hZ2VzL2FscGhhLXNsaWRlci1iZ3Iuc2Nzc1wiOyAtPiBzY3NzL2NvbG9yZ3JhZGllbnQvaW1hZ2VzL2FscGhhLXNsaWRlci1iZ3Iuc2Nzc1xuQGluY2x1ZGUgZXhwb3J0cyhcImFscGhhLXNsaWRlci1iZ3IucG5nXCIpIHtcbiAgICBAaW5jbHVkZSByZWdpc3Rlci1kYXRhLXVyaShcImFscGhhLXNsaWRlci1iZ3IucG5nXCIsIFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFLQ0FZQUFBQ05Ncys5QUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUF1U1VSQlZIZ0J4WXl4RFFBd0RNSklMK1lUK0RqdHpGUmxpVWZMY2tscUJDUlQ0ZUNUeGJENmtkTDIvTGdZWHFwdkNiczNrQnYvQUFBQUFFbEZUa1N1UW1DQ1wiKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9jb2xvci1wcmV2aWV3L192YXJpYWJsZXMuc2Nzc1xuLy8gQ29sb3IgUHJldmlld1xuJGtlbmRvLWNvbG9yLXByZXZpZXctYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKSAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci1wcmV2aWV3LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLXByZXZpZXctYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3ItcHJldmlldy10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLXByZXZpZXctYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci1wcmV2aWV3LWhvdmVyLWJvcmRlcjogJGtlbmRvLWhvdmVyLWJvcmRlciAhZGVmYXVsdDtcblxuJGtlbmRvLWNvbG9yLXByZXZpZXctbm8tY29sb3ItYmc6ICRrZW5kby1jb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci1wcmV2aWV3LW5vLWNvbG9yLXRleHQ6ICRrZW5kby1jb2xvci1lcnJvciAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci1wcmV2aWV3LW5vLWNvbG9yLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWNvbG9yLXByZXZpZXctbm8tY29sb3ItaW1hZ2U6IGstZXNjYXBlLXN2ZyggdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZlcnNpb249JzEuMSc+PGxpbmUgeDE9JzAnIHgyPScyMCcgeTE9JzAnIHkyPScyMCcgc3Ryb2tlPScjeyRrZW5kby1jb2xvci1wcmV2aWV3LW5vLWNvbG9yLXRleHR9JyBzdHJva2Utd2lkdGg9JzEnLz48L3N2Zz5cIikgKSAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci1wcmV2aWV3LXRyYW5zcGFyZW50LWNvbG9yLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQXVTVVJCVkhnQnhZeXhEUUF3RE1KSUwrWVQrRGp0ekZSbGlVZkxja2xxQkNSVDRlQ1R4YkQ2a2RMMi9MZ1lYcXB2Q2JzM2tCdi9BQUFBQUVsRlRrU3VRbUNDXCIpICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2NvbG9yLXByZXZpZXcvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbG9yLXByZXZpZXcvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3ItcHJldmlldy9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1jb2xvci1wcmV2aWV3LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yIFByZXZpZXdcbiAgICAuay1jb2xvci1wcmV2aWV3IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tY29sb3ItcHJldmlldy1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1jb2xvci1wcmV2aWV3LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEN1cnJlbnQgQ29sb3JcbiAgICAuay1jb2xvcmVkaXRvci1jdXJyZW50LWNvbG9yIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuXG4gICAgLy8gSWNvbiBjb2xvciBwcmV2aWV3XG4gICAgLmstaWNvbi1jb2xvci1wcmV2aWV3IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDJweDtcblxuICAgICAgICAuay1jb2xvci1wcmV2aWV3LW1hc2sge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoICN7JGtlbmRvLWljb24tc2l6ZX0gLSAycHggKTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDb2xvciBQcmV2aWV3IE1hc2tcbiAgICAuay1jb2xvci1wcmV2aWV3LW1hc2sge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5rLWNvbG9yLXByZXZpZXctbWFzazo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBiYWNrZ3JvdW5kOiAka2VuZG8tY29sb3ItcHJldmlldy10cmFuc3BhcmVudC1jb2xvci1pbWFnZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgfVxuXG5cbiAgICAvLyBObyBDb2xvclxuICAgIC5rLW5vLWNvbG9yIC5rLWNvbG9yLXByZXZpZXctbWFzazo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNvbG9yLXByZXZpZXctbm8tY29sb3ItYmc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRrZW5kby1jb2xvci1wcmV2aWV3LW5vLWNvbG9yLWltYWdlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1wcmV2aWV3LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcHJldmlldy0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1wcmV2aWV3LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcHJldmlldy0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2NvbG9yLXByZXZpZXcvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3ItcHJldmlldy9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbG9yLXByZXZpZXcvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1jb2xvci1wcmV2aWV3LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gQ29sb3IgUHJldmlld1xuICAgIC5rLWNvbG9yLXByZXZpZXcge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNvbG9yLXByZXZpZXctdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jb2xvci1wcmV2aWV3LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNvbG9yLXByZXZpZXctYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1jb2xvci1wcmV2aWV3LWhvdmVyLWJvcmRlciApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNvbG9yLXByZXZpZXctLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLXByZXZpZXctLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1wcmV2aWV3LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1wcmV2aWV3LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tY29sb3ItcHJldmlldy0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiY29sb3ItcHJldmlld1wiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1wcmV2aWV3LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcHJldmlldy0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLXByZXZpZXctLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2xvYWRlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xvYWRlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJsb2FkZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJvdmVybGF5XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL292ZXJsYXkvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9vdmVybGF5L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9sb2FkZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBMb2FkZXJcblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBMb2FkZXIgc2VnbWVudC5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLXNlZ21lbnQtYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIHNtYWxsIExvYWRlciBzZWdtZW50LlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItc20tc2VnbWVudC1zaXplOiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNpemUgb2YgdGhlIG1lZGl1bSBMb2FkZXIgc2VnbWVudC5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLW1kLXNlZ21lbnQtc2l6ZTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIHRoZSBsYXJnZSBMb2FkZXIgc2VnbWVudC5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLWxnLXNlZ21lbnQtc2l6ZTogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHBhZGRpbmcgb2YgdGhlIHNtYWxsIExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLXNtLXBhZGRpbmc6IGNhbGMoICN7ICRrZW5kby1sb2FkZXItc20tc2VnbWVudC1zaXplfSAvIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgbWVkaXVtIExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLW1kLXBhZGRpbmc6IGNhbGMoICN7ICRrZW5kby1sb2FkZXItbWQtc2VnbWVudC1zaXplfSAvIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgbGFyZ2UgTG9hZGVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItbGctcGFkZGluZzogY2FsYyggI3sgJGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemV9IC8gMiApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBzbWFsbCBzcGlubmVyLTMgTG9hZGVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItc20tc3Bpbm5lci0zLXdpZHRoOiBjYWxjKCAjeyAka2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZX0gKiA0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBtZWRpdW0gc3Bpbm5lci0zIExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLW1kLXNwaW5uZXItMy13aWR0aDogY2FsYyggI3sgJGtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemV9ICogNCApICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgbGFyZ2Ugc3Bpbm5lci0zIExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLWxnLXNwaW5uZXItMy13aWR0aDogY2FsYyggI3sgJGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemV9ICogNCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgc21hbGwgc3Bpbm5lci0zIExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItMy1oZWlnaHQ6IGNhbGMoICN7ICRrZW5kby1sb2FkZXItc20tc3Bpbm5lci0zLXdpZHRofSAqICN7JGVxdWlsYXRlcmFsLWhlaWdodH0gKSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBtZWRpdW0gc3Bpbm5lci0zIExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLW1kLXNwaW5uZXItMy1oZWlnaHQ6IGNhbGMoICN7ICRrZW5kby1sb2FkZXItbWQtc3Bpbm5lci0zLXdpZHRofSAqICN7JGVxdWlsYXRlcmFsLWhlaWdodH0gKSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBsYXJnZSBzcGlubmVyLTMgTG9hZGVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItbGctc3Bpbm5lci0zLWhlaWdodDogY2FsYyggI3sgJGtlbmRvLWxvYWRlci1sZy1zcGlubmVyLTMtd2lkdGh9ICogI3skZXF1aWxhdGVyYWwtaGVpZ2h0fSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBzbWFsbCBzcGlubmVyLTQgTG9hZGVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItc20tc3Bpbm5lci00LXdpZHRoOiBjYWxjKCAjeyAka2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZX0gKiA0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBtZWRpdW0gc3Bpbm5lci00IExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLW1kLXNwaW5uZXItNC13aWR0aDogY2FsYyggI3sgJGtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemV9ICogNCApICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgbGFyZ2Ugc3Bpbm5lci00IExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLWxnLXNwaW5uZXItNC13aWR0aDogY2FsYyggI3sgJGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemV9ICogNCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgc21hbGwgc3Bpbm5lci00IExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItNC1oZWlnaHQ6ICRrZW5kby1sb2FkZXItc20tc3Bpbm5lci00LXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIG1lZGl1bSBzcGlubmVyLTQgTG9hZGVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItbWQtc3Bpbm5lci00LWhlaWdodDogJGtlbmRvLWxvYWRlci1tZC1zcGlubmVyLTQtd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgbGFyZ2Ugc3Bpbm5lci00IExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLWxnLXNwaW5uZXItNC1oZWlnaHQ6ICRrZW5kby1sb2FkZXItbGctc3Bpbm5lci00LXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBMb2FkZXIgYmFzZWQgb24gdGhlIHNlY29uZGFyeSB0aGVtZSBjb2xvci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLXNlY29uZGFyeS1iZzogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIGNvbnRhaW5lciBwYW5lbC5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLWNvbnRhaW5lci1wYW5lbC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHN0eWxlIG9mIHRoZSBjb250YWluZXIgcGFuZWwuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1jb250YWluZXItcGFuZWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBjb250YWluZXIgcGFuZWwuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1jb250YWluZXItcGFuZWwtYm9yZGVyLWNvbG9yOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgY29udGFpbmVyIHBhbmVsLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItY29udGFpbmVyLXBhbmVsLWJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhtZCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNvbnRhaW5lciBwYW5lbC5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLWNvbnRhaW5lci1wYW5lbC1iZzogJGtlbmRvLWNvbG9yLXdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGhlIHBhZGRpbmcgb2YgdGhlIHNtYWxsIExvYWRlciBjb250YWluZXIuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1zbS1jb250YWluZXItcGFkZGluZzogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gTG9hZGVyIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLW1kLWNvbnRhaW5lci1wYWRkaW5nOiBrLXNwYWNpbmcoNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHBhZGRpbmcgb2YgdGhlIGxhcmdlIExvYWRlciBjb250YWluZXIuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1sZy1jb250YWluZXItcGFkZGluZzogay1zcGFjaW5nKDYpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGdhcCBvZiB0aGUgc21hbGwgTG9hZGVyIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLXNtLWNvbnRhaW5lci1nYXA6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgZ2FwIG9mIHRoZSBtZWRpdW0gTG9hZGVyIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLW1kLWNvbnRhaW5lci1nYXA6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgZ2FwIG9mIHRoZSBsYXJnZSBMb2FkZXIgY29udGFpbmVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItbGctY29udGFpbmVyLWdhcDogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc21hbGwgTG9hZGVyIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLXNtLWNvbnRhaW5lci1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBtZWRpdW0gTG9hZGVyIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLW1kLWNvbnRhaW5lci1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBsYXJnZSBMb2FkZXIgY29udGFpbmVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItbGctY29udGFpbmVyLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1sZywgaW5oZXJpdCApICFkZWZhdWx0O1xuXG4vLyBMb2FkaW5nIGluZGljYXRvclxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBMb2FkaW5nIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgbG9hZGluZ1xuJGtlbmRvLWxvYWRpbmctYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIExvYWRpbmcgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBsb2FkaW5nXG4ka2VuZG8tbG9hZGluZy10ZXh0OiBjdXJyZW50Q29sb3IgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIExvYWRpbmcgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBsb2FkaW5nXG4ka2VuZG8tbG9hZGluZy1vcGFjaXR5OiAuMyAhZGVmYXVsdDtcbi8vLyBUaGUgei1pbmRleCBvZiB0aGUgTG9hZGluZyBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGxvYWRpbmdcbiRrZW5kby16aW5kZXgtbG9hZGluZzogMTAwICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2xvYWRlci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbG9hZGVyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xvYWRlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1sb2FkZXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLmstbG9hZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgLy8gUHJldmVudHMgdGhlIGlubGluZSBlbGVtZW50cyBmcm9tIGJlaW5nIGRpc3BsYWNlZC5cbiAgICAgICAgLy8gQSBnb29kIGV4YW1wbGUgaXMgdGhlICdwdWxzaW5nJyBsb2FkZXIgaW5zaWRlIGEgYnV0dG9uLlxuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAuay1sb2FkZXItY2FudmFzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8vIExvYWRlciBzZWdtZW50XG4gICAgLmstbG9hZGVyLXNlZ21lbnQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tbG9hZGVyLXNlZ21lbnQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLy8gTG9hZGVyIHNpemVzXG4gICAgLmstbG9hZGVyLXNtIHtcbiAgICAgICAgcGFkZGluZzogJGtlbmRvLWxvYWRlci1zbS1wYWRkaW5nO1xuXG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWxvYWRlci1zbS1zZWdtZW50LXNpemU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbG9hZGVyLW1kIHtcbiAgICAgICAgcGFkZGluZzogJGtlbmRvLWxvYWRlci1tZC1wYWRkaW5nO1xuXG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tbG9hZGVyLW1kLXNlZ21lbnQtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbG9hZGVyLWxnIHtcbiAgICAgICAgcGFkZGluZzogJGtlbmRvLWxvYWRlci1sZy1wYWRkaW5nO1xuXG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tbG9hZGVyLWxnLXNlZ21lbnQtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAvLyBMb2FkZXIgcHVsc2luZyAyXG4gICAgQGtleWZyYW1lcyBwdWxzaW5nLTItc2VnbWVudCB7XG4gICAgICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgICAgICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cbiAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICB9XG5cblxuICAgIC8vIENvbXBvbmVudFxuICAgIC5rLWxvYWRlci1wdWxzaW5nLTIge1xuXG4gICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50Om50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSggMS41ICk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcHVsc2luZy0yLXNlZ21lbnQgMXMgZWFzZSBpbmZpbml0ZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLS41cztcbiAgICAgICAgfVxuICAgICAgICAuay1sb2FkZXItc2VnbWVudDpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcHVsc2luZy0yLXNlZ21lbnQgMXMgZWFzZSBpbmZpbml0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1sb2FkZXItc20ge1xuICAgICAgICAgICAgLmstbG9hZGVyLWNhbnZhcyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoICN7JGtlbmRvLWxvYWRlci1zbS1zZWdtZW50LXNpemV9ICogMyApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggI3ska2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZX0gKiAxLjUgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1sb2FkZXItbWQge1xuICAgICAgICAgICAgLmstbG9hZGVyLWNhbnZhcyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoICN7JGtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemV9ICogMyApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggI3ska2VuZG8tbG9hZGVyLW1kLXNlZ21lbnQtc2l6ZX0gKiAxLjUgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1sb2FkZXItbGcge1xuICAgICAgICAgICAgLmstbG9hZGVyLWNhbnZhcyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoICN7JGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemV9ICogMyApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggI3ska2VuZG8tbG9hZGVyLWxnLXNlZ21lbnQtc2l6ZX0gKiAxLjUgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIExvYWRlciBzcGlubmVyIDNcbiAgICBAa2V5ZnJhbWVzIHNwaW5uZXItMy1zZWdtZW50IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgMzMuMzMzMyUge1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIDY2LjY2NjYlIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ29tcG9uZW50XG4gICAgLmstbG9hZGVyLXNwaW5uZXItMyB7XG5cbiAgICAgICAgLy8gTm90ZTogVW50aWwgd2UgY2FuIHByb3ZpZGUgYSBjc3MgdmFyaWFibGVzIHNvbHV0aW9uLCBvciBzb21ldGhpbmcgYmV0dGVyOlxuICAgICAgICAvLyAqIHRoZSBkb3QgY2VudGVyIGlzIG9uIHRoZSBleGFjdCBwb2ludCBvZiBhbmdsZVxuICAgICAgICAvLyAqIG9mZnNldCBkb3RzIGJ5IGFydGlmaWNhbGx5IHJlZHVjZSBkaW1lbnRpb25zIGJ5IDEgZG90IHNpemVcbiAgICAgICAgLy8gKiBjb21wZW5zYXRlIGJ5IHNldHRpbmcgbWFyZ2luIG9uIGFsbCBzaWRlcyBoYWxmIGEgZG90IHNpemVcblxuICAgICAgICAuay1sb2FkZXItc2VnbWVudCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggLTUwJSwgLTUwJSApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50Om50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItMy1zZWdtZW50IDJzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgIH1cbiAgICAgICAgLmstbG9hZGVyLXNlZ21lbnQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItMy1zZWdtZW50IDJzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IGNhbGMoIC0ycyAvIDMgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1sb2FkZXItc2VnbWVudDpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc3Bpbm5lci0zLXNlZ21lbnQgMnMgZWFzZSBpbmZpbml0ZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogY2FsYyggLTRzIC8gMyApO1xuICAgICAgICB9XG5cblxuICAgICAgICAmLmstbG9hZGVyLXNtIHtcbiAgICAgICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogY2FsYyggI3ska2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZX0gLyAyICk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoICN7JGtlbmRvLWxvYWRlci1zbS1zcGlubmVyLTMtd2lkdGh9IC0gI3ska2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoICN7JGtlbmRvLWxvYWRlci1zbS1zcGlubmVyLTMtaGVpZ2h0fSAtICN7JGtlbmRvLWxvYWRlci1zbS1zZWdtZW50LXNpemV9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbG9hZGVyLW1kIHtcbiAgICAgICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogY2FsYyggI3sgJGtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemV9IC8gMiApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAjeyRrZW5kby1sb2FkZXItbWQtc3Bpbm5lci0zLXdpZHRofSAtICN7JGtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemV9ICk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1sb2FkZXItbWQtc3Bpbm5lci0zLWhlaWdodH0gLSAjeyRrZW5kby1sb2FkZXItbWQtc2VnbWVudC1zaXplfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWxvYWRlci1sZyB7XG4gICAgICAgICAgICAuay1sb2FkZXItY2FudmFzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGNhbGMoICN7JGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemV9IC8gMiApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAjeyRrZW5kby1sb2FkZXItbGctc3Bpbm5lci0zLXdpZHRofSAtICN7JGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemV9ICk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1sb2FkZXItbGctc3Bpbm5lci0zLWhlaWdodH0gLSAjeyRrZW5kby1sb2FkZXItbGctc2VnbWVudC1zaXplfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG4gICAgLy8gTG9hZGVyIHNwaW5uZXIgNFxuICAgIEBrZXlmcmFtZXMgc3Bpbm5lci00LXNlZ21lbnQtMSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAzMy4zJSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICA2Ni42JSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBzcGlubmVyLTQtc2VnbWVudC0yIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDMzLjMlIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICA2Ni42JSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc3Bpbm5lci00LXNlZ21lbnQtMyB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAzMy4zJSB7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDY2LjYlIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc3Bpbm5lci00LXNlZ21lbnQtNCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAzMy4zJSB7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgNjYuNiUge1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNwaW5uZXItNCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgMzMuMyUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIH1cblxuICAgICAgICA2Ni42JSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbG9hZGVyLXNwaW5uZXItNCB7XG4gICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyLTQgMS44MzNzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1sb2FkZXItc2VnbWVudCB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyLTQtc2VnbWVudC0xIDEuODMzcyBlYXNlIGluZmluaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyLTQtc2VnbWVudC0yIDEuODMzcyBlYXNlIGluZmluaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyLTQtc2VnbWVudC0zIDEuODMzcyBlYXNlIGluZmluaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyLTQtc2VnbWVudC00IDEuODMzcyBlYXNlIGluZmluaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWxvYWRlci1zbSB7XG4gICAgICAgICAgICAuay1sb2FkZXItY2FudmFzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGtlbmRvLWxvYWRlci1zbS1zcGlubmVyLTQtd2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItNC1oZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbG9hZGVyLW1kIHtcbiAgICAgICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tbG9hZGVyLW1kLXNwaW5uZXItNC13aWR0aDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1sb2FkZXItbWQtc3Bpbm5lci00LWhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1sb2FkZXItbGcge1xuICAgICAgICAgICAgLmstbG9hZGVyLWNhbnZhcyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1sb2FkZXItbGctc3Bpbm5lci00LXdpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWxvYWRlci1sZy1zcGlubmVyLTQtaGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG4gICAgLy8gTG9hZGVyIGNvbnRhaW5lclxuICAgIC5rLWxvYWRlci1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMjAwMDE7XG5cbiAgICAgICAgLmstbG9hZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1sb2FkZXItY29udGFpbmVyLFxuICAgIC5rLWxvYWRlci1jb250YWluZXItb3ZlcmxheSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFRPRE86IHVzZSBrLW92ZXJsYXkgYXMgYSBiYXNlIGNsYXNzIGluIHJlbmRlcmluZ1xuICAgIC5rLWxvYWRlci1jb250YWluZXItb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6ICRrZW5kby1vdmVybGF5LW9wYWNpdHk7XG4gICAgfVxuXG4gICAgLmstbG9hZGVyLWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAuay1sb2FkZXItY29udGFpbmVyLXBhbmVsIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tbG9hZGVyLWNvbnRhaW5lci1wYW5lbC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogJGtlbmRvLWxvYWRlci1jb250YWluZXItcGFuZWwtYm9yZGVyLXN0eWxlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tbG9hZGVyLWNvbnRhaW5lci1wYW5lbC1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIExvYWRlciBDb250YWluZXIgU2l6ZXNcbiAgICAuay1sb2FkZXItY29udGFpbmVyLXNtIHtcbiAgICAgICAgLmstbG9hZGVyLWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAka2VuZG8tbG9hZGVyLXNtLWNvbnRhaW5lci1wYWRkaW5nO1xuICAgICAgICAgICAgZ2FwOiAka2VuZG8tbG9hZGVyLXNtLWNvbnRhaW5lci1nYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1sb2FkZXItY29udGFpbmVyLWxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWxvYWRlci1zbS1jb250YWluZXItZm9udC1zaXplO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWxvYWRlci1jb250YWluZXItbWQge1xuICAgICAgICAuay1sb2FkZXItY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRrZW5kby1sb2FkZXItbWQtY29udGFpbmVyLXBhZGRpbmc7XG4gICAgICAgICAgICBnYXA6ICRrZW5kby1sb2FkZXItbWQtY29udGFpbmVyLWdhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxvYWRlci1jb250YWluZXItbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbG9hZGVyLW1kLWNvbnRhaW5lci1mb250LXNpemU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbG9hZGVyLWNvbnRhaW5lci1sZyB7XG4gICAgICAgIC5rLWxvYWRlci1jb250YWluZXItaW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLWxvYWRlci1sZy1jb250YWluZXItcGFkZGluZztcbiAgICAgICAgICAgIGdhcDogJGtlbmRvLWxvYWRlci1sZy1jb250YWluZXItZ2FwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbG9hZGVyLWNvbnRhaW5lci1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1sb2FkZXItbGctY29udGFpbmVyLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExvYWRlciBQb3NpdGlvblxuICAgIC5rLWxvYWRlci10b3Age1xuICAgICAgICAuay1sb2FkZXItY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbG9hZGVyLWVuZCB7XG4gICAgICAgIC5rLWxvYWRlci1jb250YWluZXItbGFiZWwge1xuICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vIExlZ2FjeSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgbG9hZGluZyBpY29uIGluc2lkZSBpbnB1dHMgYW5kIHBpY2tlcnNcbi8vIFJlcGxhY2Ugd2l0aCBsb2FkZXIgY29tcG9uZW50XG5AbWl4aW4ga2VuZG8tbG9hZGluZy0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBMb2FkaW5nIG1hc2tcbiAgICAuay1sb2FkaW5nLW1hc2ssXG4gICAgLmstbG9hZGluZy1pbWFnZSxcbiAgICAuay1sb2FkaW5nLWNvbG9yIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlcixcbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbG9hZGluZy1tYXNrIHtcbiAgICAgICAgei1pbmRleDogJGtlbmRvLXppbmRleC1sb2FkaW5nO1xuXG4gICAgICAgICYuay1vcGFxdWUge1xuICAgICAgICAgICAgLmstbG9hZGluZy1jb2xvciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1sb2FkaW5nLXRleHQge1xuICAgICAgICB0ZXh0LWluZGVudDogLTQwMDBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tbG9hZGluZy10ZXh0O1xuICAgIH1cbiAgICAuay1sb2FkaW5nLWltYWdlIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgY29sb3I6ICRrZW5kby1sb2FkaW5nLXRleHQ7XG4gICAgfVxuICAgIC5rLWxvYWRpbmctY29sb3Ige1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tbG9hZGluZy1iZztcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLWxvYWRpbmctb3BhY2l0eTtcbiAgICB9XG5cbiAgICAvLyBMb2FkaW5nIGluZGljYXRvclxuICAgIC5rLWktbG9hZGluZyB7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tbG9hZGluZy10ZXh0O1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWktbG9hZGluZzo6YmVmb3JlLFxuICAgIC5rLWktbG9hZGluZzo6YWZ0ZXIsXG4gICAgLmstbG9hZGluZy1pbWFnZTo6YmVmb3JlLFxuICAgIC5rLWxvYWRpbmctaW1hZ2U6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAuMDVlbTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmstaWNvbi5rLWktbG9hZGluZzo6YmVmb3JlLFxuICAgIC5rLWljb24uay1pLWxvYWRpbmc6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICAuay1pLWxvYWRpbmc6OmJlZm9yZSxcbiAgICAuay1sb2FkaW5nLWltYWdlOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiAtLjVlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0uNWVtO1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgYW5pbWF0aW9uOiBrLWxvYWRpbmctYW5pbWF0aW9uIC43cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgLmstaS1sb2FkaW5nOjphZnRlcixcbiAgICAuay1sb2FkaW5nLWltYWdlOjphZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0uMjVlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0uMjVlbTtcbiAgICAgICAgd2lkdGg6IC41ZW07XG4gICAgICAgIGhlaWdodDogLjVlbTtcbiAgICAgICAgYW5pbWF0aW9uOiBrLWxvYWRpbmctYW5pbWF0aW9uIHJldmVyc2UgMS40cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgLmstbG9hZGluZy1pbWFnZTo6YmVmb3JlLFxuICAgIC5rLWxvYWRpbmctaW1hZ2U6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90ZWxlcmlrL2tlbmRvLXRoZW1lcy9pc3N1ZXMvMTkyNVxuICAgICAgICBib3JkZXItd2lkdGg6IDFweDsgLy8gVE9ETzogUmVtb3ZlIG9uY2Ugd2UgZHJvcCBJRSBzdXBwb3J0XG4gICAgICAgIGJvcmRlci13aWR0aDogY2xhbXAoIC4wMTVlbSwgMXB4LCAxcHggKTtcbiAgICAgICAgZm9udC1zaXplOiA0ZW07XG4gICAgfVxuXG4gICAgLy8gTG9hZGluZyBhbmltYXRpb25cbiAgICBAa2V5ZnJhbWVzIGstbG9hZGluZy1hbmltYXRpb24ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuQG1peGluIGtlbmRvLWxvYWRlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxvYWRlci0tbGF5b3V0LWJhc2UoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1sb2FkaW5nLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWxvYWRlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxvYWRlci0tbGF5b3V0LWJhc2UoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1sb2FkaW5nLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvbG9hZGVyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xvYWRlci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xvYWRlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWxvYWRlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWxvYWRlci0jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaWYgJG5hbWUgPT0gXCJzZWNvbmRhcnlcIiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1sb2FkZXItc2Vjb25kYXJ5LWJnO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWxvYWRlci1jb250YWluZXItcGFuZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tbG9hZGVyLWNvbnRhaW5lci1wYW5lbC1iZztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tbG9hZGVyLWNvbnRhaW5lci1wYW5lbC1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLmstbG9hZGVyLWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgIC5rLXRleHQtc2Vjb25kYXJ5LFxuICAgICAgICAuXFwhay10ZXh0LXNlY29uZGFyeSB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tbG9hZGVyLXNlY29uZGFyeS1iZyAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWxvYWRlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbG9hZGVyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbG9hZGVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1sb2FkZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1sb2FkZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImxvYWRlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1sb2FkZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1sb2FkZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1sb2FkZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyBAaW1wb3J0IFwiLi9sb2FkaW5nL19pbmRleC5zY3NzXCI7XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3NrZWxldG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc2tlbGV0b24vX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBkZXBlbmRlbmNpZXM6ICgpXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9za2VsZXRvbi9fdmFyaWFibGVzLnNjc3Ncbi8vIFNrZWxldG9uXG5cbi8vLyBUaGUgdHJhbnNmb3JtIHNjYWxlIG9mIHRoZSBTa2VsZXRvbiB0ZXh0LlxuLy8vIEBncm91cCBza2VsZXRvblxuJGtlbmRvLXNrZWxldG9uLXRleHQtdHJhbnNmb3JtOiBzY2FsZSggMSwgLjYgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgU2tlbGV0b24gdGV4dC5cbi8vLyBAZ3JvdXAgc2tlbGV0b25cbiRrZW5kby1za2VsZXRvbi10ZXh0LWJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhtZCkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgcmVjdGFuZ3VsYXIgU2tlbGV0b24uXG4vLy8gQGdyb3VwIHNrZWxldG9uXG4ka2VuZG8tc2tlbGV0b24tcmVjdC1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIGNpcmN1bGFyIFNrZWxldG9uLlxuLy8vIEBncm91cCBza2VsZXRvblxuJGtlbmRvLXNrZWxldG9uLWNpcmNsZS1ib3JkZXItcmFkaXVzOiA5OTk5cHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2tlbGV0b24gaXRlbS5cbi8vLyBAZ3JvdXAgc2tlbGV0b25cbiRrZW5kby1za2VsZXRvbi1pdGVtLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMjAlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1jb2xvci1pbnZlcnNlLCAuMiApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2tlbGV0b24gd2F2ZSBhbmltYXRpb24uXG4vLy8gQGdyb3VwIHNrZWxldG9uXG4ka2VuZG8tc2tlbGV0b24td2F2ZS1iZzogcmdiYSggYmxhY2ssIC4wNCApICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3NrZWxldG9uL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9za2VsZXRvbi9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9za2VsZXRvbi9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1za2VsZXRvbi0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay1za2VsZXRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5rLXNrZWxldG9uLXRleHQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tc2tlbGV0b24tdGV4dC1ib3JkZXItcmFkaXVzO1xuICAgICAgICB0cmFuc2Zvcm06ICRrZW5kby1za2VsZXRvbi10ZXh0LXRyYW5zZm9ybTtcblxuICAgICAgICAmOmVtcHR5OjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNrZWxldG9uLXJlY3Qge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tc2tlbGV0b24tcmVjdC1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgIC5rLXNrZWxldG9uLWNpcmNsZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1za2VsZXRvbi1jaXJjbGUtYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc1xuICAgIC5rLXBsYWNlaG9sZGVyLWxpbmUge1xuICAgICAgICBAZXh0ZW5kIC5rLXNrZWxldG9uICFvcHRpb25hbDtcbiAgICAgICAgQGV4dGVuZCAuay1za2VsZXRvbi10ZXh0ICFvcHRpb25hbDtcbiAgICB9XG5cblxuICAgIC8vIFNrZWxldG9uIHdhdmVcbiAgICBAa2V5ZnJhbWVzIGstc2tlbGV0b24td2F2ZSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgNjAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNrZWxldG9uLXdhdmUge1xuXG4gICAgICAgIC5rLXNrZWxldG9uLFxuICAgICAgICAmLmstc2tlbGV0b24ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogay1za2VsZXRvbi13YXZlIDEuNnMgbGluZWFyIC41cyBpbmZpbml0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBTa2VsZXRvbiBwdWxzZVxuICAgIEBrZXlmcmFtZXMgay1za2VsZXRvbi1wdWxzZSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNrZWxldG9uLXB1bHNlIHtcblxuICAgICAgICAuay1za2VsZXRvbixcbiAgICAgICAgJi5rLXNrZWxldG9uIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogay1za2VsZXRvbi1wdWxzZSAxLjVzIGVhc2UtaW4tb3V0IC41cyBpbmZpbml0ZTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXNrZWxldG9uLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2tlbGV0b24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tc2tlbGV0b24tLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1za2VsZXRvbi0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3NrZWxldG9uL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NrZWxldG9uL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2tlbGV0b24vX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1za2VsZXRvbi0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLXNrZWxldG9uIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tc2tlbGV0b24taXRlbS1iZyApO1xuICAgIH1cblxuXG4gICAgLy8gU2tlbGV0b24gd2F2ZVxuICAgIC5rLXNrZWxldG9uLXdhdmUge1xuXG4gICAgICAgIC5rLXNrZWxldG9uOjphZnRlcixcbiAgICAgICAgJi5rLXNrZWxldG9uOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNrZWxldG9uLXdhdmUtYmcsXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1za2VsZXRvbi0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2tlbGV0b24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1za2VsZXRvbi0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2tlbGV0b24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1za2VsZXRvbi0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwic2tlbGV0b25cIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2tlbGV0b24tLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1za2VsZXRvbi0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNrZWxldG9uLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90aW1lLW1hcmtlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RpbWUtbWFya2VyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwidGltZS1tYXJrZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6ICgpXG4pO1xuXG4vLyBEZXBlbmRlbmNpZXNcblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvdGltZS1tYXJrZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgY3VycmVudCB0aW1lIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgdGltZS1tYXJrZXJcbiRrZW5kby1jdXJyZW50LXRpbWUtd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIGN1cnJlbnQgdGltZSBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHRpbWUtbWFya2VyXG4ka2VuZG8tY3VycmVudC10aW1lLWNvbG9yOiAjZmYwMDAwICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3RpbWUtbWFya2VyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90aW1lLW1hcmtlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90aW1lLW1hcmtlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby10aW1lLW1hcmtlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay1jdXJyZW50LXRpbWUge1xuICAgICAgICB3aWR0aDogJGtlbmRvLWN1cnJlbnQtdGltZS13aWR0aDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICYuay1jdXJyZW50LXRpbWUtYXJyb3ctbGVmdCxcbiAgICAgICAgJi5rLWN1cnJlbnQtdGltZS1hcnJvdy1yaWdodCxcbiAgICAgICAgJi5rLWN1cnJlbnQtdGltZS1hcnJvdy1kb3duIHtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5AbWl4aW4ga2VuZG8tdGltZS1tYXJrZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLW1hcmtlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8tdGltZS1tYXJrZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLW1hcmtlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3RpbWUtbWFya2VyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWUtbWFya2VyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGltZS1tYXJrZXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby10aW1lLW1hcmtlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLWN1cnJlbnQtdGltZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1jdXJyZW50LXRpbWUtY29sb3I7XG5cbiAgICAgICAgJi5rLWN1cnJlbnQtdGltZS1hcnJvdy1sZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGtlbmRvLWN1cnJlbnQtdGltZS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1jdXJyZW50LXRpbWUtYXJyb3ctcmlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRrZW5kby1jdXJyZW50LXRpbWUtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstY3VycmVudC10aW1lLWFycm93LWRvd24ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGtlbmRvLWN1cnJlbnQtdGltZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby10aW1lLW1hcmtlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1tYXJrZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10aW1lLW1hcmtlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1tYXJrZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXRpbWUtbWFya2VyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0aW1lLW1hcmtlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10aW1lLW1hcmtlci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtbWFya2VyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1tYXJrZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gRm9ybSBoZWxwZXJzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2Zvcm1zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZm9ybXMvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZm9ybVwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImFjdGlvbnNcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzIC8vIFRPRE86IGV4dHJhY3QgdmFyaWFibGVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90b29sYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbGJhci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0b29sYmFyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcIm1lbnVcIixcbiAgICAgICAgXCJwb3B1cFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiYnV0dG9uXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYmFkZ2VcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2JhZGdlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYmFkZ2UvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX3ZhcmlhYmxlcy5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2J1dHRvbi9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9idXR0b24vX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tYnV0dG9uLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJ1dHRvblxuICAgIC5rLWJ1dHRvbiB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1idXR0b24tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tYnV0dG9uLWZvbnQtZmFtaWx5O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6ICRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiAka2VuZG8tYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRpc2FibGVkKCAka2VuZG8tZGlzYWJsZWQtc3R5bGluZy4uLiApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gSWNvbiBCdXR0b25cbiAgICAuay1pY29uLWJ1dHRvbiB7XG4gICAgICAgIGdhcDogMDtcblxuICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDb250ZW50XG4gICAgLmstYnV0dG9uLWljb24ge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmstYnV0dG9uLXRleHQge31cblxuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLWJ1dHRvbi1zaXplcyB7XG4gICAgICAgICRfcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXggKTtcbiAgICAgICAgJF9wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteSApO1xuICAgICAgICAkX2ZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGxpbmUtaGVpZ2h0ICk7XG5cbiAgICAgICAgLmstYnV0dG9uLSN7JHNpemV9IHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfcGFkZGluZy14O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2xpbmUtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYnV0dG9uLSN7JHNpemV9LmstaWNvbi1idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogJF9wYWRkaW5nLXk7XG5cbiAgICAgICAgICAgIC5rLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGNhbGMoICN7JF9mb250LXNpemV9ICogI3skX2xpbmUtaGVpZ2h0fSApO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoICN7JF9mb250LXNpemV9ICogI3skX2xpbmUtaGVpZ2h0fSApO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAmLmstc3ZnLWljb24gPiBzdmcsXG4gICAgICAgICAgICAgICAgJi5rLWljb24tbWQgPiBzdmcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGtlbmRvLWljb24tc2l6ZS1tZDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8taWNvbi1zaXplLW1kO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1pY29uLXhzID4gc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUteHM7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWljb24tc2l6ZS14cztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstaWNvbi1zbSA+IHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8taWNvbi1zaXplLXNtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1pY29uLXNpemUtc207XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWljb24tbGcgPiBzdmcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGtlbmRvLWljb24tc2l6ZS1sZztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8taWNvbi1zaXplLWxnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1pY29uLXhsID4gc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUteGw7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWljb24tc2l6ZS14bDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstaWNvbi14eGwgPiBzdmcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGtlbmRvLWljb24tc2l6ZS14eGw7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWljb24tc2l6ZS14eGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWljb24teHh4bCA+IHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8taWNvbi1zaXplLXh4eGw7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWljb24tc2l6ZS14eHhsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQnV0dG9uIHNoYXBlXG4gICAgLmstYnV0dG9uLXNxdWFyZSB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICB9XG5cblxuICAgIC8vIEJ1dHRvbiBncm91cFxuICAgIC5rLWJ1dHRvbi1ncm91cCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICA+IC5rLWJ1dHRvbiArIC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBpZiggJGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGggPT0gMCwgbnVsbCwgLSRrZW5kby1idXR0b24tYm9yZGVyLXdpZHRoICk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWJ1dHRvbjpob3ZlcixcbiAgICAgICAgPiAuay1idXR0b24uay1ob3ZlcixcbiAgICAgICAgPiAuay1idXR0b246Zm9jdXMsXG4gICAgICAgID4gLmstYnV0dG9uLmstZm9jdXMsXG4gICAgICAgID4gLmstYnV0dG9uOmFjdGl2ZSxcbiAgICAgICAgPiAuay1idXR0b24uay1hY3RpdmUsXG4gICAgICAgID4gLmstYnV0dG9uLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgICAgID4gLmstYnV0dG9uOmZpcnN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICAgICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICAgICAgPiAuay1idXR0b246bGFzdC1jaGlsZDpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbZGlzYWJsZWRdLFxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWJ1dHRvbi1ncm91cC1zdHJldGNoZWQge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRmxhdCBidXR0b25cbiAgICAuay1idXR0b24tZmxhdCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgIC8vIE92ZXJsYXkgYmFja2dyb3VuZFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHJpbmdcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzOjphZnRlcixcbiAgICAgICAgJi5rLWZvY3VzOjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tZmxhdC1idXR0b24tZm9jdXMtcmluZy1vcGFjaXR5O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBPdXRsaW5lIGJ1dHRvblxuICAgIC5rLWJ1dHRvbi1vdXRsaW5lIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gTGluayBidXR0b25cbiAgICAuay1idXR0b24tbGluayB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDbGVhciBidXR0b25cbiAgICAuay1idXR0b24tY2xlYXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICB9XG5cblxuXG5cbiAgICAvLyBCdXR0b24gb3ZlcmxheVxuICAgIC5rLWJ1dHRvbi1vdmVybGF5IHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggaW5oZXJpdCApO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgcmlnaHQ6IC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgdG9wOiAtJGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvdHRvbTogLSRrZW5kby1idXR0b24tYm9yZGVyLXdpZHRoO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtcbiAgICB9XG5cblxuICAgIC5rLWJ1dHRvbiB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgQGV4dGVuZCAuay1idXR0b24tb3ZlcmxheSAhb3B0aW9uYWw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlcmVkIHN0YXRlXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1mbGF0LWJ1dHRvbi1ob3Zlci1vcGFjaXR5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNlZCBzdGF0ZVxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tZmxhdC1idXR0b24tZm9jdXMtb3BhY2l0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmstbm8tZm9jdXM6bm90KDpob3ZlciksXG4gICAgICAgICYuay1uby1mb2N1czpub3QoLmstaG92ZXIpIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1mbGF0LWJ1dHRvbi1hY3RpdmUtb3BhY2l0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1mbGF0LWJ1dHRvbi1zZWxlY3RlZC1vcGFjaXR5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cblxuXG5cbiAgICAvLyBCdXR0b24gZm9jdXMgcmluZ1xuICAgIC5rLWJ1dHRvbiB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCBpbmhlcml0ICk7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIHJpZ2h0OiAtJGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICB0b3A6IC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvdHRvbTogLSRrZW5kby1idXR0b24tYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWJ1dHRvbi0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJ1dHRvbi0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1idXR0b24tLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLWJ1dHRvbi0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC8vIEJ1dHRvblxuICAgIC5rLWJ1dHRvbiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKCAuMjUsIC44LCAuMjUsIDEgKTtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmW2Rpc2FibGVkXSxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb2xpZCBidXR0b25cbiAgICAuay1idXR0b24tc29saWQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE91dGxpbmUgYnV0dG9uXG4gICAgLmstYnV0dG9uLW91dGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG5cbiAgICAvLyBMaW5rIGJ1dHRvblxuICAgIC5rLWJ1dHRvbi1saW5rIHtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJi5rLWFjdGl2ZSxcbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1mbGF0LWJ1dHRvbi1mb2N1cy1vcGFjaXR5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDbGVhciBidXR0b25cbiAgICAuay1idXR0b24tY2xlYXIsXG4gICAgLmstYnV0dG9uLmstY2xlYXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBCdXR0b24gZ3JvdXBcbiAgICAuay1idXR0b24tZ3JvdXAge31cblxuXG4gICAgLy8gUG9wdXAgYnV0dG9uIGdyb3VwXG4gICAgLmstb3ZlcmZsb3ctYnV0dG9uLFxuICAgIC5rLW92ZXJmbG93LWdyb3VwIHtcbiAgICAgICAgJi5rLWJ1dHRvbi1ncm91cCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2J1dHRvbi9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2J1dHRvbi9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWJ1dHRvbi0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFNvbGlkIGJ1dHRvblxuICAgIC5rLWJ1dHRvbi1zb2xpZC1iYXNlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1idXR0b24tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1idXR0b24tYmcsXG4gICAgICAgICAgICAka2VuZG8tYnV0dG9uLWJvcmRlcixcbiAgICAgICAgICAgICRrZW5kby1idXR0b24tZ3JhZGllbnRcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWJ1dHRvbi1zaGFkb3cgKTtcblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWhvdmVyLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWJ1dHRvbi1ob3Zlci1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1idXR0b24tZm9jdXMtc2hhZG93LCB0cnVlLCB0cnVlICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWFjdGl2ZS10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tYWN0aXZlLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tYWN0aXZlLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWFjdGl2ZS1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1idXR0b24tYWN0aXZlLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tc2VsZWN0ZWQtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1zZWxlY3RlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1zZWxlY3RlZC1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1idXR0b24tc2VsZWN0ZWQtc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1kaXNhYmxlZC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWRpc2FibGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWRpc2FibGVkLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWJ1dHRvbi1kaXNhYmxlZC1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICRfc2hhZGUtZm46IGstbWV0YS1nZXQtZnVuY3Rpb24oICRrZW5kby1zb2xpZC1idXR0b24tc2hhZGUtZnVuY3Rpb24gKTtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWJ1dHRvbi10aGVtZS1jb2xvcnMge1xuICAgICAgICBAaWYgKCRuYW1lICE9IFwiYmFzZVwiKSB7XG4gICAgICAgICAgICAkX2J1dHRvbi10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApKTtcbiAgICAgICAgICAgICRfYnV0dG9uLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggJG5hbWUgKSwgaWYoICRrZW5kby1zb2xpZC1idXR0b24tc2hhZGUtYmctYW1vdW50LCBrLW1ldGEtY2FsbCggJF9zaGFkZS1mbiwgJGNvbG9yLCAka2VuZG8tc29saWQtYnV0dG9uLXNoYWRlLWJnLWFtb3VudCApLCBudWxsICkpO1xuICAgICAgICAgICAgJF9idXR0b24tYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggJG5hbWUgKSwgaWYoICRrZW5kby1zb2xpZC1idXR0b24tc2hhZGUtYm9yZGVyLWFtb3VudCwgay1tZXRhLWNhbGwoICRfc2hhZGUtZm4sICRjb2xvciwgJGtlbmRvLXNvbGlkLWJ1dHRvbi1zaGFkZS1ib3JkZXItYW1vdW50ICksIG51bGwgKSk7XG5cbiAgICAgICAgICAgICRfYnV0dG9uLWhvdmVyLXRleHQ6IG51bGw7XG4gICAgICAgICAgICAkX2J1dHRvbi1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWhvdmVyICksIGlmKCAka2VuZG8tc29saWQtYnV0dG9uLWhvdmVyLXNoYWRlLWJnLWFtb3VudCwgay1tZXRhLWNhbGwoICRfc2hhZGUtZm4sICRjb2xvciwgJGtlbmRvLXNvbGlkLWJ1dHRvbi1ob3Zlci1zaGFkZS1iZy1hbW91bnQgKSwgbnVsbCApKTtcbiAgICAgICAgICAgICRfYnV0dG9uLWhvdmVyLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWhvdmVyICksIGlmKCAka2VuZG8tc29saWQtYnV0dG9uLWhvdmVyLXNoYWRlLWJvcmRlci1hbW91bnQsIGstbWV0YS1jYWxsKCAkX3NoYWRlLWZuLCAkY29sb3IsICRrZW5kby1zb2xpZC1idXR0b24taG92ZXItc2hhZGUtYm9yZGVyLWFtb3VudCApLCBudWxsICkpO1xuXG4gICAgICAgICAgICAkX2J1dHRvbi1hY3RpdmUtdGV4dDogbnVsbDtcbiAgICAgICAgICAgICRfYnV0dG9uLWFjdGl2ZS1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWFjdGl2ZSApLCBpZiggJGtlbmRvLXNvbGlkLWJ1dHRvbi1hY3RpdmUtc2hhZGUtYmctYW1vdW50LCBrLW1ldGEtY2FsbCggJF9zaGFkZS1mbiwgJGNvbG9yLCAka2VuZG8tc29saWQtYnV0dG9uLWFjdGl2ZS1zaGFkZS1iZy1hbW91bnQgKSwgbnVsbCApKTtcbiAgICAgICAgICAgICRfYnV0dG9uLWFjdGl2ZS1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1hY3RpdmUgKSwgaWYoICRrZW5kby1zb2xpZC1idXR0b24tYWN0aXZlLXNoYWRlLWJvcmRlci1hbW91bnQsIGstbWV0YS1jYWxsKCAkX3NoYWRlLWZuLCAkY29sb3IsICRrZW5kby1zb2xpZC1idXR0b24tYWN0aXZlLXNoYWRlLWJvcmRlci1hbW91bnQgKSwgbnVsbCApKTtcblxuICAgICAgICAgICAgLmstYnV0dG9uLXNvbGlkLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAkX2J1dHRvbi10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAkX2J1dHRvbi1iZyxcbiAgICAgICAgICAgICAgICAgICAgJF9idXR0b24tYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc29saWQtYnV0dG9uLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9idXR0b24taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICRfYnV0dG9uLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9idXR0b24taG92ZXItYm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gRm9jdXMgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoICRrZW5kby1zb2xpZC1idXR0b24tc2hhZG93ICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAwIDAgJGtlbmRvLXNvbGlkLWJ1dHRvbi1zaGFkb3ctYmx1ciAka2VuZG8tc29saWQtYnV0dG9uLXNoYWRvdy1zcHJlYWQgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCAkbmFtZSApICggJGtlbmRvLXNvbGlkLWJ1dHRvbi1zaGFkb3ctb3BhY2l0eSAqIDEwMCUgKSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAkX2J1dHRvbi1ib3JkZXIsICRrZW5kby1zb2xpZC1idXR0b24tc2hhZG93LW9wYWNpdHkgKSksIHRydWUsIHRydWUgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9idXR0b24tYWN0aXZlLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2J1dHRvbi1hY3RpdmUtYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2J1dHRvbi1hY3RpdmUtYm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gU2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9idXR0b24tYWN0aXZlLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2J1dHRvbi1hY3RpdmUtYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2J1dHRvbi1hY3RpdmUtYm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1kaXNhYmxlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWRpc2FibGVkLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1idXR0b24tZGlzYWJsZWQtc2hhZG93ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBPdXRsaW5lIGJ1dHRvblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gay1tYXAtbWVyZ2UoICRrZW5kby1idXR0b24tdGhlbWUtY29sb3JzLCAoIFwiYmFzZVwiOiAka2VuZG8tYmFzZS10ZXh0ICkgKSB7XG4gICAgICAgIC5rLWJ1dHRvbi1vdXRsaW5lLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1vbi1zdXJmYWNlICksICRjb2xvcik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpZiAkbmFtZSA9PSBcImJhc2VcIiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLWJhc2UgKSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1iYXNlICksIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGlmICRrZW5kby1vdXRsaW5lLWJ1dHRvbi1zaGFkb3cge1xuICAgICAgICAgICAgICAgICAgICBAaWYgJG5hbWUgPT0gXCJiYXNlXCIge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAwIDAgJGtlbmRvLW91dGxpbmUtYnV0dG9uLXNoYWRvdy1ibHVyICRrZW5kby1vdXRsaW5lLWJ1dHRvbi1zaGFkb3ctc3ByZWFkIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAoICRrZW5kby1vdXRsaW5lLWJ1dHRvbi1zaGFkb3ctb3BhY2l0eSAqIDEwMCUgKSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAkY29sb3IsICRrZW5kby1vdXRsaW5lLWJ1dHRvbi1zaGFkb3ctb3BhY2l0eSApKSwgdHJ1ZSwgdHJ1ZSApO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggMCAwICRrZW5kby1vdXRsaW5lLWJ1dHRvbi1zaGFkb3ctYmx1ciAka2VuZG8tb3V0bGluZS1idXR0b24tc2hhZG93LXNwcmVhZCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoICRuYW1lICkgKCAka2VuZG8tb3V0bGluZS1idXR0b24tc2hhZG93LW9wYWNpdHkgKiAxMDAlICksIHRyYW5zcGFyZW50KSwgcmdiYSggJGNvbG9yLCAka2VuZG8tb3V0bGluZS1idXR0b24tc2hhZG93LW9wYWNpdHkgKSksIHRydWUsIHRydWUgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIEBpZiAkbmFtZSA9PSBcImJhc2VcIiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLWJhc2UgKSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1iYXNlICksIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWxlY3RlZFxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBAaWYgJG5hbWUgPT0gXCJiYXNlXCIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UgKSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1iYXNlICksIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYmFzZSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvclxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tYnV0dG9uLWRpc2FibGVkLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEZsYXQgYnV0dG9uXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiBrLW1hcC1tZXJnZSggJGtlbmRvLWJ1dHRvbi10aGVtZS1jb2xvcnMsICggXCJiYXNlXCI6IGluaGVyaXQgKSApIHtcbiAgICAgICAgLmstYnV0dG9uLWZsYXQtI3skbmFtZX0ge1xuICAgICAgICAgICAgQGlmICRuYW1lID09IFwiYmFzZVwiIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tb24tc3VyZmFjZSApLCAkY29sb3IpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1idXR0b24tZGlzYWJsZWQtdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTGluayBidXR0b25cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluIGstbWFwLW1lcmdlKCAka2VuZG8tYnV0dG9uLXRoZW1lLWNvbG9ycywgKCBcImJhc2VcIjogJGtlbmRvLWJhc2UtdGV4dCApICkge1xuICAgICAgICAuay1idXR0b24tbGluay0jeyRuYW1lfSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICAgICAvLyBIb3ZlclxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGlmICRuYW1lID09IFwiYmFzZVwiIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAka2VuZG8tYmFzZS10ZXh0LCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyICkpO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWhvdmVyICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDIgKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGb2N1c1xuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGlmICggJGtlbmRvLWxpbmstYnV0dG9uLXNoYWRvdyApIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICRuYW1lID09IFwiYmFzZVwiIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggMCAwICRrZW5kby1saW5rLWJ1dHRvbi1zaGFkb3ctYmx1ciAka2VuZG8tbGluay1idXR0b24tc2hhZG93LXNwcmVhZCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgKCAka2VuZG8tbGluay1idXR0b24tc2hhZG93LW9wYWNpdHkgKiAxMDAlICksIHRyYW5zcGFyZW50KSwgcmdiYSggJGNvbG9yLCAka2VuZG8tbGluay1idXR0b24tc2hhZG93LW9wYWNpdHkgKSksIHRydWUsIHRydWUgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoIDAgMCAka2VuZG8tbGluay1idXR0b24tc2hhZG93LWJsdXIgJGtlbmRvLWxpbmstYnV0dG9uLXNoYWRvdy1zcHJlYWQgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCAkbmFtZSApICggJGtlbmRvLWxpbmstYnV0dG9uLXNoYWRvdy1vcGFjaXR5ICogMTAwJSApLCB0cmFuc3BhcmVudCksIHJnYmEoICRjb2xvciwgJGtlbmRvLWxpbmstYnV0dG9uLXNoYWRvdy1vcGFjaXR5ICkpLCB0cnVlLCB0cnVlICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFjdGl2ZVxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmLmstYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBAaWYgJG5hbWUgPT0gXCJiYXNlXCIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICRrZW5kby1iYXNlLXRleHQsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDIgKSk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tYWN0aXZlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDIgKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWxlY3RlZFxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBAaWYgJG5hbWUgPT0gXCJiYXNlXCIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICRrZW5kby1iYXNlLXRleHQsIGstdHJ5LXNoYWRlKCAkY29sb3IsIDIgKSk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tYWN0aXZlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDIgKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1idXR0b24tZGlzYWJsZWQtdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2xlYXIgYnV0dG9uXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiBrLW1hcC1tZXJnZSggJGtlbmRvLWJ1dHRvbi10aGVtZS1jb2xvcnMsICggXCJiYXNlXCI6ICRrZW5kby1iYXNlLXRleHQgKSApIHtcbiAgICAgICAgLmstYnV0dG9uLWNsZWFyLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tb24tc3VyZmFjZSApLCAkY29sb3IpO1xuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tY2xlYXItYnV0dG9uLWZvY3VzLW9wYWNpdHk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tYnV0dG9uLWRpc2FibGVkLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEJ1dHRvbiBncm91cFxuICAgIC5rLWJ1dHRvbi1ncm91cCB7fVxuXG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYnV0dG9uLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1idXR0b24tLXRoZW1lLWJhc2UoKTtcbn1cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tYnV0dG9uLS10aGVtZSgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLWJ1dHRvbi0tdGhlbWUtYmFzZSgpO1xuXG4gICAgLy8gU29saWQgYnV0dG9uXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tYnV0dG9uLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWJ1dHRvbi1zb2xpZC0jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tYnV0dG9uLXNoYWRvdyApO1xuXG4gICAgICAgICAgICAvLyBUaGVzZSAzIGxpbmVzIGNhbiBiZSBkZWxldGVkIG9uY2Ugd2VcbiAgICAgICAgICAgIC8vIHN0b3Agc3VwcG9ydGluZyB0aGUgb2xkIGNvbG9yIHN5c3RlbS5cbiAgICAgICAgICAgIGNvbG9yOiBpZiggJG5hbWUgPT0gXCJiYXNlXCIsICRrZW5kby1idXR0b24tdGV4dCwgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLSN7JG5hbWV9ICksIGstY29udHJhc3QtY29sb3IoICRjb2xvciApKSApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoICRuYW1lID09IFwiYmFzZVwiLCAka2VuZG8tYnV0dG9uLWJnLCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggJG5hbWUgKSwgJGNvbG9yKSApO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpZiggJG5hbWUgPT0gXCJiYXNlXCIsICRrZW5kby1idXR0b24tYmcsIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAkbmFtZSApLCAkY29sb3IpICk7XG5cbiAgICAgICAgICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tYnV0dG9uLWhvdmVyLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWhvdmVyICksIG51bGwpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWhvdmVyICksIG51bGwpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1idXR0b24tZm9jdXMtc2hhZG93ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmLmstYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tYnV0dG9uLWFjdGl2ZS1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWJ1dHRvbi1zZWxlY3RlZC1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1idXR0b24tZGlzYWJsZWQtc2hhZG93ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIE91dGxpbmUgYnV0dG9uXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tYnV0dG9uLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWJ1dHRvbi1vdXRsaW5lLSN7JG5hbWV9IHtcblxuICAgICAgICAgICAgLy8gVGhlIFwiYmFzZVwiIGNhc2UgY2FuIGJlIGRlbGV0ZWQgb25jZSB3ZVxuICAgICAgICAgICAgLy8gc3RvcCBzdXBwb3J0aW5nIHRoZSBvbGQgY29sb3Igc3lzdGVtLlxuICAgICAgICAgICAgQGlmICRuYW1lID09IFwiYmFzZVwiIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utb24tc3VyZmFjZSApLCAka2VuZG8tYnV0dG9uLXRleHQpXG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LW9uLXN1cmZhY2UgKSwgJGNvbG9yKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJi5rLWFjdGl2ZSxcbiAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgLy8gVGhlIFwiYmFzZVwiIGNhc2UgY2FuIGJlIGRlbGV0ZWQgb25jZSB3ZVxuICAgICAgICAgICAgICAgIC8vIHN0b3Agc3VwcG9ydGluZyB0aGUgb2xkIGNvbG9yIHN5c3RlbS5cbiAgICAgICAgICAgICAgICBAaWYgJG5hbWUgPT0gXCJiYXNlXCIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utb24tc3VyZmFjZSApLCAka2VuZG8tYnV0dG9uLXRleHQpXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tb24tc3VyZmFjZSApLCAkY29sb3IpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1idXR0b24tZGlzYWJsZWQtdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTGluayBidXR0b25cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1idXR0b24tdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstYnV0dG9uLWxpbmstI3skbmFtZX0ge1xuXG4gICAgICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1idXR0b24tZGlzYWJsZWQtdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTWVudSBidXR0b25cbiAgICAuay1tZW51LWJ1dHRvbiB7fVxuXG5cbiAgICAvLyBCdXR0b24gZ3JvdXBcbiAgICAuay1idXR0b24tZ3JvdXAge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tYnV0dG9uLXNoYWRvdyApO1xuXG4gICAgICAgIC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCBub25lICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmW2Rpc2FibGVkXSxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVmFyaWFudCBidXR0b24gZ3JvdXBcbiAgICAuay1idXR0b24tZ3JvdXAtZmxhdCxcbiAgICAuay1idXR0b24tZ3JvdXAtbGluayxcbiAgICAuay1idXR0b24tZ3JvdXAtb3V0bGluZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1idXR0b24tLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImJ1dHRvblwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1idXR0b24tLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1idXR0b24tLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1idXR0b24tLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbWVudS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL21lbnUvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwibWVudVwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcG9wdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvbWVudS9fdmFyaWFibGVzLnNjc3Ncbi8vIE1lbnVcbiRrZW5kby1tZW51LXBhZGRpbmcteDogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcGFkZGluZy15OiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1tZW51LWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVudS1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWl0ZW0tc3BhY2luZzogay1zcGFjaW5nKDAuNSkgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1pdGVtLWljb24tc3BhY2luZzogJGtlbmRvLWljb24tc3BhY2luZyAhZGVmYXVsdDtcblxuJGtlbmRvLW1lbnUtaXRlbS1iZzogcmdiYSggJGtlbmRvLW1lbnUtdGV4dCwgMCApICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtaXRlbS10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtaXRlbS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1pdGVtLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVudS1pdGVtLWhvdmVyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1ob3ZlciApLCByZ2JhKCAka2VuZG8tbWVudS10ZXh0LCAka2VuZG8tZmxhdC1idXR0b24taG92ZXItb3BhY2l0eSAqIGstY29sb3ItYWxwaGEoICRrZW5kby1tZW51LXRleHQgKSApKSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWl0ZW0taG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWl0ZW0taG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtaXRlbS1ob3Zlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLW1lbnUtaXRlbS1leHBhbmRlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtYWN0aXZlICksIHJnYmEoICRrZW5kby1tZW51LXRleHQsICRrZW5kby1mbGF0LWJ1dHRvbi1hY3RpdmUtb3BhY2l0eSAqIGstY29sb3ItYWxwaGEoICRrZW5kby1tZW51LXRleHQgKSApKSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWl0ZW0tZXhwYW5kZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWl0ZW0tZXhwYW5kZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtaXRlbS1leHBhbmRlZC1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLW1lbnUtaXRlbS1mb2N1cy1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1tZW51LXNlcGFyYXRvci1zcGFjaW5nOiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1tZW51LXNjcm9sbC1idXR0b24tYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLXRleHQ6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXNjcm9sbC1idXR0b24tYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXNjcm9sbC1idXR0b24tZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1tZW51LXNjcm9sbC1idXR0b24taG92ZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLWhvdmVyLXRleHQ6ICRrZW5kby1tZW51LXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXNjcm9sbC1idXR0b24taG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8gTWVudSBwb3B1cFxuXG4vLy8gSG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBtZW51IHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBWZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZW51IHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgbWVudSBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtYm9yZGVyLXdpZHRoOiAka2VuZG8tcG9wdXAtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplcyBvZiB0aGUgbWVudSBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLWxnLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1wb3B1cC1zbS1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtbGcsIGluaGVyaXQgKSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLW1kLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1sZywgaW5oZXJpdCApICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcG9wdXAtbGctZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLWxnLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodHMgdXNlZCBhbG9uZyB3aXRoICRrZW5kby1mb250LXNpemUuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWxpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcG9wdXAtc20tbGluZS1oZWlnaHQ6IDEuMjUgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1wb3B1cC1tZC1saW5lLWhlaWdodDogMS4yNSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLWxnLWxpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIG1lbnUgcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWJnOiAka2VuZG8tcG9wdXAtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIG1lbnUgcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLXRleHQ6ICRrZW5kby1wb3B1cC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIG1lbnUgcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWJvcmRlcjogJGtlbmRvLXBvcHVwLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgbWVudSBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8gTWVudSBwb3B1cCBpdGVtXG5cbi8vLyBIb3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIG1lbnUgaXRlbSBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLXNtLWl0ZW0tcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcG9wdXAtbGctaXRlbS1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcblxuLy8vIFZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIG1lbnUgaXRlbSBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLXNtLWl0ZW0tcGFkZGluZy15OiBrLXNwYWNpbmcoMS41KSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLW1kLWl0ZW0tcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1wb3B1cC1sZy1pdGVtLXBhZGRpbmcteTogay1zcGFjaW5nKDIuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZW5kIHBhZGRpbmcgb2YgdGhlIG1lbnUgaXRlbSBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1wYWRkaW5nLWVuZDogY2FsYyggI3ska2VuZG8tbWVudS1wb3B1cC1pdGVtLXBhZGRpbmcteH0gKiAyICsgI3ska2VuZG8taWNvbi1zaXplfSApICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcG9wdXAtc20taXRlbS1wYWRkaW5nLWVuZDogY2FsYyggI3ska2VuZG8tbWVudS1wb3B1cC1zbS1pdGVtLXBhZGRpbmcteH0gKiAyICsgI3ska2VuZG8taWNvbi1zaXplfSApICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLWVuZDogY2FsYyggI3ska2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmcteH0gKiAyICsgI3ska2VuZG8taWNvbi1zaXplfSApICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcG9wdXAtbGctaXRlbS1wYWRkaW5nLWVuZDogY2FsYyggI3ska2VuZG8tbWVudS1wb3B1cC1sZy1pdGVtLXBhZGRpbmcteH0gKiAyICsgI3ska2VuZG8taWNvbi1zaXplfSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHN0YXJ0IG1hcmdpbiBvZiB0aGUgbWVudSBpdGVtIGV4cGFuZCBpY29uLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1zbS1pdGVtLWljb24tbWFyZ2luLXN0YXJ0OiAka2VuZG8tbWVudS1wb3B1cC1zbS1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLW1kLWl0ZW0taWNvbi1tYXJnaW4tc3RhcnQ6ICRrZW5kby1tZW51LXBvcHVwLW1kLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcG9wdXAtbGctaXRlbS1pY29uLW1hcmdpbi1zdGFydDogJGtlbmRvLW1lbnUtcG9wdXAtbGctaXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZW5kIG1hcmdpbiBvZiB0aGUgbWVudSBpdGVtIGV4cGFuZCBpY29uLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1zbS1pdGVtLWljb24tbWFyZ2luLWVuZDogY2FsYyggLTEgKiAoI3ska2VuZG8tbWVudS1wb3B1cC1zbS1pdGVtLXBhZGRpbmctZW5kfSAtICN7ay1tYXRoLWRpdiggJGtlbmRvLW1lbnUtcG9wdXAtc20taXRlbS1wYWRkaW5nLXgsIDIgKX0pICkgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLWljb24tbWFyZ2luLWVuZDogY2FsYyggLTEgKiAoI3ska2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmctZW5kfSAtICN7ay1tYXRoLWRpdiggJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLXgsIDIgKX0pICkgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1wb3B1cC1sZy1pdGVtLWljb24tbWFyZ2luLWVuZDogY2FsYyggLTEgKiAoI3ska2VuZG8tbWVudS1wb3B1cC1sZy1pdGVtLXBhZGRpbmctZW5kfSAtICN7ay1tYXRoLWRpdiggJGtlbmRvLW1lbnUtcG9wdXAtbGctaXRlbS1wYWRkaW5nLXgsIDIgKX0pICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGl0ZW1zIGluIHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1pdGVtLXNwYWNpbmc6IGstc3BhY2luZygwKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBtZW51IGl0ZW0gaW4gcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWl0ZW0tYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIG1lbnUgaXRlbSBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIG1lbnUgaXRlbSBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIG1lbnUgaXRlbSBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIGhvdmVyZWQgbWVudSBpdGVtIGluIHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1pdGVtLWhvdmVyLWJnOiAka2VuZG8tbGlzdC1pdGVtLWhvdmVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIGhvdmVyZWQgbWVudSBpdGVtIGluIHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1pdGVtLWhvdmVyLXRleHQ6ICRrZW5kby1saXN0LWl0ZW0taG92ZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIGhvdmVyZWQgbWVudSBpdGVtIGluIHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1pdGVtLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiBob3ZlcmVkIG1lbnUgaXRlbSBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ob3Zlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIGV4cGFuZGVkIG1lbnUgaXRlbSBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1leHBhbmRlZC1iZzogJGtlbmRvLWxpc3QtaXRlbS1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiBleHBhbmRlZCBtZW51IGl0ZW0gaW4gcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZXhwYW5kZWQtdGV4dDogJGtlbmRvLWxpc3QtaXRlbS1zZWxlY3RlZC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgZXhwYW5kZWQgbWVudSBpdGVtIGluIHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1pdGVtLWV4cGFuZGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiBleHBhbmRlZCBtZW51IGl0ZW0gaW4gcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZXhwYW5kZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBzaGFkb3cgb2YgZm9jdXNlZCBtZW51IGl0ZW0gaW4gcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZm9jdXMtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL21lbnUvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lbnUvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWVudS9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1tZW51LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIE1lbnUgYmFyXG4gICAgLmstbWVudS1iYXIge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1tZW51LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1tZW51LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1tZW51LWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1tZW51LWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLW1lbnUgeyBAZXh0ZW5kIC5rLW1lbnUtYmFyICFvcHRpb25hbDsgfVxuXG5cbiAgICAvLyBNZW51IGl0ZW1cbiAgICAuay1tZW51LWl0ZW0ge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG4gICAgLmstbWVudS1pdGVtLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAuay1hY3Rpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIE1lbnUgbGlua1xuICAgIC5rLW1lbnUtbGluayB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1tZW51LWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLW1lbnUtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBnYXA6ICRrZW5kby1tZW51LWl0ZW0taWNvbi1zcGFjaW5nO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cblxuICAgIC8vIE1lbnUgaXRlbSB0ZXh0XG4gICAgLmstbWVudS1saW5rLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cblxuICAgIC8vIEV4cGFuZCBhcnJvd1xuICAgIC5rLW1lbnUtZXhwYW5kLWFycm93IHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoICN7JGtlbmRvLWljb24tc3BhY2luZ30gKiAtMSApO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gT3JpZW50YXRpb24gLS0gaG9yaXpvbnRhbFxuICAgIC5rLW1lbnUtaG9yaXpvbnRhbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgPiAuay1tZW51LWl0ZW0gKyAuay1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJGtlbmRvLW1lbnUtaXRlbS1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1zZXBhcmF0b3Ige1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogJGtlbmRvLW1lbnUtc2VwYXJhdG9yLXNwYWNpbmc7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gT3JpZW50YXRpb24gLS0gdmVydGljYWxcbiAgICAuay1tZW51LXZlcnRpY2FsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICA+IC5rLW1lbnUtaXRlbSArIC5rLW1lbnUtaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8tbWVudS1pdGVtLXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLW1lbnUtaXRlbSA+IC5rLW1lbnUtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbWVudS1wb3B1cC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbWVudS1wb3B1cC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1wYWRkaW5nLWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstbWVudS1pdGVtID4gLmstbWVudS1saW5rID4gLmstbWVudS1leHBhbmQtYXJyb3cge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1pY29uLW1hcmdpbi1zdGFydDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAka2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLWljb24tbWFyZ2luLWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogJGtlbmRvLW1lbnUtc2VwYXJhdG9yLXNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTWVudSBwb3B1cFxuICAgIC5rLW1lbnUtcG9wdXAge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbWVudS1wb3B1cC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbWVudS1wb3B1cC1wYWRkaW5nLXg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLW1lbnUtcG9wdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFN1YiBtZW51XG4gICAgLmstbWVudS1ncm91cCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgLmstbWVudS1pdGVtICsgLmstbWVudS1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6ICRrZW5kby1tZW51LXNlcGFyYXRvci1zcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbWVudS1wb3B1cCAuay1tZW51LWdyb3VwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gU2l6ZXNcbiAgICAuay1tZW51LWdyb3VwLXNtIHtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbWVudS1wb3B1cC1zbS1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbWVudS1wb3B1cC1zbS1saW5lLWhlaWdodDtcblxuICAgICAgICAvLyBqcXVlcnkgcG9wdXAgb3ZlcnJpZGVzIHRob3NlXG4gICAgICAgIC5rLW1lbnUtaXRlbSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1tZW51LXBvcHVwLXNtLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbWVudS1wb3B1cC1zbS1saW5lLWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1lbnUtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbWVudS1wb3B1cC1zbS1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbWVudS1wb3B1cC1zbS1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogJGtlbmRvLW1lbnUtcG9wdXAtc20taXRlbS1wYWRkaW5nLWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1lbnUtZXhwYW5kLWFycm93IHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRrZW5kby1tZW51LXBvcHVwLXNtLWl0ZW0taWNvbi1tYXJnaW4tc3RhcnQ7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJGtlbmRvLW1lbnUtcG9wdXAtc20taXRlbS1pY29uLW1hcmdpbi1lbmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbWVudS1ncm91cC1tZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW1lbnUtcG9wdXAtbWQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW1lbnUtcG9wdXAtbWQtbGluZS1oZWlnaHQ7XG5cbiAgICAgICAgLy8ganF1ZXJ5IHBvcHVwIG92ZXJyaWRlcyB0aG9zZVxuICAgICAgICAuay1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbWVudS1wb3B1cC1tZC1mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW1lbnUtcG9wdXAtbWQtbGluZS1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1tZW51LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6ICRrZW5kby1tZW51LXBvcHVwLW1kLWl0ZW0tcGFkZGluZy1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1tZW51LWV4cGFuZC1hcnJvdyB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAka2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLWljb24tbWFyZ2luLXN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRrZW5kby1tZW51LXBvcHVwLW1kLWl0ZW0taWNvbi1tYXJnaW4tZW5kO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLW1lbnUtZ3JvdXAtbGcge1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1tZW51LXBvcHVwLWxnLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1tZW51LXBvcHVwLWxnLWxpbmUtaGVpZ2h0O1xuXG4gICAgICAgIC8vIGpxdWVyeSBwb3B1cCBvdmVycmlkZXMgdGhvc2VcbiAgICAgICAgLmstbWVudS1pdGVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW1lbnUtcG9wdXAtbGctZm9udC1zaXplO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1tZW51LXBvcHVwLWxnLWxpbmUtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWVudS1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1tZW51LXBvcHVwLWxnLWl0ZW0tcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1tZW51LXBvcHVwLWxnLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAka2VuZG8tbWVudS1wb3B1cC1sZy1pdGVtLXBhZGRpbmctZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWVudS1leHBhbmQtYXJyb3cge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJGtlbmRvLW1lbnUtcG9wdXAtbGctaXRlbS1pY29uLW1hcmdpbi1zdGFydDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAka2VuZG8tbWVudS1wb3B1cC1sZy1pdGVtLWljb24tbWFyZ2luLWVuZDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ29udGV4dCBtZW51XG4gICAgLmstcG9wdXBzLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAuay1jb250ZXh0LW1lbnUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1tZW51LXBvcHVwLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1tZW51LXBvcHVwLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tbWVudS1wb3B1cC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG5cbiAgICAgICAgJi5rLW1lbnUtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbWVudS1wb3B1cC1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLW1lbnUtcG9wdXAtcGFkZGluZy15O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWFuaW1hdGlvbi1jb250YWluZXIgLmstY29udGV4dC1tZW51LmstbWVudS1ob3Jpem9udGFsIHtcbiAgICAgICAgLy8ga2VuZG8tanF1ZXJ5IGFkZHMgYGRpc3BsYXk6IGJsb2NrYCB2aWEganMgYW5kIHdlIG5lZWQgdG8gb3ZlcnJpZGUgaXQuXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuICAgIC5rLWNvbnRleHQtbWVudS1wb3B1cCB7XG4gICAgICAgIHotaW5kZXg6IDEyMDAwO1xuXG4gICAgICAgIC5rLWNvbnRleHQtbWVudSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcG9wdXAgLmstY29udGV4dC1tZW51LFxuICAgIC5rLWNvbnRleHQtbWVudS1wb3B1cCAuay1jb250ZXh0LW1lbnUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBTY3JvbGxpbmdcbiAgICAuay1tZW51LXNjcm9sbC13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuay1tZW51IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1lbnUtc2Nyb2xsLWJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAwICk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAmLmstc2Nyb2xsLWxlZnQge1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLXNjcm9sbC1yaWdodCB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstc2Nyb2xsLXVwIHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstc2Nyb2xsLWRvd24ge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1tZW51LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVudS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1tZW51LS1sYXlvdXQoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1tZW51LS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLy8gTWVudWJhclxuICAgIC5rLW1lbnU6bm90KC5rLWNvbnRleHQtbWVudSkge1xuXG4gICAgICAgIC8vIFJvb3QgaXRlbXNcbiAgICAgICAgPiAuay1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJGtlbmRvLXRyYW5zaXRpb247XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTY3JvbGxpbmdcbiAgICAuay1tZW51LXNjcm9sbC13cmFwcGVyIHtcblxuICAgICAgICAuay1tZW51LXNjcm9sbC1idXR0b24ge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaG9yaXpvbnRhbCAuay1tZW51LXNjcm9sbC1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoICN7JGtlbmRvLWxpbmUtaGVpZ2h0LWVtfSArICN7ay1zcGFjaW5nKDEpfSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnZlcnRpY2FsIC5rLW1lbnUtc2Nyb2xsLWJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoICN7JGtlbmRvLWxpbmUtaGVpZ2h0LWVtfSArICN7ay1zcGFjaW5nKDEpfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL21lbnUvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWVudS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lbnUvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1tZW51LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLmstbWVudTpub3QoLmstY29udGV4dC1tZW51KSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tbWVudS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLW1lbnUtYmcsXG4gICAgICAgICAgICAka2VuZG8tbWVudS1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tbWVudS1ncmFkaWVudFxuICAgICAgICApO1xuXG4gICAgICAgID4gLmstaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0tdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tbWVudS1pdGVtLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0tYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0tZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtaXRlbS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtaXRlbS1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0taG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0tZXhwYW5kZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtaXRlbS1leHBhbmRlZC1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtaXRlbS1leHBhbmRlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0tZXhwYW5kZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1tZW51LWl0ZW0tZm9jdXMtc2hhZG93LCB0cnVlICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1tZW51LWdyb3VwLFxuICAgIC5rLW1lbnUuay1jb250ZXh0LW1lbnUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWJnLFxuICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtYm9yZGVyLFxuICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtZ3JhZGllbnRcbiAgICAgICAgKTtcblxuICAgICAgICAuay1pdGVtID4gLmstbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tbWVudS1wb3B1cC1pdGVtLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICYuay1hY3RpdmUsXG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZXhwYW5kZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1leHBhbmRlZC1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1leHBhbmRlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZXhwYW5kZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstaXRlbTpmb2N1cyxcbiAgICAgICAgLmstaXRlbS5rLWZvY3VzIHtcbiAgICAgICAgICAgID4gLmstbGluayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tbWVudS1wb3B1cC1pdGVtLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTY3JvbGxpbmdcbiAgICAuay1tZW51LXNjcm9sbC13cmFwcGVyIC5rLW1lbnUtc2Nyb2xsLWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLWJnLFxuICAgICAgICAgICAgJGtlbmRvLW1lbnUtc2Nyb2xsLWJ1dHRvbi1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLWdyYWRpZW50XG4gICAgICAgICk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXNjcm9sbC1idXR0b24taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXNjcm9sbC1idXR0b24taG92ZXItYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXNjcm9sbC1idXR0b24taG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AbWl4aW4ga2VuZG8tbWVudS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVudS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW1lbnUtLXRoZW1lKCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tbWVudS0tdGhlbWUtYmFzZSgpO1xuXG4gICAgLmstbWVudTpub3QoLmstY29udGV4dC1tZW51KSB7XG5cbiAgICAgICAgLy8gUm9vdCBpdGVtc1xuICAgICAgICA+IC5rLW1lbnUtaXRlbSB7XG5cbiAgICAgICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tbWVudS1pdGVtLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0taG92ZXItYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0taG92ZXItYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tbWVudS1pdGVtLWhvdmVyLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3ViaXRlbXNcbiAgICAuay1tZW51LWdyb3VwLFxuICAgIC5rLWNvbnRleHQtbWVudSB7XG4gICAgICAgIC5rLW1lbnUtaXRlbSB7XG5cbiAgICAgICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tbWVudS1wb3B1cC1pdGVtLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tbWVudS1wb3B1cC1pdGVtLWhvdmVyLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU2Nyb2xsaW5nXG4gICAgLmstbWVudS1zY3JvbGwtd3JhcHBlciB7XG4gICAgICAgIC5rLW1lbnUtc2Nyb2xsLWJ1dHRvbiB7XG4gICAgICAgICAgICAuay1pLWFycm93LTYwLXVwOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlMDEzXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1pLWFycm93LTYwLXJpZ2h0OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlMDE0XCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1pLWFycm93LTYwLWRvd246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGUwMTVcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWktYXJyb3ctNjAtbGVmdDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTAxNlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW1lbnUtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcIm1lbnVcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbWVudS0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW1lbnUtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZW51LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvdG9vbGJhci9fdmFyaWFibGVzLnNjc3Ncbi8vIFRvb2xiYXJcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1zbS1wYWRkaW5nLXg6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItbGctcGFkZGluZy14OiBrLXNwYWNpbmcoMi41KSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIHNtYWxsIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLXNtLXBhZGRpbmcteTogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWxnLXBhZGRpbmcteTogay1zcGFjaW5nKDIuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBUb29sYmFyIHRvb2xzLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIHRvb2xzIG9mIHRoZSBzbWFsbCBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1zbS1zcGFjaW5nOiBrLXNwYWNpbmcoMS41KSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSB0b29scyBvZiB0aGUgbWVkaXVtIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLW1kLXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSB0b29scyBvZiB0aGUgbGFyZ2UgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItbGctc3BhY2luZzogay1zcGFjaW5nKDIuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItYm9yZGVyLXJhZGl1czogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItbGluZS1oZWlnaHQ6IGstbWF0aC1kaXYoIDIwLCAxNCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC00ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBzZXBhcmF0b3IgYm9yZGVyIG9mIHRoZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1zZXBhcmF0b3ItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgaW5wdXQgaW4gdGhlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWlucHV0LXdpZHRoOiAxMGVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgVG9vbGJhciBpdGVtLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1pdGVtLXNoYWRvdzogMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAuMiksIDAgNHB4IDVweCByZ2JhKDAsIDAsIDAsIC4xNCksIDAgMXB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMTIpICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIG9mIHRoZSBmbGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWZsYXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZXMgbWFwIGZvciB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby10b29sYmFyLXNtLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tdG9vbGJhci1zbS1wYWRkaW5nLXksXG4gICAgICAgIHNwYWNpbmc6ICRrZW5kby10b29sYmFyLXNtLXNwYWNpbmdcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteSxcbiAgICAgICAgc3BhY2luZzogJGtlbmRvLXRvb2xiYXItbWQtc3BhY2luZ1xuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tdG9vbGJhci1sZy1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLXRvb2xiYXItbGctcGFkZGluZy15LFxuICAgICAgICBzcGFjaW5nOiAka2VuZG8tdG9vbGJhci1sZy1zcGFjaW5nXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90b29sYmFyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Rvb2xiYXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdG9vbGJhci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBCYXNlXG4gICAgLmstdG9vbGJhciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRvb2xiYXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRvb2xiYXItcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby10b29sYmFyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby10b29sYmFyLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10b29sYmFyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBnYXA6ICRrZW5kby10b29sYmFyLXNwYWNpbmc7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLy8gUmVtb3ZlIG9uY2Ugd2UgZGVjaWRlIHRvIG5vdCBzaXplIGVtcHR5IGNvbnRhaW5lcnNcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1idXR0b24tY2FsYy1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXRvb2xiYXItcmVzaXphYmxlIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJGtlbmRvLXRvb2xiYXItc3BhY2luZztcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEJ1dHRvblxuICAgICAgICAuay1idXR0b24ge31cblxuXG4gICAgICAgIC8vIFRvZ2dsZSBidXR0b25cbiAgICAgICAgLmstdG9nZ2xlLWJ1dHRvbiB7fVxuXG5cbiAgICAgICAgLy8gQnV0dG9uIGdyb3VwXG4gICAgICAgIC5rLWJ1dHRvbi1ncm91cCB7fVxuXG5cbiAgICAgICAgLy8gU3BsaXQgYnV0dG9uXG4gICAgICAgIC5rLXNwbGl0LWJ1dHRvbiB7fVxuXG5cbiAgICAgICAgLy8gSW5wdXRcbiAgICAgICAgLmstaW5wdXQsXG4gICAgICAgIC5rLXBpY2tlciB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXRvb2xiYXItaW5wdXQtd2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgLmstY29sb3ItcGlja2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE92ZXJmbG93IGFuY2hvclxuICAgICAgICAuay10b29sYmFyLW92ZXJmbG93LWJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTZXBhcmF0b3JcbiAgICAgICAgLmstc2VwYXJhdG9yLFxuICAgICAgICAuay10b29sYmFyLXNlcGFyYXRvciB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LWVtO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTcGFjZXJcbiAgICAgICAgLmstdG9vbGJhci1zcGFjZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtZW07XG4gICAgICAgICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFRlbXBsYXRlIGl0ZW1cbiAgICAgICAgLmstdG9vbGJhci1pdGVtOmZvY3VzLFxuICAgICAgICAuay10b29sYmFyLWl0ZW0uay1mb2N1cyB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIFRvb2xiYXIgZ3JvdXBcbiAgICAuay10b29sYmFyLWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBnYXA6IGluaGVyaXQ7XG4gICAgfVxuXG5cbiAgICAvLyBBbmd1bGFyIHNwZWNpZmljXG4gICAgLmstdG9vbGJhci1yZW5kZXJlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8vIFRvb2xiYXIgc2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLXRvb2xiYXItc2l6ZXMge1xuICAgICAgICAkX3BhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy14ICk7XG4gICAgICAgICRfcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXkgKTtcbiAgICAgICAgJF9zcGFjaW5nOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBzcGFjaW5nICk7XG5cbiAgICAgICAgLmstdG9vbGJhci0jeyRzaXplfSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX3BhZGRpbmcteDtcbiAgICAgICAgICAgIGdhcDogJF9zcGFjaW5nO1xuXG4gICAgICAgICAgICAvLyBSZW1vdmUgb25jZSB3ZSBkZWNpZGUgdG8gbm90IHNpemUgZW1wdHkgY29udGFpbmVyc1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKCAjeyRfc3BhY2luZ30gKiAtMSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+ICogPiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRfc3BhY2luZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBSZW1vdmUgb25jZSB3ZSBkZWNpZGUgdG8gbm90IHNpemUgZW1wdHkgY29udGFpbmVyc1xuICAgIC5rLXRvb2xiYXItc206OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWJ1dHRvbi1zbS1jYWxjLXNpemU7XG4gICAgfVxuICAgIC5rLXRvb2xiYXItbWQ6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWJ1dHRvbi1tZC1jYWxjLXNpemU7XG4gICAgfVxuICAgIC5rLXRvb2xiYXItbGc6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWJ1dHRvbi1sZy1jYWxjLXNpemU7XG4gICAgfVxuXG4gICAgLmstZmxvYXRpbmctdG9vbGJhcixcbiAgICAuZWRpdG9yVG9vbGJhcldpbmRvdy5rLXdpbmRvdy1jb250ZW50IHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXkgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBnYXA6ICRrZW5kby10b29sYmFyLW1kLXNwYWNpbmc7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLmstdG9vbGJhciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstZWRpdG9ydG9vbGJhci1kcmFnSGFuZGxlIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBjdXJzb3I6IG1vdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuXG5cbiAgICAvLyBSZW1vdmUgb25jZSB0aGUgT3ZlcmZsb3cgUG9wdXAgdXNlc1xuICAgIC8vIHRoZSBwcm9wZXIgTWVudSByZW5kZXJpbmcgaW4gYWxsIHN1aXRlcy5cblxuICAgIC8vIE92ZXJmbG93IGNvbnRhaW5lclxuICAgIC5rLW92ZXJmbG93LWNvbnRhaW5lciB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW1lbnUtcG9wdXAtbWQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW1lbnUtcG9wdXAtbWQtbGluZS1oZWlnaHQ7XG5cbiAgICAgICAgPiAuay1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBtYXJnaW46IGstc3BhY2luZygxKSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR3JvdXBcbiAgICAgICAgLmstb3ZlcmZsb3ctdG9vbC1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJ1dHRvblxuICAgICAgICAuay1vdmVyZmxvdy1idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG87XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJ1dHRvbiBncm91cFxuICAgICAgICAuay1idXR0b24tZ3JvdXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblxuICAgICAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGlmKCAka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCA9PSAwLCBudWxsLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNwbGl0IGJ1dHRvblxuICAgICAgICAuay1zcGxpdC1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIaWRkZW4gaXRlbXNcbiAgICAgICAgLmstb3ZlcmZsb3ctaGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGbGF0IFRvb2xiYXJcbiAgICAuay10b29sYmFyLmstdG9vbGJhci1mbGF0IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdG9vbGJhci1mbGF0LWJvcmRlci13aWR0aCAwO1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyAgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdG9vbGJhci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2xiYXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdG9vbGJhci0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tdG9vbGJhci0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC5rLXRvb2xiYXIge1xuXG4gICAgICAgIC8vIEJ1dHRvblxuICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBCdXR0b24gZ3JvdXBcbiAgICAgICAgLmstYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU3BsaXQgYnV0dG9uXG4gICAgICAgIC5rLXNwbGl0LWJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCBub25lICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdmVyZmxvdyBjb250YWluZXJcbiAgICAuay1vdmVyZmxvdy1jb250YWluZXIge1xuXG4gICAgICAgIC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCBub25lICk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVuc2V0O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC42O1xuICAgICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKC4xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Rvb2xiYXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90b29sYmFyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdG9vbGJhci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFRoZW1lXG4gICAgLmstdG9vbGJhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tdG9vbGJhci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXRvb2xiYXItYmcsXG4gICAgICAgICAgICAka2VuZG8tdG9vbGJhci1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tdG9vbGJhci1ncmFkaWVudFxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tdG9vbGJhci1zaGFkb3cgKTtcblxuXG4gICAgICAgIC8vIFNlcGFyYXRvclxuICAgICAgICAuay1zZXBhcmF0b3IsXG4gICAgICAgIC5rLXRvb2xiYXItc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXRvb2xiYXItc2VwYXJhdG9yLWJvcmRlcjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gVGVtcGxhdGUgaXRlbVxuICAgICAgICAuay10b29sYmFyLWl0ZW06Zm9jdXMsXG4gICAgICAgIC5rLXRvb2xiYXItaXRlbS5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXRvb2xiYXItaXRlbS1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQnV0dG9uIGdyb3VwXG4gICAgICAgIC5rLWJ1dHRvbi1ncm91cCB7fVxuXG4gICAgfVxuXG4gICAgLmstZmxvYXRpbmctdG9vbGJhcixcbiAgICAuZWRpdG9yVG9vbGJhcldpbmRvdy5rLXdpbmRvdy1jb250ZW50IHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXRvb2xiYXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby10b29sYmFyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXRvb2xiYXItYm9yZGVyLFxuICAgICAgICAgICAgJGtlbmRvLXRvb2xiYXItZ3JhZGllbnRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBPdmVyZmxvdyBjb250YWluZXJcbiAgICAuay1vdmVyZmxvdy1jb250YWluZXIge1xuXG4gICAgICAgIC5rLWJ1dHRvbiB7XG5cbiAgICAgICAgICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ob3Zlci10ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItYmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEJ1dHRvbiBmb2N1cyBzdGF0ZVxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tbWVudS1wb3B1cC1pdGVtLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItdGV4dDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAka2VuZG8tbWVudS1wb3B1cC1pdGVtLWhvdmVyLWJnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWxlY3RlZFxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1leHBhbmRlZC10ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZXhwYW5kZWQtYmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRvb2xiYXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2xiYXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10b29sYmFyLS10aGVtZSgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2xiYXItLXRoZW1lLWJhc2UoKTtcblxuICAgIC5rLXRvb2xiYXIge1xuXG4gICAgICAgIC5rLWJ1dHRvbi1zb2xpZC1iYXNlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWJ1dHRvbi1iZyApKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlICksIGstdHJ5LXNoYWRlKCAka2VuZG8tYnV0dG9uLWJnICkpO1xuXG4gICAgICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWhvdmVyICksIG51bGwpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWhvdmVyICksIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWhvdmVyICksIG51bGwpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWhvdmVyICksIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWFjdGl2ZSApLCBudWxsKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZS1hY3RpdmUgKSwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZS1hY3RpdmUgKSwgbnVsbCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1zdWJ0bGUtYWN0aXZlICksIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstaW5wdXQtYnV0dG9uLFxuICAgICAgICAgICAgJi5rLWlucHV0LXNwaW5uZXIgLmstc3Bpbm5lci1pbmNyZWFzZSxcbiAgICAgICAgICAgICYuay1pbnB1dC1zcGlubmVyIC5rLXNwaW5uZXItZGVjcmVhc2Uge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tdG9vbGJhci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidG9vbGJhclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10b29sYmFyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdG9vbGJhci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2xiYXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1idXR0b25zL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImFjdGlvbnNcIixcbiAgICBkZXBlbmRlbmNpZXM6ICgpXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9hY3Rpb24tYnV0dG9ucy9fdmFyaWFibGVzLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX3ZhcmlhYmxlcy5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIEFjdGlvbnNcbiRrZW5kby1hY3Rpb25zLW1hcmdpbi10b3A6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnMtcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9ucy1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zLWJ1dHRvbi1zcGFjaW5nOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbiRrZW5kby1hY3Rpb25zLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1idXR0b25zL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hY3Rpb24tYnV0dG9ucy9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hY3Rpb24tYnV0dG9ucy9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1hY3Rpb25zLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEFjdGlvbnNcbiAgICAuay1hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWFjdGlvbnMtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWFjdGlvbnMtcGFkZGluZy14O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1hY3Rpb25zLWJvcmRlci13aWR0aCAwIDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6ICRrZW5kby1hY3Rpb25zLWJ1dHRvbi1zcGFjaW5nO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAvLyBUT0RPOiByZW1vdmVcbiAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zIGluIHBvcHVwXG4gICAgLmstcG9wdXAgLmstYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1hY3Rpb25zLW1hcmdpbi10b3A7XG4gICAgfVxuXG4gICAgLy8gQWN0aW9ucyBhbGlnblxuICAgIC5rLWFjdGlvbnMtc3RhcnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIC5rLWFjdGlvbnMtY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5rLWFjdGlvbnMtZW5kIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gICAgLmstYWN0aW9ucy1zdHJldGNoZWQgPiAqIHtcbiAgICAgICAgZmxleDogMSAwIDAlO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9ucyBvcmllbnRhdGlvblxuICAgIC5rLWFjdGlvbnMtaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuICAgIC5rLWFjdGlvbnMtdmVydGljYWwge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgfVxuXG5cbiAgICAvLyBBbGlhc2VzXG4gICAgLmstZWRpdC1idXR0b25zLFxuICAgIC5rLWFjdGlvbi1idXR0b25zLFxuICAgIC5rLWNvbHVtbm1lbnUtYWN0aW9ucyB7XG4gICAgICAgIEBleHRlbmQgLmstYWN0aW9ucyAhb3B0aW9uYWw7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWFjdGlvbnMtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hY3Rpb25zLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWFjdGlvbnMtLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbnMtLWxheW91dC1iYXNlKCk7XG5cbiAgICAvLyBBY3Rpb25zXG4gICAgLmstYWN0aW9ucyB7XG5cbiAgICAgICAgLy8gQnV0dG9uXG4gICAgICAgIC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCBub25lICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEJ1dHRvbiBncm91cFxuICAgICAgICAuay1idXR0b24tZ3JvdXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTcGxpdCBidXR0b25cbiAgICAgICAgLmstc3BsaXQtYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9hY3Rpb24tYnV0dG9ucy9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hY3Rpb24tYnV0dG9ucy9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FjdGlvbi1idXR0b25zL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tYWN0aW9ucy0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIEFjdGlvbnNcbiAgICAuay1hY3Rpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1hY3Rpb25zLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tYWN0aW9ucy1iZyxcbiAgICAgICAgICAgICRrZW5kby1hY3Rpb25zLWJvcmRlcixcbiAgICAgICAgICAgICRrZW5kby1hY3Rpb25zLWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWFjdGlvbnMtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbnMtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1hY3Rpb25zLS10aGVtZSgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbnMtLXRoZW1lLWJhc2UoKTtcblxuICAgIC8vIEFjdGlvbnNcbiAgICAuay1hY3Rpb25zIHtcblxuICAgICAgICAuay1idXR0b24tc29saWQtYmFzZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1zdWJ0bGUgKSwgay10cnktc2hhZGUoICRrZW5kby1idXR0b24tYmcgKSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWJ1dHRvbi1iZyApKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tYWN0aW9ucy0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiYWN0aW9uc1wiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1hY3Rpb25zLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYWN0aW9ucy0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbnMtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2Zvcm1zL192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX3ZhcmlhYmxlcy5zY3NzXG4vLyBJbnB1dFxuXG4vLy8gVGhlIGRlZmF1bHQgd2lkdGggb2YgdGhlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZGVmYXVsdC13aWR0aDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8taW5wdXQtYm9yZGVyLWhlaWdodDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWJvcmRlci1yYWRpdXM6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHNtYWxsIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc20tcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtbWQtcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1sZy1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNtLXBhZGRpbmcteTogay1zcGFjaW5nKDEuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW1kLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWxnLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLWxnLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc21hbGwgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zbS1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtbGcsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBtZWRpdW0gSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1tZC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtbGcsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBsYXJnZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWxnLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1sZywgaW5oZXJpdCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWxpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgc21hbGwgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zbS1saW5lLWhlaWdodDogMS4yNSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIG1lZGl1bSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW1kLWxpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbGFyZ2UgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1sZy1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemVzIG1hcCBmb3IgdGhlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1pbnB1dC1zbS1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWlucHV0LXNtLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8taW5wdXQtc20tZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWlucHV0LXNtLWxpbmUtaGVpZ2h0LFxuICAgICAgICBidXR0b24tcGFkZGluZy14OiBrLXNwYWNpbmcoMSksXG4gICAgICAgIGJ1dHRvbi1wYWRkaW5nLXk6ICRrZW5kby1pbnB1dC1zbS1wYWRkaW5nLXlcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLWlucHV0LW1kLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8taW5wdXQtbWQtcGFkZGluZy15LFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1pbnB1dC1tZC1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8taW5wdXQtbWQtbGluZS1oZWlnaHQsXG4gICAgICAgIGJ1dHRvbi1wYWRkaW5nLXg6IGstc3BhY2luZygxKSxcbiAgICAgICAgYnV0dG9uLXBhZGRpbmcteTogJGtlbmRvLWlucHV0LW1kLXBhZGRpbmcteVxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8taW5wdXQtbGctcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1pbnB1dC1sZy1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWlucHV0LWxnLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1pbnB1dC1sZy1saW5lLWhlaWdodCxcbiAgICAgICAgYnV0dG9uLXBhZGRpbmcteDogay1zcGFjaW5nKDEpLFxuICAgICAgICBidXR0b24tcGFkZGluZy15OiAka2VuZG8taW5wdXQtbGctcGFkZGluZy15XG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VyZmFjZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWNvbXBvbmVudC1iZywgLjUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDQlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1jb21wb25lbnQtYm9yZGVyLCAuMzggKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtaG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtaG92ZXItYm9yZGVyOiAka2VuZG8taW5wdXQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBob3ZlcmVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtaG92ZXItc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZvY3VzZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZvY3VzLWJvcmRlcjogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZvY3VzLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNlbGVjdGVkLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNlbGVjdGVkLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZGlzYWJsZWQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAzJSwgdHJhbnNwYXJlbnQpLCBrLXRyeS1zaGFkZSggJGtlbmRvLWNvbXBvbmVudC1iZywgLjI1ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWRpc2FibGVkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAyNyUsIHRyYW5zcGFyZW50KSwgJGtlbmRvLWRpc2FibGVkLXRleHQpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGRpc2FibGVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZGlzYWJsZWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMyUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIsIGstbWF0aC1kaXYoIGstY29sb3ItYWxwaGEoICRrZW5kby1jb21wb25lbnQtYm9yZGVyICksIDIgKSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGRpc2FibGVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZGlzYWJsZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZGlzYWJsZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1kaXNhYmxlZC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3V0bGluZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIG91dGxpbmUgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1vdXRsaW5lLXRleHQ6ICRrZW5kby1pbnB1dC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIG91dGxpbmUgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1vdXRsaW5lLWJvcmRlcjogJGtlbmRvLWlucHV0LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGhvdmVyZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1vdXRsaW5lLWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBvdXRsaW5lIGhvdmVyZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1vdXRsaW5lLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgb3V0bGluZSBob3ZlcmVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtb3V0bGluZS1ob3Zlci1ib3JkZXI6ICRrZW5kby1pbnB1dC1ob3Zlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3V0bGluZSBmb2N1c2VkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgb3V0bGluZSBmb2N1c2VkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIG91dGxpbmUgZm9jdXNlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtYm9yZGVyOiAka2VuZG8taW5wdXQtZm9jdXMtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIG91dGxpbmUgZm9jdXNlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtc2hhZG93OiAka2VuZG8taW5wdXQtZm9jdXMtc2hhZG93ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZsYXQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmbGF0IElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC10ZXh0OiAka2VuZG8taW5wdXQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmbGF0IElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC1ib3JkZXI6ICRrZW5kby1pbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZmxhdCBob3ZlcmVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC1ob3Zlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZmxhdCBob3ZlcmVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZsYXQgaG92ZXJlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZsYXQtaG92ZXItYm9yZGVyOiAka2VuZG8taW5wdXQtaG92ZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZsYXQgZm9jdXNlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZsYXQtZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZsYXQgZm9jdXNlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZsYXQtZm9jdXMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmbGF0IGZvY3VzZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LWZvY3VzLWJvcmRlcjogJGtlbmRvLWlucHV0LWZvY3VzLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBmbGF0IGZvY3VzZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LWZvY3VzLXNoYWRvdzogJGtlbmRvLWlucHV0LWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBJbnB1dCBwbGFjZWhvbGRlci5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIElucHV0IHBsYWNlaG9sZGVyLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXBsYWNlaG9sZGVyLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBjb2xvciBvZiB0aGUgSW5wdXQgY2xlYXIgdmFsdWUgaWNvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1jbGVhci12YWx1ZS10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBJbnB1dCBjbGVhciB2YWx1ZSBpY29uLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWNsZWFyLXZhbHVlLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgaG92ZXJlZCBJbnB1dCBjbGVhciB2YWx1ZSBpY29uLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWNsZWFyLXZhbHVlLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIGhvdmVyZWQgSW5wdXQgY2xlYXIgdmFsdWUgaWNvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1jbGVhci12YWx1ZS1ob3Zlci1vcGFjaXR5OiAxICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIG1hcmdpbiBvZiB0aGUgY2xlYXIgdmFsdWUgaWNvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC12YWx1ZXMtbWFyZ2luLXk6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgY2xlYXIgdmFsdWUgaWNvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC12YWx1ZXMtbWFyZ2luLXg6ICRrZW5kby1pbnB1dC12YWx1ZXMtbWFyZ2luLXkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIElucHV0IGJ1dHRvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1idXR0b24td2lkdGg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgSW5wdXQgYnV0dG9uLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWJ1dHRvbi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIElucHV0IHNwaW5uZXIgYnV0dG9uLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNwaW5uZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGljb24gb2Zmc2V0IG9mIHRoZSBJbnB1dCBzcGlubmVyIGJ1dHRvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zcGlubmVyLWljb24tb2Zmc2V0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBJbnB1dCBzZXBhcmF0b3IuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc2VwYXJhdG9yLXRleHQ6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBJbnB1dCBzZXBhcmF0b3IuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc2VwYXJhdG9yLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIElucHV0IHByZWZpeC5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1wcmVmaXgtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBJbnB1dCBzdWZmaXguXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc3VmZml4LXRleHQ6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGludmFsaWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1pbnZhbGlkLWJvcmRlcjogJGtlbmRvLWludmFsaWQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGludmFsaWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1pbnZhbGlkLXNoYWRvdzogJGtlbmRvLWludmFsaWQtc2hhZG93ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItYmc6ICRrZW5kby1pbnB1dC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci10ZXh0OiAka2VuZG8taW5wdXQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWJvcmRlcjogJGtlbmRvLWlucHV0LWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1zaGFkb3c6ICRrZW5kby1pbnB1dC1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWhvdmVyLWJnOiAka2VuZG8taW5wdXQtaG92ZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1ob3Zlci10ZXh0OiAka2VuZG8taW5wdXQtaG92ZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItaG92ZXItYm9yZGVyOiAka2VuZG8taW5wdXQtaG92ZXItYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgaG92ZXJlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGhvdmVyZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1ob3Zlci1zaGFkb3c6ICRrZW5kby1pbnB1dC1ob3Zlci1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWZvY3VzLWJnOiAka2VuZG8taW5wdXQtZm9jdXMtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mb2N1cy10ZXh0OiAka2VuZG8taW5wdXQtZm9jdXMtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZm9jdXMtYm9yZGVyOiAka2VuZG8taW5wdXQtZm9jdXMtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgZm9jdXNlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWZvY3VzLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mb2N1cy1zaGFkb3c6ICRrZW5kby1pbnB1dC1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1kaXNhYmxlZC1iZzogJGtlbmRvLWlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWRpc2FibGVkLXRleHQ6ICRrZW5kby1pbnB1dC1kaXNhYmxlZC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGRpc2FibGVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZGlzYWJsZWQtYm9yZGVyOiAka2VuZG8taW5wdXQtZGlzYWJsZWQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgZGlzYWJsZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1kaXNhYmxlZC1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBkaXNhYmxlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWRpc2FibGVkLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdXRsaW5lIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItb3V0bGluZS1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgb3V0bGluZSBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLW91dGxpbmUtdGV4dDogJGtlbmRvLXBpY2tlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIG91dGxpbmUgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWJvcmRlcjogJGtlbmRvLXBpY2tlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3V0bGluZSBob3ZlcmVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgb3V0bGluZSBob3ZlcmVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIG91dGxpbmUgaG92ZXJlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItYm9yZGVyOiAka2VuZG8tcGlja2VyLWhvdmVyLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWZvY3VzLWJnOiBudWwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIG91dGxpbmUgZm9jdXNlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLW91dGxpbmUtZm9jdXMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWZvY3VzLWJvcmRlcjogJGtlbmRvLXBpY2tlci1mb2N1cy1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgb3V0bGluZSBmb2N1c2VkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3V0bGluZSBob3ZlcmVkIGFuZCBmb2N1c2VkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgb3V0bGluZSBob3ZlcmVkIGFuZCBmb2N1c2VkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIG91dGxpbmUgaG92ZXJlZCBhbmQgZm9jdXNlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZsYXQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mbGF0LWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmbGF0IFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZmxhdC10ZXh0OiAka2VuZG8tcGlja2VyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZmxhdCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWZsYXQtYm9yZGVyOiAka2VuZG8tcGlja2VyLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmbGF0IGhvdmVyZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mbGF0LWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmbGF0IGhvdmVyZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mbGF0LWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZmxhdCBob3ZlcmVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJzXG4ka2VuZG8tcGlja2VyLWZsYXQtaG92ZXItYm9yZGVyOiAka2VuZG8tcGlja2VyLWhvdmVyLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmbGF0IGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mbGF0LWZvY3VzLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmbGF0IGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mbGF0LWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZmxhdCBmb2N1c2VkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZmxhdC1mb2N1cy1ib3JkZXI6ICRrZW5kby1waWNrZXItZm9jdXMtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGZsYXQgZm9jdXNlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWZsYXQtZm9jdXMtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZsYXQgaG92ZXJlZCBhbmQgZm9jdXNlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWZsYXQtaG92ZXItZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZsYXQgaG92ZXJlZCBhbmQgZm9jdXNlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWZsYXQtaG92ZXItZm9jdXMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmbGF0IGhvdmVyZWQgYW5kIGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mbGF0LWhvdmVyLWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbHRpcC9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy90b29sdGlwL192YXJpYWJsZXMuc2Nzc1xuLy8gVG9vbHRpcFxuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLXBhZGRpbmcteTogY2FsYyggI3ska2VuZG8tcGFkZGluZy1tZC15fSAqIC43NSApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLXBhZGRpbmcteDogY2FsYyggI3ska2VuZG8tcGFkZGluZy1tZC14fSAvIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBUb29sdGlwLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobWQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBUb29sdGlwLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBUb29sdGlwLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBUb29sdGlwIHRpdGxlLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC10aXRsZS1mb250LXNpemU6IGNhbGMoIHZhciggLS1rZW5kby1mb250LXNpemUtc20sIC43NXJlbSApICogMS4yNSApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVG9vbHRpcCB0aXRsZS5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtdGl0bGUtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodC14cywgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZSBvZiB0aGUgVG9vbHRpcCBjYWxsb3V0LlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBkZWZhdWx0IGJhY2tncm91bmQgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLWJnOiBtYXRlcmlhbC1jb2xvciggZ3JheSwgNzAwLCAuOSApICFkZWZhdWx0O1xuLy8vIFRoZSBkZWZhdWx0IHRleHQgY29sb3Igb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLXRleHQ6IGdldC1iYXNlLWNvbnRyYXN0KCBncmF5LCA3MDAgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLWJvcmRlcjogJGtlbmRvLXRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm94LXNoYWRvdyBvZiB0aGUgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC0yICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gdG9vbHRpcC10aGVtZSggJGNvbG9ycyApIHtcbiAgICAkX3RoZW1lOiAoKTtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGNvbG9ycyB7XG4gICAgICAgICRfdGhlbWU6IGstbWFwLW1lcmdlKCggJG5hbWU6IChcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1jb2xvciggJGNvbG9yICkpLFxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLFxuICAgICAgICAgICAgYm9yZGVyOiAkY29sb3IsXG4gICAgICAgICkpLCAkX3RoZW1lICk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkX3RoZW1lO1xufVxuXG4vLy8gVGhlIHRoZW1lIGNvbG9ycyBtYXAgZm9yIHRoZSBUb29sdGlwLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC10aGVtZS1jb2xvcnM6ICRrZW5kby10aGVtZS1jb2xvcnMgIWRlZmF1bHQ7XG4vLy8gVGhlIGdlbmVyYXRlZCB0aGVtZSBjb2xvcnMgbWFwIGZvciB0aGUgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtdGhlbWU6IHRvb2x0aXAtdGhlbWUoICRrZW5kby10b29sdGlwLXRoZW1lLWNvbG9ycyApICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90eXBvZ3JhcGh5L192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3R5cG9ncmFwaHkvX3ZhcmlhYmxlcy5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vd2luZG93L192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3dpbmRvdy9fdmFyaWFibGVzLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2FjdGlvbi1idXR0b25zL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1idXR0b25zL192YXJpYWJsZXMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8gV2luZG93XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1ib3JkZXItcmFkaXVzOiA0cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgV2luZG93LlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgV2luZG93IHRpdGxlYmFyLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctdGl0bGViYXItcGFkZGluZy14OiBrLXNwYWNpbmcoNikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFdpbmRvdyB0aXRsZWJhci5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXRpdGxlYmFyLXBhZGRpbmcteTogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIG9mIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZWJhci1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3R5bGUgb2YgdGhlIGJvcmRlciBvZiB0aGUgV2luZG93IHRpdGxlYmFyLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctdGl0bGViYXItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIHRpdGxlIG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZS1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtbGcsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIHRpdGxlIG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZS1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LWxnLCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIGJ1dHRvbnMgaW4gdGhlIFdpbmRvdyB0aXRsZWJhci5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWFjdGlvbnMtZ2FwOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBidXR0b25zIGluIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1hY3Rpb24tb3BhY2l0eTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgb3BhY2l0eSBvZiB0aGUgaG92ZXJlZCBidXR0b25zIGluIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1hY3Rpb24taG92ZXItb3BhY2l0eTogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGNvbnRlbnQgb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteDogay1zcGFjaW5nKDYpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBjb250ZW50IG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFdpbmRvdyBhY3Rpb24gYnV0dG9ucy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWJ1dHRvbmdyb3VwLXBhZGRpbmcteDogJGtlbmRvLWFjdGlvbnMtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBXaW5kb3cgYWN0aW9uIGJ1dHRvbnMuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1idXR0b25ncm91cC1wYWRkaW5nLXk6ICRrZW5kby1hY3Rpb25zLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIHRvcCBib3JkZXIgb2YgdGhlIFdpbmRvdyBhY3Rpb24gYnV0dG9ucy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWJ1dHRvbmdyb3VwLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgV2luZG93LlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgV2luZG93LlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC04ICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWZvY3VzLXNoYWRvdzogJGJveC1zaGFkb3ctZGVwdGgtOSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZWJhci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgV2luZG93IHRpdGxlYmFyLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctdGl0bGViYXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZWJhci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIFdpbmRvdyB0aXRsZWJhci5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXRpdGxlYmFyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1hcCBvZiB0aGUgd2lkdGggZm9yIHRoZSBkaWZmZXJlbnQgV2luZG93IHNpemVzLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctc2l6ZXM6IChcbiAgICBzbTogMzAwcHgsXG4gICAgbWQ6IDgwMHB4LFxuICAgIGxnOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhlbWUgY29sb3JzIG1hcCBmb3IgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXRoZW1lLWNvbG9yczogKFxuICAgIFwicHJpbWFyeVwiOiBrLW1hcC1nZXQoJGtlbmRvLXRoZW1lLWNvbG9ycywgXCJwcmltYXJ5XCIpLFxuICAgIFwibGlnaHRcIjogay1tYXAtZ2V0KCRrZW5kby10aGVtZS1jb2xvcnMsIFwibGlnaHRcIiksXG4gICAgXCJkYXJrXCI6IGstbWFwLWdldCgka2VuZG8tdGhlbWUtY29sb3JzLCBcImRhcmtcIilcbikgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBGb3Jtc1xuXG4vLy8gVGhlIHBhZGRpbmcgb2YgdGhlIGlubGluZSBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1zcGFjZXI6IGNhbGMoICN7JGtlbmRvLXBhZGRpbmctbWQteH0gKiAyICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgRm9ybSBpbiBlbSB1bml0cy5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tbGluZS1oZWlnaHQtZW06IGNhbGMoICN7JGtlbmRvLWZvcm0tbGluZS1oZWlnaHR9ICogMWVtICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBzbWFsbCBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1zbS1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbGFyZ2UgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tbGctbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXJnaW4gb2YgdGhlIEZvcm0gZmllbGRzZXQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWZpZWxkc2V0LW1hcmdpbjogMmVtIDAgMCAhZGVmYXVsdDtcbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgRm9ybSBmaWVsZHNldC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tZmllbGRzZXQtcGFkZGluZzogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1hcmdpbiBvZiB0aGUgRm9ybSBsZWdlbmQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxlZ2VuZC1tYXJnaW46IDAgMCAxZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIHBhZGRpbmcgb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sZWdlbmQtcGFkZGluZzogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sZWdlbmQtYm9yZGVyLXdpZHRoOiAwIDAgMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgc3R5bGUgb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sZWdlbmQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGb3JtIGxlZ2VuZC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tbGVnZW5kLWJvcmRlci1jb2xvcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBGb3JtIGxlZ2VuZC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tbGVnZW5kLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sZWdlbmQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY2FwaXRhbGl6YXRpb24gb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sZWdlbmQtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBGb3JtIGxhYmVsLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gb2YgdGhlIEZvcm0gYnV0dG9ucy5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tYnV0dG9uLW1hcmdpbi14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBGb3JtIGhpbnQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWhpbnQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc3R5bGUgb2YgdGhlIEZvcm0gaGludC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0taGludC1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRvcCBtYXJnaW4gb2YgdGhlIEZvcm0gaGludC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0taGludC1tYXJnaW4tdG9wOiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgcm93IHNwYWNpbmcgb2YgdGhlIHNtYWxsIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLXNtLXJvd3Mtc3BhY2luZzogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSByb3cgc3BhY2luZyBvZiB0aGUgbWVkaXVtIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLW1kLXJvd3Mtc3BhY2luZzogay1zcGFjaW5nKDYpICFkZWZhdWx0O1xuLy8vIFRoZSByb3cgc3BhY2luZyBvZiB0aGUgbGFyZ2UgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tbGctcm93cy1zcGFjaW5nOiBrLXNwYWNpbmcoNykgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWFyZ2luIG9mIHRoZSBGb3JtIHNlcGFyYXRvci5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tc2VwYXJhdG9yLW1hcmdpbjogJGtlbmRvLWZvcm0tbWQtcm93cy1zcGFjaW5nIDAgMCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGb3JtIHNlcGFyYXRvci5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tc2VwYXJhdG9yLWJvcmRlci1jb2xvcjogJGtlbmRvLWZvcm0tbGVnZW5kLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRoZSB0b3AgcGFkZGluZyBvZiB0aGUgbGFiZWwgaW4gdGhlIGhvcml6b250YWwgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWhvcml6b250YWwtZm9ybS1sYWJlbC1wYWRkaW5nLXRvcDogY2FsYyggI3trLXNwYWNpbmcoMi41KX0gLyAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBsYWJlbCBpbiB0aGUgaG9yaXpvbnRhbCBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLW1hcmdpbi14OiBrLXNwYWNpbmcoMi41KSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGxhYmVsIGluIHRoZSBob3Jpem9udGFsIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtd2lkdGg6IDI1JSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBhbGlnbm1lbnQgb2YgdGhlIGxhYmVsIGluIHRoZSBob3Jpem9udGFsIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtYWxpZ246IGZsZXgtZW5kICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGZpZWxkIHdyYXAgaW4gdGhlIGhvcml6b250YWwgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWhvcml6b250YWwtZm9ybS1maWVsZC13cmFwLW1heC13aWR0aDogY2FsYyggKCAxMDAlIC0gI3ska2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLXdpZHRofSApIC0gI3ska2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLW1hcmdpbi14fSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBpbmxpbmUgRm9ybSBlbGVtZW50LlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8taW5saW5lLWZvcm0tZWxlbWVudC13aWR0aDogMjUlICFkZWZhdWx0O1xuXG4vLy8gVGhlIGludmFsaWQgdGV4dCBjb2xvciBvZiB0aGUgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm1zLWludmFsaWQtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgb3B0aW9uYWwgbGFiZWwgaW4gdGhlIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1sYWJlbC1vcHRpb25hbC1tYXJnaW4teDogay1zcGFjaW5nKDEuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgb3B0aW9uYWwgbGFiZWwgaW4gdGhlIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1sYWJlbC1vcHRpb25hbC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzdHlsZSBvZiB0aGUgb3B0aW9uYWwgbGFiZWwgaW4gdGhlIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1sYWJlbC1vcHRpb25hbC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBtYXJnaW4gb2YgdGhlIEZvcm0gZmllbGRzZXQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1maWVsZHNldC1tYXJnaW46IGstc3BhY2luZyg3LjUpICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEZvcm0gZmllbGRzZXQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1maWVsZHNldC1mb250LXNpemU6ICRrZW5kby1oNC1mb250LXNpemUgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZvcm0gZmllbGRzZXQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1maWVsZHNldC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRm9ybSBmaWVsZHNldC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZpZWxkc2V0LXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRm9ybSBmaWVsZHNldC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZpZWxkc2V0LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGb3JtIGxlZ2VuZC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZpZWxkc2V0LWxlZ2VuZC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRm9ybSBsZWdlbmQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1maWVsZHNldC1sZWdlbmQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGb3JtIGxlZ2VuZC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZpZWxkc2V0LWxlZ2VuZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZXMgbWFwIGZvciB0aGUgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBmb3JtLXJvd3Mtc3BhY2luZzogJGtlbmRvLWZvcm0tc20tcm93cy1zcGFjaW5nXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBmb3JtLXJvd3Mtc3BhY2luZzogJGtlbmRvLWZvcm0tbWQtcm93cy1zcGFjaW5nXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBmb3JtLXJvd3Mtc3BhY2luZzogJGtlbmRvLWZvcm0tbGctcm93cy1zcGFjaW5nXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9mb3Jtcy9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZm9ybXMvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZm9ybXMvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZm9ybS0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBDb21tb25cbiAgICAuay1mb3JtLFxuICAgIC5rLWZvcm0taW5saW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZm9ybS1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZm9ybS1saW5lLWhlaWdodDtcbiAgICB9XG5cblxuICAgIC8vIEZpZWxkc2V0XG4gICAgLmstZmllbGRzZXQge1xuICAgICAgICBtYXJnaW46ICRrZW5kby1maWVsZHNldC1tYXJnaW47XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgcGFkZGluZzogMjVweCAwIDA7XG5cbiAgICAgICAgPiBsZWdlbmQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRrZW5kby1wYWRkaW5nLW1kLXggMCAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTGFiZWxcbiAgICBrZW5kby1sYWJlbCA+IC5rLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5rLWxhYmVsLW9wdGlvbmFsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1sYWJlbC1vcHRpb25hbC1tYXJnaW4teDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbGFiZWwtb3B0aW9uYWwtZm9udC1zaXplO1xuICAgICAgICBmb250LXN0eWxlOiAka2VuZG8tbGFiZWwtb3B0aW9uYWwtZm9udC1zdHlsZTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cblxuICAgIC5rLWxhYmVsLWVtcHR5IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy8gVmVydGljYWwgRm9ybVxuICAgIC5rLWZvcm0ge1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgLmstZm9ybS1maWVsZCA+IC5rLWxhYmVsLFxuICAgICAgICAuay1mb3JtLWZpZWxkID4ga2VuZG8tbGFiZWwsXG4gICAgICAgIC5rLWZvcm0tbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGtlbmRvLWZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1sYWJlbCArIC5rLXJhZGlvIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZm9ybS1maWVsZHNldCB7XG4gICAgICAgICAgICBtYXJnaW46ICRrZW5kby1mb3JtLWZpZWxkc2V0LW1hcmdpbjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRrZW5kby1mb3JtLWZpZWxkc2V0LXBhZGRpbmc7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgJjpub3QoLmstaGlkZGVuKTpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgICAgICAmLmstaGlkZGVuICsgOm5vdCguay1oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1mb3JtLWxlZ2VuZCB7XG4gICAgICAgICAgICBtYXJnaW46ICRrZW5kby1mb3JtLWxlZ2VuZC1tYXJnaW47XG4gICAgICAgICAgICBwYWRkaW5nOiAka2VuZG8tZm9ybS1sZWdlbmQtcGFkZGluZztcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWZvcm0tbGVnZW5kLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogJGtlbmRvLWZvcm0tbGVnZW5kLWJvcmRlci1zdHlsZTtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZm9ybS1sZWdlbmQtd2lkdGg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1mb3JtLWxlZ2VuZC1mb250LXNpemU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGtlbmRvLWZvcm0tbGVnZW5kLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBGb3JtIGdyb3VwXG4gICAgICAgIC5rLWZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICAmOm5vdCguay1oaWRkZW4pOmZpcnN0LWNoaWxkLFxuICAgICAgICAgICAgJi5rLWhpZGRlbiArIDpub3QoLmstaGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gRm9ybSBmaWVsZFxuICAgICAgICAuay1mb3JtLWZpZWxkLFxuICAgICAgICAuay1mb3JtLWZpZWxkLXdyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuay1mb3JtLWZpZWxkLWRpc2FibGVkIHtcbiAgICAgICAgICAgIC5rLWxhYmVsLFxuICAgICAgICAgICAgLmstZm9ybS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZGlzYWJsZWQoICRrZW5kby1kaXNhYmxlZC1zdHlsaW5nLi4uICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1hbGVydC1lcnJvciB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoICN7JGtlbmRvLXBhZGRpbmctbWQteX0gKiAyICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWVsZC1pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS14cywgaW5oZXJpdCApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiAka2VuZG8tcGFkZGluZy1tZC14O1xuICAgICAgICB9XG5cblxuICAgICAgICAuay1tdWx0aXNlbGVjdCxcbiAgICAgICAgLmstZmxvYXRpbmctbGFiZWwtY29udGFpbmVyLFxuICAgICAgICAuay1kYXRlcmFuZ2VwaWNrZXIgLmstZGF0ZWlucHV0LFxuICAgICAgICAuay1zaWduYXR1cmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gQnV0dG9ucyBDb250YWluZXJcbiAgICAuay1mb3JtLWJ1dHRvbnMge1xuICAgICAgICBAZXh0ZW5kIC5rLWFjdGlvbnMgIW9wdGlvbmFsO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBGb3JtIEhpbnQvRXJyb3IgTWVzc2FnZXNcbiAgICAuay1mb3JtLWhpbnQsXG4gICAgLmstZm9ybS1lcnJvciB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1mb3JtLWhpbnQtbWFyZ2luLXRvcDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZm9ybS1oaW50LWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1zdHlsZTogJGtlbmRvLWZvcm0taGludC1mb250LXN0eWxlO1xuICAgIH1cblxuICAgIC5rLXRleHQtc3RhcnQsXG4gICAgLmstYnV0dG9ucy1zdGFydCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuay10ZXh0LWVuZCxcbiAgICAuay1idXR0b25zLWVuZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLy8gRm9ybSBTZXBhcmF0b3JcbiAgICAuay1mb3JtLXNlcGFyYXRvciB7XG4gICAgICAgIG1hcmdpbjogJGtlbmRvLWZvcm0tc2VwYXJhdG9yLW1hcmdpbjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgLy8gSG9yaXpvbnRhbCBGb3JtXG4gICAgLmstZm9ybS1ob3Jpem9udGFsIHtcbiAgICAgICAgLmstZm9ybS1maWVsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICA+IC5rLWxhYmVsLFxuICAgICAgICAgICAgPiBrZW5kby1sYWJlbCxcbiAgICAgICAgICAgID4gLmstZm9ybS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLW1hcmdpbi14O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAka2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLXBhZGRpbmctdG9wO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLXdpZHRoO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAka2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLWFsaWduO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWxhYmVsLW9wdGlvbmFsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZvcm0tZmllbGQtd3JhcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRrZW5kby1ob3Jpem9udGFsLWZvcm0tZmllbGQtd3JhcC1tYXgtd2lkdGg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJUTCBBZGp1c3RtZW50c1xuICAgIC5rLWZvcm0ge1xuICAgICAgICBbZGlyPVwicnRsXCJdLFxuICAgICAgICAuay1ydGwgJiB7XG4gICAgICAgICAgICAuay1sYWJlbC1vcHRpb25hbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8tbGFiZWwtb3B0aW9uYWwtbWFyZ2luLXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1mb3JtLWhvcml6b250YWwge1xuICAgICAgICBbZGlyPVwicnRsXCJdLFxuICAgICAgICAuay1ydGwgJiB7XG4gICAgICAgICAgICAmLmstZm9ybS1maWVsZCxcbiAgICAgICAgICAgIC5rLWZvcm0tZmllbGQge1xuICAgICAgICAgICAgICAgID4gLmstbGFiZWwsXG4gICAgICAgICAgICAgICAgPiBrZW5kby1sYWJlbCxcbiAgICAgICAgICAgICAgICA+IC5rLWZvcm0tbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLW1hcmdpbi14O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1mb3JtLXNpemVzIHtcbiAgICAgICAgJF9mb3JtLXJvd3Mtc3BhY2luZzogay1tYXAtZ2V0KCRzaXplLXByb3BzLCBmb3JtLXJvd3Mtc3BhY2luZyk7XG5cbiAgICAgICAgLmstZm9ybS0jeyRzaXplfSB7XG4gICAgICAgICAgICAuay1mb3JtLWZpZWxkLFxuICAgICAgICAgICAgLmstZm9ybS1idXR0b25zIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkX2Zvcm0tcm93cy1zcGFjaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTY2hlZHVsZXJcbiAgICAuay1mb3JtLWlubGluZSB7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1mb3JtLXNwYWNlcjtcblxuICAgICAgICBmaWVsZHNldCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgbWFyZ2luOiBjYWxjKCAjeyRrZW5kby1mb3JtLXNwYWNlcn0gKiAyICkgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxlZ2VuZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyggI3ska2VuZG8tcGFkZGluZy1sZy15fSAqIDIgKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRrZW5kby1wYWRkaW5nLW1kLXggMCAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1mb3JtLWZpZWxkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyggI3ska2VuZG8tcGFkZGluZy1sZy15fSAqIDIgKTtcblxuICAgICAgICAgICAgPiBzcGFuOm5vdCguay13aWRnZXQpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGtlbmRvLWlubGluZS1mb3JtLWVsZW1lbnQtd2lkdGg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApO1xuICAgICAgICAgICAgICAgIC8vIFRPRE86IGRvIHdlIG5lZWQgdGhlIGlucHV0IHZhcmlhYmxlP1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGNhbGMoICN7JGtlbmRvLXBhZGRpbmctbWQteX0gKyAjeyRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGh9ICkgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAka2VuZG8tcGFkZGluZy1sZy14O1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBpbnB1dCB7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGlucHV0Om5vdCguay1jaGVja2JveCk6bm90KC5rLXJhZGlvKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWFsZXJ0LWVycm9yIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKCAjeyRrZW5kby1wYWRkaW5nLW1kLXl9ICogMiApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWVsZC1pbmZvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUteHMsIGluaGVyaXQgKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIEVkaXQgZm9ybVxuICAgIC5rLWVkaXQtZm9ybS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogNDAwcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uIGJ1dHRvbnNcbiAgICAuay1wb3B1cC1lZGl0LWZvcm0gPiAuay1hY3Rpb25zLFxuICAgIC5rLWVkaXQtZm9ybS1jb250YWluZXIgLmstYWN0aW9ucyB7XG4gICAgICAgIC8vIFRPRE86IHJlZmFjdG9yXG4gICAgICAgIG1hcmdpbjogay1zcGFjaW5nKDQpICgtJGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXgpICgtJGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXkpO1xuICAgIH1cblxuXG4gICAgLmstZWRpdC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMCAwIGstc3BhY2luZyg0KSAwO1xuICAgICAgICAvLyBUT0RPOiBkbyB3ZSBuZWVkIHRoZSBpbnB1dCB2YXJpYWJsZT9cbiAgICAgICAgcGFkZGluZzogY2FsYyggI3ska2VuZG8taW5wdXQtcGFkZGluZy15fSArICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aH0gKSAwO1xuICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWZvcm0tbGluZS1oZWlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICAuay1lZGl0LWZpZWxkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgay1zcGFjaW5nKDQpIDA7XG4gICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5rLW5vLWVkaXRvciB7XG4gICAgICAgICAgICAvLyBUT0RPOiBkbyB3ZSBuZWVkIHRoZSBpbnB1dCB2YXJpYWJsZT9cbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGMoICN7JGtlbmRvLWlucHV0LXBhZGRpbmcteX0gKyAjeyRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGh9ICkgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWVkaXQtZmllbGQge1xuXG4gICAgICAgID4gLmstd2lkZ2V0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoLmstcmFkaW8pLFxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KC5rLWNoZWNrYm94KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC40ZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yYWRpby1sYWJlbCxcbiAgICAgICAgLmstY2hlY2tib3gtbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBrLXNwYWNpbmcoNCk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLXJlc2V0ID4gbGkgKyBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBrLXNwYWNpbmcoMik7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNldCAuay13aWRnZXQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIC40ZXggMCAxZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZm9ybS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZvcm0tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZm9ybS0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tZm9ybS0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC8vIEZpZWxkc1xuICAgIC5rLWVkaXQtbGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gICAgLmstZWRpdC1maWVsZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cblxuICAgICAgICAuay11cGxvYWQge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdmFsaWRhdG9yLXRvb2x0aXAge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgLy8gVE9ETzogZG8gd2UgbmVlZCB0aGUgdG9vbHRpcCB2YXJpYWJsZT9cbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSB0cmFuc2xhdGVZKCRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2Zvcm1zL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Zvcm1zL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZm9ybXMvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1mb3JtLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLmstZm9ybSxcbiAgICAuay1mb3JtLWlubGluZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLWJvZHktdGV4dCApO1xuXG4gICAgICAgIGZpZWxkc2V0IHtcbiAgICAgICAgICAgIGxlZ2VuZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tZmllbGRzZXQtbGVnZW5kLXRleHQgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZvcm0tbGVnZW5kIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1mb3JtLWxlZ2VuZC1ib3JkZXItY29sb3IgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZpZWxkLWluZm8ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tc3VidGxlLXRleHQgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFsZXJ0LWVycm9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLWNvbG9yLWVycm9yICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1mb3JtLWVycm9yLFxuICAgIC5rLXRleHQtZXJyb3IsXG4gICAgLmstZm9ybS1maWVsZC1lcnJvciAuay1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLWNvbG9yLWVycm9yICk7XG4gICAgfVxuXG4gICAgLmstZm9ybS1zZXBhcmF0b3Ige1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tZm9ybS1zZXBhcmF0b3ItYm9yZGVyLWNvbG9yICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWZvcm0tLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZvcm0tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1mb3JtLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1mb3JtLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZm9ybS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZm9ybVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1mb3JtLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZm9ybS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZvcm0tLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3ZhbGlkYXRvci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3ZhbGlkYXRvci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ2YWxpZGF0b3JcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwidG9vbHRpcFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90b29sdGlwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbHRpcC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0b29sdGlwXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy90b29sdGlwL192YXJpYWJsZXMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvdG9vbHRpcC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdG9vbHRpcC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90b29sdGlwL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXRvb2x0aXAtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLmstdG9vbHRpcCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby10b29sdGlwLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdG9vbHRpcC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXRvb2x0aXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tdG9vbHRpcC1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdG9vbHRpcC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMjAwMDtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRvb2x0aXAtaWNvbiB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAka2VuZG8taWNvbi1zcGFjaW5nO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuay10b29sdGlwLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjI1ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXRvb2x0aXAtdGl0bGUtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXRvb2x0aXAtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLmstdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgIC5rLXRvb2x0aXAtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENhbGxvdXRcbiAgICAuay1jYWxsb3V0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoICN7JGtlbmRvLXRvb2x0aXAtY2FsbG91dC1zaXplfSAqIDIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoICN7JGtlbmRvLXRvb2x0aXAtY2FsbG91dC1zaXplfSAqIDIpO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOlxuICAgIC8vIFNvbWUgaW1wbGVtZW50YXRpb25zIHJlbHkgb24gbWFyZ2luICsgdHJhbnNmb3JtLXJvdGF0ZSB0byBwb3NpdGlvbiBjYWxsb3V0XG4gICAgLy8gUmVtb3ZlIG1hcmdpbiB0d2Vha2luZyBhbmQgdW5jb21tZW50IHdoZW4gdGhlaXIgaW1wbGVtZW50YXRpb24gaXMgZml4ZWQuXG5cbiAgICAuay1jYWxsb3V0LW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyggI3ska2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemV9ICogLTEgKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAvLyB0b3A6IDA7XG4gICAgICAgIHRvcDogY2FsYyggY2FsYyggI3ska2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemV9ICogLTEgKSAqIDIgKTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAuay1jYWxsb3V0LWUge1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKCAjeyRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZX0gKiAtMSApO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgLy8gcmlnaHQ6IDA7XG4gICAgICAgIHJpZ2h0OiBjYWxjKCBjYWxjKCAjeyRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZX0gKiAtMSApICogMiApO1xuICAgICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAtNTAlKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgIC5rLWNhbGxvdXQtcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAjeyRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZX0gKiAtMSApO1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIC8vIGJvdHRvbTogMDtcbiAgICAgICAgYm90dG9tOiBjYWxjKCBjYWxjKCAjeyRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZX0gKiAtMSApICogMik7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMTAwJSk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAuay1jYWxsb3V0LXcge1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKCAjeyRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZX0gKiAtMSApO1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIC8vIGxlZnQ6IDA7XG4gICAgICAgIGxlZnQ6IGNhbGMoIGNhbGMoICN7JGtlbmRvLXRvb2x0aXAtY2FsbG91dC1zaXplfSAqIC0xICkgKiAyKTtcbiAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIC01MCUpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdG9vbHRpcC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2x0aXAtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdG9vbHRpcC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2x0aXAtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90b29sdGlwL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Rvb2x0aXAvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90b29sdGlwL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdG9vbHRpcC0tdGhlbWUtYmFzZSgpIHtcbiAgICAvLyBEZWZhdWx0IHRvb2x0aXBcbiAgICAuay10b29sdGlwIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10b29sdGlwLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tdG9vbHRpcC1iZyxcbiAgICAgICAgICAgICRrZW5kby10b29sdGlwLWJvcmRlclxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXRvb2x0aXAtc2hhZG93ICk7XG5cbiAgICAgICAgLmstY2FsbG91dCB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLXRvb2x0aXAtYmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUb29sdGlwIHZhcmlhbnRzXG4gICAgQGVhY2ggJG5hbWUsICRwcm9wcyBpbiAka2VuZG8tdG9vbHRpcC10aGVtZSB7XG4gICAgICAgIC5rLXRvb2x0aXAtI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICBrLW1hcC1nZXQoICRwcm9wcywgY29sb3IgKSxcbiAgICAgICAgICAgICAgICBrLW1hcC1nZXQoICRwcm9wcywgYmFja2dyb3VuZC1jb2xvciApLFxuICAgICAgICAgICAgICAgIGstbWFwLWdldCggJHByb3BzLCBib3JkZXIgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmstY2FsbG91dCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGstbWFwLWdldCggJHByb3BzLCBiYWNrZ3JvdW5kLWNvbG9yICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdG9vbHRpcC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdG9vbHRpcC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRvb2x0aXAtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2x0aXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10b29sdGlwLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0b29sdGlwXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRvb2x0aXAtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10b29sdGlwLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdG9vbHRpcC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3ZhbGlkYXRvci9fdmFyaWFibGVzLnNjc3NcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy92YWxpZGF0b3IvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3ZhbGlkYXRvci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy92YWxpZGF0b3IvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdmFsaWRhdG9yLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFZhbGlkYXRvclxuICAgIC5rLXZhbGlkYXRvciB7fVxuXG5cbiAgICAvLyBWYWxpZGF0b3IgdG9vbHRpcFxuICAgIC5rLXZhbGlkYXRvci10b29sdGlwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYyggI3ska2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemV9ICsgI3ska2VuZG8tdG9vbHRpcC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAvLyBOT1RFOiBUaGlzIHdvcmtzIGFyb3VuZCBwb3B1cCAvIHRvb2x0aXAgc3RhY2tpbmcgaXNzdWVcbiAgICAgICAgei1pbmRleDogOTk5OTtcblxuICAgICAgICAvLyAuay1jYWxsb3V0LW4geyBpbnNldC1pbmxpbmUtc3RhcnQ6IDE2cHg7IH1cbiAgICB9XG4gICAgLmstZ3JpZCAuay12YWxpZGF0b3ItdG9vbHRpcCB7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXZhbGlkYXRvci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXZhbGlkYXRvci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby12YWxpZGF0b3ItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby12YWxpZGF0b3ItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy92YWxpZGF0b3IvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdmFsaWRhdG9yL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdmFsaWRhdG9yL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdmFsaWRhdG9yLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gVmFsaWRhdG9yXG4gICAgLmstdmFsaWRhdG9yIHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdmFsaWRhdG9yLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby12YWxpZGF0b3ItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby12YWxpZGF0b3ItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXZhbGlkYXRvci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXZhbGlkYXRvci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidmFsaWRhdG9yXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXZhbGlkYXRvci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXZhbGlkYXRvci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXZhbGlkYXRvci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJmbG9hdGluZy1sYWJlbFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImlucHV0XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiaW5wdXRcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX3ZhcmlhYmxlcy5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvaW5wdXQvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvaW5wdXQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8taW5wdXQtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gR2VuZXJpYyBpbnB1dFxuICAgIC5rLWlucHV0LFxuICAgIC5rLXBpY2tlciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1pbnB1dC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1pbnB1dC1kZWZhdWx0LXdpZHRoO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWlucHV0LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1pbnB1dC1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8taW5wdXQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWlucHV0LWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWlucHV0LFxuICAgICAgICA+IC5rLXBpY2tlciB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZpeCBmb3IgU2FmYXJpXG4gICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8taW5wdXQtcGxhY2Vob2xkZXItdGV4dDtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1pbnB1dC1wbGFjZWhvbGRlci1vcGFjaXR5O1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnB1dCBhbmQgVGV4dGFyZWFcbiAgICAuay1pbnB1dCB7fVxuICAgIGlucHV0LmstaW5wdXQsXG4gICAgdGV4dGFyZWEuay10ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1pbnB1dC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8taW5wdXQtcGFkZGluZy14O1xuXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRpc2FibGVkKCAka2VuZG8tZGlzYWJsZWQtc3R5bGluZy4uLiApO1xuXG4gICAgICAgICAgICBbZGlzYWJsZWRdICYsXG4gICAgICAgICAgICAuay1kaXNhYmxlZCAmIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHRleHRhcmVhLmstdGV4dGFyZWEge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cblxuICAgIC8vIFBpY2tlclxuICAgIC5rLXBpY2tlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgc2VsZWN0LmstcGlja2VyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWlucHV0LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1pbnB1dC1wYWRkaW5nLXg7XG4gICAgICAgIGFwcGVhcmFuY2U6IGF1dG87XG5cbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZGlzYWJsZWQoICRrZW5kby1kaXNhYmxlZC1zdHlsaW5nLi4uICk7XG5cbiAgICAgICAgICAgIFtkaXNhYmxlZF0gJixcbiAgICAgICAgICAgIC5rLWRpc2FibGVkICYge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIElucHV0IGlubmVyXG4gICAgLmstaW5wdXQtaW5uZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8taW5wdXQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWlucHV0LXBhZGRpbmcteDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8taW5wdXQtcGxhY2Vob2xkZXItdGV4dDtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1pbnB1dC1wbGFjZWhvbGRlci1vcGFjaXR5O1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkXG4gICAgICAgICY6aW52YWxpZCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNwYW4uay1pbnB1dC1pbm5lciB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgdGV4dGFyZWEuay1pbnB1dC1pbm5lciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cblxuICAgIC8vIElucHV0IHZhbHVlXG4gICAgLmstaW5wdXQtdmFsdWUtaWNvbiB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuICAgIC5rLWlucHV0LXZhbHVlLXRleHQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG4gICAgLmstaW5wdXQtdmFsdWUtdGV4dDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuXG4gICAgLy8gSW5wdXQgbXVsdGlwbGUgdmFsdWVzXG4gICAgLmstaW5wdXQtdmFsdWVzIHtcbiAgICAgICAgbWluLXdpZHRoOiAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjdXJzb3I6IHRleHQ7XG4gICAgfVxuICAgIC5rLWlucHV0LXZhbHVlcyAuay1jaGlwLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG5cblxuICAgIC8vIEljb24gcGlja2VyXG4gICAgLmstaWNvbi1waWNrZXIge1xuICAgICAgICAuay1pbnB1dC1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAka2VuZG8taW5wdXQtcGFkZGluZy15O1xuICAgICAgICAgICAgLy8gVE9ETyB3ZSBuZWVkIGJldHRlciB3YXlcbiAgICAgICAgICAgIC8vIHdpZHRoOiAka2VuZG8taW5wdXQtaW5uZXItY2FsYy1oZWlnaHQ7XG4gICAgICAgICAgICAvLyBoZWlnaHQ6ICRrZW5kby1pbnB1dC1pbm5lci1jYWxjLWhlaWdodDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBJbnB1dCBwcmVmaXggYW5kIHN1ZmZpeFxuICAgIC5rLWlucHV0LXByZWZpeCxcbiAgICAuay1pbnB1dC1zdWZmaXgge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IG5vbmU7XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIElucHV0IHNlcGFyYXRvclxuICAgIC5rLWlucHV0LXNlcGFyYXRvciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwIDFweDtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8taWNvbi1zaXplO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgICAgICAgJi1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6ICRrZW5kby1pbnB1dC1tZC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6ICRrZW5kby1pbnB1dC1tZC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIElucHV0IHdpdGggaWNvbiBzdHlsZXNcbiAgICAuay1pbnB1dC1pY29uLFxuICAgIC5rLWlucHV0LXZhbGlkYXRpb24taWNvbixcbiAgICAuay1pbnB1dC1sb2FkaW5nLWljb24ge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB9XG5cbiAgICAuay1pbnB1dC1sb2FkaW5nLWljb24ge1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8taWNvbi1zaXplO1xuICAgIH1cblxuICAgIC8vIElucHV0IHdpdGggU1ZHIGljb25cbiAgICAuay1pbnB1dC1pY29uLFxuICAgIC5rLWlucHV0LXZhbGlkYXRpb24taWNvbixcbiAgICAuay1pbnB1dC1sb2FkaW5nLWljb24ge1xuICAgICAgICAmLmstc3ZnLWljb24gPiBzdmcsXG4gICAgICAgICYuay1pY29uLW1kID4gc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8taWNvbi1zaXplLW1kO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8taWNvbi1zaXplLW1kO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWljb24teHMgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUteHM7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1pY29uLXNpemUteHM7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstaWNvbi1zbSA+IHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWljb24tc2l6ZS1zbTtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWljb24tc2l6ZS1zbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1pY29uLWxnID4gc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8taWNvbi1zaXplLWxnO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8taWNvbi1zaXplLWxnO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWljb24teGwgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUteGw7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1pY29uLXNpemUteGw7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstaWNvbi14eGwgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUteHhsO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8taWNvbi1zaXplLXh4bDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1pY29uLXh4eGwgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUteHh4bDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWljb24tc2l6ZS14eHhsO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDbGVhciB2YWx1ZVxuICAgIC5rLWNsZWFyLXZhbHVlIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgY29sb3I6ICRrZW5kby1pbnB1dC1jbGVhci12YWx1ZS10ZXh0O1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8taW5wdXQtY2xlYXItdmFsdWUtb3BhY2l0eTtcbiAgICB9XG4gICAgLmstY2xlYXItdmFsdWU6aG92ZXIsXG4gICAgLmstY2xlYXItdmFsdWUuay1ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8taW5wdXQtY2xlYXItdmFsdWUtaG92ZXItdGV4dDtcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLWlucHV0LWNsZWFyLXZhbHVlLWhvdmVyLW9wYWNpdHk7XG4gICAgfVxuICAgIC5rLWNsZWFyLXZhbHVlOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICB9XG5cblxuICAgIC8vIElucHV0IGJ1dHRvblxuICAgIC5rLWlucHV0LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBpZiggJGtlbmRvLXVzZS1pbnB1dC1idXR0b24td2lkdGgsICRrZW5kby1pbnB1dC1idXR0b24td2lkdGgsIGF1dG8gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAka2VuZG8taW5wdXQtYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgID4gLmstYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICAvLyBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcGlja2VyIC5rLWlucHV0LWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuXG4gICAgLy8gSW5wdXQgc3Bpbm5lclxuICAgIC5rLWlucHV0LXNwaW5uZXIge1xuICAgICAgICB3aWR0aDogaWYoICRrZW5kby11c2UtaW5wdXQtc3Bpbm5lci13aWR0aCwgJGtlbmRvLWlucHV0LXNwaW5uZXItd2lkdGgsIGF1dG8gKTtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgICAgIC5rLXNwaW5uZXItaW5jcmVhc2UsXG4gICAgICAgIC5rLXNwaW5uZXItZGVjcmVhc2Uge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogJGtlbmRvLWlucHV0LWJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcblxuICAgICAgICAgICAgLmstYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jazogLTFlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogYXV0byAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1zcGlubmVyLWluY3JlYXNlIC5rLWljb24ge1xuICAgICAgICAgICAgYm90dG9tOiBpZiggJGtlbmRvLXVzZS1pbnB1dC1zcGlubmVyLWljb24tb2Zmc2V0LCBjYWxjKCAtMSAqICN7JGtlbmRvLWlucHV0LXNwaW5uZXItaWNvbi1vZmZzZXR9KSwgYXV0byApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNwaW5uZXItZGVjcmVhc2UgLmstaWNvbiB7XG4gICAgICAgICAgICB0b3A6IGlmKCAka2VuZG8tdXNlLWlucHV0LXNwaW5uZXItaWNvbi1vZmZzZXQsIGNhbGMoIC0xICogI3ska2VuZG8taW5wdXQtc3Bpbm5lci1pY29uLW9mZnNldH0pLCBhdXRvICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNlYXJjaGJhclxuICAgIC5rLXNlYXJjaGJhciB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuXG5cbiAgICAvLyBMZWdhY3kgd3JhcHBlcnNcbiAgICAuay1waWNrZXItd3JhcCxcbiAgICAuay1kcm9wZG93bi13cmFwLFxuICAgIC5rLWRhdGVpbnB1dC13cmFwLFxuICAgIC5rLW11bHRpc2VsZWN0LXdyYXAsXG4gICAgLmstbnVtZXJpYy13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBGaWxsIG1vZGVcbiAgICAuay1pbnB1dC1mbGF0LFxuICAgIC5rLXBpY2tlci1mbGF0IHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoIDAgIWltcG9ydGFudCApOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGggMDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuICAgIC5rLWlucHV0LW91dGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG5cbiAgICAvLyBTaXppbmdcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLWlucHV0LXNpemVzIHtcbiAgICAgICAgJF9wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteCApO1xuICAgICAgICAkX3BhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy15ICk7XG4gICAgICAgICRfZm9udC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBmb250LXNpemUgKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgbGluZS1oZWlnaHQgKTtcbiAgICAgICAgJF9idXR0b24tcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBidXR0b24tcGFkZGluZy14ICk7XG4gICAgICAgICRfYnV0dG9uLXBhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgYnV0dG9uLXBhZGRpbmcteSApO1xuXG4gICAgICAgIC5rLWlucHV0LSN7JHNpemV9LFxuICAgICAgICAuay1waWNrZXItI3skc2l6ZX0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2xpbmUtaGVpZ2h0O1xuXG4gICAgICAgICAgICAuay1pbnB1dC12YWx1ZXMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGNhbGMoICN7JF9wYWRkaW5nLXl9IC8yICk7XG4gICAgICAgICAgICAgICAgZ2FwOiBjYWxjKCAjeyRfcGFkZGluZy15fSAvIDIgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWlucHV0LXZhbHVlcyA+IC5rLXNlYXJjaGJhcixcbiAgICAgICAgICAgIC5rLWlucHV0LXZhbHVlcyA+IC5rLWlucHV0LWlubmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGNhbGMoIGNhbGMoICN7JF9wYWRkaW5nLXl9IC8gMiApICogLTEgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstaW5wdXQtaW5uZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX3BhZGRpbmcteDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstaW5wdXQtYnV0dG9uLFxuICAgICAgICAgICAgLmstc3Bpbm5lci1pbmNyZWFzZSxcbiAgICAgICAgICAgIC5rLXNwaW5uZXItZGVjcmVhc2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfYnV0dG9uLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9idXR0b24tcGFkZGluZy14O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pbnB1dC1pY29uLFxuICAgICAgICAgICAgLmstaW5wdXQtdmFsaWRhdGlvbi1pY29uLFxuICAgICAgICAgICAgLmstaW5wdXQtbG9hZGluZy1pY29uLFxuICAgICAgICAgICAgLmstY2xlYXItdmFsdWUsXG4gICAgICAgICAgICAuay1pbnB1dC1wcmVmaXggPiAuay1pY29uLFxuICAgICAgICAgICAgLmstaW5wdXQtcHJlZml4ID4gLmstaW5wdXQtcHJlZml4LXRleHQsXG4gICAgICAgICAgICAuay1pbnB1dC1zdWZmaXggPiAuay1pY29uLFxuICAgICAgICAgICAgLmstaW5wdXQtc3VmZml4ID4gLmstaW5wdXQtc3VmZml4LXRleHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstaW5wdXQtc2VwYXJhdG9yIHtcbiAgICAgICAgICAgICAgICAmLWhvcml6b250YWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLXZlcnRpY2FsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1pY29uLXBpY2tlciAuay1pbnB1dC1pbm5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoICggI3sgJF9saW5lLWhlaWdodH0gKiAxZW0gKSApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggKCAjeyAkX2xpbmUtaGVpZ2h0fSAqIDFlbSApICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJF9wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmstZHJvcGRvd24tb3BlcmF0b3Iuay1waWNrZXItI3skc2l6ZX0ge1xuICAgICAgICAgICAgLmstaW5wdXQtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzZWxlY3Quay1waWNrZXItI3skc2l6ZX0ge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9wYWRkaW5nLXg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEFuZ3VsYXIgc3BlY2lmaWNcbiAgICAuay1pbnB1dCA+IGtlbmRvLXBvcHVwLFxuICAgIC5rLXBpY2tlciA+IGtlbmRvLXBvcHVwIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cblxuXG5cblxuICAgIC8vIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgdGV4dGJveCBjb250YWluZXIgdG8gY2FwdHVyZSBicm93c2VyIGF1dG9maWxsXG4gICAgQGtleWZyYW1lcyBhdXRvRmlsbFN0YXJ0IHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBmcm9tIHt9XG4gICAgICAgIHRvIHt9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgYXV0b0ZpbGxFbmQgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgIGZyb20ge31cbiAgICAgICAgdG8ge31cbiAgICB9XG5cbiAgICAvLyBHZW5lcmljIGNsYXNzIGZvciBhdXRvZmlsbCBhbmltYXRpb25zXG4gICAgLmstYXV0b2ZpbGw6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBhdXRvRmlsbFN0YXJ0O1xuICAgIH1cbiAgICAuay1hdXRvZmlsbDpub3QoOi13ZWJraXQtYXV0b2ZpbGwpIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGF1dG9GaWxsRW5kO1xuICAgIH1cblxuXG4gICAgLmstaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBhdXRvRmlsbFN0YXJ0O1xuICAgIH1cbiAgICAuay1pbnB1dDpub3QoOi13ZWJraXQtYXV0b2ZpbGwpIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGF1dG9GaWxsRW5kO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1pbnB1dC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWlucHV0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWlucHV0LS1sYXlvdXQoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1pbnB1dC0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC8vIEZpbGwgbW9kZVxuICAgIC5rLWlucHV0LXNvbGlkLFxuICAgIC5rLXBpY2tlci1zb2xpZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCAwICFpbXBvcnRhbnQgKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8taW5wdXQtYm9yZGVyLXdpZHRoIDA7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgLmstaW5wdXQtYnV0dG9uLFxuICAgICAgICAuay1pbnB1dC1zcGlubmVyIC5rLXNwaW5uZXItaW5jcmVhc2UsXG4gICAgICAgIC5rLWlucHV0LXNwaW5uZXIgLmstc3Bpbm5lci1kZWNyZWFzZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmstaW5wdXQtZmxhdCxcbiAgICAuay1waWNrZXItZmxhdCB7XG5cbiAgICAgICAgLmstaW5wdXQtYnV0dG9uLFxuICAgICAgICAuay1pbnB1dC1zcGlubmVyIC5rLXNwaW5uZXItaW5jcmVhc2UsXG4gICAgICAgIC5rLWlucHV0LXNwaW5uZXIgLmstc3Bpbm5lci1kZWNyZWFzZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbZGlzYWJsZWRdLFxuICAgICAgICAmLmstZGlzYWJsZWQgIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRhc2hlZDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRGlzYWJsZWRcbiAgICAuay1pbnB1dCxcbiAgICAuay1waWNrZXIge1xuXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbZGlzYWJsZWRdLFxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWlucHV0LWJ1dHRvbixcbiAgICAgICAgLmstaW5wdXQtc3Bpbm5lciAuay1zcGlubmVyLWluY3JlYXNlLFxuICAgICAgICAuay1pbnB1dC1zcGlubmVyIC5rLXNwaW5uZXItZGVjcmVhc2UsXG4gICAgICAgIC5rLWlucHV0LXZhbHVlcyAuay1jaGlwIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBJbnB1dCByaXBwbGVcbiAgICAuay1pbnB1dC1zb2xpZCxcbiAgICAuay1pbnB1dC1mbGF0LFxuICAgIC5rLWlucHV0LW91dGxpbmUsXG4gICAgLmstcGlja2VyLXNvbGlkLFxuICAgIC5rLXBpY2tlci1mbGF0LFxuICAgIC5rLXBpY2tlci1vdXRsaW5lIHtcbiAgICAgICAgJF9rZW5kby1pbnB1dC1yaXBwbGUtYm9yZGVyLXdpZHRoOiAoMiAqICRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGgpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAkX2tlbmRvLWlucHV0LXJpcHBsZS1ib3JkZXItd2lkdGggMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgaW5zZXQ6IC0xcHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcywgdHJhbnNmb3JtIC4zcztcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZvY3VzOjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cy13aXRoaW46OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1pbnB1dC1vdXRsaW5lLFxuICAgIC5rLXBpY2tlci1vdXRsaW5lIHtcbiAgICAgICAgJF9rZW5kby1pbnB1dC1yaXBwbGUtYm9yZGVyLXdpZHRoOiAoMiAqICRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGgpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJF9rZW5kby1pbnB1dC1yaXBwbGUtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZvY3VzOjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cy13aXRoaW46OmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvaW5wdXQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9pbnB1dC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWlucHV0LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gU29saWQgaW5wdXRcbiAgICAuay1pbnB1dC1zb2xpZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8taW5wdXQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1pbnB1dC1iZyxcbiAgICAgICAgICAgICRrZW5kby1pbnB1dC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIb3ZlclxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWhvdmVyLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1pbnB1dC1ob3Zlci1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWlucHV0LWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZm9jdXMtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNhYmxlZFxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmW2Rpc2FibGVkXSxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1kaXNhYmxlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWRpc2FibGVkLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWlucHV0LWRpc2FibGVkLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZFxuICAgICAgICAmLmstaW52YWxpZCxcbiAgICAgICAgJi5uZy1pbnZhbGlkLm5nLXRvdWNoZWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy1kaXJ0eSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXIgKTtcblxuICAgICAgICAgICAgLmstaW5wdXQtdmFsaWRhdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWludmFsaWQtdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtaW52YWxpZC1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1pbnB1dC1pbnZhbGlkLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJlZml4ICYgU3VmZml4XG4gICAgICAgIC5rLWlucHV0LXByZWZpeCB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWlucHV0LXByZWZpeC10ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaW5wdXQtc3VmZml4IHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8taW5wdXQtc3VmZml4LXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pbnB1dC1zZXBhcmF0b3Ige1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8taW5wdXQtc2VwYXJhdG9yLXRleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNvbGlkIHBpY2tlclxuICAgIC5rLXBpY2tlci1zb2xpZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcGlja2VyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGlja2VyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tcGlja2VyLWdyYWRpZW50XG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1waWNrZXItaG92ZXItc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1c1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mb2N1cy1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXBpY2tlci1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWZvY3VzLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tcGlja2VyLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZGlzYWJsZWQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZGlzYWJsZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tcGlja2VyLWRpc2FibGVkLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZFxuICAgICAgICAmLmstaW52YWxpZCxcbiAgICAgICAgJi5uZy1pbnZhbGlkLm5nLXRvdWNoZWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy1kaXJ0eSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXIgKTtcblxuICAgICAgICAgICAgLmstaW5wdXQtdmFsaWRhdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWludmFsaWQtdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtaW52YWxpZC1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1pbnB1dC1pbnZhbGlkLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBPdXRsaW5lIGlucHV0XG4gICAgLmstaW5wdXQtb3V0bGluZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1pbnB1dC1vdXRsaW5lLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgJiA+IC5rLWlucHV0LWJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gLmstaW5wdXQtc3Bpbm5lciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICYgPiAuay1zcGlubmVyLWluY3JlYXNlLFxuICAgICAgICAgICAgJiA+IC5rLXNwaW5uZXItZGVjcmVhc2Uge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1vdXRsaW5lLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtaG92ZXItYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1vdXRsaW5lLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtYm9yZGVyXG4gICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy1ib3JkZXJcbiAgICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbZGlzYWJsZWRdLFxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWRpc2FibGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZGlzYWJsZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8taW5wdXQtZGlzYWJsZWQtc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkXG4gICAgICAgICYuay1pbnZhbGlkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctdG91Y2hlZCxcbiAgICAgICAgJi5uZy1pbnZhbGlkLm5nLWRpcnR5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1pbnB1dC1pbnZhbGlkLWJvcmRlciApO1xuXG4gICAgICAgICAgICAuay1pbnB1dC12YWxpZGF0aW9uLWljb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8taW52YWxpZC10ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1pbnB1dC1pbnZhbGlkLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWlucHV0LWludmFsaWQtc2hhZG93ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQcmVmaXggJiBTdWZmaXhcbiAgICAgICAgLmstaW5wdXQtcHJlZml4IHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8taW5wdXQtcHJlZml4LXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pbnB1dC1zdWZmaXgge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1pbnB1dC1zdWZmaXgtdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWlucHV0LXNlcGFyYXRvciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1pbnB1dC1zZXBhcmF0b3ItdGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gT3V0bGluZSBwaWNrZXJcbiAgICAuay1waWNrZXItb3V0bGluZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1vdXRsaW5lLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGlja2VyLW91dGxpbmUtYmcsXG4gICAgICAgICAgICAka2VuZG8tcGlja2VyLW91dGxpbmUtYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLW91dGxpbmUtZm9jdXMtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tcGlja2VyLW91dGxpbmUtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1vdXRsaW5lLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1vdXRsaW5lLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXM6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMuay1ob3ZlcixcbiAgICAgICAgJi5rLWZvY3VzOmhvdmVyLFxuICAgICAgICAmLmstZm9jdXMuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1vdXRsaW5lLWhvdmVyLWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbZGlzYWJsZWRdLFxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1kaXNhYmxlZC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWRpc2FibGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWRpc2FibGVkLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXBpY2tlci1kaXNhYmxlZC1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludmFsaWRcbiAgICAgICAgJi5rLWludmFsaWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy10b3VjaGVkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctZGlydHkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLWlucHV0LWludmFsaWQtYm9yZGVyICk7XG5cbiAgICAgICAgICAgIC5rLWlucHV0LXZhbGlkYXRpb24taWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1pbnZhbGlkLXRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWlucHV0LWludmFsaWQtc2hhZG93ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtaW52YWxpZC1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRmxhdCBpbnB1dFxuICAgIC5rLWlucHV0LWZsYXQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRrZW5kby1pbnB1dC1mbGF0LXRleHQsXG4gICAgICAgICAgICAka2VuZG8taW5wdXQtZmxhdC1iZyxcbiAgICAgICAgICAgICRrZW5kby1pbnB1dC1mbGF0LWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEhvdmVyXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZmxhdC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1mbGF0LWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1mbGF0LWhvdmVyLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZmxhdC1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1mbGF0LWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1mbGF0LWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWlucHV0LWZsYXQtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWZsYXQtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZmxhdC1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZmxhdC1mb2N1cy1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1pbnB1dC1mbGF0LWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1kaXNhYmxlZC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1kaXNhYmxlZC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZGlzYWJsZWQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1kaXNhYmxlZC1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1pbnB1dC1kaXNhYmxlZC1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludmFsaWRcbiAgICAgICAgJi5rLWludmFsaWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy10b3VjaGVkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctZGlydHkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLWlucHV0LWludmFsaWQtYm9yZGVyICk7XG5cbiAgICAgICAgICAgIC5rLWlucHV0LXZhbGlkYXRpb24taWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1pbnZhbGlkLXRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWlucHV0LWludmFsaWQtc2hhZG93ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtaW52YWxpZC1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByZWZpeCAmIFN1ZmZpeFxuICAgICAgICAuay1pbnB1dC1wcmVmaXgge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1pbnB1dC1wcmVmaXgtdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWlucHV0LXN1ZmZpeCB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWlucHV0LXN1ZmZpeC10ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaW5wdXQtc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWlucHV0LXNlcGFyYXRvci10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBGbGF0IHBpY2tlclxuICAgIC5rLXBpY2tlci1mbGF0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAka2VuZG8tcGlja2VyLWZsYXQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1waWNrZXItZmxhdC1iZyxcbiAgICAgICAgICAgICRrZW5kby1waWNrZXItZmxhdC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIb3ZlclxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mbGF0LWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mbGF0LWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1c1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mbGF0LWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mbGF0LWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZmxhdC1mb2N1cy1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1waWNrZXItZmxhdC1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWZsYXQtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWZsYXQtZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mbGF0LWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXBpY2tlci1mbGF0LWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1czpob3ZlcixcbiAgICAgICAgJjpmb2N1cy5rLWhvdmVyLFxuICAgICAgICAmLmstZm9jdXM6aG92ZXIsXG4gICAgICAgICYuay1mb2N1cy5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWZsYXQtaG92ZXItZm9jdXMtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZGlzYWJsZWQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZGlzYWJsZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tcGlja2VyLWRpc2FibGVkLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZFxuICAgICAgICAmLmstaW52YWxpZCxcbiAgICAgICAgJi5uZy1pbnZhbGlkLm5nLXRvdWNoZWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy1kaXJ0eSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXIgKTtcblxuICAgICAgICAgICAgLmstaW5wdXQtdmFsaWRhdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWludmFsaWQtdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtaW52YWxpZC1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1pbnB1dC1pbnZhbGlkLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWlucHV0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1pbnB1dC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWlucHV0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1pbnB1dC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWlucHV0LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJpbnB1dFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1pbnB1dC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWlucHV0LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8taW5wdXQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2Zsb2F0aW5nLWxhYmVsL192YXJpYWJsZXMuc2Nzc1xuLy8gRmxvYXRpbmcgbGFiZWxcblxuLy8vIFRoZSB0cmFuc2Zvcm1hdGlvbiBzY2FsZSBvZiB0aGUgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtc2NhbGU6IDEgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtZm9udC1zaXplOiAka2VuZG8taW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBGbG9hdGluZyBMYWJlbC5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctbGFiZWxcbiRrZW5kby1mbG9hdGluZy1sYWJlbC1tYXgtd2lkdGg6IDkwJSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIEZsb2F0aW5nIExhYmVsLlxuLy8vIEBncm91cCBmbG9hdGluZy1sYWJlbFxuJGtlbmRvLWZsb2F0aW5nLWxhYmVsLWxpbmUtaGVpZ2h0OiAka2VuZG8taW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1saW5lLWhlaWdodH0gKiAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1mb250LXNpemV9ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgb2Zmc2V0IG9mIHRoZSBGbG9hdGluZyBMYWJlbC5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctbGFiZWxcbiRrZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteDogY2FsYyggI3ska2VuZG8taW5wdXQtcGFkZGluZy14fSArICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aH0gKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgb2Zmc2V0IG9mIHRoZSBGbG9hdGluZyBMYWJlbC5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctbGFiZWxcbiRrZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteTogY2FsYyggI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtaGVpZ2h0fSArICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aH0gKyAjeyRrZW5kby1pbnB1dC1wYWRkaW5nLXl9ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdHJhbnNmb3JtYXRpb24gc2NhbGUgb2YgdGhlIGZvY3VzZWQgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtc2NhbGU6IC43NSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBvZmZzZXQgb2YgdGhlIGZvY3VzZWQgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtb2Zmc2V0LXg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgb2Zmc2V0IG9mIHRoZSBmb2N1c2VkIEZsb2F0aW5nIExhYmVsLlxuLy8vIEBncm91cCBmbG9hdGluZy1sYWJlbFxuJGtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLW9mZnNldC15OiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdHJhbnNpdGlvbiBvZiB0aGUgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbjogLjE1cyBjdWJpYy1iZXppZXIoIC40LCAwLCAuMiwgMSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZsb2F0aW5nIExhYmVsLlxuLy8vIEBncm91cCBmbG9hdGluZy1sYWJlbFxuJGtlbmRvLWZsb2F0aW5nLWxhYmVsLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGbG9hdGluZyBMYWJlbC5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctbGFiZWxcbiRrZW5kby1mbG9hdGluZy1sYWJlbC10ZXh0OiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBGbG9hdGluZyBMYWJlbC5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctbGFiZWxcbiRrZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBGbG9hdGluZyBMYWJlbC5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctbGFiZWxcbiRrZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy10ZXh0OiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9mbG9hdGluZy1sYWJlbC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmxvYXRpbmctbGFiZWwvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmxvYXRpbmctbGFiZWwvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZmxvYXRpbmctbGFiZWwtLWxheW91dC1iYXNlKCkge1xuXG5cbiAgICAvLyBGbG9hdGluZyBsYWJlbFxuICAgIC5rLWZsb2F0aW5nLWxhYmVsLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAka2VuZG8tZmxvYXRpbmctbGFiZWwtaGVpZ2h0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRrZW5kby1mbG9hdGluZy1sYWJlbC1tYXgtd2lkdGg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1mbG9hdGluZy1sYWJlbC1mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWZsb2F0aW5nLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiB2YXIoLS1rZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteSwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtb2Zmc2V0LXl9KTtcbiAgICAgICAgICAgIGxlZnQ6IHZhcigtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLW9mZnNldC14LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteH0pO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGN1cnNvcjogdGV4dDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRrZW5kby1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uLCBjb2xvciAka2VuZG8tZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbiwgdG9wICRrZW5kby1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uLCBsZWZ0ICRrZW5kby1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uO1xuICAgICAgICB9XG5cblxuICAgICAgICAmLmstZW1wdHkge1xuICAgICAgICAgICAgPiAuay1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgdG9wOiB2YXIoLS1rZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteSwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtb2Zmc2V0LXl9KTtcbiAgICAgICAgICAgICAgICBsZWZ0OiB2YXIoLS1rZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteCwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtb2Zmc2V0LXh9KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCAka2VuZG8tZmxvYXRpbmctbGFiZWwtc2NhbGUgKTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstZmxvYXRpbmctbGFiZWwsXG4gICAgICAgICYuay1mb2N1cyA+IC5rLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIHRvcDogdmFyKC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtb2Zmc2V0LXksICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLW9mZnNldC15fSk7XG4gICAgICAgICAgICBsZWZ0OiB2YXIoLS1rZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1vZmZzZXQteCwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtb2Zmc2V0LXh9KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoICRrZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1zY2FsZSApO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMtd2l0aGluID4gLmstZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgdG9wOiB2YXIoLS1rZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1vZmZzZXQteSwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtb2Zmc2V0LXl9KTtcbiAgICAgICAgICAgIGxlZnQ6IHZhcigtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLW9mZnNldC14LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1vZmZzZXQteH0pO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSggJGtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLXNjYWxlICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZW1wdHk6bm90KC5rLWZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikgOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBbZGlyPVwicnRsXCJdICYsXG4gICAgICAgIC5rLXJ0bCAmLFxuICAgICAgICAmW2Rpcj1cInJ0bFwiXSB7XG5cbiAgICAgICAgICAgID4gLmstZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGtlbmRvLWZsb2F0aW5nLWxhYmVsLXRyYW5zaXRpb24sIGNvbG9yICRrZW5kby1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uLCB0b3AgJGtlbmRvLWZsb2F0aW5nLWxhYmVsLXRyYW5zaXRpb24sIHJpZ2h0ICRrZW5kby1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZW1wdHkge1xuICAgICAgICAgICAgICAgID4gLmstZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogdmFyKC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtb2Zmc2V0LXgsICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLW9mZnNldC14fSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5rLWZsb2F0aW5nLWxhYmVsLFxuICAgICAgICAgICAgJi5rLWZvY3VzID4gLmstZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHZhcigtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLW9mZnNldC14LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1vZmZzZXQteH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1cy13aXRoaW4gPiAuay1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogdmFyKC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtb2Zmc2V0LXgsICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLW9mZnNldC14fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZmxvYXRpbmctbGFiZWwtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1mbG9hdGluZy1sYWJlbC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1mbG9hdGluZy1sYWJlbC0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tZmxvYXRpbmctbGFiZWwtLWxheW91dC1iYXNlKCk7XG5cbiAgICAvLyBGbG9hdGluZyBsYWJlbFxuICAgIC5rLWZsb2F0aW5nLWxhYmVsLWNvbnRhaW5lciB7XG5cbiAgICAgICAgPiAuay1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgfVxuXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJixcbiAgICAgICAgLmstcnRsICYsXG4gICAgICAgICZbZGlyPVwicnRsXCJdIHtcblxuICAgICAgICAgICAgPiAuay1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2Zsb2F0aW5nLWxhYmVsL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Zsb2F0aW5nLWxhYmVsL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmxvYXRpbmctbGFiZWwvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1mbG9hdGluZy1sYWJlbC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIEZsb2F0aW5nIGxhYmVsXG4gICAgLmstZmxvYXRpbmctbGFiZWwtY29udGFpbmVyIHtcblxuICAgICAgICA+IC5rLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGNvbG9yOiAka2VuZG8tZmxvYXRpbmctbGFiZWwtdGV4dCxcbiAgICAgICAgICAgICAgICAkYmc6ICRrZW5kby1mbG9hdGluZy1sYWJlbC1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1mb2N1cyA+IC5rLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGNvbG9yOiAka2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAkYmc6ICRrZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1pbnZhbGlkID4gLmstZmxvYXRpbmctbGFiZWwsXG4gICAgICAgICYubmctaW52YWxpZC5uZy10b3VjaGVkID4gLmstZmxvYXRpbmctbGFiZWwsXG4gICAgICAgICYubmctaW52YWxpZC5uZy1kaXJ0eSA+IC5rLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKCAkY29sb3I6ICRrZW5kby1pbnZhbGlkLXRleHQgKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1mbG9hdGluZy1sYWJlbC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZmxvYXRpbmctbGFiZWwtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1mbG9hdGluZy1sYWJlbC0tdGhlbWUoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1mbG9hdGluZy1sYWJlbC0tdGhlbWUtYmFzZSgpO1xuXG4gICAgLy8gRmxvYXRpbmcgbGFiZWxcbiAgICAuay1mbG9hdGluZy1sYWJlbC1jb250YWluZXIge1xuXG4gICAgICAgICYuay1pbnZhbGlkICsgLmstZmxvYXRpbmctbGFiZWwsXG4gICAgICAgIC5rLWludmFsaWQgKyAuay1mbG9hdGluZy1sYWJlbCxcbiAgICAgICAgLm5nLWludmFsaWQubmctdG91Y2hlZCArIC5rLWZsb2F0aW5nLWxhYmVsLFxuICAgICAgICAubmctaW52YWxpZC5uZy1kaXJ0eSArIC5rLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLWNvbG9yLWVycm9yICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1mbG9hdGluZy1sYWJlbC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZmxvYXRpbmctbGFiZWxcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZmxvYXRpbmctbGFiZWwtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1mbG9hdGluZy1sYWJlbC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZsb2F0aW5nLWxhYmVsLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE5hdGl2ZSBmb3Jtc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3NwbGl0LWJ1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3NwbGl0LWJ1dHRvbi9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJzcGxpdC1idXR0b25cIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwibWVudVwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9tZW51L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbWVudS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3Mvc3BsaXQtYnV0dG9uL192YXJpYWJsZXMuc2Nzc1xuLy8gU3BsaXQtYnV0dG9uXG5cbi8vLyBUaGUgZm9jdXMgc2hhZG93IG9mIHRoZSBTcGxpdEJ1dHRvbi5cbi8vLyBAZ3JvdXAgc3BsaXQtYnV0dG9uXG4ka2VuZG8tc3BsaXQtYnV0dG9uLWZvY3VzLXNoYWRvdzogJGtlbmRvLWJ1dHRvbi1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBhcnJvdyBCdXR0b24uXG4vLy8gQGdyb3VwIHNwbGl0LWJ1dHRvblxuJGtlbmRvLXNwbGl0LWJ1dHRvbi1hcnJvdy1wYWRkaW5nLXg6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBhcnJvdyBCdXR0b24uXG4vLy8gQGdyb3VwIHNwbGl0LWJ1dHRvblxuJGtlbmRvLXNwbGl0LWJ1dHRvbi1zbS1hcnJvdy1wYWRkaW5nLXg6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gYXJyb3cgQnV0dG9uLlxuLy8vIEBncm91cCBzcGxpdC1idXR0b25cbiRrZW5kby1zcGxpdC1idXR0b24tbWQtYXJyb3ctcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgYXJyb3cgQnV0dG9uLlxuLy8vIEBncm91cCBzcGxpdC1idXR0b25cbiRrZW5kby1zcGxpdC1idXR0b24tbGctYXJyb3ctcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgYXJyb3cgQnV0dG9uLlxuLy8vIEBncm91cCBzcGxpdC1idXR0b25cbiRrZW5kby1zcGxpdC1idXR0b24tYXJyb3ctcGFkZGluZy15OiAka2VuZG8tYnV0dG9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgc21hbGwgYXJyb3cgQnV0dG9uLlxuLy8vIEBncm91cCBzcGxpdC1idXR0b25cbiRrZW5kby1zcGxpdC1idXR0b24tc20tYXJyb3ctcGFkZGluZy15OiAka2VuZG8tYnV0dG9uLXNtLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIGFycm93IEJ1dHRvbi5cbi8vLyBAZ3JvdXAgc3BsaXQtYnV0dG9uXG4ka2VuZG8tc3BsaXQtYnV0dG9uLW1kLWFycm93LXBhZGRpbmcteTogJGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIGFycm93IEJ1dHRvbi5cbi8vLyBAZ3JvdXAgc3BsaXQtYnV0dG9uXG4ka2VuZG8tc3BsaXQtYnV0dG9uLWxnLWFycm93LXBhZGRpbmcteTogJGtlbmRvLWJ1dHRvbi1sZy1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3Mvc3BsaXQtYnV0dG9uL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zcGxpdC1idXR0b24vX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3BsaXQtYnV0dG9uL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXNwbGl0LWJ1dHRvbi0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBTcGxpdCBidXR0b25cbiAgICAuay1zcGxpdC1idXR0b24ge31cblxuICAgIC8vIFNwbGl0IGJ1dHRvbiBhcnJvd1xuICAgIC5rLXNwbGl0LWJ1dHRvbiAuay1zcGxpdC1idXR0b24tYXJyb3cge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc3BsaXQtYnV0dG9uLWFycm93LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1zcGxpdC1idXR0b24tYXJyb3ctcGFkZGluZy14O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgICBmbGV4OiBub25lO1xuXG4gICAgICAgICYuay1idXR0b24tc20ge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXNwbGl0LWJ1dHRvbi1zbS1hcnJvdy1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXNwbGl0LWJ1dHRvbi1zbS1hcnJvdy1wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstYnV0dG9uLW1kIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1zcGxpdC1idXR0b24tbWQtYXJyb3ctcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1zcGxpdC1idXR0b24tbWQtYXJyb3ctcGFkZGluZy14O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWJ1dHRvbi1sZyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc3BsaXQtYnV0dG9uLWxnLWFycm93LXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tc3BsaXQtYnV0dG9uLWxnLWFycm93LXBhZGRpbmcteDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zcGxpdC1idXR0b24tLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zcGxpdC1idXR0b24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tc3BsaXQtYnV0dG9uLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc3BsaXQtYnV0dG9uLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3Mvc3BsaXQtYnV0dG9uL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NwbGl0LWJ1dHRvbi9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NwbGl0LWJ1dHRvbi9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXNwbGl0LWJ1dHRvbi0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFNwbGl0IGJ1dHRvblxuICAgIC5rLXNwbGl0LWJ1dHRvbjpmb2N1cyxcbiAgICAuay1zcGxpdC1idXR0b24uay1mb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXNwbGl0LWJ1dHRvbi1mb2N1cy1zaGFkb3cgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc3BsaXQtYnV0dG9uLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zcGxpdC1idXR0b24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zcGxpdC1idXR0b24tLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNwbGl0LWJ1dHRvbi0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXNwbGl0LWJ1dHRvbi0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwic3BsaXQtYnV0dG9uXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNwbGl0LWJ1dHRvbi0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNwbGl0LWJ1dHRvbi0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNwbGl0LWJ1dHRvbi0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vbWVudS1idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZW51LWJ1dHRvbi9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJtZW51LWJ1dHRvblwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJtZW51XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL21lbnUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZW51L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9tZW51LWJ1dHRvbi9fdmFyaWFibGVzLnNjc3Ncbi8vIE1lbnUtYnV0dG9uXG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBidXR0b24gYXJyb3cgaW4gdGhlIE1lbnUgQnV0dG9uLlxuLy8vIEBncm91cCBtZW51LWJ1dHRvblxuJGtlbmRvLW1lbnUtYnV0dG9uLWFycm93LXBhZGRpbmcteDogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL21lbnUtYnV0dG9uL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tZW51LWJ1dHRvbi9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tZW51LWJ1dHRvbi9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1tZW51LWJ1dHRvbi0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBNZW51IGJ1dHRvblxuICAgIC5rLW1lbnUtYnV0dG9uLFxuICAgIC5rLWRyb3Bkb3duLWJ1dHRvbiB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICA+IC5rLWJ1dHRvbi1hcnJvdyB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKCAjeyRrZW5kby1tZW51LWJ1dHRvbi1hcnJvdy1wYWRkaW5nLXh9ICogLTEgKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKCAjeyRrZW5kby1idXR0b24tcGFkZGluZy14fSAqIC0xICk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRrZW5kby1tZW51LWJ1dHRvbi1hcnJvdy1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAka2VuZG8tbWVudS1idXR0b24tYXJyb3ctcGFkZGluZy14O1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWljb24tYnV0dG9uID4gLmstYnV0dG9uLWFycm93IHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyggI3ska2VuZG8tYnV0dG9uLXBhZGRpbmcteX0gKiAtMSApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLW1lbnUtYnV0dG9uLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVudS1idXR0b24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbWVudS1idXR0b24tLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZW51LWJ1dHRvbi0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL21lbnUtYnV0dG9uL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lbnUtYnV0dG9uL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWVudS1idXR0b24vX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1tZW51LWJ1dHRvbi0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIE1lbnUgYnV0dG9uXG4gICAgLmstbWVudS1idXR0b24ge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1tZW51LWJ1dHRvbi0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVudS1idXR0b24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1tZW51LWJ1dHRvbi0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVudS1idXR0b24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1tZW51LWJ1dHRvbi0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwibWVudS1idXR0b25cIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbWVudS1idXR0b24tLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1tZW51LWJ1dHRvbi0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lbnUtYnV0dG9uLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90ZXh0Ym94L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdGV4dGJveC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0ZXh0Ym94XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy90ZXh0Ym94L192YXJpYWJsZXMuc2Nzc1xuLy8gVGV4dGJveFxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3RleHRib3gvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RleHRib3gvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGV4dGJveC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby10ZXh0Ym94LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFRleHRib3hcbiAgICAuay10ZXh0Ym94IHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdGV4dGJveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRleHRib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdGV4dGJveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRleHRib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90ZXh0Ym94L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RleHRib3gvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90ZXh0Ym94L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdGV4dGJveC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFRleHRib3hcbiAgICAuay10ZXh0Ym94IHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdGV4dGJveC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGV4dGJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRleHRib3gtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRleHRib3gtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10ZXh0Ym94LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0ZXh0Ym94XCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRleHRib3gtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10ZXh0Ym94LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGV4dGJveC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdGV4dGFyZWEvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90ZXh0YXJlYS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0ZXh0YXJlYVwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvdGV4dGFyZWEvX3ZhcmlhYmxlcy5zY3NzXG4vLyBUZXh0YXJlYVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3RleHRhcmVhL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90ZXh0YXJlYS9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90ZXh0YXJlYS9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby10ZXh0YXJlYS0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBUZXh0YXJlYVxuICAgIC5rLXRleHRhcmVhOmhhcyguay1pbnB1dC1pbm5lcltzdHlsZSo9XCJ3aWR0aFwiXSkge1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRleHRhcmVhLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGV4dGFyZWEtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdGV4dGFyZWEtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10ZXh0YXJlYS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3RleHRhcmVhL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RleHRhcmVhL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGV4dGFyZWEvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby10ZXh0YXJlYS0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFRleHRhcmVhXG4gICAgLmstdGV4dGFyZWEge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby10ZXh0YXJlYS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGV4dGFyZWEtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10ZXh0YXJlYS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGV4dGFyZWEtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10ZXh0YXJlYS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidGV4dGFyZWFcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdGV4dGFyZWEtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10ZXh0YXJlYS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRleHRhcmVhLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jaGVja2JveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NoZWNrYm94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9saXN0Ym94L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbGlzdGJveC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJsaXN0Ym94XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgXCJwb3B1cFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9saXN0Ym94L192YXJpYWJsZXMuc2Nzc1xuLy8gTGlzdEJveFxuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgTGlzdEJveCBlbGVtZW50cy5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtc3BhY2luZzogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIExpc3RCb3ggYnV0dG9ucy5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtYnV0dG9uLXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIExpc3RCb3guXG4vLy8gQGdyb3VwIGxpc3Rib3hcbiRrZW5kby1saXN0Ym94LXdpZHRoOiAxMGVtICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIExpc3RCb3guXG4vLy8gQGdyb3VwIGxpc3Rib3hcbiRrZW5kby1saXN0Ym94LWRlZmF1bHQtaGVpZ2h0OiAyMDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIExpc3RCb3guXG4vLy8gQGdyb3VwIGxpc3Rib3hcbiRrZW5kby1saXN0Ym94LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgTGlzdEJveC5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIExpc3RCb3guXG4vLy8gQGdyb3VwIGxpc3Rib3hcbiRrZW5kby1saXN0Ym94LWZvbnQtc2l6ZTogJGtlbmRvLWxpc3QtbWQtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgTGlzdEJveC5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0LW1kLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIExpc3RCb3guXG4vLy8gQGdyb3VwIGxpc3Rib3hcbiRrZW5kby1saXN0Ym94LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgTGlzdEJveC5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgTGlzdEJveC5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBpbmxpbmUgcGFkZGluZyBvZiB0aGUgTGlzdEJveCBpdGVtLlxuLy8vIEBncm91cCBsaXN0Ym94XG4ka2VuZG8tbGlzdGJveC1pdGVtLXBhZGRpbmcteDogJGtlbmRvLWxpc3QtbWQtaXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIGJsb2NrIHBhZGRpbmcgb2YgdGhlIExpc3RCb3ggaXRlbS5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy15ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBMaXN0Qm94IGRyb3AgaGludC5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtZHJvcC1oaW50LXdpZHRoOiAycHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBMaXN0Qm94IGRyb3AgaGludC5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtZHJvcC1oaW50LWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2xpc3Rib3gvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3Rib3gvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbGlzdGJveC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1saXN0Ym94LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLWxpc3Rib3gge1xuICAgICAgICB3aWR0aDogJGtlbmRvLWxpc3Rib3gtd2lkdGg7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWxpc3Rib3gtZGVmYXVsdC1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1saXN0Ym94LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1saXN0Ym94LWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0Ym94LWxpbmUtaGVpZ2h0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGdhcDogJGtlbmRvLWxpc3Rib3gtc3BhY2luZztcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5rLWxpc3Rib3gtYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAka2VuZG8tbGlzdGJveC1idXR0b24tc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1saXN0Ym94LWFjdGlvbnMtbGVmdCxcbiAgICAgICAgJi5rLWxpc3Rib3gtYWN0aW9ucy1yaWdodCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgICAuay1saXN0Ym94LWFjdGlvbnMge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbGlzdGJveC1hY3Rpb25zLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1saXN0Ym94LWFjdGlvbnMtdG9wLFxuICAgICAgICAmLmstbGlzdGJveC1hY3Rpb25zLWJvdHRvbSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAuay1saXN0Ym94LWFjdGlvbnMge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbGlzdGJveC1hY3Rpb25zLWJvdHRvbSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuay1saXN0LXNjcm9sbGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWxpc3Rib3gtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgICAgICAgICAuay1saXN0LXNjcm9sbGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWxpc3Qge1xuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyb3AtaGludCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAka2VuZG8tbGlzdGJveC1kcm9wLWhpbnQtd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdob3N0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstaXRlbSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbGlzdGJveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbGlzdGJveC0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tbGlzdGJveC0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC5rLWxpc3Rib3gge1xuICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1saXN0Ym94LWl0ZW0tcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1saXN0Ym94LWl0ZW0tcGFkZGluZy14O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9saXN0Ym94L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3Rib3gvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9saXN0Ym94L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tbGlzdGJveC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIExpc3Rib3hcbiAgICAuay1saXN0Ym94IHtcbiAgICAgICAgLmstbGlzdC1zY3JvbGxlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0Ym94LXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3Rib3gtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3Rib3gtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWRyb3AtaGludCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAka2VuZG8tY29sb3ItcHJpbWFyeTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1saXN0Ym94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0Ym94LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbGlzdGJveC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbGlzdGJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWxpc3Rib3gtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImxpc3Rib3hcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbGlzdGJveC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rib3gtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0Ym94LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9wcm9ncmVzc2Jhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Byb2dyZXNzYmFyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInByb2dyZXNzYmFyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvcHJvZ3Jlc3NiYXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBQcm9ncmVzc0JhclxuXG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItaGVpZ2h0OiA1cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgd2lkdGggb2YgdGhlIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLWhvcml6b250YWwtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4vLy8gVGhlIGFuaW1hdGlvbiB0aW1pbmcgb2YgdGhlIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLWFuaW1hdGlvbi10aW1pbmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQteHMsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1zdWJ0bGUgKSwgay10cnktdGludCggJGtlbmRvLWNvbG9yLXByaW1hcnksIDggKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHByb2dyZXNzIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgcHJvZ3Jlc3MgdGV4dCBjb2xvciBvZiB0aGUgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItdmFsdWUtdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnktY29udHJhc3QgIWRlZmF1bHQ7XG4vLy8gVGhlIHByb2dyZXNzIGJvcmRlciBjb2xvciBvZiB0aGUgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItdmFsdWUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBwcm9ncmVzcyBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci12YWx1ZS1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBpbmRldGVybWluYXRlIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtYmc6ICRrZW5kby1wcm9ncmVzc2Jhci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaW5kZXRlcm1pbmF0ZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLXRleHQ6ICRrZW5kby1wcm9ncmVzc2Jhci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGluZGV0ZXJtaW5hdGUgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1ib3JkZXI6ICRrZW5kby1wcm9ncmVzc2Jhci1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIGluZGV0ZXJtaW5hdGUgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGNodW5rIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLWNodW5rLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcblxuLy8gQ2lyY3VsYXIgUHJvZ3Jlc3NiYXJcbi8vLyBUaGUgYXJjIHN0cm9rZSBjb2xvciBvZiB0aGUgY2lyY3VsYXIgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tY2lyY3VsYXItcHJvZ3Jlc3NiYXItYXJjLXN0cm9rZTogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNjYWxlIHN0cm9rZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjaXJjdWxhciBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1jaXJjdWxhci1wcm9ncmVzc2Jhci1zY2FsZS1zdHJva2U6ICRrZW5kby1wcm9ncmVzc2Jhci1iZyAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9wcm9ncmVzc2Jhci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcHJvZ3Jlc3NiYXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcHJvZ3Jlc3NiYXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tcHJvZ3Jlc3NiYXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQmFzZVxuICAgIC5rLXByb2dyZXNzYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggay1ib3JkZXItcmFkaXVzKG1kKSApO1xuICAgICAgICAtLWtlbmRvLXByb2dyZXNzYmFyLXZhbHVlOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1wcm9ncmVzc2Jhci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tcHJvZ3Jlc3NiYXItZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXByb2dyZXNzYmFyLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1wcm9ncmVzc2Jhci1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU2VsZWN0aW9uXG4gICAgICAgID4gLmstcHJvZ3Jlc3NiYXItdmFsdWUge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gLTE7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIENodW5rc1xuICAgICAgICA+IC5rLXByb2dyZXNzYmFyLWNodW5rcyB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGdhcDogMXB4O1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gLTE7XG4gICAgICAgIH1cbiAgICAgICAgLmstcHJvZ3Jlc3NiYXItY2h1bmsge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIFN0YXR1c1xuICAgIC5rLXByb2dyZXNzLXN0YXR1cy13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gLTE7XG5cbiAgICAgICAgJi5rLXByb2dyZXNzLXN0YXJ0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgICYuay1wcm9ncmVzcy1jZW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAmLmstcHJvZ3Jlc3MtZW5kIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIH1cbiAgICAuay1wcm9ncmVzcy1zdGF0dXMge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogay1zcGFjaW5nKDIpO1xuICAgICAgICBtaW4td2lkdGg6IDEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuXG4gICAgLy8gSG9yaXpvbnRhbFxuICAgIC5rLXByb2dyZXNzYmFyLWhvcml6b250YWwge1xuICAgICAgICB3aWR0aDogJGtlbmRvLXByb2dyZXNzYmFyLWhvcml6b250YWwtd2lkdGg7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLWhlaWdodCwgI3ska2VuZG8tcHJvZ3Jlc3NiYXItaGVpZ2h0fSApO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxMDAlO1xuXG5cbiAgICAgICAgLmstcHJvZ3Jlc3Mtc3RhdHVzLXdyYXAge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstcHJvZ3Jlc3NiYXItdmFsdWUge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci12YWx1ZSwgMCApICogMSUgKTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAgID4gLmstcHJvZ3Jlc3Mtc3RhdHVzLXdyYXAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlICogKCAxMDAgLyB2YXIoIC0ta2VuZG8tcHJvZ3Jlc3NiYXItdmFsdWUsIDEgKSApICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIENodW5rc1xuICAgICAgICA+IC5rLXByb2dyZXNzYmFyLWNodW5rcyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG9yaXpvbnRhbCByZXZlcnNlXG4gICAgICAgICYuay1wcm9ncmVzc2Jhci1yZXZlcnNlIHtcblxuICAgICAgICAgICAgPiAuay1wcm9ncmVzc2Jhci12YWx1ZSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmstcHJvZ3Jlc3NiYXItY2h1bmtzIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFZlcnRpY2FsXG4gICAgLmstcHJvZ3Jlc3NiYXItdmVydGljYWwge1xuICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLWhlaWdodCwgI3ska2VuZG8tcHJvZ3Jlc3NiYXItaGVpZ2h0fSApO1xuICAgICAgICBoZWlnaHQ6IDI3ZW07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cblxuICAgICAgICAuay1wcm9ncmVzcy1zdGF0dXMtd3JhcCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cbiAgICAgICAgLmstcHJvZ3Jlc3Mtc3RhdHVzIHtcbiAgICAgICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLXByb2dyZXNzYmFyLXZhbHVlIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyggdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLCAwICkgKiAxJSApO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgID4gLmstcHJvZ3Jlc3Mtc3RhdHVzLXdyYXAge1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggMTAwJSAqICggMTAwIC8gdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLCAxICkgKSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBDaHVua1xuICAgICAgICA+IC5rLXByb2dyZXNzYmFyLWNodW5rcyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWZXJ0aWNhbCByZXZlcnNlXG4gICAgICAgICYuay1wcm9ncmVzc2Jhci1yZXZlcnNlIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgID4gLmstcHJvZ3Jlc3NiYXItdmFsdWUge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAuay1wcm9ncmVzc2Jhci1jaHVua3Mge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEluZGV0ZXJtaW5hdGVcbiAgICAuay1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlIHtcbiAgICAgICAgLmstcHJvZ3Jlc3Mtc3RhdHVzLXdyYXAsXG4gICAgICAgIC5rLXByb2dyZXNzYmFyLXZhbHVlLFxuICAgICAgICAuay1wcm9ncmVzc2Jhci1jaHVuayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBCbGF6b3Igc3BlY2lmaWNcbiAgICAudGVsZXJpay1ibGF6b3Iuay1wcm9ncmVzc2Jhci1ob3Jpem9udGFsIHtcblxuICAgICAgICA+IC5rLXByb2dyZXNzYmFyLXZhbHVlLFxuICAgICAgICA+IC5rLXByb2dyZXNzYmFyLXZhbHVlID4gLmstcHJvZ3Jlc3Mtc3RhdHVzLXdyYXAge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjFzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSVExcbiAgICAuay1ydGwgLmstcHJvZ3Jlc3NiYXIsXG4gICAgLmstcHJvZ3Jlc3NiYXJbZGlyPVwicnRsXCJdIHtcbiAgICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgfVxuXG5cbiAgICAvLyBDaXJjdWxhciBwcm9ncmVzc2JhclxuICAgIC5rLWNpcmN1bGFyLXByb2dyZXNzYmFyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLWNpcmN1bGFyLXByb2dyZXNzYmFyLXN1cmZhY2Uge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNpcmN1bGFyLXByb2dyZXNzYmFyLXNjYWxlIHtcbiAgICAgICAgZmlsbDogbm9uZTtcbiAgICB9XG5cbiAgICAuay1jaXJjdWxhci1wcm9ncmVzc2Jhci1hcmMge1xuICAgICAgICB0cmFuc2Zvcm0tYm94OiBmaWxsLWJveDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgICAgICBmaWxsOiBub25lO1xuICAgIH1cblxuICAgIC5rLWNpcmN1bGFyLXByb2dyZXNzYmFyLWxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcHJvZ3Jlc3NiYXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wcm9ncmVzc2Jhci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1wcm9ncmVzc2Jhci0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tcHJvZ3Jlc3NiYXItLWxheW91dC1iYXNlKCk7XG5cbiAgICAka2VuZG8tcHJvZ3Jlc3NiYXItc3RhdHVzLWZvbnQtc2l6ZTogMTFweCAhZGVmYXVsdDtcbiAgICAka2VuZG8tcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1hbmltYXRpb24tdGltaW5nOiAycyBpbmZpbml0ZSAhZGVmYXVsdDtcblxuICAgIC5rLXByb2dyZXNzYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggMCApO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAuay1wcm9ncmVzcy1zdGF0dXMtd3JhcCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1wcm9ncmVzc2Jhci1zdGF0dXMtZm9udC1zaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcHJvZ3Jlc3NiYXItaG9yaXpvbnRhbCB7XG4gICAgICAgIC5rLXByb2dyZXNzLXN0YXR1cy13cmFwIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgIC5rLXByb2dyZXNzLXN0YXR1cyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcHJvZ3Jlc3NiYXItdmVydGljYWwge1xuICAgICAgICAuay1wcm9ncmVzcy1zdGF0dXMtd3JhcCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICAgICAgLmstcHJvZ3Jlc3Mtc3RhdHVzIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstcHJvZ3Jlc3NiYXItaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTUwJTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IGtlbmRvLXByb2dyZXNzYmFyLXByaW1hcnktaW5kZXRlcm1pbmF0ZS1ob3Jpem9udGFsICRrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWFuaW1hdGlvbi10aW1pbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC01MCU7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBrZW5kby1wcm9ncmVzc2Jhci1zZWNvbmRhcnktaW5kZXRlcm1pbmF0ZS1ob3Jpem9udGFsICRrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWFuaW1hdGlvbi10aW1pbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstcHJvZ3Jlc3NiYXItdmVydGljYWwge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0b3A6IC0xNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBrZW5kby1wcm9ncmVzc2Jhci1wcmltYXJ5LWluZGV0ZXJtaW5hdGUtdmVydGljYWwgJGtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uLXRpbWluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0b3A6IC01MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IGtlbmRvLXByb2dyZXNzYmFyLXNlY29uZGFyeS1pbmRldGVybWluYXRlLXZlcnRpY2FsICRrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWFuaW1hdGlvbi10aW1pbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9wcm9ncmVzc2Jhci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wcm9ncmVzc2Jhci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Byb2dyZXNzYmFyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tcHJvZ3Jlc3NiYXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICBAa2V5ZnJhbWVzIGtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uIHtcbiAgICAgICAgZnJvbSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgICAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246ICRrZW5kby1wcm9ncmVzc2Jhci1oZWlnaHQgMDsgfVxuICAgIH1cblxuICAgIC5rLXByb2dyZXNzYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGtlbmRvLXByb2dyZXNzYmFyLXRleHQsICRrZW5kby1wcm9ncmVzc2Jhci1iZywgJGtlbmRvLXByb2dyZXNzYmFyLWJvcmRlciwgJGtlbmRvLXByb2dyZXNzYmFyLWdyYWRpZW50ICk7XG5cbiAgICAgICAgLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLXRleHQsICRrZW5kby1wcm9ncmVzc2Jhci12YWx1ZS1iZywgJGtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLWJvcmRlciwgJGtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLWdyYWRpZW50ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDaHVuayBwcm9ncmVzc2JhclxuICAgIC5rLWNodW5rLXByb2dyZXNzYmFyIHtcbiAgICAgICAgLy8gVE9ETyB1bmNvbW1lbnQgZm9yIDIwMjMgUjFcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogay1pZi12YXIoICRwcm9ncmVzc2Jhci1jaHVuay1ib3JkZXIsIHRyYW5zcGFyZW50ICk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAuay1wcm9ncmVzc2Jhci1jaHVuayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1wcm9ncmVzc2Jhci1iZztcblxuICAgICAgICAuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tcHJvZ3Jlc3NiYXItdmFsdWUtYmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtdGV4dCwgJGtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtYmcsICRrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWJvcmRlciApO1xuICAgICAgICBAaW5jbHVkZSBzdHJpcGVkLWdyYWRpZW50KCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIGJhc2UtZW1waGFzaXMgKSA1NSUsIHRyYW5zcGFyZW50KSwgay1jb2xvci1zaGFkZSgka2VuZG8tcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1iZykpICk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGtlbmRvLXByb2dyZXNzYmFyLWhlaWdodCAka2VuZG8tcHJvZ3Jlc3NiYXItaGVpZ2h0O1xuICAgICAgICBhbmltYXRpb246IGtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uICRrZW5kby1wcm9ncmVzc2Jhci1hbmltYXRpb24tdGltaW5nO1xuICAgIH1cblxuXG4gICAgLy8gQ2lyY3VsYXIgcHJvZ3Jlc3NiYXJcbiAgICAuay1jaXJjdWxhci1wcm9ncmVzc2Jhci1zY2FsZSB7XG4gICAgICAgIHN0cm9rZTogJGtlbmRvLWNpcmN1bGFyLXByb2dyZXNzYmFyLXNjYWxlLXN0cm9rZTtcbiAgICB9XG5cbiAgICAuay1jaXJjdWxhci1wcm9ncmVzc2Jhci1hcmMge1xuICAgICAgICBzdHJva2U6ICRrZW5kby1jaXJjdWxhci1wcm9ncmVzc2Jhci1hcmMtc3Ryb2tlO1xuICAgICAgICB0cmFuc2l0aW9uOiBzdHJva2UgLjVzIGVhc2U7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXByb2dyZXNzYmFyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wcm9ncmVzc2Jhci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBmdW5jdGlvbiBfdHJhbnNsYXRlKCRkaXJlY3Rpb24sICR2YWx1ZSkgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgQHJldHVybiBpZigkZGlyZWN0aW9uID09IGhvcml6b250YWwsIHRyYW5zbGF0ZVgoJHZhbHVlKSwgdHJhbnNsYXRlWSgkdmFsdWUpKTtcbn1cbkBmdW5jdGlvbiBfc2NhbGUoJGRpcmVjdGlvbiwgJHZhbHVlKSB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICBAcmV0dXJuIGlmKCRkaXJlY3Rpb24gPT0gaG9yaXpvbnRhbCwgc2NhbGVYKCR2YWx1ZSksIHNjYWxlWSgkdmFsdWUpKTtcbn1cblxuQG1peGluIGtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uKCRkaXJlY3Rpb24pIHtcbiAgICAkcHJpbWFyeS1hbmltYXRpb24tbmFtZToga2VuZG8tcHJvZ3Jlc3NiYXItcHJpbWFyeS1pbmRldGVybWluYXRlLSN7JGRpcmVjdGlvbn07XG4gICAgJHNlY29uZGFyeS1hbmltYXRpb24tbmFtZToga2VuZG8tcHJvZ3Jlc3NiYXItc2Vjb25kYXJ5LWluZGV0ZXJtaW5hdGUtI3skZGlyZWN0aW9ufTtcblxuICAgIEBrZXlmcmFtZXMgI3skcHJpbWFyeS1hbmltYXRpb24tbmFtZX0ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IF90cmFuc2xhdGUoJGRpcmVjdGlvbiwgMCkgX3NjYWxlKCRkaXJlY3Rpb24sIDApO1xuICAgICAgICB9XG4gICAgICAgIDIwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IF90cmFuc2xhdGUoJGRpcmVjdGlvbiwgMCkgX3NjYWxlKCRkaXJlY3Rpb24sIC4wOCk7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQsIC4wOCwgLjc1LCAuOCk7XG4gICAgICAgIH1cbiAgICAgICAgNjAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogX3RyYW5zbGF0ZSgkZGlyZWN0aW9uLCA4MyUpIF9zY2FsZSgkZGlyZWN0aW9uLCAuNzUpO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMSwgLjI1LCAuNTgsIC45OCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IF90cmFuc2xhdGUoJGRpcmVjdGlvbiwgMjUwJSkgX3NjYWxlKCRkaXJlY3Rpb24sIC4wOCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzICN7JHNlY29uZGFyeS1hbmltYXRpb24tbmFtZX0ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IF90cmFuc2xhdGUoJGRpcmVjdGlvbiwgMCkgX3NjYWxlKCRkaXJlY3Rpb24sIC4wOCk7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE4LCAwLCAuNTQsIC40Mik7XG4gICAgICAgIH1cbiAgICAgICAgMjIlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogX3RyYW5zbGF0ZSgkZGlyZWN0aW9uLCAzNCUpIF9zY2FsZSgkZGlyZWN0aW9uLCAuNDUpO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMiwgLjI1LCAuNywgLjkpO1xuICAgICAgICB9XG4gICAgICAgIDQ2JSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IF90cmFuc2xhdGUoJGRpcmVjdGlvbiwgODIlKSBfc2NhbGUoJGRpcmVjdGlvbiwgLjc1KTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMzMsIC4zLCAuNCwgMS4yKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogX3RyYW5zbGF0ZSgkZGlyZWN0aW9uLCAxNjAlKSBfc2NhbGUoJGRpcmVjdGlvbiwgLjA4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGtlbmRvLXByb2dyZXNzYmFyLS10aGVtZSgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXByb2dyZXNzYmFyLS10aGVtZS1iYXNlKCk7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWFuaW1hdGlvbihob3Jpem9udGFsKTtcbiAgICBAaW5jbHVkZSBrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWFuaW1hdGlvbih2ZXJ0aWNhbCk7XG5cbiAgICAuay1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1wcm9ncmVzc2Jhci12YWx1ZS1iZztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXByb2dyZXNzYmFyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJwcm9ncmVzc2JhclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1wcm9ncmVzc2Jhci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXByb2dyZXNzYmFyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tcHJvZ3Jlc3NiYXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3JhZGlvL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcmFkaW8vX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwicmFkaW9cIixcbiAgICBkZXBlbmRlbmNpZXM6ICgpXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9yYWRpby9fdmFyaWFibGVzLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvbGlzdC9fdmFyaWFibGVzLnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jaGVja2JveC9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9jaGVja2JveC9fdmFyaWFibGVzLnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmFkaW8gYnV0dG9uXG5cbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZSBvZiBhIHNtYWxsIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLXNtLXNpemU6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2l6ZSBvZiBhIG1lZGl1bSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1tZC1zaXplOiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNpemUgb2YgYSBsYXJnZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1sZy1zaXplOiBrLXNwYWNpbmcoNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2x5cGggc2l6ZSBvZiBhIHNtYWxsIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLXNtLWdseXBoLXNpemU6IGstc3BhY2luZygyLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBnbHlwaCBzaXplIG9mIGEgbWVkaXVtIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLW1kLWdseXBoLXNpemU6IGstc3BhY2luZygzLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBnbHlwaCBzaXplIG9mIGEgbGFyZ2UgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tbGctZ2x5cGgtc2l6ZTogay1zcGFjaW5nKDQuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgcmlwcGxlIHNpemUgb2YgYSBzbWFsbCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1zbS1yaXBwbGUtc2l6ZTogMzAwJSAhZGVmYXVsdDtcbi8vLyBUaGUgcmlwcGxlIHNpemUgb2YgYSBtZWRpdW0gUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tbWQtcmlwcGxlLXNpemU6IDMwMCUgIWRlZmF1bHQ7XG4vLy8gVGhlIHJpcHBsZSBzaXplIG9mIGEgbGFyZ2UgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tbGctcmlwcGxlLXNpemU6IDMwMCUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWFwIHdpdGggdGhlIGRpZmZlcmVudCBSYWRpb0J1dHRvbiBzaXplcy5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIHNpemU6ICRrZW5kby1yYWRpby1zbS1zaXplLFxuICAgICAgICBnbHlwaC1zaXplOiAka2VuZG8tcmFkaW8tc20tZ2x5cGgtc2l6ZSxcbiAgICAgICAgcmlwcGxlLXNpemU6ICRrZW5kby1yYWRpby1zbS1yaXBwbGUtc2l6ZVxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgc2l6ZTogJGtlbmRvLXJhZGlvLW1kLXNpemUsXG4gICAgICAgIGdseXBoLXNpemU6ICRrZW5kby1yYWRpby1tZC1nbHlwaC1zaXplLFxuICAgICAgICByaXBwbGUtc2l6ZTogJGtlbmRvLXJhZGlvLW1kLXJpcHBsZS1zaXplXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBzaXplOiAka2VuZG8tcmFkaW8tbGctc2l6ZSxcbiAgICAgICAgZ2x5cGgtc2l6ZTogJGtlbmRvLXJhZGlvLWxnLWdseXBoLXNpemUsXG4gICAgICAgIHJpcHBsZS1zaXplOiAka2VuZG8tcmFkaW8tbGctcmlwcGxlLXNpemVcbiAgICApXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWJnOiAka2VuZG8tY2hlY2tib3gtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby10ZXh0OiAka2VuZG8tY2hlY2tib3gtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1ib3JkZXI6ICRrZW5kby1jaGVja2JveC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1ob3Zlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIGhvdmVyZWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8taG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWNoZWNrZWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWNoZWNrZWQtdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgY2hlY2tlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1jaGVja2VkLWJvcmRlcjogJGtlbmRvLXJhZGlvLWNoZWNrZWQtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tZm9jdXMtYm9yZGVyOiAka2VuZG8tY2hlY2tib3gtZm9jdXMtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWZvY3VzLXNoYWRvdzogJGtlbmRvLWNoZWNrYm94LWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgYW5kIGNoZWNrZWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tZm9jdXMtY2hlY2tlZC1ib3JkZXI6ICRrZW5kby1jaGVja2JveC1mb2N1cy1jaGVja2VkLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBhbmQgY2hlY2tlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1mb2N1cy1jaGVja2VkLXNoYWRvdzogJGtlbmRvLWNoZWNrYm94LWZvY3VzLWNoZWNrZWQtc2hhZG93ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWRpc2FibGVkLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgZGlzYWJsZWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tZGlzYWJsZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1kaXNhYmxlZC1ib3JkZXI6ICRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYW5kIGNoZWNrZWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tZGlzYWJsZWQtY2hlY2tlZC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIGRpc2FibGVkIGFuZCBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWRpc2FibGVkLWNoZWNrZWQtdGV4dDogJGtlbmRvLXJhZGlvLWRpc2FibGVkLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIGRpc2FibGVkIGFuZCBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWRpc2FibGVkLWNoZWNrZWQtYm9yZGVyOiAka2VuZG8tcmFkaW8tZGlzYWJsZWQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGludmFsaWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8taW52YWxpZC1iZzogJGtlbmRvLWNoZWNrYm94LWludmFsaWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBpbnZhbGlkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWludmFsaWQtdGV4dDogJGtlbmRvLWNoZWNrYm94LWludmFsaWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBpbnZhbGlkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWludmFsaWQtYm9yZGVyOiAka2VuZG8tY2hlY2tib3gtaW52YWxpZC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8gUmFkaW8gaW5kaWNhdG9yXG5cbi8vLyBUaGUgdHlwZSBvZiB0aGUgUmFkaW9CdXR0b24gaW5kaWNhdG9yLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWluZGljYXRvci10eXBlOiBpbWFnZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgUmFkaW9CdXR0b24gaW5kaWNhdG9yIGdseXBoLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWdseXBoLWZvbnQtZmFtaWx5OiBcIldlYkNvbXBvbmVudHNJY29uc1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4vLy8gVGhlIGdseXBoIG9mIHRoZSBSYWRpb0J1dHRvbiBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tY2hlY2tlZC1nbHlwaDogXCJcXGUzMDhcIiAhZGVmYXVsdDtcblxuLy8vIFRoZSBpbWFnZSBvZiB0aGUgY2hlY2tlZCBSYWRpb0J1dHRvbiBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tY2hlY2tlZC1pbWFnZTogay1lc2NhcGUtc3ZnKCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNTAlJyBjeT0nNTAlJyByPSc0JyBmaWxsPScjeyRrZW5kby1yYWRpby1jaGVja2VkLXRleHR9Jy8+PC9zdmc+XCIpICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGltYWdlIG9mIHRoZSBkaXNhYmxlZCBhbmQgY2hlY2tlZCBSYWRpb0J1dHRvbiBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tZGlzYWJsZWQtY2hlY2tlZC1pbWFnZTogay1lc2NhcGUtc3ZnKCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNTAlJyBjeT0nNTAlJyByPSc0JyBmaWxsPScjeyRrZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLXRleHR9Jy8+PC9zdmc+XCIpICkgIWRlZmF1bHQ7XG5cblxuLy8gUmFkaW8gbGFiZWxcblxuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgUmFkaW9CdXR0b24gaW5zaWRlIG9mIGEgbGFiZWwuXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tbGFiZWwtbWFyZ2luLXg6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcblxuXG4vLyBSYWRpbyBsaXN0XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBsaXN0IGl0ZW0gbWFyZ2luIG9mIHRoZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1saXN0LXNwYWNpbmc6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBsaXN0IGl0ZW0gcGFkZGluZyBvZiB0aGUgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tbGlzdC1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBsaXN0IGl0ZW0gcGFkZGluZyBvZiB0aGUgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tbGlzdC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLWxpc3QtbWQtaXRlbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cblxuLy8gUmFkaW8gcmlwcGxlXG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUmFkaW9CdXR0b24gcmlwcGxlLi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1yaXBwbGUtYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBSYWRpb0J1dHRvbiByaXBwbGUuXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tcmlwcGxlLW9wYWNpdHk6IC4yICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3JhZGlvL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yYWRpby9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yYWRpby9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1yYWRpby0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBSYWRpb1xuICAgIC5rLXJhZGlvIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXJhZGlvLXJhZGl1cyApO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1yYWRpby1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBSYWRpbyBpbmRpY2F0b3JcbiAgICAuay1yYWRpbzo6YmVmb3JlIHtcbiAgICAgICAgQGlmICRrZW5kby1yYWRpby1pbmRpY2F0b3ItdHlwZSA9PSBcImdseXBoXCIge1xuICAgICAgICAgICAgY29udGVudDogJGtlbmRvLXJhZGlvLWNoZWNrZWQtZ2x5cGg7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXJhZGlvLWdseXBoLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tlZCBzdGF0ZVxuICAgIC5rLXJhZGlvOmNoZWNrZWQsXG4gICAgLmstcmFkaW8uay1jaGVja2VkIHtcbiAgICAgICAgQGlmICRrZW5kby1yYWRpby1pbmRpY2F0b3ItdHlwZSA9PSBcImltYWdlXCIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGtlbmRvLXJhZGlvLWNoZWNrZWQtaW1hZ2U7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGtlbmRvLXJhZGlvLWluZGljYXRvci10eXBlID09IFwiZ2x5cGhcIiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgIC5rLXJhZGlvOmRpc2FibGVkLFxuICAgIC5rLXJhZGlvLmstZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBkaXNhYmxlZCggJGtlbmRvLWRpc2FibGVkLXN0eWxpbmcuLi4gKTtcbiAgICB9XG4gICAgLmstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCxcbiAgICAuay1yYWRpby5rLWRpc2FibGVkLmstY2hlY2tlZCB7XG4gICAgICAgIEBpZiAka2VuZG8tcmFkaW8taW5kaWNhdG9yLXR5cGUgPT0gXCJpbWFnZVwiIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRrZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLWltYWdlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSYWRpbyB3cmFwXG4gICAgLmstcmFkaW8td3JhcCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGdhcDogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFJhZGlvIGxhYmVsXG4gICAgLmstcmFkaW8tbGFiZWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAka2VuZG8tcmFkaW8tbGFiZWwtbWFyZ2luLXg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5rLXJpcHBsZSB7XG4gICAgICAgICAgICAvLyBIaWRlIHJpcHBsZSB0ZW1wb3JhcmlseVxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcmFkaW8gKyAuay1sYWJlbCxcbiAgICAuay1yYWRpby13cmFwICsgLmstbGFiZWwsXG4gICAgLmstcmFkaW8gKyAuay1yYWRpby1sYWJlbCxcbiAgICAuay1yYWRpby13cmFwICsgLmstcmFkaW8tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRrZW5kby1yYWRpby1sYWJlbC1tYXJnaW4teDtcbiAgICB9XG5cblxuICAgIC8vIEVtcHR5IGxhYmVsXG4gICAgLmstcmFkaW8tbGFiZWw6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuICAgIC5rLXJhZGlvLWxhYmVsLmstbm8tdGV4dCB7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxuXG4gICAgLy8gUmFkaW8gbGlzdFxuICAgIC5rLXJhZGlvLWxpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgICAuay1yYWRpby1pdGVtLFxuICAgIC5rLXJhZGlvLWxpc3QtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1yYWRpby1saXN0LWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXJhZGlvLWxpc3QtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IGstc3BhY2luZygxKTtcblxuICAgICAgICAuay1yYWRpby1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcmFkaW8tbGlzdC1ob3Jpem9udGFsLFxuICAgIC5rLXJhZGlvLWxpc3Quay1saXN0LWhvcml6b250YWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBnYXA6ICRrZW5kby1yYWRpby1saXN0LXNwYWNpbmc7XG4gICAgfVxuXG5cbiAgICAvLyBSaXBwbGVcbiAgICAuay1yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgICAgLmstcmFkaW86OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBsaW5lYXIsIHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJhZGlvOmZvY3VzLFxuICAgICAgICAuay1yYWRpby5rLWZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJhZGlvOmRpc2FibGVkOjphZnRlcixcbiAgICAgICAgLmstcmFkaW8uay1kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJhZGlvOmRpc2FibGVkOjphZnRlcixcbiAgICAgICAgLmstcmFkaW8uay1kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUmFkaW8gc2l6ZVxuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tcmFkaW8tc2l6ZXMge1xuICAgICAgICAkX3NpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHNpemUgKTtcbiAgICAgICAgJF9nbHlwaC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBnbHlwaC1zaXplICk7XG4gICAgICAgICRfcmlwcGxlLXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHJpcHBsZS1zaXplICk7XG5cbiAgICAgICAgLmstcmFkaW8tI3skc2l6ZX0ge1xuICAgICAgICAgICAgd2lkdGg6ICRfc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJF9zaXplO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9nbHlwaC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLXJpcHBsZS1jb250YWluZXIge1xuICAgICAgICAgICAgLmstcmFkaW8tI3skc2l6ZX06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJF9yaXBwbGUtc2l6ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRfcmlwcGxlLXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcmFkaW8tLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yYWRpby0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1yYWRpby0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tcmFkaW8tLWxheW91dC1iYXNlKCk7XG5cbiAgICAuay1yYWRpbzo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGxpbmVhciAyODBtcztcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvcmFkaW8vX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcmFkaW8vX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yYWRpby9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXJhZGlvLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gUmFkaW9cbiAgICAuay1yYWRpbyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcmFkaW8tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1iZyxcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgLmstcmFkaW86aG92ZXIsXG4gICAgLmstcmFkaW8uay1ob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcmFkaW8taG92ZXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1ob3Zlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1ob3Zlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgLmstcmFkaW86Zm9jdXMsXG4gICAgLmstcmFkaW8uay1mb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1yYWRpby1mb2N1cy1ib3JkZXIgKTtcbiAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tcmFkaW8tZm9jdXMtc2hhZG93ICk7XG4gICAgfVxuXG5cbiAgICAvLyBJbnZhbGlkIHN0YXRlXG4gICAgLmstcmFkaW8uay1pbnZhbGlkLFxuICAgIC5rLXJhZGlvLm5nLWludmFsaWQubmctdG91Y2hlZCxcbiAgICAuay1yYWRpby5uZy1pbnZhbGlkLm5nLWRpcnR5IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLXJhZGlvLWludmFsaWQtYm9yZGVyICk7XG4gICAgfVxuICAgIC5rLXJhZGlvLmstaW52YWxpZCArIC5rLXJhZGlvLWxhYmVsLFxuICAgIC5rLXJhZGlvLm5nLWludmFsaWQubmctdG91Y2hlZCArIC5rLXJhZGlvLWxhYmVsLFxuICAgIC5rLXJhZGlvLm5nLWludmFsaWQubmctZGlydHkgKyAuay1yYWRpby1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLXJhZGlvLWludmFsaWQtdGV4dCApO1xuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tlZFxuICAgIC5rLXJhZGlvOmNoZWNrZWQsXG4gICAgLmstcmFkaW8uay1jaGVja2VkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1jaGVja2VkLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcmFkaW8tY2hlY2tlZC1iZyxcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1jaGVja2VkLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cbiAgICAuay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuICAgIC5rLXJhZGlvLmstY2hlY2tlZC5rLWZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLXJhZGlvLWZvY3VzLWNoZWNrZWQtYm9yZGVyICk7XG4gICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXJhZGlvLWZvY3VzLWNoZWNrZWQtc2hhZG93ICk7XG4gICAgfVxuXG5cbiAgICAvLyBEaXNhYmxlZFxuICAgIC5rLXJhZGlvOmRpc2FibGVkLFxuICAgIC5rLXJhZGlvLmstZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXJhZGlvLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcmFkaW8tZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICAka2VuZG8tcmFkaW8tZGlzYWJsZWQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuICAgIC5rLXJhZGlvOmNoZWNrZWQ6ZGlzYWJsZWQsXG4gICAgLmstcmFkaW8uay1jaGVja2VkLmstZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXJhZGlvLWRpc2FibGVkLWNoZWNrZWQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXJhZGlvLWRpc2FibGVkLWNoZWNrZWQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBSaXBwbGVcbiAgICAuay1yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgICAgLmstcmFkaW86OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1yYWRpby1yaXBwbGUtYmc7XG4gICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tcmFkaW8tcmlwcGxlLW9wYWNpdHk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcmFkaW8tLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJhZGlvLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tcmFkaW8tLXRoZW1lKCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tcmFkaW8tLXRoZW1lLWJhc2UoKTtcblxuICAgIC8vIFJhZGlvXG4gICAgLmstcmFkaW8tbGFiZWwge1xuXG4gICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgIC5rLXJhZGlvOmRpc2FibGVkICsgJiB7XG4gICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1YnRsZSApLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRsaWdodC1zZWNvbmRhcnktdGV4dCwgJGRhcmstc2Vjb25kYXJ5LXRleHQgKSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tcmFkaW8tLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInJhZGlvXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXJhZGlvLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcmFkaW8tLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yYWRpby0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc2xpZGVyL19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc2xpZGVyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInNsaWRlclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJ0b29sdGlwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2x0aXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sdGlwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3Mvc2xpZGVyL192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9pbWFnZXMvc2xpZGVyLWguc2Nzc1wiOyAtPiBzY3NzL3NsaWRlci9pbWFnZXMvc2xpZGVyLWguc2Nzc1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2ltYWdlcy9zbGlkZXItdi5zY3NzXCI7IC0+IHNjc3Mvc2xpZGVyL2ltYWdlcy9zbGlkZXItdi5zY3NzXG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBTbGlkZXJcbi8vLyBUaGUgZGVmYXVsdCBzaXplIG9mIHRoZSBTbGlkZXIuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1zaXplOiAyMDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZGVmYXVsdCBzaXplIG9mIHRoZSBTbGlkZXIgdGljay5cbi8vLyBAZ3JvdXAgc2xpZGVyXG4ka2VuZG8tc2xpZGVyLXRpY2stc2l6ZTogMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBkZWZhdWx0IHNpemUgb2YgdGhlIFNsaWRlcidzIHRyYWNrIHdyYXAuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1hbHQtc2l6ZTogMzZweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgU2xpZGVyLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFNsaWRlci5cbi8vLyBAZ3JvdXAgc2xpZGVyXG4ka2VuZG8tc2xpZGVyLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgU2xpZGVyLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgb2Zmc2V0IG9mIHRoZSBTbGlkZXIgQnV0dG9ucy5cbi8vLyBAZ3JvdXAgc2xpZGVyXG4ka2VuZG8tc2xpZGVyLWJ1dHRvbi1vZmZzZXQ6IDIycHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNpemUgb2YgdGhlIFNsaWRlciBCdXR0b25zLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItYnV0dG9uLXNpemU6IDM2cHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIFNsaWRlciBCdXR0b25zLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItYnV0dG9uLXNwYWNpbmc6ICgka2VuZG8tc2xpZGVyLWJ1dHRvbi1zaXplICsgJGtlbmRvLXNsaWRlci1idXR0b24tb2Zmc2V0KSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBmb2N1c2VkIFNsaWRlciBCdXR0b25zLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItYnV0dG9uLWZvY3VzLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSB0aGlja25lc3Mgb2YgdGhlIFNsaWRlciB0cmFjay5cbi8vLyBAZ3JvdXAgc2xpZGVyXG4ka2VuZG8tc2xpZGVyLXRyYWNrLXRoaWNrbmVzczogMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIHRoZSBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLXNpemU6IDE0cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgdHJhbnNpdGlvbiBzY2FsZSBvZiB0aGUgYWN0aXZlIFNsaWRlciBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc2xpZGVyXG4ka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtYWN0aXZlLXNjYWxlOiAxICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIHRoZSBhY3RpdmUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1hY3RpdmUtc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS10ZXh0OiAka2VuZG8tY29sb3ItcHJpbWFyeS1jb250cmFzdCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWJvcmRlcjogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1ob3Zlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGhvdmVyZWQgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1ob3Zlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBhY3RpdmUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1wcmVzc2VkLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBhY3RpdmUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1wcmVzc2VkLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgYWN0aXZlIFNsaWRlciBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc2xpZGVyXG4ka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtcHJlc3NlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBhY3RpdmUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1wcmVzc2VkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWZvY3VzLXNoYWRvdzogMCAwIDAgMTFweCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWNvbG9yLXByaW1hcnksIC4yNSApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0cmFuc2l0aW9uIHNwZWVkIG9mIHRoZSBTbGlkZXIuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci10cmFuc2l0aW9uLXNwZWVkOiAuM3MgIWRlZmF1bHQ7XG4vLy8gVGhlIHRyYW5zaXRpb24gZnVuY3Rpb24gb2YgdGhlIFNsaWRlci5cbi8vLyBAZ3JvdXAgc2xpZGVyXG4ka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tZnVuY3Rpb246IGVhc2Utb3V0ICFkZWZhdWx0O1xuLy8vIFRoZSB0cmFuc2l0aW9uIHNwZWVkIG9mIHRoZSBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLXRyYW5zaXRpb24tc3BlZWQ6IC40cyAhZGVmYXVsdDtcbi8vLyBUaGUgdHJhbnNpdGlvbiBmdW5jdGlvbiBvZiB0aGUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS10cmFuc2l0aW9uLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjI1LCAuOCwgLjI1LCAxKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTbGlkZXIgdHJhY2suXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci10cmFjay1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktc3VidGxlICksIGstdHJ5LXRpbnQoICRrZW5kby1jb2xvci1wcmltYXJ5LCA4ICkpICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTbGlkZXIncyB0cmFjayBzZWxlY3Rpb24uXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1zZWxlY3Rpb24tYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLyBUaGUgb3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgU2xpZGVyLlxuJGtlbmRvLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5OiAuNjUgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3Mvc2xpZGVyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zbGlkZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2xpZGVyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXNsaWRlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBTbGlkZXJcbiAgICAuay1zbGlkZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tc2xpZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1zbGlkZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXNsaWRlci1saW5lLWhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxhYmVsIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiAuOTJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpY2ssXG4gICAgICAgIC5rLXNsaWRlci10cmFjayB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay10aWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cblxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgLmstdGljayxcbiAgICAgICAgICAgIC5rLXNsaWRlci10cmFjayxcbiAgICAgICAgICAgIC5rLWRyYWdoYW5kbGUge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5ldyByZW5kZXJpbmdcbiAgICAuay1zbGlkZXIge1xuICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgICAgIGdhcDogY2FsYyggI3ska2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtc2l6ZX0gLyAyICk7XG5cbiAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2xpZGVyLXRyYWNrLXdyYXAge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBpbmhlcml0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG91Y2gtYWN0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAuay1zbGlkZXItaXRlbXMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uLCBTYWZhcmkgZG9lcyBub3QgdW5kZXJzdGFuZCBgZmxleC1iYXNpczogMTAwJWBcbiAgICAgICAgICAgICAgICAvLyBTZWUgdGVsZXJpay9rZW5kby10aGVtZXMjMjE5N1xuICAgICAgICAgICAgICAgIC8vIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstdGljayB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGljay1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpY2stdmVydGljYWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZHJhZ2hhbmRsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIC5rLXNsaWRlci10cmFjay13cmFwIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG5cbiAgICAgICAgICAgICAgICAuay1zbGlkZXItdHJhY2sge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuay1kcmFnaGFuZGxlOmZvY3VzLFxuICAgICAgICAgICAgICAgIC5rLWRyYWdoYW5kbGU6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWFjdGl2ZS1zY2FsZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstc2xpZGVyLXNlbGVjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAodmFyKC0ta2VuZG8tc2xpZGVyLWVuZCwgMCkgLSB2YXIoLS1rZW5kby1zbGlkZXItc3RhcnQsIDApKSAqIDElICk7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyggdmFyKC0ta2VuZG8tc2xpZGVyLXN0YXJ0LCAwKSAqIDElICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5rLWRyYWdoYW5kbGUtc3RhcnQge1xuICAgICAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoIHZhcigtLWtlbmRvLXNsaWRlci1zdGFydCwgMCkgKiAxJSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuay1kcmFnaGFuZGxlLWVuZCB7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyggdmFyKC0ta2VuZG8tc2xpZGVyLWVuZCwgMCkgKiAxJSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdmVydGljYWwge1xuICAgICAgICAgICAgLmstc2xpZGVyLXRyYWNrLXdyYXAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xuXG4gICAgICAgICAgICAgICAgLmstc2xpZGVyLXRyYWNrIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuay1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuay1kcmFnaGFuZGxlOmZvY3VzLFxuICAgICAgICAgICAgICAgIC5rLWRyYWdoYW5kbGU6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKSBzY2FsZSgka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtYWN0aXZlLXNjYWxlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1zbGlkZXItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKCB2YXIoLS1rZW5kby1zbGlkZXItc3RhcnQsIDApICogMSUgKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAodmFyKC0ta2VuZG8tc2xpZGVyLWVuZCwgMCkgLSB2YXIoLS1rZW5kby1zbGlkZXItc3RhcnQsIDApKSAqIDElICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5rLWRyYWdoYW5kbGUtc3RhcnQge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoIHZhcigtLWtlbmRvLXNsaWRlci1zdGFydCwgMCkgKiAxJSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuay1kcmFnaGFuZGxlLWVuZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogY2FsYyggdmFyKC0ta2VuZG8tc2xpZGVyLWVuZCwgMCkgKiAxJSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBTbGlkZXIgdmVydGljYWxcbiAgICAuay1zbGlkZXItdmVydGljYWwge1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1zbGlkZXItc2l6ZTtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZSBub3dyYXA7XG5cbiAgICAgICAgLmstdGljayB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xpZGVyLXRvcGxlZnQgLmstdGljayB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRpY2tzXG5cbiAgICAgICAgLmstdGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NHB4IGNlbnRlcjsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay10aWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyNHB4IGNlbnRlcjsgfVxuICAgICAgICAuay1zbGlkZXItYm90dG9tcmlnaHQgLmstdGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNTRweCBjZW50ZXI7IH1cblxuICAgICAgICAuay10aWNrLWxhcmdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTRweCBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay10aWNrLWxhcmdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM0cHggY2VudGVyOyB9XG4gICAgICAgIC5rLXNsaWRlci1ib3R0b21yaWdodCAuay10aWNrLWxhcmdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggY2VudGVyOyB9XG5cbiAgICAgICAgLmstZmlyc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCAxMDAlOyB9XG4gICAgICAgIC5rLXRpY2stbGFyZ2Uuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00cHggMTAwJTsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjRweCAxMDAlOyB9XG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLXRpY2stbGFyZ2Uuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zNHB4IDEwMCU7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NHB4IDEwMCU7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLXRpY2stbGFyZ2Uuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IDEwMCU7IH1cblxuICAgICAgICAuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk0cHggMDsgfVxuICAgICAgICAuay10aWNrLWxhcmdlLmstbGFzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00cHggMDsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyNHB4IDA7IH1cbiAgICAgICAgLmstc2xpZGVyLXRvcGxlZnQgLmstdGljay1sYXJnZS5rLWxhc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzRweCAwOyB9XG4gICAgICAgIC5rLXNsaWRlci1ib3R0b21yaWdodCAuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NHB4IDA7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLXRpY2stbGFyZ2Uuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggMDsgfVxuXG4gICAgICAgIC8vIGxhYmVsc1xuXG4gICAgICAgIC5rLWxhYmVsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMjAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgLmstZmlyc3QgLmstbGFiZWwgeyB0b3A6IDEwMCU7IH1cbiAgICAgICAgLmstbGFzdCAuay1sYWJlbCB7IHRvcDogMDsgfVxuXG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLWxhYmVsIHtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDEyMCU7XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gU2xpZGVyIGhvcml6b250YWxcbiAgICAuay1zbGlkZXItaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tc2xpZGVyLXNpemU7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICAuay10aWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC05MnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLXRpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTEyMnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci1ib3R0b21yaWdodCAuay10aWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0xNTJweDsgfVxuXG4gICAgICAgIC5rLXRpY2stbGFyZ2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTJweDsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay10aWNrLWxhcmdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0zMnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci1ib3R0b21yaWdodCAuay10aWNrLWxhcmdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC02MnB4OyB9XG5cbiAgICAgICAgLmstZmlyc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05MnB4OyB9XG4gICAgICAgIC5rLXRpY2stbGFyZ2Uuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTJweDsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLXRpY2stbGFyZ2Uuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTUycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLXRpY2stbGFyZ2Uuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYycHg7IH1cblxuICAgICAgICAuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtOTJweDsgfVxuICAgICAgICAuay10aWNrLWxhcmdlLmstbGFzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgLTJweDsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtMTIycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLXRvcGxlZnQgLmstdGljay1sYXJnZS5rLWxhc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIC0zMnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci1ib3R0b21yaWdodCAuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtMTUycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLXRpY2stbGFyZ2Uuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtNjJweDsgfVxuXG4gICAgICAgIC8vIGxhYmVsc1xuXG4gICAgICAgIC5rLWxhYmVsIHtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICAgICAgICAgICAgYm90dG9tOiAtMS4yZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgLmstZmlyc3QgLmstbGFiZWwgeyBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7IH1cbiAgICAgICAgLmstbGFzdCAuay1sYWJlbCB7IGluc2V0LWlubGluZS1zdGFydDogMTAwJTsgfVxuXG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLWxhYmVsIHtcbiAgICAgICAgICAgIHRvcDogLTEuMmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2xpZGVyLXRyYWNrLFxuICAgIC5rLXNsaWRlci1zZWxlY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAuay1zbGlkZXItaG9yaXpvbnRhbCAmIHtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLXNsaWRlci10cmFjay10aGlja25lc3M7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSBrLW1hdGgtZGl2KCAka2VuZG8tc2xpZGVyLXRyYWNrLXRoaWNrbmVzcywgMiApO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zbGlkZXItdmVydGljYWwgJiB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSBrLW1hdGgtZGl2KCAka2VuZG8tc2xpZGVyLXRyYWNrLXRoaWNrbmVzcywgMiApO1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1zbGlkZXItdHJhY2stdGhpY2tuZXNzO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuay1kcmFnaGFuZGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWJvcmRlci13aWR0aDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1zaXplO1xuXG4gICAgICAgIC5rLXNsaWRlci10cmFuc2l0aW9ucy5rLXNsaWRlci1ob3Jpem9udGFsICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogaW5zZXQtaW5saW5lLXN0YXJ0ICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1zcGVlZCAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tZnVuY3Rpb24sIGJhY2tncm91bmQtY29sb3IgJGtlbmRvLXNsaWRlci10cmFuc2l0aW9uLXNwZWVkICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1mdW5jdGlvbiwgdHJhbnNmb3JtICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS10cmFuc2l0aW9uLXNwZWVkICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS10cmFuc2l0aW9uLWZ1bmN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xpZGVyLXRyYW5zaXRpb25zLmstc2xpZGVyLXZlcnRpY2FsICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tICAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tc3BlZWQgJGtlbmRvLXNsaWRlci10cmFuc2l0aW9uLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kLWNvbG9yICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1zcGVlZCAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tZnVuY3Rpb24sIHRyYW5zZm9ybSAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtdHJhbnNpdGlvbi1zcGVlZCAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtdHJhbnNpdGlvbi1mdW5jdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1wcmVzc2VkIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zbGlkZXItc2VsZWN0aW9uIHtcbiAgICAgICAgLmstc2xpZGVyLXRyYW5zaXRpb25zLmstc2xpZGVyLWhvcml6b250YWwgJiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tc3BlZWQgJGtlbmRvLXNsaWRlci10cmFuc2l0aW9uLWZ1bmN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xpZGVyLXRyYW5zaXRpb25zLmstc2xpZGVyLXZlcnRpY2FsICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1zcGVlZCAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tZnVuY3Rpb247XG4gICAgICAgIH1cblxuICAgICAgICAmLmstcHJlc3NlZCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTbGlkZXIgcmVhZG9ubHlcbiAgICAuay1zbGlkZXIuay1yZWFkb25seSB7XG4gICAgICAgIC5rLWJ1dHRvbixcbiAgICAgICAgLmstc2xpZGVyLXRyYWNrLFxuICAgICAgICAuay10aWNrLFxuICAgICAgICAuay1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTbGlkZXIgdG9vbHRpcFxuICAgIC5rLXNsaWRlci10b29sdGlwIHtcbiAgICAgICAgLmstY2FsbG91dC1uLFxuICAgICAgICAuay1jYWxsb3V0LXMge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLSBrLW1hdGgtZGl2KCAka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemUsIDIgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhbGxvdXQtdyxcbiAgICAgICAgLmstY2FsbG91dC1lIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0gay1tYXRoLWRpdiggJGtlbmRvLXRvb2x0aXAtY2FsbG91dC1zaXplLCAyICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSVExcbiAgICAuay1zbGlkZXItcnRsIHtcbiAgICAgICAgJi5rLXNsaWRlci1ob3Jpem9udGFsIHtcblxuICAgICAgICAgICAgLmstZHJhZ2hhbmRsZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZHJhZ2hhbmRsZTpmb2N1cyxcbiAgICAgICAgICAgIC5rLWRyYWdoYW5kbGU6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGlmKCAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtYWN0aXZlLXNjYWxlLCB0cmFuc2xhdGUoNTAlLCAtNTAlKSBzY2FsZSgka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtYWN0aXZlLXNjYWxlKSwgbnVsbCApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1sYWJlbCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zbGlkZXJbZGlyPVwicnRsXCJdLFxuICAgIFtkaXI9XCJydGxcIl0gLmstc2xpZGVyLFxuICAgIC5rLXNsaWRlci5rLXJ0bCxcbiAgICAuay1ydGwgLmstc2xpZGVyIHtcbiAgICAgICAgQGV4dGVuZCAuay1zbGlkZXItcnRsICFvcHRpb25hbDtcbiAgICB9XG5cblxuICAgIC8vIEFuZ3VsYXIgc3BlY2lmaWNcbiAgICAuay1zbGlkZXIga2VuZG8tcmVzaXplLXNlbnNvciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQWxpYXNlc1xuICAgIC5rLWRyYWdoYW5kbGUgeyBAZXh0ZW5kIC5rLXNsaWRlci10aHVtYiAhb3B0aW9uYWw7IH1cbiAgICAuay1kcmFnaGFuZGxlLXN0YXJ0IHsgQGV4dGVuZCAuay1zbGlkZXItdGh1bWItc3RhcnQgIW9wdGlvbmFsOyB9XG4gICAgLmstZHJhZ2hhbmRsZS1lbmQgeyBAZXh0ZW5kIC5rLXNsaWRlci10aHVtYi1lbmQgIW9wdGlvbmFsOyB9XG59XG5cblxuQG1peGluIGtlbmRvLXNsaWRlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNsaWRlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zbGlkZXItLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXNsaWRlci0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC5rLXNsaWRlciB7XG4gICAgICAgIC5rLXRpY2sge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgJHRpY2stb2Zmc2V0OiAtIGstbWF0aC1kaXYoICRrZW5kby1zbGlkZXItdGljay1zaXplLCAyICk7XG5cbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLXNsaWRlci10aWNrLXNpemU7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1zbGlkZXItdGljay1zaXplO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICR0aWNrLW9mZnNldCAwIDAgJHRpY2stb2Zmc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZHJhZ2hhbmRsZSB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2xpZGVyLWhvcml6b250YWwge1xuICAgICAgICAuay10aWNrIHtcbiAgICAgICAgICAgICYuay1maXJzdDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstbGFzdDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zbGlkZXItdmVydGljYWwge1xuICAgICAgICAuay10aWNrIHtcbiAgICAgICAgICAgICYuay1sYXN0OjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLWZpcnN0OjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3Mvc2xpZGVyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NsaWRlci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NsaWRlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXNsaWRlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFRPRE86IG1vdmUgdG8gdmFyaWFibGVzXG4gICAgJGtlbmRvLXNsaWRlci10aWNrLWhvcml6b250YWwtaW1hZ2U6IGstbWFwLWdldCgkX2tlbmRvLWRhdGEtdXJpcywgXCJzbGlkZXItaC5naWZcIikgIWRlZmF1bHQ7XG4gICAgJGtlbmRvLXNsaWRlci10aWNrLXZlcnRpY2FsLWltYWdlOiBrLW1hcC1nZXQoJF9rZW5kby1kYXRhLXVyaXMsIFwic2xpZGVyLXYuZ2lmXCIpICFkZWZhdWx0O1xuXG5cbiAgICAvLyBTbGlkZXJcbiAgICAuay1zbGlkZXIge1xuICAgICAgICAvLyBUT0RPOiBleHRyYWN0IHZhcmlhYmxlc1xuICAgICAgICBjb2xvcjogJGtlbmRvLWNvbXBvbmVudC10ZXh0O1xuXG4gICAgICAgIC5rLXNsaWRlci10cmFjayxcbiAgICAgICAgLmstc2xpZGVyLXNlbGVjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCBrLWJvcmRlci1yYWRpdXMobWQpICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zbGlkZXItdHJhY2sge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tc2xpZGVyLXRyYWNrLWJnICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zbGlkZXItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLXNsaWRlci1zZWxlY3Rpb24tYmcgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyYWdoYW5kbGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCA1MCUgKTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWhvdmVyLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmLmstcHJlc3NlZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLXByZXNzZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLXByZXNzZWQtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1wcmVzc2VkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLXByZXNzZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAuay1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zbGlkZXItaG9yaXpvbnRhbCAuay10aWNrIHtcbiAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZSggJGtlbmRvLXNsaWRlci10aWNrLWhvcml6b250YWwtaW1hZ2UgKTtcbiAgICB9XG5cbiAgICAuay1zbGlkZXItdmVydGljYWwgLmstdGljayB7XG4gICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoICRrZW5kby1zbGlkZXItdGljay12ZXJ0aWNhbC1pbWFnZSApO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zbGlkZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNsaWRlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXNsaWRlci0tdGhlbWUoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1zbGlkZXItLXRoZW1lLWJhc2UoKTtcblxuICAgIC5rLXNsaWRlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAuay1zbGlkZXItdHJhY2ssXG4gICAgICAgIC5rLXNsaWRlci1zZWxlY3Rpb24ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpY2s6OmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWJvZHktdGV4dCApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZHJhZ2hhbmRsZSB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgLmstc2xpZGVyLXRyYWNrLFxuICAgICAgICAgICAgLmstc2xpZGVyLXNlbGVjdGlvbixcbiAgICAgICAgICAgIC5rLWRyYWdoYW5kbGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLXNsaWRlci10cmFjay1iZyApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tc2xpZGVyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJzbGlkZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2xpZGVyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2xpZGVyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2xpZGVyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIEZvcm0gcmVxdWlyZW1lbnRzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2NhbGVuZGFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2FsZW5kYXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiY2FsZW5kYXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2NhbGVuZGFyL192YXJpYWJsZXMuc2Nzc1xuLy8gQ2FsZW5kYXJcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZSBvZiB0aGUgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZTogMzZweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBoZWFkZXIgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1wYWRkaW5nLXg6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgaGVhZGVyIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgaGVhZGVyIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItYm9yZGVyLXdpZHRoOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaGVhZGVyIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhlYWRlciBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaGVhZGVyIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWhlYWRlci1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBoZWFkZXIgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBoZWFkZXIgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2FwIGJldHdlZW4gdGhlIGl0ZW1zIGluIHRoZSBuYXZpZ2F0aW9uIG9mIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1uYXYtZ2FwOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgZm9vdGVyIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1mb290ZXItcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGZvb3RlciBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItZm9vdGVyLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtcGFkZGluZy14OiAuMjVlbSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtcGFkZGluZy15OiAka2VuZG8tY2FsZW5kYXItY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jZWxsLWxpbmUtaGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtYm9yZGVyLXJhZGl1czogMTAwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBoZWFkZXIgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgaGVhZGVyIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBoZWFkZXIgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLXdpZHRoOiAka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIGhlYWRlciBjZWxscyBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtaGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGhlYWRlciBjZWxscyBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIGhlYWRlciBjZWxscyBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaGVhZGVyIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaGVhZGVyIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC10ZXh0OiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgb3BhY2l0eSBvZiB0aGUgaGVhZGVyIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1vcGFjaXR5OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgY2FwdGlvbiBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2FwdGlvbi1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgY2FwdGlvbiBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2FwdGlvbi1wYWRkaW5nLXk6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIGNhcHRpb24gaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24taGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGNhcHRpb24gaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgY2FwdGlvbiBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2FwdGlvbi1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIGNhcHRpb24gaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSB3ZWVrIG51bWJlciBjZWxscyBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItd2Vlay1udW1iZXItZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBDYWxlbmRhciB2aWV3LlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLXZpZXctd2lkdGg6ICgka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplICogOCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgQ2FsZW5kYXIgdmlldy5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci12aWV3LWhlaWdodDogKCRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgKiA3KSAhZGVmYXVsdDtcblxuLy8vIFRoZSBnYXAgYmV0d2VlbiB0aGUgaXRlbXMgaW4gdGhlIENhbGVuZGFyIHZpZXcuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItdmlldy1nYXA6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3ZWVrZW5kIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci13ZWVrZW5kLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB3ZWVrZW5kIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbiRrZW5kby1jYWxlbmRhci13ZWVrZW5kLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc3R5bGUgb2YgdGhlIGN1cnJlbnQgZGF5IGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci10b2RheS1zdHlsZTogY29sb3IgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBjdXJyZW50IGRheSBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItdG9kYXktY29sb3I6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHdlZWsgbnVtYmVyIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci13ZWVrLW51bWJlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgd2VlayBudW1iZXIgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLXdlZWstbnVtYmVyLXRleHQ6ICRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHByZWNlZGluZy9zdWJzZXF1ZW50IG1vbnRoIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1vdGhlci1tb250aC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgcHJlY2VkaW5nL3N1YnNlcXVlbnQgbW9udGggY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW90aGVyLW1vbnRoLXRleHQ6ICRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jZWxsLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBjZWxscyBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2VsbC10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jZWxsLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jZWxsLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtaG92ZXItYmc6ICRrZW5kby1ob3Zlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBjZWxscyBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1ob3Zlci10ZXh0OiAka2VuZG8taG92ZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jZWxsLWhvdmVyLWJvcmRlcjogJGtlbmRvLWhvdmVyLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGhvdmVyZWQgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtaG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBjZWxscyBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tcHJpbWFyeSApLCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1iZyApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBjZWxscyBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1ib3JkZXI6ICRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgc2VsZWN0ZWQgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgYW5kIGhvdmVyZWQgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5LWhvdmVyICksIGstdHJ5LXNoYWRlKCAka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1iZywgLjUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGFuZCBob3ZlcmVkIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWhvdmVyLXRleHQ6ICRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgYW5kIGhvdmVyZWQgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtaG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgc2VsZWN0ZWQgYW5kIGhvdmVyZWQgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtaG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBmb2N1c2VkIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jZWxsLWZvY3VzLXNoYWRvdzogJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgc2VsZWN0ZWQgYW5kIGZvY3VzZWQgY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtZm9jdXMtc2hhZG93OiAka2VuZG8tY2FsZW5kYXItY2VsbC1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ2FsZW5kYXIgbmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLXdpZHRoOiA1ZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgaXRlbXMgaW4gdGhlIENhbGVuZGFyIG5hdmlnYXRpb24uXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1pdGVtLWhlaWdodDogMmVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENhbGVuZGFyIG5hdmlnYXRpb24uXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgay10cnVlLW1peCggJGtlbmRvLWNhbGVuZGFyLXRleHQsICRrZW5kby1jYWxlbmRhci1iZywgMykpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDYWxlbmRhciBuYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24tdGV4dDogJGtlbmRvLWNhbGVuZGFyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQ2FsZW5kYXIgbmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWJvcmRlcjogJGtlbmRvLWNhbGVuZGFyLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIGl0ZW1zIGluIHRoZSBDYWxlbmRhciBuYXZpZ2F0aW9uLlxuJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24taG92ZXItdGV4dDogJGtlbmRvLWxpbmstaG92ZXItdGV4dCAhZGVmYXVsdDtcblxuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgaGVhZGVyIGluIHRoZSBJbmZpbml0ZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1pbmZpbml0ZS1jYWxlbmRhci1oZWFkZXItcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGhlYWRlciBpbiB0aGUgSW5maW5pdGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8taW5maW5pdGUtY2FsZW5kYXItaGVhZGVyLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2FsZW5kYXIgdmlldyBpbiB0aGUgSW5maW5pdGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2FsZW5kYXIgdmlldyBpbiB0aGUgSW5maW5pdGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1wYWRkaW5nLXk6IGstc3BhY2luZygwKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIENhbGVuZGFyIHZpZXcgaW4gdGhlIEluZmluaXRlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWluZmluaXRlLWNhbGVuZGFyLXZpZXctaGVpZ2h0OiAoICRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgKiA5ICkgIWRlZmF1bHQ7XG5cblxuLy8gTXVsdGl2aWV3IGNhbGVuZGFyXG5cbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgcmFuZ2UgY2VsbHMgaW4gdGhlIE11bHRpdmlldyBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1yYW5nZS1jZWxsLWJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhmdWxsKSAhZGVmYXVsdDtcblxuLy8gQ2FsZW5kYXIgc2l6ZXNcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIHNtYWxsIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLXNtLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIHNtYWxsIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLXNtLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIHRoZSBjZWxscyBpbiB0aGUgc21hbGwgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItc20tY2VsbC1zaXplOiAzMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGNlbGxzIGluIHRoZSBzbWFsbCBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1zbS1jZWxsLXBhZGRpbmcteDogay1zcGFjaW5nKDAuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNlbGxzIGluIHRoZSBzbWFsbCBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1zbS1jZWxsLXBhZGRpbmcteTogay1zcGFjaW5nKDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBtZWRpdW0gQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItbWQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbWVkaXVtIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW1kLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIHRoZSBjZWxscyBpbiB0aGUgbWVkaXVtIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW1kLWNlbGwtc2l6ZTogMzZweCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBjZWxscyBpbiB0aGUgbWVkaXVtIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW1kLWNlbGwtcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNlbGxzIGluIHRoZSBtZWRpdW0gQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItbWQtY2VsbC1wYWRkaW5nLXk6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGxhcmdlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWxnLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1sZywgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbGFyZ2UgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItbGctbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodC1sZywgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNpemUgb2YgdGhlIGNlbGxzIGluIHRoZSBsYXJnZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1sZy1jZWxsLXNpemU6IDQwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgY2VsbHMgaW4gdGhlIGxhcmdlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWxnLWNlbGwtcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNlbGxzIGluIHRoZSBsYXJnZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1sZy1jZWxsLXBhZGRpbmcteTogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemVzIE1hcCBvZiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jYWxlbmRhci1zbS1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItc20tbGluZS1oZWlnaHQsXG4gICAgICAgIGNlbGwtc2l6ZTogJGtlbmRvLWNhbGVuZGFyLXNtLWNlbGwtc2l6ZSxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1jYWxlbmRhci1zbS1jZWxsLXBhZGRpbmcteSxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1jYWxlbmRhci1zbS1jZWxsLXBhZGRpbmcteFxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2FsZW5kYXItbWQtZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNhbGVuZGFyLW1kLWxpbmUtaGVpZ2h0LFxuICAgICAgICBjZWxsLXNpemU6ICRrZW5kby1jYWxlbmRhci1tZC1jZWxsLXNpemUsXG4gICAgICAgIGNlbGwtcGFkZGluZy14OiAka2VuZG8tY2FsZW5kYXItbWQtY2VsbC1wYWRkaW5nLXksXG4gICAgICAgIGNlbGwtcGFkZGluZy15OiAka2VuZG8tY2FsZW5kYXItbWQtY2VsbC1wYWRkaW5nLXhcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNhbGVuZGFyLWxnLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jYWxlbmRhci1sZy1saW5lLWhlaWdodCxcbiAgICAgICAgY2VsbC1zaXplOiAka2VuZG8tY2FsZW5kYXItbGctY2VsbC1zaXplLFxuICAgICAgICBjZWxsLXBhZGRpbmcteDogJGtlbmRvLWNhbGVuZGFyLWxnLWNlbGwtcGFkZGluZy15LFxuICAgICAgICBjZWxsLXBhZGRpbmcteTogJGtlbmRvLWNhbGVuZGFyLWxnLWNlbGwtcGFkZGluZy14XG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9jYWxlbmRhci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2FsZW5kYXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2FsZW5kYXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tY2FsZW5kYXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQmFzZVxuICAgIC5rLWNhbGVuZGFyIHtcbiAgICAgICAgaW5saW5lLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItd2lkdGgsIG1pbi1jb250ZW50ICk7XG4gICAgICAgIGJsb2NrLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItaGVpZ2h0LCBtaW4tY29udGVudCApO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1jYWxlbmRhci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tY2FsZW5kYXItZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNhbGVuZGFyLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jYWxlbmRhci1saW5lLWhlaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG5cbiAgICAgICAgLy8gTmVzdGVkIGNhbGVuZGFyXG4gICAgICAgID4gLmstY2FsZW5kYXIge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDYWxlbmRhciB0YWJsZVxuICAgIC5rLWNhbGVuZGFyLXRhYmxlIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgLmstY2FsZW5kYXItY2FwdGlvbixcbiAgICAuay1jYWxlbmRhci1jYXB0aW9uLmstY2FsZW5kYXItdGgsXG4gICAgLmstY2FsZW5kYXIgLmstbWV0YS1oZWFkZXIsXG4gICAgLmstY2FsZW5kYXIgLmstbW9udGgtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tcGFkZGluZy14O1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1jYWxlbmRhci1jYXB0aW9uLWhlaWdodDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2FsZW5kYXItY2FwdGlvbi1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItY2FwdGlvbi1saW5lLWhlaWdodDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBmb250LXdlaWdodDogJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tZm9udC13ZWlnaHQ7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cblxuICAgIC8vIENhbGVuZGFyIGNlbGxcbiAgICAuay1jYWxlbmRhci10aCxcbiAgICAuay1jYWxlbmRhci10ZCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gICAgLmstY2FsZW5kYXItdGgge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLXBhZGRpbmcteDtcbiAgICAgICAgaW5saW5lLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCAka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtd2lkdGggKTtcbiAgICAgICAgYmxvY2stc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsICRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1oZWlnaHQgKTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLWxpbmUtaGVpZ2h0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtb3BhY2l0eTtcbiAgICB9XG4gICAgLmstY2FsZW5kYXItdGQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tY2FsZW5kYXItY2VsbC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIGlubGluZS1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgbWluLWNvbnRlbnQgKTtcbiAgICAgICAgYmxvY2stc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsIG1pbi1jb250ZW50ICk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIC5rLWNhbGVuZGFyLXRkLmstYWx0IHtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2FsZW5kYXItd2Vlay1udW1iZXItZm9udC1zaXplO1xuICAgIH1cblxuXG4gICAgLy8gQ2FsZW5kYXIgY2VsbCBpbm5lclxuICAgIC8vIFJlbW92ZSAuay1jYWxlbmRhciBvbmNlIHdlIHJlbW92ZSBrLWxpbmtcbiAgICAuay1jYWxlbmRhciAuay1jYWxlbmRhci1jZWxsLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWNhbGVuZGFyLWNlbGwtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXBhZGRpbmcteCwgI3ska2VuZG8tY2FsZW5kYXItY2VsbC1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1wYWRkaW5nLXksICN7JGtlbmRvLWNhbGVuZGFyLWNlbGwtcGFkZGluZy15fSApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuXG4gICAgLy8gQ2FsZW5kYXIgaGVhZGVyXG4gICAgLmstY2FsZW5kYXIgLmstaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY2FsZW5kYXItaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGdhcDogJGtlbmRvLWNhbGVuZGFyLW5hdi1nYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cblxuICAgIC8vIENhbGVuZGFyIGhlYWRlclxuICAgIC5rLWNhbGVuZGFyLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1jYWxlbmRhci1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgIG1pbi13aWR0aDogKCRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgKiA4KTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAuay1jYWxlbmRhci1uYXYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6ICRrZW5kby1jYWxlbmRhci1uYXYtZ2FwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDYWxlbmRhciBmb290ZXJcbiAgICAuay1jYWxlbmRhci1mb290ZXIsXG4gICAgLmstY2FsZW5kYXIgLmstZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNhbGVuZGFyLWZvb3Rlci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY2FsZW5kYXItZm9vdGVyLXBhZGRpbmcteDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cblxuICAgIC8vIENhbGVuZGFyIHZpZXcgd3JhcHBlclxuICAgIC5rLWNhbGVuZGFyLXZpZXcge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY2FsZW5kYXItaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgLy8gc2V0dGluZyB3aWR0aCAvIGhlaWdodCBwcmV2ZW50cyBsYXlvdXQgY2hhbmdlcyBpbiBtZXRhIHZpZXdzXG4gICAgICAgIHdpZHRoOiAka2VuZG8tY2FsZW5kYXItdmlldy13aWR0aDtcbiAgICAgICAgaW5saW5lLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItdmlldy13aWR0aCwgI3ska2VuZG8tY2FsZW5kYXItdmlldy13aWR0aH0pO1xuICAgICAgICBtaW4taGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItdmlldy1oZWlnaHQ7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBnYXA6ICRrZW5kby1jYWxlbmRhci12aWV3LWdhcDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5rLXRvZGF5IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBNb250aCB2aWV3XG4gICAgLmstbW9udGgtY2FsZW5kYXIsXG4gICAgLmstY2FsZW5kYXItbW9udGh2aWV3IHtcbiAgICAgICAgJF9tb250aC1jZWxsLXNpemU6ICRrZW5kby1jYWxlbmRhci1jZWxsLXNpemU7XG5cbiAgICAgICAgLmstY2FsZW5kYXItdGQge1xuICAgICAgICAgICAgd2lkdGg6ICRfbW9udGgtY2VsbC1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkX21vbnRoLWNlbGwtc2l6ZTtcbiAgICAgICAgICAgIGlubGluZS1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX21vbnRoLWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgICAgIGJsb2NrLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCAjeyRfbW9udGgtY2VsbC1zaXplfSApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBZZWFyIHZpZXdcbiAgICAuay15ZWFyLWNhbGVuZGFyLFxuICAgIC5rLWNhbGVuZGFyLXllYXJ2aWV3IHtcbiAgICAgICAgJF95ZWFyLWNlbGwtc2l6ZTogKCAyICogJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSApO1xuXG4gICAgICAgIC5rLWNhbGVuZGFyLXRkIHtcbiAgICAgICAgICAgIHdpZHRoOiAkX3llYXItY2VsbC1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkX3llYXItY2VsbC1zaXplO1xuICAgICAgICAgICAgaW5saW5lLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCAjeyRfeWVhci1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICBibG9jay1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX3llYXItY2VsbC1zaXplfSApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBEZWNhZGUgdmlld1xuICAgIC5rLWRlY2FkZS1jYWxlbmRhcixcbiAgICAuay1jYWxlbmRhci1kZWNhZGV2aWV3IHtcbiAgICAgICAgJF9kZWNhZGUtY2VsbC1zaXplOiAoIDIgKiAka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplICk7XG5cbiAgICAgICAgLmstY2FsZW5kYXItdGQge1xuICAgICAgICAgICAgd2lkdGg6ICRfZGVjYWRlLWNlbGwtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJF9kZWNhZGUtY2VsbC1zaXplO1xuICAgICAgICAgICAgaW5saW5lLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCAjeyRfZGVjYWRlLWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgICAgIGJsb2NrLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCAjeyRfZGVjYWRlLWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2VudHVyeSB2aWV3XG4gICAgLmstY2VudHVyeS1jYWxlbmRhcixcbiAgICAuay1jYWxlbmRhci1jZW50dXJ5dmlldyB7XG4gICAgICAgICRfY2VudHVyeS1jZWxsLXNpemU6ICggMiAqICRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgKTtcblxuICAgICAgICAuay1jYWxlbmRhci10ZCB7XG4gICAgICAgICAgICB3aWR0aDogJF9jZW50dXJ5LWNlbGwtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJF9jZW50dXJ5LWNlbGwtc2l6ZTtcbiAgICAgICAgICAgIGlubGluZS1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX2NlbnR1cnktY2VsbC1zaXplfSApO1xuICAgICAgICAgICAgYmxvY2stc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsICN7JF9jZW50dXJ5LWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgICAgICAuay1jYWxlbmRhci1jZWxsLWlubmVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDYWxlbmRhciBpbiBwb3B1cFxuICAgIC5rLXBvcHVwIC5rLWNhbGVuZGFyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAuay1jYWxlbmRhci1jb250YWluZXIsXG4gICAgLmstZGF0ZXRpbWUtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuay1jYWxlbmRhciB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAuay1jYWxlbmRhciAuay1jb250ZW50Lmstc2Nyb2xsYWJsZSxcbiAgICAuay1jYWxlbmRhciAuay1jYWxlbmRhci1jb250ZW50Lmstc2Nyb2xsYWJsZSB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIGhpZGUtc2Nyb2xsYmFyKFwicmlnaHRcIik7XG4gICAgfVxuXG4gICAgLy8gc2NvcGVkIGluIGNhbGVuZGFyIHVudGlsIGl0IGlzIHVzZWQgZWxzZXdoZXJlXG4gICAgLmstY2FsZW5kYXIgLmstc2Nyb2xsYWJsZS1wbGFjZWhvbGRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG5cblxuXG4gICAgLy8gQ2FsZW5kYXIgc2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLWNhbGVuZGFyLXNpemVzIHtcbiAgICAgICAgJF9mb250LXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGZvbnQtc2l6ZSApO1xuICAgICAgICAkX2xpbmUtaGVpZ2h0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBsaW5lLWhlaWdodCApO1xuICAgICAgICAkX2NlbGwtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgY2VsbC1zaXplICk7XG4gICAgICAgICRfY2VsbC1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGNlbGwtcGFkZGluZy14ICk7XG4gICAgICAgICRfY2VsbC1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGNlbGwtcGFkZGluZy15ICk7XG5cbiAgICAgICAgJF9tb250aC1jZWxsLXNpemU6ICRfY2VsbC1zaXplO1xuICAgICAgICAkX3llYXItY2VsbC1zaXplOiAoIDIgKiAkX2NlbGwtc2l6ZSApO1xuICAgICAgICAkX2RlY2FkZS1jZWxsLXNpemU6ICggMiAqICRfY2VsbC1zaXplICk7XG4gICAgICAgICRfY2VudHVyeS1jZWxsLXNpemU6ICggMiAqICRfY2VsbC1zaXplICk7XG5cbiAgICAgICAgLmstY2FsZW5kYXItI3skc2l6ZX0ge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItdmlldy13aWR0aDogI3s4ICogJF9jZWxsLXNpemV9O1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1wYWRkaW5nLXg6IHZhciggLS1rZW5kby1jYWxlbmRhci0jeyRzaXplfS1jZWxsLXBhZGRpbmcteCwgI3skX2NlbGwtcGFkZGluZy14fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1wYWRkaW5nLXk6IHZhciggLS1rZW5kby1jYWxlbmRhci0jeyRzaXplfS1jZWxsLXBhZGRpbmcteSwgI3skX2NlbGwtcGFkZGluZy15fSApO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2xpbmUtaGVpZ2h0O1xuXG4gICAgICAgICAgICAmLmstbW9udGgtY2FsZW5kYXIsXG4gICAgICAgICAgICAuay1jYWxlbmRhci1tb250aHZpZXcge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZTogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLSN7JHNpemV9LW1vbnRoLWNlbGwtc2l6ZSwgI3skX21vbnRoLWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuay15ZWFyLWNhbGVuZGFyLFxuICAgICAgICAgICAgLmstY2FsZW5kYXIteWVhcnZpZXcge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZTogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLSN7JHNpemV9LXllYXItY2VsbC1zaXplLCAjeyRfeWVhci1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstZGVjYWRlLWNhbGVuZGFyLFxuICAgICAgICAgICAgLmstY2FsZW5kYXItZGVjYWRldmlldyB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItI3skc2l6ZX0tZGVjYWRlLWNlbGwtc2l6ZSwgI3skX2RlY2FkZS1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstY2VudHVyeS1jYWxlbmRhcixcbiAgICAgICAgICAgIC5rLWNhbGVuZGFyLWNlbnR1cnl2aWV3IHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemU6IHZhciggLS1rZW5kby1jYWxlbmRhci0jeyRzaXplfS1jZW50dXJ5LWNlbGwtc2l6ZSwgI3skX2NlbnR1cnktY2VsbC1zaXplfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG4gICAgLy8gTGVnYWN5IGFsaWFzZXNcbiAgICAuay1saW5rIHtcbiAgICAgICAgQGV4dGVuZCAuay1jYWxlbmRhci1jZWxsLWlubmVyICFvcHRpb25hbDtcbiAgICB9XG5cblxuXG5cbiAgICAvLyBJbmZpbml0ZSBjYWxlbmRhclxuICAgIC5rLWNhbGVuZGFyLWluZmluaXRlIHtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cbiAgICAgICAgLmstY2FsZW5kYXItdmlldyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWluZmluaXRlLWNhbGVuZGFyLXZpZXctcGFkZGluZy14O1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1oZWlnaHQ7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAuay1jb250ZW50Lmstc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMjAwYlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0yNSU7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwICRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgay1tYXRoLWRpdiggJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgMiApICRrZW5kby1jYWxlbmRhci1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhbGVuZGFyLWhlYWRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyggI3ska2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1wYWRkaW5nLXh9ICogLTEgKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyggI3ska2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1wYWRkaW5nLXh9ICogLTEgKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1pbmZpbml0ZS1jYWxlbmRhci1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1pbmZpbml0ZS1jYWxlbmRhci1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYWxlbmRhci13ZWVrZGF5cyB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2FsZW5kYXIgbmF2aWdhdGlvblxuICAgIC5rLWNhbGVuZGFyLW5hdmlnYXRpb24ge1xuICAgICAgICB3aWR0aDogJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24td2lkdGg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgICAgIGxlZnQ6IC01MCU7XG4gICAgICAgICAgICAkc2hhZG93LXNpemU6IDMgKiAka2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1pdGVtLWhlaWdodDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAkc2hhZG93LXNpemUgay1tYXRoLWRpdiggJHNoYWRvdy1zaXplLCAyICkgJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24tYmc7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUgeyB0b3A6IDA7IH1cbiAgICAgICAgJjo6YWZ0ZXIgeyBib3R0b206IDA7IH1cblxuICAgICAgICAuay1jb250ZW50LFxuICAgICAgICAuay1jYWxlbmRhci1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLXdpZHRoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1pdGVtLWhlaWdodDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24taXRlbS1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDFlbTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhbGVuZGFyLW5hdmlnYXRpb24tbWFya2VyIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FsZW5kYXItbmF2aWdhdGlvbi1oaWdobGlnaHQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24taXRlbS1oZWlnaHQ7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC8vIHN0eWxlcyBhcmUgYXBwbGllZCB0byB0aGUgay1saW5rIGVsZW1lbnQgaW5zaWRlXG4gICAgICAgIC8vIC5rLXNlbGVjdGVkIHtcbiAgICAgICAgLy8gICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAvLyAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgLy8gTXVsdGl2aWV3IGNhbGVuZGFyXG4gICAgLmstY2FsZW5kYXItcmFuZ2Uge1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAuay1jYWxlbmRhci12aWV3IHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSYW5nZSBTZWxlY3Rpb25cbiAgICAuay1yYW5nZS1zdGFydCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1jYWxlbmRhci1yYW5nZS1jZWxsLWJvcmRlci1yYWRpdXMgMCAwICRrZW5kby1jYWxlbmRhci1yYW5nZS1jZWxsLWJvcmRlci1yYWRpdXM7XG5cbiAgICAgICAgLmstY2FsZW5kYXItY2VsbC1pbm5lcixcbiAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXJhbmdlLWVuZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgJGtlbmRvLWNhbGVuZGFyLXJhbmdlLWNlbGwtYm9yZGVyLXJhZGl1cyAka2VuZG8tY2FsZW5kYXItcmFuZ2UtY2VsbC1ib3JkZXItcmFkaXVzIDA7XG5cbiAgICAgICAgLmstY2FsZW5kYXItY2VsbC1pbm5lcixcbiAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXJhbmdlLW1pZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgLmstcmFuZ2Utc3RhcnQuay1yYW5nZS1lbmQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tY2FsZW5kYXItcmFuZ2UtY2VsbC1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIFJUTFxuICAgIC5rLXJ0bCAuay1jYWxlbmRhcixcbiAgICBbZGlyPVwicnRsXCJdIC5rLWNhbGVuZGFyLFxuICAgIC5rLWNhbGVuZGFyLmstcnRsLFxuICAgIC5rLWNhbGVuZGFyW2Rpcj1cInJ0bFwiXSB7XG5cbiAgICAgICAgLmstY29udGVudC5rLXNjcm9sbGFibGUsXG4gICAgICAgIC5rLWNhbGVuZGFyLWNvbnRlbnQuay1zY3JvbGxhYmxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhpZGUtc2Nyb2xsYmFyKFwibGVmdFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJhbmdlIFNlbGVjdGlvbiBSVExcbiAgICAgICAgLmstcmFuZ2Utc3RhcnQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAka2VuZG8tY2FsZW5kYXItcmFuZ2UtY2VsbC1ib3JkZXItcmFkaXVzICRrZW5kby1jYWxlbmRhci1yYW5nZS1jZWxsLWJvcmRlci1yYWRpdXMgMDtcbiAgICAgICAgfVxuICAgICAgICAuay1yYW5nZS1lbmQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLWNhbGVuZGFyLXJhbmdlLWNlbGwtYm9yZGVyLXJhZGl1cyAwIDAgJGtlbmRvLWNhbGVuZGFyLXJhbmdlLWNlbGwtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNhbGVuZGFyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FsZW5kYXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY2FsZW5kYXItLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLWNhbGVuZGFyLS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLy8gQ2FsZW5kYXJcbiAgICAuay1jYWxlbmRhciB7XG5cbiAgICAgICAgLmstdGl0bGUsXG4gICAgICAgIC5rLWNhbGVuZGFyLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuay1jYWxlbmRhci1jYXB0aW9uLFxuICAgICAgICAuay1jYWxlbmRhci12aWV3IHRoLFxuICAgICAgICAuay1jYWxlbmRhci12aWV3IC5rLWNhbGVuZGFyLXRoLFxuICAgICAgICAuay1tZXRhLWhlYWRlcixcbiAgICAgICAgLmstbW9udGgtaGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstY2FsZW5kYXItdmlldyB0Ym9keSB0aCxcbiAgICAgICAgLmstY2FsZW5kYXItdmlldyAuay1jYWxlbmRhci10Ym9keSAuay1jYWxlbmRhci10aCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9jYWxlbmRhci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jYWxlbmRhci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NhbGVuZGFyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tY2FsZW5kYXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1jYWxlbmRhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1iZyxcbiAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1ib3JkZXJcbiAgICAgICAgKTtcblxuXG4gICAgICAgIC8vIFRPRE86IGRvIHdlIGV2ZW4gdXNlIHRoaXM/XG4gICAgICAgIC8vIEhlYWRlciAvIGZvb3RlclxuICAgICAgICAuay1oZWFkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1iZyxcbiAgICAgICAgICAgICAgICBpbmhlcml0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1oZWFkZXItZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tY2FsZW5kYXItaGVhZGVyLXNoYWRvdyApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBIZWFkZXIgY2VsbHNcbiAgICAgICAgLmstY2FsZW5kYXItdGgsXG4gICAgICAgIC5rLWNhbGVuZGFyLWNhcHRpb24sXG4gICAgICAgIC5rLW1ldGEtaGVhZGVyLFxuICAgICAgICAuay1tb250aC1oZWFkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC10ZXh0O1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTcGVjaWFsIGRheXNcbiAgICAgICAgLmstY2FsZW5kYXItdmlldyAuay10b2RheSB7XG4gICAgICAgICAgICBAaWYgJGtlbmRvLWNhbGVuZGFyLXRvZGF5LXN0eWxlID09IGJveCB7XG4gICAgICAgICAgICAgICAgLmstY2FsZW5kYXItY2VsbC1pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAka2VuZG8tY2FsZW5kYXItdG9kYXktY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuay1mb2N1cyAuay1jYWxlbmRhci1jZWxsLWlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAkaW5kaWNhdG9yOiAoIGluc2V0IDAgMCAwIDFweCAka2VuZG8tY2FsZW5kYXItdG9kYXktY29sb3IsICRrZW5kby1jYWxlbmRhci1jZWxsLWZvY3VzLXNoYWRvdyApLCAkaW5zZXQ6IHRydWUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIGlmICRrZW5kby1jYWxlbmRhci10b2RheS1zdHlsZSA9PSBjb2xvciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1jYWxlbmRhci10b2RheS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1vdGhlci1tb250aCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1vdGhlci1tb250aC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1vdGhlci1tb250aC1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay13ZWVrZW5kIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLXdlZWtlbmQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItd2Vla2VuZC1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1hbHQge1xuICAgICAgICAgICAgLy8gcmVtb3ZlIGRlZmF1bHQgay1hbHQgYmFja2dyb3VuZCBjb2xvclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci13ZWVrLW51bWJlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci13ZWVrLW51bWJlci1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gSW50ZXJhY3RpdmUgc3RhdGVzXG4gICAgICAgIC5rLWNhbGVuZGFyLXRkOmhvdmVyIC5rLWNhbGVuZGFyLWNlbGwtaW5uZXIsXG4gICAgICAgIC5rLWNhbGVuZGFyLXRkLmstaG92ZXIgLmstY2FsZW5kYXItY2VsbC1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1jZWxsLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLWNlbGwtaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLWNlbGwtaG92ZXItYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1jZWxsLWhvdmVyLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWNhbGVuZGFyLXRkLmstc2VsZWN0ZWQgLmstY2FsZW5kYXItY2VsbC1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWNhbGVuZGFyLXRkLmstc2VsZWN0ZWQ6aG92ZXIgLmstY2FsZW5kYXItY2VsbC1pbm5lcixcbiAgICAgICAgLmstY2FsZW5kYXItdGQuay1zZWxlY3RlZC5rLWhvdmVyIC5rLWNhbGVuZGFyLWNlbGwtaW5uZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1jYWxlbmRhci10ZDpmb2N1cyAuay1jYWxlbmRhci1jZWxsLWlubmVyLFxuICAgICAgICAuay1jYWxlbmRhci10ZC5rLWZvY3VzIC5rLWNhbGVuZGFyLWNlbGwtaW5uZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tY2FsZW5kYXItY2VsbC1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1jYWxlbmRhci10ZC5rLXNlbGVjdGVkOmZvY3VzIC5rLWNhbGVuZGFyLWNlbGwtaW5uZXIsXG4gICAgICAgIC5rLWNhbGVuZGFyLXRkLmstc2VsZWN0ZWQuay1mb2N1cyAuay1jYWxlbmRhci1jZWxsLWlubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtZm9jdXMtc2hhZG93LCB0cnVlICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIENhbGVuZGFyIG5hdmlnYXRpb25cbiAgICAgICAgLmstY2FsZW5kYXItbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24tYmdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24tYm9yZGVyO1xuXG4gICAgICAgICAgICBsaTpob3ZlcixcbiAgICAgICAgICAgIGxpLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1ob3Zlci10ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLWNhbGVuZGFyLW5hdmlnYXRpb24taGlnaGxpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgICZbZGlyPVwicnRsXCJdLFxuICAgICAgICAuay1ydGwgJiB7XG4gICAgICAgICAgICAuay1jYWxlbmRhci1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAka2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1ib3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkXG4gICAgICAgICYuay1pbnZhbGlkLFxuICAgICAgICAmLmstaW52YWxpZDpob3ZlcixcbiAgICAgICAgJi5uZy1pbnZhbGlkLm5nLXRvdWNoZWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy1kaXJ0eSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1pbnZhbGlkLWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU2NoZWR1bGVyIGludGVncmF0aW9uXG4gICAgLmstc2NoZWR1bGVyIC5rLWNhbGVuZGFyIC5rLW90aGVyLW1vbnRoIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1vdGhlci1tb250aC10ZXh0LFxuICAgICAgICAgICAgdHJhbnNwYXJlbnRcbiAgICAgICAgKTtcbiAgICB9XG5cblxuXG5cbiAgICAvLyBNdWx0aXZpZXcgY2FsZW5kYXJcbiAgICAuay1jYWxlbmRhciB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcblxuICAgICAgICAka2VuZG8tY2FsZW5kYXItcmFuZ2UtZ2FwOiBrLXNwYWNpbmcoMXB4KSAhZGVmYXVsdDtcbiAgICAgICAgJGtlbmRvLWNhbGVuZGFyLXJhbmdlLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtYmcsIC4yNSApKTtcbiAgICAgICAgJGtlbmRvLWNhbGVuZGFyLXJhbmdlLXNwbGl0LXNpemU6IDVweCAhZGVmYXVsdDtcblxuICAgICAgICAuay1yYW5nZS1zdGFydCxcbiAgICAgICAgLmstcmFuZ2UtZW5kLFxuICAgICAgICAuay1yYW5nZS1taWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNhbGVuZGFyLXJhbmdlLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmFuZ2Utc3RhcnQsXG4gICAgICAgIC5rLXJhbmdlLWVuZCB7XG4gICAgICAgICAgICAuay1jYWxlbmRhci1jZWxsLWlubmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJhbmdlLXN0YXJ0LmstYWN0aXZlLFxuICAgICAgICAuay1yYW5nZS1lbmQuay1hY3RpdmUge1xuICAgICAgICAgICAgLmstY2FsZW5kYXItY2VsbC1pbm5lciB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAuMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1yYW5nZS1zcGxpdC1zdGFydCxcbiAgICAgICAgLmstcmFuZ2Utc3BsaXQtZW5kIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1jYWxlbmRhci1yYW5nZS1zcGxpdC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstcmFuZ2Utc3BsaXQtc3RhcnQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IC0ka2VuZG8tY2FsZW5kYXItcmFuZ2Utc3BsaXQtc2l6ZTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICRrZW5kby1jYWxlbmRhci1yYW5nZS1iZywgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yYW5nZS1zcGxpdC1lbmQ6OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtJGtlbmRvLWNhbGVuZGFyLXJhbmdlLXNwbGl0LXNpemU7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAka2VuZG8tY2FsZW5kYXItcmFuZ2UtYmcsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNhbGVuZGFyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jYWxlbmRhci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWNhbGVuZGFyLS10aGVtZSgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLWNhbGVuZGFyLS10aGVtZS1iYXNlKCk7XG5cbiAgICAvLyBDYWxlbmRhclxuICAgIC5rLWNhbGVuZGFyIHtcblxuICAgICAgICAuay1mb2N1cyAuay1saW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLWNlbGwtaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItY2VsbC1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItY2VsbC1ob3Zlci1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2VsZWN0ZWQuay1mb2N1cyAuay1saW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtdGV4dCxcbiAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtYmcsIGstdHJ5LXRpbnQoJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtYmcpKSxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWNhbGVuZGFyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJjYWxlbmRhclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jYWxlbmRhci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNhbGVuZGFyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FsZW5kYXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3RpbWVzZWxlY3Rvci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RpbWVzZWxlY3Rvci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0aW1lLXNlbGVjdG9yXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYWN0aW9uc1wiLFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYWN0aW9uLWJ1dHRvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvdGltZXNlbGVjdG9yL192YXJpYWJsZXMuc2Nzc1xuLy8gVGltZSBzZWxlY3RvclxuXG4ka2VuZG8tdGltZS1zZWxlY3Rvci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtc2VsZWN0b3ItbGluZS1oZWlnaHQ6IGstbWF0aC1kaXYoIDIwLCAxNCApICFkZWZhdWx0O1xuXG4ka2VuZG8tdGltZS1zZWxlY3Rvci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRrZW5kby10aW1lLXNlbGVjdG9yLWhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby1hY3Rpb25zLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLWhlYWRlci1wYWRkaW5nLXk6ICRrZW5kby1hY3Rpb25zLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLWhlYWRlci1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcblxuJGtlbmRvLXRpbWUtc2VsZWN0b3ItZmFzdC1zZWxlY3Rpb24tZ2FwOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbiRrZW5kby10aW1lLWxpc3Qtd2lkdGg6IDRlbSAhZGVmYXVsdDtcbiRrZW5kby10aW1lLWxpc3QtaGVpZ2h0OiAyNDBweCAhZGVmYXVsdDtcblxuJGtlbmRvLXRpbWUtbGlzdC10aXRsZS1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKSAhZGVmYXVsdDtcbiRrZW5kby10aW1lLWxpc3QtdGl0bGUtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodC1sZywgbm9ybWFsICkgIWRlZmF1bHQ7XG4ka2VuZG8tdGltZS1saXN0LXRpdGxlLWhlaWdodDogY2FsYyggI3ska2VuZG8tdGltZS1saXN0LXRpdGxlLWZvbnQtc2l6ZX0gKiAjeyRrZW5kby10aW1lLWxpc3QtdGl0bGUtbGluZS1oZWlnaHR9ICkgIWRlZmF1bHQ7XG4ka2VuZG8tdGltZS1saXN0LXRpdGxlLXRleHQ6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby10aW1lLWxpc3QtdGl0bGUtZm9jdXMtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuXG4ka2VuZG8tdGltZS1saXN0LWl0ZW0tcGFkZGluZy14OiAka2VuZG8tbGlzdC1tZC1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby10aW1lLWxpc3QtaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy15ICFkZWZhdWx0O1xuXG4ka2VuZG8tdGltZS1saXN0LWhpZ2hsaWdodC1ib3JkZXItd2lkdGg6IDFweCAwcHggIWRlZmF1bHQ7XG4ka2VuZG8tdGltZS1saXN0LWhpZ2hsaWdodC1oZWlnaHQ6IGNhbGMoIGNhbGMoICN7JGtlbmRvLXRpbWUtc2VsZWN0b3ItZm9udC1zaXplfSAqICN7JGtlbmRvLXRpbWUtc2VsZWN0b3ItbGluZS1oZWlnaHR9ICkgKyBjYWxjKCAjeyRrZW5kby10aW1lLWxpc3QtaXRlbS1wYWRkaW5nLXl9ICogMiApICkgIWRlZmF1bHQ7XG4ka2VuZG8tdGltZS1saXN0LWhpZ2hsaWdodC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbiRrZW5kby10aW1lLWxpc3QtaGlnaGxpZ2h0LWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRrZW5kby10aW1lLWxpc3QtZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8gVGltZSBzZWxlY3RvciBzaXplc1xuJGtlbmRvLXRpbWUtc2VsZWN0b3Itc20tZm9udC1zaXplOiAka2VuZG8tbGlzdC1zbS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2VuZG8tdGltZS1zZWxlY3Rvci1zbS1saW5lLWhlaWdodDogJGtlbmRvLWxpc3Qtc20tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8tdGltZS1zZWxlY3Rvci1zbS1saXN0LWl0ZW0tcGFkZGluZy14OiAka2VuZG8tbGlzdC1zbS1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLXNtLWxpc3QtaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LXNtLWl0ZW0tcGFkZGluZy15ICFkZWZhdWx0O1xuXG4ka2VuZG8tdGltZS1zZWxlY3Rvci1tZC1mb250LXNpemU6ICRrZW5kby1saXN0LW1kLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLW1kLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGlzdC1tZC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLW1kLWxpc3QtaXRlbS1wYWRkaW5nLXg6ICRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtc2VsZWN0b3ItbWQtbGlzdC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLWxpc3QtbWQtaXRlbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbiRrZW5kby10aW1lLXNlbGVjdG9yLWxnLWZvbnQtc2l6ZTogJGtlbmRvLWxpc3QtbGctZm9udC1zaXplICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtc2VsZWN0b3ItbGctbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0LWxnLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtc2VsZWN0b3ItbGctbGlzdC1pdGVtLXBhZGRpbmcteDogJGtlbmRvLWxpc3QtbGctaXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tdGltZS1zZWxlY3Rvci1sZy1saXN0LWl0ZW0tcGFkZGluZy15OiAka2VuZG8tbGlzdC1sZy1pdGVtLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuJGtlbmRvLXRpbWUtc2VsZWN0b3Itc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby10aW1lLXNlbGVjdG9yLXNtLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10aW1lLXNlbGVjdG9yLXNtLWxpbmUtaGVpZ2h0LFxuICAgICAgICBsaXN0LWl0ZW0tcGFkZGluZy14OiAka2VuZG8tdGltZS1zZWxlY3Rvci1zbS1saXN0LWl0ZW0tcGFkZGluZy14LFxuICAgICAgICBsaXN0LWl0ZW0tcGFkZGluZy15OiAka2VuZG8tdGltZS1zZWxlY3Rvci1zbS1saXN0LWl0ZW0tcGFkZGluZy15XG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby10aW1lLXNlbGVjdG9yLW1kLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10aW1lLXNlbGVjdG9yLW1kLWxpbmUtaGVpZ2h0LFxuICAgICAgICBsaXN0LWl0ZW0tcGFkZGluZy14OiAka2VuZG8tdGltZS1zZWxlY3Rvci1tZC1saXN0LWl0ZW0tcGFkZGluZy14LFxuICAgICAgICBsaXN0LWl0ZW0tcGFkZGluZy15OiAka2VuZG8tdGltZS1zZWxlY3Rvci1tZC1saXN0LWl0ZW0tcGFkZGluZy15XG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby10aW1lLXNlbGVjdG9yLWxnLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10aW1lLXNlbGVjdG9yLWxnLWxpbmUtaGVpZ2h0LFxuICAgICAgICBsaXN0LWl0ZW0tcGFkZGluZy14OiAka2VuZG8tdGltZS1zZWxlY3Rvci1sZy1saXN0LWl0ZW0tcGFkZGluZy14LFxuICAgICAgICBsaXN0LWl0ZW0tcGFkZGluZy15OiAka2VuZG8tdGltZS1zZWxlY3Rvci1sZy1saXN0LWl0ZW0tcGFkZGluZy15XG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy90aW1lc2VsZWN0b3IvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVzZWxlY3Rvci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90aW1lc2VsZWN0b3IvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdGltZS1zZWxlY3Rvci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBUaW1lIHNlbGVjdG9yXG4gICAgLmstdGltZXNlbGVjdG9yIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGltZS1zZWxlY3Rvci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tdGltZS1zZWxlY3Rvci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdGltZS1zZWxlY3Rvci1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdGltZS1zZWxlY3Rvci1saW5lLWhlaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLmstcG9wdXAgPiAmIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGltZSBzZWxlY3RvciBoZWFkZXJcbiAgICAuay10aW1lLWhlYWRlcixcbiAgICAuay10aW1lLXNlbGVjdG9yLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10aW1lLXNlbGVjdG9yLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdGltZS1zZWxlY3Rvci1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAgIC5rLXRpdGxlLFxuICAgICAgICAuay10aW1lLXNlbGVjdG9yLWhlYWRlci10aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tYnV0dG9uLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tYnV0dG9uLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZS1ub3cge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGYXN0IHNlbGVjdGlvblxuICAgIC5rLWFjdGlvbnMuay10aW1lLWZhc3Qtc2VsZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cblxuICAgIC8vIFRpbWUgc2VsZWN0b3IgZm9vdGVyXG4gICAgLy8gLmstdGltZS1mb290ZXIge31cbiAgICAvLyAuay10aW1lLXNlbGVjdG9yLWZvb3RlciB7fVxuXG5cbiAgICAvLyBUaW1lIGxpc3QgY29udGFpbmVyXG4gICAgLmstdGltZS1saXN0LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIGxpc3QgaGlnaGxpZ2h0XG4gICAgLmstdGltZS1oaWdobGlnaHQsXG4gICAgLmstdGltZS1saXN0LWhpZ2hsaWdodCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby10aW1lLWxpc3QtaGlnaGxpZ2h0LWhlaWdodDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGltZS1saXN0LWhpZ2hsaWdodC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKCA1MCUgKyAje2stbWF0aC1kaXYoICRrZW5kby10aW1lLWxpc3QtdGl0bGUtaGVpZ2h0LCAyICl9KTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cblxuICAgIC8vIFRpbWUgbGlzdCB3cmFwcGVyXG4gICAgLmstdGltZS1saXN0LXdyYXBwZXIge1xuICAgICAgICBtaW4td2lkdGg6ICRrZW5kby10aW1lLWxpc3Qtd2lkdGg7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLXRpbWUtbGlzdC1oZWlnaHQ7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgICAgIC5rLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXRpbWUtbGlzdC10aXRsZS1mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXRpbWUtbGlzdC10aXRsZS1saW5lLWhlaWdodDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoIDUwJSAtICN7ay1tYXRoLWRpdiggJGtlbmRvLXRpbWUtbGlzdC1oaWdobGlnaHQtaGVpZ2h0LCAyICl9ICk7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0b3A6ICRrZW5kby10aW1lLWxpc3QtdGl0bGUtaGVpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIGxpc3RcbiAgICAuay10aW1lLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgICAgIGxlZnQ6IC01MCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUgeyB0b3A6IDA7IH1cbiAgICAgICAgJjo6YWZ0ZXIgeyBib3R0b206IDA7IH1cbiAgICB9XG5cblxuICAgIC8vIFRpbWUgbGlzdCBjb250ZW50XG4gICAgLmstdGltZS1jb250YWluZXIsXG4gICAgLmstdGltZS1saXN0LWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICAgICAgQGluY2x1ZGUgaGlkZS1zY3JvbGxiYXIoXCJyaWdodFwiKTtcblxuICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tdGltZS1saXN0LXdpZHRoO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2Nyb2xsYWJsZS1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRpbWUgbGlzdCBpdGVtXG4gICAgLmstdGltZS1saXN0LWl0ZW0sXG4gICAgLmstdGltZS1saXN0IC5rLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGltZS1saXN0LWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRpbWUtbGlzdC1pdGVtLXBhZGRpbmcteDtcbiAgICB9XG5cblxuICAgIC8vIFRpbWUgc2VwYXJhdG9yXG4gICAgLmstdGltZS1zZXBhcmF0b3Ige1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tdGltZS1saXN0LWhpZ2hsaWdodC1oZWlnaHQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB0b3A6IGNhbGMoICN7ay1tYXRoLWRpdiggJGtlbmRvLXRpbWUtbGlzdC10aXRsZS1oZWlnaHQsIDIgKX0gKTtcbiAgICB9XG5cblxuICAgIC8vIFRpbWUgc2VsZWN0b3Igc2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLXRpbWUtc2VsZWN0b3Itc2l6ZXMge1xuICAgICAgICAkX2ZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfbGlzdC1pdGVtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgbGlzdC1pdGVtLXBhZGRpbmcteCApO1xuICAgICAgICAkX2xpc3QtaXRlbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGxpc3QtaXRlbS1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9oaWdobGlnaHQtaGVpZ2h0OiBjYWxjKCBjYWxjKCAjeyRfZm9udC1zaXplfSAqICN7JF9saW5lLWhlaWdodH0gKSArIGNhbGMoICN7ICRfbGlzdC1pdGVtLXBhZGRpbmcteX0gKiAyICkgKTtcblxuXG4gICAgICAgIC5rLXRpbWVzZWxlY3Rvci0jeyRzaXplfSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRfZm9udC1zaXplO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRfbGluZS1oZWlnaHQ7XG5cbiAgICAgICAgICAgIC5rLXRpbWUtaGlnaGxpZ2h0LFxuICAgICAgICAgICAgLmstdGltZS1saXN0LWhpZ2hsaWdodCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkX2hpZ2hsaWdodC1oZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWUtc2VwYXJhdG9yIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICAkX2hpZ2hsaWdodC1oZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWUtbGlzdC1pdGVtLFxuICAgICAgICAgICAgLmstdGltZS1saXN0IC5rLWl0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfbGlzdC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9saXN0LWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC5rLXJ0bCxcbiAgICBbZGlyPVwicnRsXCJdIHtcblxuICAgICAgICAvLyBUaW1lIGxpc3QgY29udGVudFxuICAgICAgICAuay10aW1lLWNvbnRhaW5lcixcbiAgICAgICAgLmstdGltZS1saXN0LWNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGlkZS1zY3JvbGxiYXIoXCJsZWZ0XCIpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRpbWUtc2VsZWN0b3ItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLXNlbGVjdG9yLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRpbWUtc2VsZWN0b3ItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLXNlbGVjdG9yLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvdGltZXNlbGVjdG9yL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVzZWxlY3Rvci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVzZWxlY3Rvci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXRpbWUtc2VsZWN0b3ItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBUaW1lIHNlbGVjdG9yXG4gICAgLmstdGltZXNlbGVjdG9yIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10aW1lLXNlbGVjdG9yLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tdGltZS1zZWxlY3Rvci1iZyxcbiAgICAgICAgICAgICRrZW5kby10aW1lLXNlbGVjdG9yLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gVGltZSBzZWxlY3RvciBoZWFkZXJcbiAgICAuay10aW1lLWhlYWRlcixcbiAgICAuay10aW1lLXNlbGVjdG9yLWhlYWRlciB7XG5cbiAgICAgICAgLmstdGltZS1ub3cge1xuICAgICAgICAgICAgLy8gVE9ETzogdXNlIGEgdmFyaWFibGVcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tbGluay10ZXh0O1xuICAgICAgICB9XG4gICAgICAgIC5rLXRpbWUtbm93OmhvdmVyIHtcbiAgICAgICAgICAgIC8vIFRPRE86IHVzZSBhIHZhcmlhYmxlXG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWxpbmstaG92ZXItdGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGltZSBsaXN0IHdyYXBwZXJcbiAgICAuay10aW1lLWxpc3Qtd3JhcHBlciB7XG5cbiAgICAgICAgLmstdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby10aW1lLWxpc3QtdGl0bGUtdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAuay10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby10aW1lLWxpc3QtdGl0bGUtZm9jdXMtdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10aW1lLWxpc3QtZm9jdXMtYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRpbWUgbGlzdFxuICAgIC5rLXRpbWUtbGlzdCB7XG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgJHNoYWRvdy1zaXplOiAzZW07XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgJHNoYWRvdy1zaXplIGstbWF0aC1kaXYoICRzaGFkb3ctc2l6ZSwgMiApICRrZW5kby10aW1lLXNlbGVjdG9yLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaXRlbTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWNvbG9yLXByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10aW1lLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5rLXRpbWUtaGlnaGxpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogJGtlbmRvLXRpbWUtbGlzdC1oaWdobGlnaHQtYmcsXG4gICAgICAgICAgICAkYm9yZGVyOiAka2VuZG8tdGltZS1saXN0LWhpZ2hsaWdodC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdGltZS1zZWxlY3Rvci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1zZWxlY3Rvci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRpbWUtc2VsZWN0b3ItLXRoZW1lKCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1zZWxlY3Rvci0tdGhlbWUtYmFzZSgpO1xuXG4gICAgLy8gVGltZSBzZWxlY3RvclxuICAgIC5rLXRpbWVzZWxlY3RvciB7fVxuXG5cbiAgICAvLyBUaW1lIGxpc3RcbiAgICAuay10aW1lLWxpc3Qge1xuICAgICAgICAuay1pdGVtOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0taG92ZXItYmdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10aW1lLXNlbGVjdG9yLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0aW1lLXNlbGVjdG9yXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtc2VsZWN0b3ItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10aW1lLXNlbGVjdG9yLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1zZWxlY3Rvci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBBdWdtZW50ZWQgZm9ybXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vYXV0b2NvbXBsZXRlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYXV0b2NvbXBsZXRlL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImF1dG9jb21wbGV0ZVwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgXCJwb3B1cFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbGlzdC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2F1dG9jb21wbGV0ZS9fdmFyaWFibGVzLnNjc3Ncbi8vIEF1dG9jb21wbGV0ZVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2F1dG9jb21wbGV0ZS9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYXV0b2NvbXBsZXRlL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2F1dG9jb21wbGV0ZS9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1hdXRvY29tcGxldGUtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQXV0b2NvbXBsZXRlXG4gICAgLmstYXV0b2NvbXBsZXRlIHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYXV0b2NvbXBsZXRlLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYXV0b2NvbXBsZXRlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWF1dG9jb21wbGV0ZS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWF1dG9jb21wbGV0ZS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2F1dG9jb21wbGV0ZS9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hdXRvY29tcGxldGUvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hdXRvY29tcGxldGUvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1hdXRvY29tcGxldGUtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBBdXRvY29tcGxldGVcbiAgICAuay1hdXRvY29tcGxldGUge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1hdXRvY29tcGxldGUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWF1dG9jb21wbGV0ZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWF1dG9jb21wbGV0ZS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYXV0b2NvbXBsZXRlLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tYXV0b2NvbXBsZXRlLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJhdXRvY29tcGxldGVcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYXV0b2NvbXBsZXRlLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYXV0b2NvbXBsZXRlLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tYXV0b2NvbXBsZXRlLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jYXB0Y2hhL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2FwdGNoYS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJjYXB0Y2hhXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwic2xpZGVyXCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICAvLyBcInV0aWxzL2xheW91dC9wb3NpdGlvblwiLFxuICAgICAgICAvLyBcInV0aWxzL3R5cG9ncmFwaHkvdGV4dC1jb2xvclwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjtcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdGV4dGJveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RleHRib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9zbGlkZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zbGlkZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2NhcHRjaGEvX3ZhcmlhYmxlcy5zY3NzXG4vLyBDYXB0Y2hhXG5cbi8vLyBUaGUgc3BhY2VyIG9mIHRoZSBDYXB0Y2hhLlxuLy8vIEBncm91cCBjYXB0Y2hhXG4ka2VuZG8tY2FwdGNoYS1zcGFjZXI6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ2FwdGNoYS5cbi8vLyBAZ3JvdXAgY2FwdGNoYVxuJGtlbmRvLWNhcHRjaGEtd2lkdGg6IDMzNXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgQ2FwdGNoYS5cbi8vLyBAZ3JvdXAgY2FwdGNoYVxuJGtlbmRvLWNhcHRjaGEtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIENhcHRjaGEuXG4vLy8gQGdyb3VwIGNhcHRjaGFcbiRrZW5kby1jYXB0Y2hhLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENhcHRjaGEuXG4vLy8gQGdyb3VwIGNhcHRjaGFcbiRrZW5kby1jYXB0Y2hhLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBnYXAgb2YgdGhlIENhcHRjaGEuXG4vLy8gQGdyb3VwIGNhcHRjaGFcbiRrZW5kby1jYXB0Y2hhLWdhcDogJGtlbmRvLWNhcHRjaGEtc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBDYXB0Y2hhLlxuLy8vIEBncm91cCBjYXB0Y2hhXG4ka2VuZG8tY2FwdGNoYS1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2FwdGNoYS5cbi8vLyBAZ3JvdXAgY2FwdGNoYVxuJGtlbmRvLWNhcHRjaGEtdGV4dDogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDYXB0Y2hhLlxuLy8vIEBncm91cCBjYXB0Y2hhXG4ka2VuZG8tY2FwdGNoYS1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2FwIG9mIHRoZSBDYXB0Y2hhIGltYWdlIHdyYXBwZXIuXG4vLy8gQGdyb3VwIGNhcHRjaGFcbiRrZW5kby1jYXB0Y2hhLWltYWdlLXdyYXAtZ2FwOiAka2VuZG8tY2FwdGNoYS1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGdhcCBvZiB0aGUgQ2FwdGNoYSBpbWFnZSBjb250cm9scy5cbi8vLyBAZ3JvdXAgY2FwdGNoYVxuJGtlbmRvLWNhcHRjaGEtaW1hZ2UtY29udHJvbHMtZ2FwOiAka2VuZG8tY2FwdGNoYS1zcGFjZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdG9wIG1hcmdpbiBvZiB0aGUgQ2FwdGNoYSB2YWxpZGF0aW9uIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNhcHRjaGFcbiRrZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wOiBjYWxjKCAjeyRrZW5kby1jYXB0Y2hhLXNwYWNlcn0gLyAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgQ2FwdGNoYSB2YWxpZGF0aW9uIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNhcHRjaGFcbiRrZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZS1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzdHlsZSBvZiB0aGUgQ2FwdGNoYSB2YWxpZGF0aW9uIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNhcHRjaGFcbiRrZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvY2FwdGNoYS9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2FwdGNoYS9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jYXB0Y2hhL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWNhcHRjaGEtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQ2FwdGNoYVxuICAgIC5rLWNhcHRjaGEge1xuICAgICAgICB3aWR0aDogJGtlbmRvLWNhcHRjaGEtd2lkdGg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNhcHRjaGEtZm9udC1zaXplO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWNhcHRjaGEtZm9udC1mYW1pbHk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2FwdGNoYS1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBnYXA6ICRrZW5kby1jYXB0Y2hhLWdhcDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbWFnZVxuICAgIC5rLWNhcHRjaGEtaW1hZ2Utd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZ2FwOiAka2VuZG8tY2FwdGNoYS1pbWFnZS13cmFwLWdhcDtcbiAgICB9XG5cbiAgICAuay1jYXB0Y2hhLWltYWdlLWNvbnRyb2xzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBnYXA6ICRrZW5kby1jYXB0Y2hhLWltYWdlLWNvbnRyb2xzLWdhcDtcbiAgICB9XG5cbiAgICAuay1jYXB0Y2hhLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1jYXB0Y2hhLWltYWdlID4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgIC8vIExvYWRpbmdcbiAgICAuay1jYXB0Y2hhLWxvYWRpbmcgLmstY2FwdGNoYS1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBWb2x1bWUgQ29udHJvbFxuICAgIC5rLWNhcHRjaGEtdm9sdW1lLWNvbnRyb2wge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2F0aW9uIFN1Y2Nlc3NcbiAgICAuay1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wO1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRrZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZS1mb250LXN0eWxlO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jYXB0Y2hhLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FwdGNoYS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jYXB0Y2hhLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FwdGNoYS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2NhcHRjaGEvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2FwdGNoYS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NhcHRjaGEvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1jYXB0Y2hhLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gQ2FwdGNoYVxuICAgIC5rLWNhcHRjaGEge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNhcHRjaGEtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jYXB0Y2hhLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNhcHRjaGEtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNhcHRjaGEtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNhcHRjaGEtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jYXB0Y2hhLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jYXB0Y2hhLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tY2FwdGNoYS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiY2FwdGNoYVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jYXB0Y2hhLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY2FwdGNoYS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNhcHRjaGEtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2NvbG9ycGFsZXR0ZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbG9ycGFsZXR0ZS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJjb2xvci1wYWxldHRlXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIC8vIFwidXRpbHMvZmxleC1ncmlkXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fZmxleC5zY3NzXCI7XG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2NvbG9ycGFsZXR0ZS9fdmFyaWFibGVzLnNjc3Ncbi8vIENvbG9yUGFsZXR0ZVxuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDb2xvclBhbGV0dGUuXG4vLy8gQGdyb3VwIGNvbG9yLXBhbGV0dGVcbiRrZW5kby1jb2xvci1wYWxldHRlLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDb2xvclBhbGV0dGUuXG4vLy8gQGdyb3VwIGNvbG9yLXBhbGV0dGVcbiRrZW5kby1jb2xvci1wYWxldHRlLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENvbG9yUGFsZXR0ZS5cbi8vLyBAZ3JvdXAgY29sb3ItcGFsZXR0ZVxuJGtlbmRvLWNvbG9yLXBhbGV0dGUtbGluZS1oZWlnaHQ6IDAgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIENvbG9yUGFsZXR0ZSB0aWxlLlxuLy8vIEBncm91cCBjb2xvci1wYWxldHRlXG4ka2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLXdpZHRoOiBrLXNwYWNpbmcoNikgIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgQ29sb3JQYWxldHRlIHRpbGUuXG4vLy8gQGdyb3VwIGNvbG9yLXBhbGV0dGVcbiRrZW5kby1jb2xvci1wYWxldHRlLXRpbGUtaGVpZ2h0OiAka2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIENvbG9yUGFsZXR0ZSBmb2N1c2VkIHRpbGUuXG4vLy8gQGdyb3VwIGNvbG9yLXBhbGV0dGVcbiRrZW5kby1jb2xvci1wYWxldHRlLXRpbGUtZm9jdXMtc2hhZG93OiAwIDAgM3B4IDFweCByZ2JhKCBibGFjaywgLjMgKSwgaW5zZXQgMCAwIDAgMXB4IHJnYmEoIHdoaXRlLCAuNSApICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIENvbG9yUGFsZXR0ZSBob3ZlcmVkIHRpbGUuXG4vLy8gQGdyb3VwIGNvbG9yLXBhbGV0dGVcbiRrZW5kby1jb2xvci1wYWxldHRlLXRpbGUtaG92ZXItc2hhZG93OiAwIDAgM3B4IDFweCByZ2JhKCBibGFjaywgLjMgKSwgaW5zZXQgMCAwIDAgMXB4IHJnYmEoIHdoaXRlLCAuOCApICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIENvbG9yUGFsZXR0ZSBzZWxlY3RlZCB0aWxlLlxuLy8vIEBncm91cCBjb2xvci1wYWxldHRlXG4ka2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLXNlbGVjdGVkLXNoYWRvdzogMCAxcHggM3B4IDFweCByZ2JhKCBibGFjaywgLjMgKSwgaW5zZXQgMCAwIDAgMXB4IHJnYmEoIHdoaXRlLCAxICkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvY29sb3JwYWxldHRlL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb2xvcnBhbGV0dGUvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JwYWxldHRlL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWNvbG9yLXBhbGV0dGUtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQ29sb3JQYWxldHRlXG4gICAgLmstY29sb3JwYWxldHRlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jb2xvci1wYWxldHRlLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1jb2xvci1wYWxldHRlLWZvbnQtZmFtaWx5O1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNvbG9yLXBhbGV0dGUtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUYWJsZVxuICAgIC5rLWNvbG9ycGFsZXR0ZS10YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAvLyBUaWxlXG4gICAgLmstY29sb3JwYWxldHRlLXRpbGUge1xuICAgICAgICB3aWR0aDogJGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLWhlaWdodDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDE7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMsXG4gICAgICAgICYuay1zZWxlY3RlZCxcbiAgICAgICAgJi5rLXNlbGVjdGVkOmhvdmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1wYWxldHRlLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGFsZXR0ZS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1wYWxldHRlLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGFsZXR0ZS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2NvbG9ycGFsZXR0ZS9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb2xvcnBhbGV0dGUvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb2xvcnBhbGV0dGUvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1jb2xvci1wYWxldHRlLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gVGlsZVxuICAgIC5rLWNvbG9ycGFsZXR0ZS10aWxlIHtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1jb2xvci1wYWxldHRlLXRpbGUtaG92ZXItc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2VsZWN0ZWQsXG4gICAgICAgICYuay1zZWxlY3RlZDpob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLXNlbGVjdGVkLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItcGFsZXR0ZS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGFsZXR0ZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWNvbG9yLXBhbGV0dGUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLXBhbGV0dGUtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1jb2xvci1wYWxldHRlLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJjb2xvci1wYWxldHRlXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLXBhbGV0dGUtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1wYWxldHRlLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGFsZXR0ZS0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vY29sb3JncmFkaWVudC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbG9yZ3JhZGllbnQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiY29sb3ItZ3JhZGllbnRcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwibnVtZXJpYy10ZXh0Ym94XCIsXG4gICAgICAgIFwic2xpZGVyXCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICBcInV0aWxzL2ZsZXgtZ3JpZFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2ZsZXguc2Nzc1wiO1xuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19zcGFjZXIuc2Nzc1wiO1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3NsaWRlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3NsaWRlci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RleHRib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90ZXh0Ym94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbnVtZXJpY3RleHRib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9udW1lcmljdGV4dGJveC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJudW1lcmljLXRleHRib3hcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcImljb25cIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9udW1lcmljdGV4dGJveC9fdmFyaWFibGVzLnNjc3Ncbi8vIE51bWVyaWMgdGV4dGJveFxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL251bWVyaWN0ZXh0Ym94L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9udW1lcmljdGV4dGJveC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9udW1lcmljdGV4dGJveC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1udW1lcmljLXRleHRib3gtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gTnVtZXJpYyB0ZXh0Ym94XG4gICAgLmstbnVtZXJpYy10ZXh0Ym94IHt9XG5cblxuICAgIC8vIEFsaWFzXG4gICAgLmstbnVtZXJpY3RleHRib3ggeyBAZXh0ZW5kIC5rLW51bWVyaWMtdGV4dGJveCAhb3B0aW9uYWw7IH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1udW1lcmljLXRleHRib3gtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1udW1lcmljLXRleHRib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbnVtZXJpYy10ZXh0Ym94LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbnVtZXJpYy10ZXh0Ym94LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvbnVtZXJpY3RleHRib3gvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbnVtZXJpY3RleHRib3gvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9udW1lcmljdGV4dGJveC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLW51bWVyaWMtdGV4dGJveC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIE51bWVyaWMgdGV4dGJveFxuICAgIC5rLW51bWVyaWMtdGV4dGJveCB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLW51bWVyaWMtdGV4dGJveC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbnVtZXJpYy10ZXh0Ym94LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbnVtZXJpYy10ZXh0Ym94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1udW1lcmljLXRleHRib3gtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1udW1lcmljLXRleHRib3gtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcIm51bWVyaWMtdGV4dGJveFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1udW1lcmljLXRleHRib3gtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1udW1lcmljLXRleHRib3gtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1udW1lcmljLXRleHRib3gtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2NvbG9yZ3JhZGllbnQvX3ZhcmlhYmxlcy5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2ltYWdlcy9hbHBoYS1zbGlkZXItYmdyLnNjc3NcIjsgLT4gc2Nzcy9jb2xvcmdyYWRpZW50L2ltYWdlcy9hbHBoYS1zbGlkZXItYmdyLnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cbi8vIENvbG9yR3JhZGllbnRcblxuLy8vIFRoZSBzcGFjZXIgb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtc3BhY2VyOiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtd2lkdGg6IDI5NHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobWQpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXBhZGRpbmcteTogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXBhZGRpbmcteDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBzZWN0aW9ucyBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1nYXA6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWZvY3VzLWJvcmRlcjogJGtlbmRvLWhvdmVyLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWZvY3VzLXNoYWRvdzogJGJveC1zaGFkb3ctZGVwdGgtMyAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcy5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBpdGVtcyBvZiB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLWdhcDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBoc3YgcmVjdGFuZ2xlLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1yZWN0YW5nbGUtaGVpZ2h0OiAxODBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ29sb3JHcmFkaWVudCBzbGlkZXIuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemU6IDEwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIENvbG9yR3JhZGllbnQgc2xpZGVyLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci1ib3JkZXItcmFkaXVzOiAxMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQ29sb3JHcmFkaWVudCBzbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLWRyYWdoYW5kbGUtYm9yZGVyLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBDb2xvckdyYWRpZW50IHZlcnRpY2FsIHNsaWRlci5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdmVydGljYWwtc2l6ZTogMTgwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBDb2xvckdyYWRpZW50IGhvcml6b250YWwgc2xpZGVyLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci1ob3Jpem9udGFsLXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtd2lkdGg6IDE0cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1oZWlnaHQ6IDE0cHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgb3V0bGluZSBhcm91bmQgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtb3V0bGluZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWJvcmRlci1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtYm9yZGVyOiByZ2JhKCB3aGl0ZSwgLjggKSAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIG91dGxpbmUgYXJvdW5kIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLXNoYWRvdzogcmdiYSggJGtlbmRvLWNvbG9yLWJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvY3VzIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGFyb3VuZCB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1mb2N1cy1zaGFkb3c6ICRrZW5kby1jb2xvci1ibGFjayAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSBjb2xvciBvZiB0aGUgb3V0bGluZSBhcm91bmQgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtaG92ZXItc2hhZG93OiAka2VuZG8tY29sb3ItYmxhY2sgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtc2hhZG93OiBrLWVsZXZhdGlvbigyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBtYXJnaW4gb2YgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1kcmFnaGFuZGxlLW1hcmdpbi15OiAtIGstbWF0aC1kaXYoICRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWhlaWdodCwgMiApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLWRyYWdoYW5kbGUtbWFyZ2luLXg6IC0gay1tYXRoLWRpdiggJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtd2lkdGgsIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ29sb3JHcmFkaWVudCBpbnB1dC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC13aWR0aDogNTBweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBDb2xvckdyYWRpZW50IGlucHV0cy5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1nYXA6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBDb2xvckdyYWRpZW50IGlucHV0cyBhbmQgdGhlaXIgbGFiZWxzLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWlucHV0LWxhYmVsLWdhcDogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDb2xvckdyYWRpZW50IGlucHV0IGxhYmVscy5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1sYWJlbC10ZXh0OiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIENvbG9yR3JhZGllbnQgY29udHJhc3QgcmF0aW8gdGV4dC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1jb250cmFzdC1yYXRpby1mb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LW1lZGl1bSwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgaXRlbXMgaW4gdGhlIENvbG9yR3JhZGllbnQgY29udHJhc3QgdG9vbC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1jb250cmFzdC1zcGFjZXI6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9jb2xvcmdyYWRpZW50L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb2xvcmdyYWRpZW50L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbG9yZ3JhZGllbnQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tY29sb3ItZ3JhZGllbnQtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQ29sb3JHcmFkaWVudFxuICAgIC5rLWNvbG9yZ3JhZGllbnQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tY29sb3ItZ3JhZGllbnQtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICB3aWR0aDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jb2xvci1ncmFkaWVudC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtZm9udC1mYW1pbHk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBnYXA6ICRrZW5kby1jb2xvci1ncmFkaWVudC1nYXA7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDYW52YXNcbiAgICAuay1jb2xvcmdyYWRpZW50LWNhbnZhcyB7XG4gICAgICAgIGdhcDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1nYXA7XG5cbiAgICAgICAgLmstaHN2LXJlY3RhbmdsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1oc3YtZ3JhZGllbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtcmVjdGFuZ2xlLWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWhzdi1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtZHJhZ2hhbmRsZS1tYXJnaW4teTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLWRyYWdoYW5kbGUtbWFyZ2luLXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1oc3YtY29udHJvbHMge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBnYXA6ICRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtZ2FwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJhZ0hhbmRsZVxuICAgIC5rLWNvbG9yZ3JhZGllbnQgLmstZHJhZ2hhbmRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWhlaWdodDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmUtd2lkdGg6ICRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLW91dGxpbmUtd2lkdGg7XG4gICAgICAgIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC8vIFNsaWRlcnNcbiAgICAuay1jb2xvcmdyYWRpZW50LXNsaWRlciB7XG5cbiAgICAgICAgJi5rLXNsaWRlci12ZXJ0aWNhbCB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci10cmFjay1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXZlcnRpY2FsLXNpemU7XG4gICAgICAgICAgICBmbGV4OiAwIDAgJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci10cmFjay1zaXplO1xuICAgICAgICB9XG4gICAgICAgICYuay1zbGlkZXItdmVydGljYWwgLmstc2xpZGVyLXRyYWNrIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSBrLW1hdGgtZGl2KCAka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemUsIDIgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1zbGlkZXItaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci1ob3Jpem9udGFsLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdHJhY2stc2l6ZTtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemU7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLXNsaWRlci1ob3Jpem9udGFsIC5rLXNsaWRlci10cmFjayB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdHJhY2stc2l6ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0gay1tYXRoLWRpdiggJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci10cmFjay1zaXplLCAyICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstYWxwaGEtc2xpZGVyIC5rLXNsaWRlci10cmFjazo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xpZGVyLXRyYWNrLXdyYXAge1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNsaWRlci1zZWxlY3Rpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyYWdoYW5kbGUge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLWRyYWdoYW5kbGUtYm9yZGVyLXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5wdXRzXG4gICAgLmstY29sb3JncmFkaWVudC1pbnB1dHMge1xuICAgICAgICBnYXA6ICRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1nYXA7XG5cbiAgICAgICAgLmstY29sb3JncmFkaWVudC1pbnB1dC1sYWJlbCB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay12c3RhY2sge1xuICAgICAgICAgICAgZ2FwOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtaW5wdXQtbGFiZWwtZ2FwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbnVtZXJpY3RleHRib3gge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWlucHV0LWlubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAycHg7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDJweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb250cmFzdFxuICAgIC5rLWNvbG9yZ3JhZGllbnQtY29sb3ItY29udHJhc3Qge1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBnYXA6ICRrZW5kby1jb2xvci1ncmFkaWVudC1jb250cmFzdC1zcGFjZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb250cmFzdC1yYXRpbyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtY29udHJhc3Qtc3BhY2VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY29udHJhc3QtcmF0aW8tdGV4dCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNvbnRyYXN0LXJhdGlvLWZvbnQtd2VpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY29udHJhc3QtdmFsaWRhdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IGNhbGMoICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWNvbnRyYXN0LXNwYWNlcn0gLyAyICk7XG5cbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIE5lZWRlZCBmb3IgdGhlIGRvdWJsZSBjaGVjayBpY29uc1xuICAgICAgICAgICAgLmstaWNvbiArIC5rLWljb24sXG4gICAgICAgICAgICAuay1pY29uLXdyYXBwZXItaG9zdCArIC5rLWljb24td3JhcHBlci1ob3N0IC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0xM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWNvbG9yLWNvbnRyYXN0LXN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNvbG9yLWdyYWRpZW50LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZ3JhZGllbnQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItZ3JhZGllbnQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1ncmFkaWVudC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2NvbG9yZ3JhZGllbnQvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JncmFkaWVudC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbG9yZ3JhZGllbnQvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1jb2xvci1ncmFkaWVudC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yR3JhZGllbnRcbiAgICAuay1jb2xvcmdyYWRpZW50IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jb2xvci1ncmFkaWVudC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWNvbG9yLWdyYWRpZW50LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNvbG9yLWdyYWRpZW50LWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLWNvbG9yZ3JhZGllbnQ6Zm9jdXMsXG4gICAgLmstY29sb3JncmFkaWVudC5rLWZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWZvY3VzLWJvcmRlciApO1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1jb2xvci1ncmFkaWVudC1mb2N1cy1zaGFkb3cgKTtcbiAgICB9XG5cbiAgICAvLyBDYW52YXNcbiAgICAuay1jb2xvcmdyYWRpZW50LWNhbnZhcyAuay1oc3YtZ3JhZGllbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIHRvIGJvdHRvbSwgJGtlbmRvLWdyYWRpZW50LXRyYW5zcGFyZW50LXRvLWJsYWNrICksIGxpbmVhci1ncmFkaWVudCggdG8gcmlnaHQsICRrZW5kby1ncmFkaWVudC13aGl0ZS10by10cmFuc3BhcmVudCApO1xuICAgIH1cblxuICAgIC8vIERyYWdIYW5kbGVcbiAgICAuay1jb2xvcmdyYWRpZW50IC5rLWRyYWdoYW5kbGUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIG91dGxpbmUtY29sb3I6ICRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWZvY3VzLXNoYWRvdztcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtc2hhZG93ICk7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdHJhbnNwYXJlbnQsICRib3JkZXI6ICRrZW5kby1jb2xvci13aGl0ZSApO1xuICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtZm9jdXMtc2hhZG93O1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlcixcbiAgICAgICAgJi5rLWFjdGl2ZSxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB0cmFuc3BhcmVudCwgJGJvcmRlcjogJGtlbmRvLWNvbG9yLXdoaXRlICk7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1ob3Zlci1zaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTbGlkZXJcbiAgICAuay1jb2xvcmdyYWRpZW50LXNsaWRlci5rLWh1ZS1zbGlkZXIge1xuICAgICAgICAmLmstc2xpZGVyLWhvcml6b250YWwgLmstc2xpZGVyLXRyYWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCggdG8gcmlnaHQsICRrZW5kby1ncmFkaWVudC1yYWluYm93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2xpZGVyLXZlcnRpY2FsIC5rLXNsaWRlci10cmFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIHRvIHRvcCwgJGtlbmRvLWdyYWRpZW50LXJhaW5ib3cgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNvbG9yZ3JhZGllbnQtc2xpZGVyLmstYWxwaGEtc2xpZGVyIC5rLXNsaWRlci10cmFjazo6YmVmb3JlIHtcbiAgICAgICAgLy8gVE9ETzogZXh0cmFjdCB2YXJpYWJsZVxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoI3trLW1hcC1nZXQoJF9rZW5kby1kYXRhLXVyaXMsIFwiYWxwaGEtc2xpZGVyLWJnci5wbmdcIil9KSBjZW50ZXIgcmVwZWF0O1xuICAgIH1cblxuICAgIC8vIElucHV0c1xuICAgIC5rLWNvbG9yZ3JhZGllbnQtaW5wdXQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1sYWJlbC10ZXh0ICk7XG4gICAgfVxuXG5cbiAgICAvLyBSVExcbiAgICAuay1ydGwsXG4gICAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAgIC5rLWNvbG9yZ3JhZGllbnQge1xuXG4gICAgICAgICAgICAuay1odWUtc2xpZGVyLmstc2xpZGVyLWhvcml6b250YWwgLmstc2xpZGVyLXRyYWNrIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIHRvIGxlZnQsICRrZW5kby1ncmFkaWVudC1yYWluYm93ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1ncmFkaWVudC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZ3JhZGllbnQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1ncmFkaWVudC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZ3JhZGllbnQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1jb2xvci1ncmFkaWVudC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiY29sb3ItZ3JhZGllbnRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZ3JhZGllbnQtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1ncmFkaWVudC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLWdyYWRpZW50LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb2xvcmVkaXRvci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbG9yZWRpdG9yL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImNvbG9yLWVkaXRvclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImFjdGlvbnNcIixcbiAgICAgICAgXCJjb2xvci1ncmFkaWVudFwiLFxuICAgICAgICBcImNvbG9yLXBhbGV0dGVcIixcbiAgICAgICAgXCJjb2xvci1wcmV2aWV3XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2FjdGlvbi1idXR0b25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYWN0aW9uLWJ1dHRvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb2xvci1wcmV2aWV3L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29sb3ItcHJldmlldy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbG9ycGFsZXR0ZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbG9ycGFsZXR0ZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbG9yZ3JhZGllbnQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb2xvcmdyYWRpZW50L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9jb2xvcmVkaXRvci9fdmFyaWFibGVzLnNjc3Ncbi8vIENvbG9yRWRpdG9yL0ZsYXRDb2xvclBpY2tlclxuXG4vLy8gVGhlIHNwYWNlciBvZiB0aGUgQ29sb3JFZGl0b3IuXG4vLy8gQGdyb3VwIGNvbG9yLWVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci1zcGFjZXI6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBtaW5pbXVtIHdpZHRoIG9mIHRoZSBDb2xvckVkaXRvci5cbi8vLyBAZ3JvdXAgY29sb3ItZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLW1pbi13aWR0aDogMjk0cHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBDb2xvckVkaXRvci5cbi8vLyBAZ3JvdXAgY29sb3ItZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBDb2xvckVkaXRvci5cbi8vLyBAZ3JvdXAgY29sb3ItZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLWJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhtZCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDb2xvckVkaXRvci5cbi8vLyBAZ3JvdXAgY29sb3ItZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDb2xvckVkaXRvci5cbi8vLyBAZ3JvdXAgY29sb3ItZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENvbG9yRWRpdG9yLlxuLy8vIEBncm91cCBjb2xvci1lZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENvbG9yRWRpdG9yLlxuLy8vIEBncm91cCBjb2xvci1lZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBDb2xvckVkaXRvci5cbi8vLyBAZ3JvdXAgY29sb3ItZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIENvbG9yRWRpdG9yLlxuLy8vIEBncm91cCBjb2xvci1lZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgQ29sb3JFZGl0b3IuXG4vLy8gQGdyb3VwIGNvbG9yLWVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci1mb2N1cy1ib3JkZXI6ICRrZW5kby1ob3Zlci1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgQ29sb3JFZGl0b3IuXG4vLy8gQGdyb3VwIGNvbG9yLWVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci1mb2N1cy1zaGFkb3c6ICRib3gtc2hhZG93LWRlcHRoLTMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ29sb3JFZGl0b3IgaGVhZGVyLlxuLy8vIEBncm91cCBjb2xvci1lZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWNvbG9yLWVkaXRvci1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ29sb3JFZGl0b3IgaGVhZGVyLlxuLy8vIEBncm91cCBjb2xvci1lZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWNvbG9yLWVkaXRvci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIENvbG9yRWRpdG9yIGhlYWRlciBhY3Rpb25zLlxuLy8vIEBncm91cCBjb2xvci1lZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItaGVhZGVyLWFjdGlvbnMtZ2FwOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIENvbG9yRWRpdG9yIHByZXZpZXcuXG4vLy8gQGdyb3VwIGNvbG9yLWVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci1jb2xvci1wcmV2aWV3LXdpZHRoOiAzMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIENvbG9yRWRpdG9yIHByZXZpZXcuXG4vLy8gQGdyb3VwIGNvbG9yLWVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci1jb2xvci1wcmV2aWV3LWhlaWdodDogMTJweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2xvcnMgaW4gdGhlIENvbG9yRWRpdG9yIHByZXZpZXcuXG4vLy8gQGdyb3VwIGNvbG9yLWVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci1wcmV2aWV3LWdhcDogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENvbG9yRWRpdG9yIHZpZXdzIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgY29sb3ItZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLXZpZXdzLXBhZGRpbmcteTogJGtlbmRvLWNvbG9yLWVkaXRvci1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ29sb3JFZGl0b3Igdmlld3MgY29udGFpbmVyLlxuLy8vIEBncm91cCBjb2xvci1lZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3Itdmlld3MtcGFkZGluZy14OiAka2VuZG8tY29sb3ItZWRpdG9yLXZpZXdzLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgQ29sb3JFZGl0b3Igdmlld3MgY29udGFpbmVyLlxuLy8vIEBncm91cCBjb2xvci1lZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3Itdmlld3MtZ2FwOiAka2VuZG8tY29sb3ItZWRpdG9yLXNwYWNlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBvdXRsaW5lIGNvbG9yIG9mIHRoZSBmb2N1c2VkIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9yLWVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci1jb2xvci1ncmFkaWVudC1mb2N1cy1vdXRsaW5lLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4zKSAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSB3aWR0aCBvZiB0aGUgZm9jdXNlZCBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1lZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItY29sb3ItZ3JhZGllbnQtZm9jdXMtb3V0bGluZTogMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIG9mZnNldCBvZiB0aGUgZm9jdXNlZCBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1lZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItY29sb3ItZ3JhZGllbnQtZm9jdXMtb3V0bGluZS1vZmZzZXQ6IDJweCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9jb2xvcmVkaXRvci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JlZGl0b3IvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JlZGl0b3IvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tY29sb3ItZWRpdG9yLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yRWRpdG9yL0ZsYXRDb2xvclBpY2tlclxuICAgIC5rLWNvbG9yZWRpdG9yIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWNvbG9yLWVkaXRvci1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIG1pbi13aWR0aDogJGtlbmRvLWNvbG9yLWVkaXRvci1taW4td2lkdGg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWNvbG9yLWVkaXRvci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNvbG9yLWVkaXRvci1mb250LXNpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tY29sb3ItZWRpdG9yLWZvbnQtZmFtaWx5O1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNvbG9yLWVkaXRvci1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhlYWRlclxuICAgIC5rLWNvbG9yZWRpdG9yLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1jb2xvci1lZGl0b3ItaGVhZGVyLXBhZGRpbmcteSAka2VuZG8tY29sb3ItZWRpdG9yLWhlYWRlci1wYWRkaW5nLXggMDtcbiAgICB9XG5cbiAgICAuay1jb2xvcmVkaXRvci1oZWFkZXItYWN0aW9ucyB7XG4gICAgICAgIGdhcDogJGtlbmRvLWNvbG9yLWVkaXRvci1oZWFkZXItYWN0aW9ucy1nYXA7XG4gICAgfVxuXG4gICAgLmstY29sb3JlZGl0b3ItcHJldmlldyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6ICRrZW5kby1jb2xvci1lZGl0b3ItcHJldmlldy1nYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgLmstY29sb3JlZGl0b3ItcHJldmlldyAuay1jb2xvci1wcmV2aWV3IHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1jb2xvci1lZGl0b3ItY29sb3ItcHJldmlldy13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tY29sb3ItZWRpdG9yLWNvbG9yLXByZXZpZXctaGVpZ2h0O1xuICAgIH1cblxuICAgIC8vIFZpZXdzXG4gICAgLmstY29sb3JlZGl0b3Itdmlld3Mge1xuICAgICAgICBtaW4td2lkdGg6IGNhbGMoIHZhcigtLWtlbmRvLWNvbG9yLXByZXZpZXctd2lkdGgsICN7JGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS13aWR0aH0pICogdmFyKC0ta2VuZG8tY29sb3ItcHJldmlldy1jb2x1bW5zLCAxMCkgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNvbG9yLWVkaXRvci12aWV3cy1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY29sb3ItZWRpdG9yLXZpZXdzLXBhZGRpbmcteDtcbiAgICAgICAgZ2FwOiAka2VuZG8tY29sb3ItZWRpdG9yLXZpZXdzLWdhcDtcblxuICAgICAgICAuay1jb2xvcmdyYWRpZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgICAgICAuay1jb2xvcmdyYWRpZW50OmZvY3VzLFxuICAgICAgICAuay1jb2xvcmdyYWRpZW50LmstZm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogJGtlbmRvLWNvbG9yLWVkaXRvci1jb2xvci1ncmFkaWVudC1mb2N1cy1vdXRsaW5lIGRvdHRlZDtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAka2VuZG8tY29sb3ItZWRpdG9yLWNvbG9yLWdyYWRpZW50LWZvY3VzLW91dGxpbmUtb2Zmc2V0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbG9ycGFsZXR0ZSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb2xvcnBhbGV0dGUtdGlsZSB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKC0ta2VuZG8tY29sb3ItcHJldmlldy13aWR0aCwgJGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS13aWR0aCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWtlbmRvLWNvbG9yLXByZXZpZXctaGVpZ2h0LCAka2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLWhlaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb290ZXJcbiAgICAuay1jb2xvcmVkaXRvci1mb290ZXIuay1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1lZGl0b3ItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1lZGl0b3ItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItZWRpdG9yLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZWRpdG9yLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvY29sb3JlZGl0b3IvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JlZGl0b3IvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb2xvcmVkaXRvci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWNvbG9yLWVkaXRvci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yRWRpdG9yL0ZsYXRDb2xvclBpY2tlclxuICAgIC5rLWNvbG9yZWRpdG9yIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jb2xvci1lZGl0b3ItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jb2xvci1lZGl0b3ItYmcsXG4gICAgICAgICAgICAka2VuZG8tY29sb3ItZWRpdG9yLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLWNvbG9yZWRpdG9yOmZvY3VzLFxuICAgIC5rLWNvbG9yZWRpdG9yLmstZm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tY29sb3ItZWRpdG9yLWZvY3VzLWJvcmRlciApO1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1jb2xvci1lZGl0b3ItZm9jdXMtc2hhZG93ICk7XG4gICAgfVxuXG4gICAgLmstY29sb3JlZGl0b3IgLmstY29sb3JncmFkaWVudDpmb2N1cyxcbiAgICAuay1jb2xvcmVkaXRvciAuay1jb2xvcmdyYWRpZW50LmstZm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lLWNvbG9yOiAka2VuZG8tY29sb3ItZWRpdG9yLWNvbG9yLWdyYWRpZW50LWZvY3VzLW91dGxpbmUtY29sb3I7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNvbG9yLWVkaXRvci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZWRpdG9yLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItZWRpdG9yLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1lZGl0b3ItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1jb2xvci1lZGl0b3ItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImNvbG9yLWVkaXRvclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1lZGl0b3ItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1lZGl0b3ItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1lZGl0b3ItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2NvbG9ycGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29sb3JwaWNrZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiY29sb3ItcGlja2VyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiY29sb3ItZWRpdG9yXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbG9yZWRpdG9yL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29sb3JlZGl0b3IvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvY29sb3JwaWNrZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBDb2xvciBwaWNrZXJcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9jb2xvcnBpY2tlci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JwaWNrZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JwaWNrZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tY29sb3ItcGlja2VyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yIHBpY2tlclxuICAgIC5rLWNvbG9yLXBpY2tlciB7XG4gICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBBbGlhc1xuICAgIC5rLWNvbG9ycGlja2VyIHtcbiAgICAgICAgQGV4dGVuZCAuay1jb2xvci1waWNrZXIgIW9wdGlvbmFsO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1waWNrZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1waWNrZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItcGlja2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGlja2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvY29sb3JwaWNrZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JwaWNrZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb2xvcnBpY2tlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWNvbG9yLXBpY2tlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yIHBpY2tlclxuICAgIC5rLWNvbG9yLXBpY2tlciB7fVxuXG59XG5cbkBtaXhpbiBrZW5kby1jb2xvci1waWNrZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLXBpY2tlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWNvbG9yLXBpY2tlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tY29sb3ItcGlja2VyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJjb2xvci1waWNrZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGlja2VyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGlja2VyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGlja2VyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb21ib2JveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbWJvYm94L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImNvbWJvYm94XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbGlzdC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvY29tYm9ib3gvX3ZhcmlhYmxlcy5zY3NzXG4vLyBDb21ib2JveFxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2NvbWJvYm94L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb21ib2JveC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb21ib2JveC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1jb21ib2JveC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBDb21ib2JveFxuICAgIC5rLWNvbWJvYm94IHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tY29tYm9ib3gtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb21ib2JveC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jb21ib2JveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbWJvYm94LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvY29tYm9ib3gvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29tYm9ib3gvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb21ib2JveC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWNvbWJvYm94LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gQ29tYm9ib3hcbiAgICAuay1jb21ib2JveCB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNvbWJvYm94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb21ib2JveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWNvbWJvYm94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb21ib2JveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWNvbWJvYm94LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJjb21ib2JveFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jb21ib2JveC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNvbWJvYm94LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29tYm9ib3gtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2RhdGVpbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RhdGVpbnB1dC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJkYXRlLWlucHV0XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2RhdGVpbnB1dC9fdmFyaWFibGVzLnNjc3Ncbi8vIERhdGUgaW5wdXRcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9kYXRlaW5wdXQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGVpbnB1dC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kYXRlaW5wdXQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZGF0ZS1pbnB1dC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBEYXRlIGlucHV0XG4gICAgLmstZGF0ZWlucHV0IHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1pbnB1dC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtaW5wdXQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1pbnB1dC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtaW5wdXQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9kYXRlaW5wdXQvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0ZWlucHV0L190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0ZWlucHV0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tZGF0ZS1pbnB1dC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIERhdGUgaW5wdXRcbiAgICAuay1kYXRlaW5wdXQge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1kYXRlLWlucHV0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLWlucHV0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1pbnB1dC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1pbnB1dC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWRhdGUtaW5wdXQtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImRhdGUtaW5wdXRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1pbnB1dC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtaW5wdXQtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLWlucHV0LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9kYXRlcGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGF0ZXBpY2tlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJkYXRlLXBpY2tlclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImNhbGVuZGFyXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jYWxlbmRhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NhbGVuZGFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9kYXRlcGlja2VyL192YXJpYWJsZXMuc2Nzc1xuLy8gRGF0ZXBpY2tlclxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2RhdGVwaWNrZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGVwaWNrZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0ZXBpY2tlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1kYXRlLXBpY2tlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBEYXRlIHBpY2tlclxuICAgIC5rLWRhdGVwaWNrZXIge31cblxufVxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1waWNrZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXBpY2tlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kYXRlLXBpY2tlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcGlja2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZGF0ZXBpY2tlci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kYXRlcGlja2VyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0ZXBpY2tlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRhdGUtcGlja2VyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gRGF0ZSBwaWNrZXJcbiAgICAuay1kYXRlcGlja2VyIHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1waWNrZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1waWNrZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZGF0ZS1waWNrZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImRhdGUtcGlja2VyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcGlja2VyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1waWNrZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXBpY2tlci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdGltZXBpY2tlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RpbWVwaWNrZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwidGltZS1waWNrZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICAgICAgXCJ0aW1lLXNlbGVjdG9yXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90aW1lc2VsZWN0b3IvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90aW1lc2VsZWN0b3IvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3RpbWVwaWNrZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBUaW1lIHBpY2tlclxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3RpbWVwaWNrZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVwaWNrZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGltZXBpY2tlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby10aW1lLXBpY2tlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBUaW1lIHBpY2tlclxuICAgIC5rLXRpbWUtcGlja2VyIHt9XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgLmstdGltZXBpY2tlciB7XG4gICAgICAgIEBleHRlbmQgLmstdGltZS1waWNrZXIgIW9wdGlvbmFsO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby10aW1lLXBpY2tlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtcGlja2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRpbWUtcGlja2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1waWNrZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90aW1lcGlja2VyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVwaWNrZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90aW1lcGlja2VyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdGltZS1waWNrZXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBUaW1lIHBpY2tlclxuICAgIC5rLXRpbWUtcGlja2VyIHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdGltZS1waWNrZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLXRpbWUtcGlja2VyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLXBpY2tlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXRpbWUtcGlja2VyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0aW1lLXBpY2tlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10aW1lLXBpY2tlci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtcGlja2VyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1waWNrZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2RhdGV0aW1lcGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGF0ZXRpbWVwaWNrZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZGF0ZS10aW1lLXBpY2tlclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImNhbGVuZGFyXCIsXG4gICAgICAgIFwiZGF0ZS1pbnB1dFwiLFxuICAgICAgICBcImRhdGUtcGlja2VyXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgICAgIFwidGltZS1zZWxlY3RvclwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcG9wdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2FsZW5kYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jYWxlbmRhci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RpbWVzZWxlY3Rvci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RpbWVzZWxlY3Rvci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2FjdGlvbi1idXR0b25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYWN0aW9uLWJ1dHRvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2RhdGV0aW1lcGlja2VyL192YXJpYWJsZXMuc2Nzc1xuLy8gRGF0ZVRpbWVcbiRrZW5kby1kYXRldGltZS13aWR0aDogY2FsYyggY2FsYyggI3ska2VuZG8tY2FsZW5kYXItY2VsbC1zaXplfSAqIDggKSArIGNhbGMoICN7JGtlbmRvLWluZmluaXRlLWNhbGVuZGFyLXZpZXctcGFkZGluZy14fSAqIDIgKSkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZGF0ZXRpbWVwaWNrZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGV0aW1lcGlja2VyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGV0aW1lcGlja2VyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWRhdGUtdGltZS1waWNrZXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gRGF0ZXRpbWUgY29udGFpbmVyXG4gICAgLmstZGF0ZXRpbWUtY29udGFpbmVyIHt9XG5cbiAgICAvLyBEYXRldGltZSBzZWxlY3RvclxuICAgIC5rLWRhdGV0aW1lLXNlbGVjdG9yIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcbiAgICB9XG5cbiAgICAvLyBXcmFwXG4gICAgLmstZGF0ZXRpbWUtd3JhcCB7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tZGF0ZXRpbWUtd2lkdGg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmstZGF0ZXRpbWUtYnV0dG9uZ3JvdXAge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWFjdGlvbnMtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1hY3Rpb25zLXBhZGRpbmcteDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhbGVuZGFyLFxuICAgICAgICAuay10aW1lc2VsZWN0b3Ige1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbm5lciB3cmFwXG4gICAgLmstZGF0ZXRpbWUtY2FsZW5kYXItd3JhcCxcbiAgICAuay1kYXRldGltZS10aW1lLXdyYXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDAgMCAka2VuZG8tZGF0ZXRpbWUtd2lkdGg7XG4gICAgfVxuXG4gICAgLy8gVGFic1xuICAgIC5rLWRhdGUtdGFiIC5rLWRhdGV0aW1lLXNlbGVjdG9yIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICAuay10aW1lLXRhYiAuay1kYXRldGltZS1zZWxlY3RvciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuXG4gICAgLmstdGltZS10YWIgLmstZGF0ZXRpbWUtc2VsZWN0b3Ige1xuICAgICAgICAmLmstcnRsLFxuICAgICAgICAmW2Rpcj1cInJ0bFwiXSxcbiAgICAgICAgLmstcnRsICYsXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQG1peGluIGtlbmRvLWRhdGUtdGltZS1waWNrZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWRhdGUtdGltZS1waWNrZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZGF0ZXRpbWVwaWNrZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0ZXRpbWVwaWNrZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kYXRldGltZXBpY2tlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRhdGUtdGltZS1waWNrZXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBEYXRldGltZSBwaWNrZXJcbiAgICAuay1kYXRldGltZXBpY2tlciB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRhdGUtdGltZS1waWNrZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtdGltZS1waWNrZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZGF0ZS10aW1lLXBpY2tlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZGF0ZS10aW1lLXBpY2tlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZGF0ZS10aW1lLXBpY2tlci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtdGltZS1waWNrZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3RpbWVkdXJhdGlvbnBpY2tlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RpbWVkdXJhdGlvbnBpY2tlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0aW1lLWR1cmF0aW9uLXBpY2tlclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgXCJwb3B1cFwiLFxuICAgICAgICBcInRpbWUtc2VsZWN0b3JcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90aW1lc2VsZWN0b3IvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90aW1lc2VsZWN0b3IvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3RpbWVkdXJhdGlvbnBpY2tlci9fdmFyaWFibGVzLnNjc3Ncbi8vIFRpbWVkdXJhdGlvbnBpY2tlclxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3RpbWVkdXJhdGlvbnBpY2tlci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGltZWR1cmF0aW9ucGlja2VyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVkdXJhdGlvbnBpY2tlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBUaW1lIGR1cmF0aW9uIHBpY2tlclxuICAgIC5rLXRpbWUtZHVyYXRpb24tcGlja2VyIHt9XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgLmstdGltZWR1cmF0aW9ucGlja2VyIHtcbiAgICAgICAgQGV4dGVuZCAuay10aW1lLWR1cmF0aW9uLXBpY2tlcjtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdGltZS1kdXJhdGlvbi1waWNrZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtZHVyYXRpb24tcGlja2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvdGltZWR1cmF0aW9ucGlja2VyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVkdXJhdGlvbnBpY2tlci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVkdXJhdGlvbnBpY2tlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXRpbWUtZHVyYXRpb24tcGlja2VyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gVGltZSBkdXJhdGlvbiBwaWNrZXJcbiAgICAuay10aW1lLWR1cmF0aW9uLXBpY2tlciB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRpbWUtZHVyYXRpb24tcGlja2VyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRpbWUtZHVyYXRpb24tcGlja2VyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXRpbWUtZHVyYXRpb24tcGlja2VyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0aW1lLWR1cmF0aW9uLXBpY2tlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtZHVyYXRpb24tcGlja2VyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1kdXJhdGlvbi1waWNrZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2RhdGVyYW5nZXBpY2tlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RhdGVyYW5nZXBpY2tlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJkYXRlLXJhbmdlLXBpY2tlclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImNhbGVuZGFyXCIsXG4gICAgICAgIFwiZGF0ZS1pbnB1dFwiLFxuICAgICAgICBcImRhdGUtcGlja2VyXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvZGF0ZXJhbmdlcGlja2VyL192YXJpYWJsZXMuc2Nzc1xuLy8gRGF0ZXJhbmdlcGlja2VyXG4ka2VuZG8tZGF0ZXJhbmdlLXBpY2tlci1pbnB1dC13aWR0aDogMTBlbSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9kYXRlcmFuZ2VwaWNrZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGVyYW5nZXBpY2tlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kYXRlcmFuZ2VwaWNrZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gRGF0ZXJhbmdlIHBpY2tlclxuICAgIC5rLWRhdGVyYW5nZS1waWNrZXIge1xuICAgICAgICB3aWR0aDogJGtlbmRvLWlucHV0LWRlZmF1bHQtd2lkdGg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IGstc3BhY2luZygyKTtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kYXRlaW5wdXQge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1kYXRlcmFuZ2UtcGlja2VyLWlucHV0LXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBBbmd1bGFyIHNwZWNpZmljXG4gICAga2VuZG8tZGF0ZXJhbmdlIHtcbiAgICAgICAgLy8gQGV4dGVuZCAuay1kYXRlcmFuZ2VwaWNrZXIgIW9wdGlvbmFsO1xuICAgIH1cblxuXG4gICAgLy8gUmVhY3Qgc3BlY2lmaWNcbiAgICAuay1kYXRlcmFuZ2VwaWNrZXItd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgIGZsZXgtZmxvdzogaW5oZXJpdDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGluaGVyaXQ7XG4gICAgICAgIGdhcDogaW5oZXJpdDtcbiAgICB9XG5cblxuICAgIC8vIEFsaWFzXG4gICAgLmstZGF0ZXJhbmdlcGlja2VyIHtcbiAgICAgICAgQGV4dGVuZCAuay1kYXRlcmFuZ2UtcGlja2VyICFvcHRpb25hbDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXJhbmdlLXBpY2tlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kYXRlLXJhbmdlLXBpY2tlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcmFuZ2UtcGlja2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZGF0ZXJhbmdlcGlja2VyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGVyYW5nZXBpY2tlci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGVyYW5nZXBpY2tlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRhdGUtcmFuZ2UtcGlja2VyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gRGF0ZSByYW5nZSBwaWNrZXJcbiAgICAuay1kYXRlcmFuZ2VwaWNrZXIge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1kYXRlLXJhbmdlLXBpY2tlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kYXRlLXJhbmdlLXBpY2tlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1kYXRlLXJhbmdlLXBpY2tlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZGF0ZS1yYW5nZS1waWNrZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXJhbmdlLXBpY2tlci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcmFuZ2UtcGlja2VyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9kcm9wZG93bmdyaWQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmdyaWQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZHJvcGRvd24tZ3JpZFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgICAgIFwidGFibGVcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcG9wdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RhYmxlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdGFibGUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2Ryb3Bkb3duZ3JpZC9fdmFyaWFibGVzLnNjc3Ncbi8vIERyb3Bkb3duIGdyaWRcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmdyaWQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3Bkb3duZ3JpZC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kcm9wZG93bmdyaWQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tZ3JpZC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBEcm9wZG93biBncmlkXG4gICAgLmstZHJvcGRvd24tZ3JpZCB7fVxuXG5cbiAgICAvLyBEcm9wZG93biBncmlkIHBvcHVwXG4gICAgLmstZHJvcGRvd25ncmlkLXBvcHVwIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLmstZHJvcGRvd25ncmlkLXBvcHVwID4gLmstZGF0YS10YWJsZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tZ3JpZC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWdyaWQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tZ3JpZC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWdyaWQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmdyaWQvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZHJvcGRvd25ncmlkL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZHJvcGRvd25ncmlkL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tZ3JpZC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIERyb3Bkb3duIGdyaWRcbiAgICAuay1kcm9wZG93bi1ncmlkIHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tZ3JpZC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJvcGRvd24tZ3JpZC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLWdyaWQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWdyaWQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1kcm9wZG93bi1ncmlkLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJkcm9wZG93bi1ncmlkXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWdyaWQtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1ncmlkLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJvcGRvd24tZ3JpZC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZHJvcGRvd25saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd25saXN0L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImRyb3Bkb3duLWxpc3RcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2Ryb3Bkb3dubGlzdC9fdmFyaWFibGVzLnNjc3Ncbi8vIERyb3Bkb3dubGlzdFxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2Ryb3Bkb3dubGlzdC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZHJvcGRvd25saXN0L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3Bkb3dubGlzdC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1kcm9wZG93bi1saXN0LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIERyb3Bkb3duIGxpc3RcbiAgICAuay1kcm9wZG93bi1saXN0IHt9XG5cblxuICAgIC8vIE5hdGl2ZSBzZWxlY3RcbiAgICBzZWxlY3Quay1kcm9wZG93bi1saXN0IHt9XG5cblxuICAgIC8vIERyb3Bkb3duIG9wZXJhdG9yXG4gICAgLmstZHJvcGRvd24tb3BlcmF0b3Ige1xuICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgICAgIGZsZXg6IG5vbmU7XG5cbiAgICAgICAgLmstaW5wdXQtYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWlucHV0LWJ1dHRvbiAuay1idXR0b24taWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWlucHV0LWlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgLmstZHJvcGRvd24sXG4gICAgLmstZHJvcGRvd25saXN0IHtcbiAgICAgICAgQGV4dGVuZCAuay1kcm9wZG93bi1saXN0ICFvcHRpb25hbDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tbGlzdC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWxpc3QtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tbGlzdC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWxpc3QtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZHJvcGRvd25saXN0L190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZHJvcGRvd25saXN0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tbGlzdC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIERyb3Bkb3duIGxpc3RcbiAgICAuay1kcm9wZG93bi1saXN0IHt9XG5cbiAgICAvLyBOYXRpdmUgc2VsZWN0XG4gICAgc2VsZWN0LmstZHJvcGRvd24tbGlzdCB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLWxpc3QtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWxpc3QtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kcm9wZG93bi1saXN0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1saXN0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tbGlzdC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZHJvcGRvd24tbGlzdFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1saXN0LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZHJvcGRvd24tbGlzdC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWxpc3QtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2Ryb3Bkb3dudHJlZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Ryb3Bkb3dudHJlZS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJkcm9wZG93bi10cmVlXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICAgICAgXCJ0cmVldmlld1wiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZHJvcGRvd25saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd25saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbXVsdGlzZWxlY3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tdWx0aXNlbGVjdC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJtdWx0aXNlbGVjdFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImNoaXBcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NoaXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jaGlwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbGlzdC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL211bHRpc2VsZWN0L192YXJpYWJsZXMuc2Nzc1xuLy8gTXVsdGlzZWxlY3RcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9tdWx0aXNlbGVjdC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbXVsdGlzZWxlY3QvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbXVsdGlzZWxlY3QvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tbXVsdGlzZWxlY3QtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gTXVsdGlzZWxlY3RcbiAgICAuay1tdWx0aXNlbGVjdCB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLW11bHRpc2VsZWN0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbXVsdGlzZWxlY3QtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbXVsdGlzZWxlY3QtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tdWx0aXNlbGVjdC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL211bHRpc2VsZWN0L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL211bHRpc2VsZWN0L190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbXVsdGlzZWxlY3QvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1tdWx0aXNlbGVjdC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIE11bHRpc2VsZWN0XG4gICAgLmstbXVsdGlzZWxlY3Qge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1tdWx0aXNlbGVjdC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbXVsdGlzZWxlY3QtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1tdWx0aXNlbGVjdC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbXVsdGlzZWxlY3QtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1tdWx0aXNlbGVjdC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwibXVsdGlzZWxlY3RcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbXVsdGlzZWxlY3QtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1tdWx0aXNlbGVjdC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLW11bHRpc2VsZWN0LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdHJlZXZpZXcvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90cmVldmlldy9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0cmVldmlld1wiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImNoZWNrYm94XCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jaGVja2JveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NoZWNrYm94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvdHJlZXZpZXcvX3ZhcmlhYmxlcy5zY3NzXG4vLyBUcmVlVmlld1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLWxnLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc21hbGwgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctc20tZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbWVkaXVtIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LW1kLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGxhcmdlIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWxnLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1sZywgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbGluZS1oZWlnaHQ6IDEuMjUgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBzbWFsbCBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1zbS1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBtZWRpdW0gVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbWQtbGluZS1oZWlnaHQ6IGstbWF0aC1kaXYoIDIwLCAxNCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbGFyZ2UgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbGctbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbi8vLyBUaGUgaW5kZW50YXRpb24gb2YgY2hpbGQgZ3JvdXBzIGluIHRoZSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pbmRlbnQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHNtYWxsIFRyZWVWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LXNtLWl0ZW0tcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIFRyZWVWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LW1kLWl0ZW0tcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbGctaXRlbS1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgc21hbGwgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctc20taXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbWQtaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbGctaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLWJvcmRlci1yYWRpdXM6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBjaGVja2JveCBpbiB0aGUgc21hbGwgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctc20tY2hlY2tib3gtcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgY2hlY2tib3ggaW4gdGhlIG1lZGl1bSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1tZC1jaGVja2JveC1wYWRkaW5nLXg6ICRrZW5kby10cmVldmlldy1zbS1jaGVja2JveC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgY2hlY2tib3ggaW4gdGhlIGxhcmdlIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWxnLWNoZWNrYm94LXBhZGRpbmcteDogJGtlbmRvLXRyZWV2aWV3LXNtLWNoZWNrYm94LXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgY2hlY2tib3ggaW4gdGhlIHNtYWxsIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LXNtLWNoZWNrYm94LXBhZGRpbmcteTogay1zcGFjaW5nKDAuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNoZWNrYm94IGluIHRoZSBtZWRpdW0gVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbWQtY2hlY2tib3gtcGFkZGluZy15OiAka2VuZG8tdHJlZXZpZXctc20tY2hlY2tib3gtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBjaGVja2JveCBpbiB0aGUgbGFyZ2UgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbGctY2hlY2tib3gtcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgc2l6ZXMgbWFwIG9mIHRoZSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXRyZWV2aWV3LXNtLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10cmVldmlldy1zbS1saW5lLWhlaWdodCxcbiAgICAgICAgaXRlbS1wYWRkaW5nLXg6ICRrZW5kby10cmVldmlldy1zbS1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgaXRlbS1wYWRkaW5nLXk6ICRrZW5kby10cmVldmlldy1zbS1pdGVtLXBhZGRpbmcteSxcbiAgICAgICAgY2hlY2tib3gtcGFkZGluZy14OiAka2VuZG8tdHJlZXZpZXctc20tY2hlY2tib3gtcGFkZGluZy14LFxuICAgICAgICBjaGVja2JveC1wYWRkaW5nLXk6ICRrZW5kby10cmVldmlldy1zbS1jaGVja2JveC1wYWRkaW5nLXlcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXRyZWV2aWV3LW1kLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10cmVldmlldy1tZC1saW5lLWhlaWdodCxcbiAgICAgICAgaXRlbS1wYWRkaW5nLXg6ICRrZW5kby10cmVldmlldy1tZC1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgaXRlbS1wYWRkaW5nLXk6ICRrZW5kby10cmVldmlldy1tZC1pdGVtLXBhZGRpbmcteSxcbiAgICAgICAgY2hlY2tib3gtcGFkZGluZy14OiAka2VuZG8tdHJlZXZpZXctbWQtY2hlY2tib3gtcGFkZGluZy14LFxuICAgICAgICBjaGVja2JveC1wYWRkaW5nLXk6ICRrZW5kby10cmVldmlldy1tZC1jaGVja2JveC1wYWRkaW5nLXlcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXRyZWV2aWV3LWxnLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10cmVldmlldy1sZy1saW5lLWhlaWdodCxcbiAgICAgICAgaXRlbS1wYWRkaW5nLXg6ICRrZW5kby10cmVldmlldy1sZy1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgaXRlbS1wYWRkaW5nLXk6ICRrZW5kby10cmVldmlldy1sZy1pdGVtLXBhZGRpbmcteSxcbiAgICAgICAgY2hlY2tib3gtcGFkZGluZy14OiAka2VuZG8tdHJlZXZpZXctbGctY2hlY2tib3gtcGFkZGluZy14LFxuICAgICAgICBjaGVja2JveC1wYWRkaW5nLXk6ICRrZW5kby10cmVldmlldy1sZy1jaGVja2JveC1wYWRkaW5nLXlcbiAgICApXG4pICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiBob3ZlcmVkIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWl0ZW0taG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA3JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tdHJlZXZpZXctdGV4dCwgLjA3ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIGhvdmVyZWQgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctaXRlbS1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgaG92ZXJlZCBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiBob3ZlcmVkIFRyZWVWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWl0ZW0taG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiBzZWxlY3RlZCBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLXNlbGVjdGVkLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHNlbGVjdGVkIFRyZWVWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtdGV4dDogJGtlbmRvLXNlbGVjdGVkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2Ygc2VsZWN0ZWQgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctaXRlbS1zZWxlY3RlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2Ygc2VsZWN0ZWQgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctaXRlbS1zZWxlY3RlZC1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3ggc2hhZG93IG9mIGZvY3VzZWQgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctaXRlbS1mb2N1cy1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgTG9hZCBNb3JlIGJ1dHRvbiBpbiB0aGUgVHJlZVZpZXdcbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1sb2FkbW9yZS1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIExvYWQgTW9yZSBidXR0b24gaW4gdGhlIFRyZWVWaWV3XG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtdGV4dDogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBMb2FkIE1vcmUgYnV0dG9uIGluIHRoZSBUcmVlVmlld1xuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIExvYWQgTW9yZSBidXR0b24gaW4gdGhlIFRyZWVWaWV3XG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtaG92ZXItYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIExvYWQgTW9yZSBidXR0b24gaW4gdGhlIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWhvdmVyLXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBMb2FkIE1vcmUgYnV0dG9uIGluIHRoZSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1sb2FkbW9yZS1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBMb2FkIE1vcmUgYnV0dG9uIGluIHRoZSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1sb2FkbW9yZS1mb2N1cy1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZvY3VzZWQgTG9hZCBNb3JlIGJ1dHRvbiBpbiB0aGUgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtZm9jdXMtdGV4dDogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIExvYWQgTW9yZSBidXR0b24gaW4gdGhlIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBMb2FkIE1vcmUgYnV0dG9uIGluIHRoZSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1sb2FkbW9yZS1mb2N1cy1zaGFkb3c6ICRrZW5kby10cmVldmlldy1pdGVtLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3RyZWV2aWV3L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90cmVldmlldy9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90cmVldmlldy9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby10cmVldmlldy0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBUcmVldmlld1xuICAgIC5rLXRyZWV2aWV3IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXRyZWV2aWV3LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby10cmVldmlldy1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdHJlZXZpZXctbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUcmVldmlldyBmaWx0ZXJcbiAgICAuay10cmVldmlldy1maWx0ZXIge1xuICAgICAgICBwYWRkaW5nOiBrLXNwYWNpbmcoMik7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBUcmVldmlldyBncm91cFxuICAgIC5rLXRyZWV2aWV3LWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAmLm5nLWFuaW1hdGluZyB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUcmVldmlldyB3cmFwcGVyc1xuICAgIC5rLXRyZWV2aWV3LXRvcCxcbiAgICAuay10cmVldmlldy1taWQsXG4gICAgLmstdHJlZXZpZXctYm90IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIH1cblxuXG4gICAgLy8gVHJlZXZpZXcgaXRlbVxuICAgIC5rLXRyZWV2aWV3LWl0ZW0ge1xuICAgICAgICBvdXRsaW5lLXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRrZW5kby10cmVldmlldy1pbmRlbnQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG5cbiAgICAvLyBUcmVldmlldyB0b2dnbGVcbiAgICAuay10cmVldmlldy10b2dnbGUge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtJGtlbmRvLXRyZWV2aWV3LWluZGVudDtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAuay10cmVldmlldy10b2dnbGUgLmstaWNvbiB7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1pY29uLXBhZGRpbmc7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIH1cblxuXG4gICAgLy8gTG9hZGluZyBpY29uXG4gICAgLmstdHJlZXZpZXctbG9hZGluZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICB9XG5cblxuICAgIC8vIENoZWNrYm94XG4gICAgLmstdHJlZXZpZXcgLmstY2hlY2tib3gtd3JhcCxcbiAgICAuay10cmVldmlldyAuay1jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cblxuXG4gICAgLy8gVHJlZXZpZXcgbGVhZlxuICAgIC5rLXRyZWV2aWV3LWxlYWYge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tdHJlZXZpZXctaXRlbS1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10cmVldmlldy1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10cmVldmlldy1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyOiAka2VuZG8tdHJlZXZpZXctaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5rLWljb24sXG4gICAgICAgIC5rLWltYWdlLFxuICAgICAgICAuay1zcHJpdGUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8taWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRyZWV2aWV3IGxvYWQgbW9yZSBidXR0b25cbiAgICAuay10cmVldmlldyAuay10cmVldmlldy1sb2FkLW1vcmUtYnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSVExcbiAgICAuay1ydGwgLmstdHJlZXZpZXcsXG4gICAgW2Rpcj1cInJ0bFwiXSAuay10cmVldmlldyxcbiAgICAuay10cmVldmlldy5rLXJ0bCxcbiAgICAuay10cmVldmlld1tkaXI9XCJydGxcIl0ge1xuXG4gICAgICAgIC8vIFRyZWV2aWV3IGl0ZW1cbiAgICAgICAgLmstdHJlZXZpZXctaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAka2VuZG8tdHJlZXZpZXctaW5kZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTG9hZGluZ1xuICAgICAgICAuay10cmVldmlldy1sb2FkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8taWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVHJlZXZpZXcgbGVhZlxuICAgICAgICAuay10cmVldmlldy1sZWFmLFxuICAgICAgICAuay1pbiB7XG4gICAgICAgICAgICAuay1pY29uLFxuICAgICAgICAgICAgLmstaW1hZ2UsXG4gICAgICAgICAgICAuay1zcHJpdGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tdHJlZXZpZXctc2l6ZXMge1xuICAgICAgICAkX2ZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgbGluZS1oZWlnaHQpO1xuICAgICAgICAkX2l0ZW0tcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBpdGVtLXBhZGRpbmcteCk7XG4gICAgICAgICRfaXRlbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGl0ZW0tcGFkZGluZy15KTtcbiAgICAgICAgJF9jaGVja2JveC1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGNoZWNrYm94LXBhZGRpbmcteCApO1xuICAgICAgICAkX2NoZWNrYm94LXBhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgY2hlY2tib3gtcGFkZGluZy15ICk7XG5cbiAgICAgICAgLmstdHJlZXZpZXctI3skc2l6ZX0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2xpbmUtaGVpZ2h0O1xuXG4gICAgICAgICAgICAuay10cmVldmlldy1sZWFmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX2l0ZW0tcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX2l0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1jaGVja2JveC13cmFwIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX2NoZWNrYm94LXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9jaGVja2JveC1wYWRkaW5nLXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdHJlZXZpZXctLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10cmVldmlldy0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10cmVldmlldy0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRyZWV2aWV3LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvdHJlZXZpZXcvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdHJlZXZpZXcvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90cmVldmlldy9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXRyZWV2aWV3LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gVHJlZXZpZXdcbiAgICAuay10cmVldmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctdGV4dCxcbiAgICAgICAgICAgICRrZW5kby10cmVldmlldy1iZyxcbiAgICAgICAgICAgICRrZW5kby10cmVldmlldy1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIFRyZWV2aWV3IGl0ZW1cbiAgICAuay10cmVldmlldy1pdGVtIHt9XG5cblxuICAgIC8vIFRyZWV2aWV3IGxlYWZcbiAgICAuay10cmVldmlldy1sZWFmIHtcblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctaXRlbS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1pdGVtLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1pdGVtLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctaXRlbS1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby10cmVldmlldy1pdGVtLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctaXRlbS1zZWxlY3RlZC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctaXRlbS1zZWxlY3RlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRyZWV2aWV3IGxvYWQgbW9yZSBidXR0b25cbiAgICAuay10cmVldmlldyAuay10cmVldmlldy1sb2FkLW1vcmUtYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10cmVldmlldy1sb2FkbW9yZS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1sb2FkbW9yZS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1sb2FkbW9yZS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtaG92ZXItYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXMgc3RhdGVcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1sb2FkbW9yZS1mb2N1cy1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby10cmVldmlldy1sb2FkbW9yZS1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby10cmVldmlldy0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdHJlZXZpZXctLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10cmVldmlldy0tdGhlbWUoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby10cmVldmlldy0tdGhlbWUtYmFzZSgpO1xuXG4gICAgLy8gVHJlZXZpZXdcbiAgICAuay10cmVldmlldyB7fVxuXG5cbiAgICAvLyBUcmVldmlldyBpdGVtXG4gICAgLmstdHJlZXZpZXctaXRlbSB7fVxuXG5cbiAgICAvLyBUcmVldmlldyBsZWFmXG4gICAgLmstdHJlZXZpZXctbGVhZiB7XG5cbiAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctaXRlbS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctaXRlbS1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWl0ZW0taG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctaXRlbS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1pdGVtLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1pdGVtLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctaXRlbS1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1pdGVtLXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1pdGVtLXNlbGVjdGVkLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tdHJlZXZpZXctLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInRyZWV2aWV3XCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRyZWV2aWV3LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdHJlZXZpZXctLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby10cmVldmlldy0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd250cmVlL192YXJpYWJsZXMuc2Nzc1xuLy8gRHJvcGRvd250cmVlXG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBEcm9wZG93blRyZWUgcG9wdXBcbi8vLyBAZ3JvdXAgZHJvcGRvd250cmVlXG4ka2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBEcm9wZG93blRyZWUgcG9wdXBcbi8vLyBAZ3JvdXAgZHJvcGRvd250cmVlXG4ka2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2Ryb3Bkb3dudHJlZS9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZHJvcGRvd250cmVlL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3Bkb3dudHJlZS9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1kcm9wZG93bi10cmVlLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIERyb3Bkb3duIHRyZWVcbiAgICAuay1kcm9wZG93bi10cmVlIHt9XG5cbiAgICAvLyBEcm9wZG93bnRyZWUgcG9wdXBcbiAgICAuay1wb3B1cC1kcm9wZG93bnRyZWUsIC8vIHJlbW92ZSBsZWdhY3kgY2xhc3Mgb25jZSB1cGRhdGVkIGluIGNvbXBvbmVudHNcbiAgICAuay1kcm9wZG93bnRyZWUtcG9wdXAsXG4gICAgLmstbXVsdGlzZWxlY3R0cmVlLXBvcHVwIHtcbiAgICAgICAgLmstdHJlZXZpZXcge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogY2FsYyggI3ska2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteX0gLyAyICk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogY2FsYyggI3ska2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteH0gLyAyICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jaGVjay1hbGwge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWRyb3Bkb3dudHJlZS1wb3B1cC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWRyb3Bkb3dudHJlZS1wb3B1cC1wYWRkaW5nLXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1tdWx0aXNlbGVjdHRyZWUge1xuICAgICAgICAuay1pbnB1dC12YWx1ZXMge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pbnB1dC1pbm5lcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG4gICAgICAgICAgICB3aWR0aDogMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLXRyZWUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi10cmVlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLXRyZWUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi10cmVlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd250cmVlL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3Bkb3dudHJlZS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3Bkb3dudHJlZS9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRyb3Bkb3duLXRyZWUtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBEcm9wZG93biB0cmVlXG4gICAgLmstZHJvcGRvd24tdHJlZSB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLXRyZWUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLXRyZWUtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kcm9wZG93bi10cmVlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi10cmVlLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tdHJlZS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZHJvcGRvd24tdHJlZVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi10cmVlLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZHJvcGRvd24tdHJlZS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLXRyZWUtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL21hc2tlZHRleHRib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tYXNrZWR0ZXh0Ym94L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcIm1hc2tlZC10ZXh0Ym94XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvbWFza2VkdGV4dGJveC9fdmFyaWFibGVzLnNjc3Ncbi8vIE1hc2tlZCB0ZXh0Ym94XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvbWFza2VkdGV4dGJveC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWFza2VkdGV4dGJveC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tYXNrZWR0ZXh0Ym94L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIE1hc2tlZCB0ZXh0Ym94XG4gICAgLmstbWFza2VkdGV4dGJveCB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWFza2VkLXRleHRib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbWFza2VkLXRleHRib3gtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tYXNrZWQtdGV4dGJveC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL21hc2tlZHRleHRib3gvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWFza2VkdGV4dGJveC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21hc2tlZHRleHRib3gvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1tYXNrZWQtdGV4dGJveC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIE1hc2tlZCB0ZXh0Ym94XG4gICAgLmstbWFza2VkdGV4dGJveCB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tYXNrZWQtdGV4dGJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tYXNrZWQtdGV4dGJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJtYXNrZWQtdGV4dGJveFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1tYXNrZWQtdGV4dGJveC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWFza2VkLXRleHRib3gtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL211bHRpc2VsZWN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbXVsdGlzZWxlY3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL251bWVyaWN0ZXh0Ym94L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbnVtZXJpY3RleHRib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3JhdGluZy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3JhdGluZy9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJyYXRpbmdcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3JhdGluZy9fdmFyaWFibGVzLnNjc3Ncbi8vIFJhdGluZ1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBSYXRpbmcuXG4vLy8gQGdyb3VwIHJhdGluZ1xuJGtlbmRvLXJhdGluZy1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgUmF0aW5nLlxuLy8vIEBncm91cCByYXRpbmdcbiRrZW5kby1yYXRpbmctZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBSYXRpbmcuXG4vLy8gQGdyb3VwIHJhdGluZ1xuJGtlbmRvLXJhdGluZy1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgUmF0aW5nIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgcmF0aW5nXG4ka2VuZG8tcmF0aW5nLWNvbnRhaW5lci1tYXJnaW4teDogY2FsYyggI3ska2VuZG8tcGFkZGluZy1zbS14fSAvIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFJhdGluZyBpdGVtLlxuLy8vIEBncm91cCByYXRpbmdcbiRrZW5kby1yYXRpbmctaXRlbS1wYWRkaW5nLXg6IGNhbGMoICN7JGtlbmRvLXBhZGRpbmctc20teH0gLyAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFJhdGluZyBpdGVtLlxuLy8vIEBncm91cCByYXRpbmdcbiRrZW5kby1yYXRpbmctaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1wYWRkaW5nLW1kLXkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gb2YgdGhlIFJhdGluZyBsYWJlbC5cbi8vLyBAZ3JvdXAgcmF0aW5nXG4ka2VuZG8tcmF0aW5nLWxhYmVsLW1hcmdpbi14OiAka2VuZG8tcGFkZGluZy1zbS14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBtYXJnaW4gb2YgdGhlIFJhdGluZyBsYWJlbC5cbi8vLyBAZ3JvdXAgcmF0aW5nXG4ka2VuZG8tcmF0aW5nLWxhYmVsLW1hcmdpbi15OiAka2VuZG8tcGFkZGluZy1tZC15ICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgUmF0aW5nIGxhYmVsLlxuLy8vIEBncm91cCByYXRpbmdcbiRrZW5kby1yYXRpbmctbGFiZWwtbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBSYXRpbmcgaWNvbi5cbi8vLyBAZ3JvdXAgcmF0aW5nXG4ka2VuZG8tcmF0aW5nLWljb24tdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBSYXRpbmcgaWNvbi5cbi8vLyBAZ3JvdXAgcmF0aW5nXG4ka2VuZG8tcmF0aW5nLWljb24tc2VsZWN0ZWQtdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnktZGFya2VyICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIFJhdGluZyBpY29uLlxuLy8vIEBncm91cCByYXRpbmdcbiRrZW5kby1yYXRpbmctaWNvbi1ob3Zlci10ZXh0OiAka2VuZG8tY29sb3ItcHJpbWFyeS1kYXJrZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZvY3VzZWQgUmF0aW5nIGljb24uXG4vLy8gQGdyb3VwIHJhdGluZ1xuJGtlbmRvLXJhdGluZy1pY29uLWZvY3VzLXRleHQ6ICRrZW5kby1jb2xvci1wcmltYXJ5LWRhcmtlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgUmF0aW5nIGljb24uXG4vLy8gQGdyb3VwIHJhdGluZ1xuJGtlbmRvLXJhdGluZy1pY29uLWZvY3VzLXNoYWRvdzogMCAycHggNHB4IHJnYmEoIGJsYWNrLCAuMSApICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgYW5kIHNlbGVjdGVkIFJhdGluZyBpY29uLlxuLy8vIEBncm91cCByYXRpbmdcbiRrZW5kby1yYXRpbmctaWNvbi1mb2N1cy1zZWxlY3RlZC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKCBibGFjaywgLjEpICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3JhdGluZy9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcmF0aW5nL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3JhdGluZy9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1yYXRpbmctLWxheW91dC1iYXNlKCkge1xuXG4gICAgLmstcmF0aW5nIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tcmF0aW5nLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1yYXRpbmctZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXJhdGluZy1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstcmVhZG9ubHkge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1yYXRpbmctY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAka2VuZG8tcmF0aW5nLWNvbnRhaW5lci1tYXJnaW4teDtcblxuICAgICAgICAuay1yYXRpbmctaXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1yYXRpbmctaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXJhdGluZy1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlLW91dCAwcztcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXJhdGluZy1wcmVjaXNpb24tcGFydCxcbiAgICAgICAgICAgIC5rLXJhdGluZy1wcmVjaXNpb24tY29tcGxlbWVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAka2VuZG8tcmF0aW5nLWl0ZW0tcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIGxlZnQ6ICRrZW5kby1yYXRpbmctaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstcmF0aW5nLXByZWNpc2lvbi1jb21wbGVtZW50IHtcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1yYXRpbmctbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1yYXRpbmctbGFiZWwtbGluZS1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1ibG9jazogJGtlbmRvLXJhdGluZy1sYWJlbC1tYXJnaW4teTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogJGtlbmRvLXJhdGluZy1sYWJlbC1tYXJnaW4teDtcbiAgICB9XG5cbiAgICAuay1ydGwsXG4gICAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAgIC5rLXJhdGluZy1wcmVjaXNpb24tcGFydCB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6ICRrZW5kby1yYXRpbmctaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yYXRpbmctaXRlbSAuay1yYXRpbmctcHJlY2lzaW9uLWNvbXBsZW1lbnQge1xuICAgICAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcmF0aW5nLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcmF0aW5nLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXJhdGluZy0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJhdGluZy0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3JhdGluZy9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yYXRpbmcvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yYXRpbmcvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1yYXRpbmctLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1yYXRpbmcge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWNvbXBvbmVudC10ZXh0O1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG5cbiAgICAgICAgICAgIC5rLXJhdGluZy1pdGVtIHtcbiAgICAgICAgICAgICAgICA+IC5rLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KCAka2VuZG8tcmF0aW5nLWljb24tZm9jdXMtc2hhZG93ICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXNlbGVjdGVkID4gLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coICRrZW5kby1yYXRpbmctaWNvbi1mb2N1cy1zZWxlY3RlZC1zaGFkb3cgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1yYXRpbmctaXRlbSB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tcmF0aW5nLWljb24tdGV4dDtcblxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1yYXRpbmctaWNvbi1zZWxlY3RlZC10ZXh0O1xuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLXJhdGluZy1pY29uLWZvY3VzLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1yYXRpbmctaWNvbi1ob3Zlci10ZXh0O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXJhdGluZy0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcmF0aW5nLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tcmF0aW5nLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yYXRpbmctLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1yYXRpbmctLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInJhdGluZ1wiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1yYXRpbmctLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1yYXRpbmctLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yYXRpbmctLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3NlYXJjaGJveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3NlYXJjaGJveC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJzZWFyY2hib3hcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3NlYXJjaGJveC9fdmFyaWFibGVzLnNjc3Ncbi8vIFNlYXJjaGJveFxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3NlYXJjaGJveC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2VhcmNoYm94L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NlYXJjaGJveC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1zZWFyY2hib3gtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gU2VhcmNoYm94XG4gICAgLmstc2VhcmNoYm94IHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc2VhcmNoYm94LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2VhcmNoYm94LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXNlYXJjaGJveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNlYXJjaGJveC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3NlYXJjaGJveC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zZWFyY2hib3gvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zZWFyY2hib3gvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1zZWFyY2hib3gtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBTZWFyY2hib3hcbiAgICAuay1zZWFyY2hib3gge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zZWFyY2hib3gtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNlYXJjaGJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXNlYXJjaGJveC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2VhcmNoYm94LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tc2VhcmNoYm94LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJzZWFyY2hib3hcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2VhcmNoYm94LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2VhcmNoYm94LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2VhcmNoYm94LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9zd2l0Y2gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zd2l0Y2gvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwic3dpdGNoXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fYm9yZGVyLnNjc3NcIjtcblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3Mvc3dpdGNoL192YXJpYWJsZXMuc2Nzc1xuLy8gU3dpdGNoXG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFN3aXRjaC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgU3dpdGNoIHRyYWNrLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtdHJhY2stYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgU3dpdGNoIHRodW1iLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtdGh1bWItYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgdHJhbnNmb3JtIG9mIHRoZSBTd2l0Y2ggbGFiZWwuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1sYWJlbC10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBkaXNwbGF5IG9mIHRoZSBTd2l0Y2ggbGFiZWwuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1sYWJlbC1kaXNwbGF5OiBub25lICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1hcCB3aXRoIHRoZSBkaWZmZXJlbnQgU3dpdGNoIHNpemVzLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtc2l6ZXM6IChcbiAgICBzbTogKCBmb250LXNpemU6IG51bGwsIHRyYWNrLXdpZHRoOiAyNnB4LCB0cmFjay1oZWlnaHQ6ICAxMnB4LCB0aHVtYi13aWR0aDogMTZweCwgdGh1bWItaGVpZ2h0OiAxNnB4LCB0aHVtYi1vZmZzZXQ6IC0ycHgsIGxhYmVsLW9mZnNldDogMHB4ICksXG4gICAgbWQ6ICggZm9udC1zaXplOiBudWxsLCB0cmFjay13aWR0aDogMzJweCwgdHJhY2staGVpZ2h0OiAgMTRweCwgdGh1bWItd2lkdGg6IDIwcHgsIHRodW1iLWhlaWdodDogMjBweCwgdGh1bWItb2Zmc2V0OiAtM3B4LCBsYWJlbC1vZmZzZXQ6IDBweCApLFxuICAgIGxnOiAoIGZvbnQtc2l6ZTogbnVsbCwgdHJhY2std2lkdGg6IDM4cHgsIHRyYWNrLWhlaWdodDogIDE2cHgsIHRodW1iLXdpZHRoOiAyNHB4LCB0aHVtYi1oZWlnaHQ6IDI0cHgsIHRodW1iLW9mZnNldDogLTRweCwgbGFiZWwtb2Zmc2V0OiAwcHggKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAzOCUsIHRyYW5zcGFyZW50KSwgcmdiYSggaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApLCAuMzggKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIFN3aXRjaCBpcyBub3QgY2hlY2tlZFxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBob3ZlcmVkIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2staG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZm9jdXNlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGZvY3VzZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZm9jdXNlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSB0cmFjayB3aGVuIHRoZSBmb2N1c2VkIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay1mb2N1cy1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgcmluZyBhcm91bmQgdGhlIHRyYWNrIHdoZW4gdGhlIGZvY3VzZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWZvY3VzLXJpbmc6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZGlzYWJsZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWRpc2FibGVkLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3ItYmxhY2ssICRrZW5kby1jb2xvci13aGl0ZSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHRodW1iIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB0aHVtYiB3aGVuIHRoZSBob3ZlcmVkIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRodW1iIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItaG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSA0NCUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWNvbG9yLXByaW1hcnksIC41NCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdHJhY2stYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSB0cmFjayB3aGVuIHRoZSBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ob3Zlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGZvY3VzZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZm9jdXNlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZm9jdXNlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZm9jdXNlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSByaW5nIGFyb3VuZCB0aGUgdHJhY2sgd2hlbiB0aGUgZm9jdXNlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLXJpbmc6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZGlzYWJsZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1kaXNhYmxlZC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZGlzYWJsZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1kaXNhYmxlZC10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGRpc2FibGVkIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdHJhY2stZGlzYWJsZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWRpc2FibGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHRodW1iIHdoZW4gdGhlIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdGh1bWItYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB0aHVtYiB3aGVuIHRoZSBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRodW1iLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIHRodW1iIHdoZW4gdGhlIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdGh1bWItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRodW1iLWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB0aHVtYiB3aGVuIHRoZSBob3ZlcmVkIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdGh1bWItaG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSB0aHVtYiB3aGVuIHRoZSBob3ZlcmVkIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdGh1bWItaG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSB0aHVtYiB3aGVuIHRoZSBob3ZlcmVkIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdGh1bWItaG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3Mvc3dpdGNoL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zd2l0Y2gvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3dpdGNoL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXN3aXRjaC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay1zd2l0Y2gge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXN3aXRjaC1mb250LWZhbWlseTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmW2FyaWEtcmVhZG9ubHk9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSZWFkb25seVxuICAgIC5rLXN3aXRjaC5rLXJlYWRvbmx5IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBTd2l0Y2ggdHJhY2tcbiAgICAuay1zd2l0Y2gtdHJhY2sge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1zd2l0Y2gtdHJhY2stYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IGlmKCAka2VuZG8tc3dpdGNoLXRyYWNrLWJvcmRlci13aWR0aCA9PSBudWxsLCBudWxsLCBzb2xpZCApO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG5cbiAgICAvLyBTd2l0Y2ggdGh1bWJcbiAgICAuay1zd2l0Y2gtdGh1bWItd3JhcCB7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zaXRpb246IGxlZnQgMjAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRvcDogNTAlO1xuICAgIH1cbiAgICAuay1zd2l0Y2gtdGh1bWIge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1zd2l0Y2gtdGh1bWItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IGlmKCAka2VuZG8tc3dpdGNoLXRodW1iLWJvcmRlci13aWR0aCA9PSBudWxsLCBudWxsLCBzb2xpZCApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggLTUwJSwgLTUwJSApO1xuICAgIH1cblxuXG4gICAgLy8gU3dpdGNoIGxhYmVsXG4gICAgLmstc3dpdGNoLWxhYmVsLW9uLFxuICAgIC5rLXN3aXRjaC1sYWJlbC1vZmYge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGtlbmRvLXN3aXRjaC1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgZGlzcGxheTogJGtlbmRvLXN3aXRjaC1sYWJlbC1kaXNwbGF5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC01MCUgKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cblxuICAgIC8vIFN3aXRjaCBzaXplc1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tc3dpdGNoLXNpemVzIHtcblxuICAgICAgICAkX2ZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfdHJhY2std2lkdGg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHRyYWNrLXdpZHRoICk7XG4gICAgICAgICRfdHJhY2staGVpZ2h0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCB0cmFjay1oZWlnaHQgKTtcbiAgICAgICAgJF90aHVtYi13aWR0aDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgdGh1bWItd2lkdGggKTtcbiAgICAgICAgJF90aHVtYi1oZWlnaHQ6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHRodW1iLWhlaWdodCApO1xuICAgICAgICAkX3RodW1iLW9mZnNldDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgdGh1bWItb2Zmc2V0ICk7XG4gICAgICAgICRfbGFiZWwtb2Zmc2V0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBsYWJlbC1vZmZzZXQgKTtcblxuICAgICAgICAuay1zd2l0Y2gtI3skc2l6ZX0ge1xuICAgICAgICAgICAgd2lkdGg6ICRfdHJhY2std2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRfdHJhY2staGVpZ2h0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcblxuICAgICAgICAgICAgLmstc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJF90cmFjay13aWR0aDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRfdHJhY2staGVpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zd2l0Y2gtbGFiZWwtb24geyBsZWZ0OiAkX2xhYmVsLW9mZnNldDsgfVxuICAgICAgICAgICAgLmstc3dpdGNoLWxhYmVsLW9mZiB7IHJpZ2h0OiAkX2xhYmVsLW9mZnNldDsgfVxuXG4gICAgICAgICAgICAuay1zd2l0Y2gtdGh1bWIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkX3RodW1iLXdpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJF90aHVtYi1oZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1zd2l0Y2gtb24gLmstc3dpdGNoLXRodW1iLXdyYXAge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoIDEwMCUgLSAje2stbWF0aC1kaXYoICRfdGh1bWItd2lkdGgsIDIgKX0gLSAjeyRfdGh1bWItb2Zmc2V0fSApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLXN3aXRjaC1vZmYgLmstc3dpdGNoLXRodW1iLXdyYXAge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoICN7ay1tYXRoLWRpdiggJF90aHVtYi13aWR0aCwgMiApfSArICN7JF90aHVtYi1vZmZzZXR9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zd2l0Y2gtI3skc2l6ZX1bZGlyPVwicnRsXCJdLFxuICAgICAgICBbZGlyPVwicnRsXCJdIC5rLXN3aXRjaC0jeyRzaXplfSxcbiAgICAgICAgLmstcnRsIC5rLXN3aXRjaC0jeyRzaXplfSB7XG5cbiAgICAgICAgICAgIC5rLXN3aXRjaC1sYWJlbC1vbiB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogJF9sYWJlbC1vZmZzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1zd2l0Y2gtbGFiZWwtb2ZmIHtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiAkX2xhYmVsLW9mZnNldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLXN3aXRjaC1vbiAuay1zd2l0Y2gtdGh1bWItd3JhcCB7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYyggI3trLW1hdGgtZGl2KCAkX3RodW1iLXdpZHRoLCAyICl9ICsgI3skX3RodW1iLW9mZnNldH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuay1zd2l0Y2gtb2ZmIC5rLXN3aXRjaC10aHVtYi13cmFwIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKCAxMDAlIC0gI3trLW1hdGgtZGl2KCAkX3RodW1iLXdpZHRoLCAyICl9IC0gI3skX3RodW1iLW9mZnNldH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUlRMXG4gICAgLmstc3dpdGNoW2Rpcj1cInJ0bFwiXSxcbiAgICBbZGlyPVwicnRsXCJdIC5rLXN3aXRjaCxcbiAgICAuay1zd2l0Y2guay1ydGwsXG4gICAgLmstcnRsIC5rLXN3aXRjaCB7XG5cbiAgICAgICAgLmstc3dpdGNoLXRodW1iIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCA1MCUsIC01MCUgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXN3aXRjaC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXN3aXRjaC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zd2l0Y2gtLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXN3aXRjaC0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC8vIFN3aXRjaFxuICAgIC5rLXN3aXRjaCB7XG5cbiAgICAgICAgLy8gVGh1bWIgcmlwcGxlXG4gICAgICAgIC5rLXN3aXRjaC10aHVtYjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMjAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAtNTAlLCAtNTAlICk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlclxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgLmstc3dpdGNoLXRodW1iOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4wNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAuay1zd2l0Y2gtdGh1bWI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjEyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3Mvc3dpdGNoL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3N3aXRjaC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3N3aXRjaC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXN3aXRjaC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFN3aXRjaFxuICAgIC5rLXN3aXRjaCB7fVxuXG5cbiAgICAvLyBTd2l0Y2ggT0ZGXG4gICAgLmstc3dpdGNoLW9mZiB7XG5cbiAgICAgICAgLy8gTm9ybWFsIHN0YXRlXG4gICAgICAgIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXN3aXRjaC10aHVtYiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2staG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2staG92ZXItYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2staG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zd2l0Y2gtdGh1bWIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWhvdmVyLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAuay1zd2l0Y2gtdHJhY2sge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9mZi10cmFjay1mb2N1cy1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWZvY3VzLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBAaWYgJGtlbmRvLWVuYWJsZS1mb2N1cy1jb250cmFzdCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIDAgMCAwIDJweCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApKSApO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAka2VuZG8tc3dpdGNoLW9mZi10cmFjay1mb2N1cy1yaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAuay1zd2l0Y2gtdHJhY2sge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9mZi10cmFjay1kaXNhYmxlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWRpc2FibGVkLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXN3aXRjaC1sYWJlbC1vbiB7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFN3aXRjaCBPTlxuICAgIC5rLXN3aXRjaC1vbiB7XG5cbiAgICAgICAgLy8gTm9ybWFsIHN0YXRlXG4gICAgICAgIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdHJhY2stdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdHJhY2stYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdHJhY2stZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc3dpdGNoLXRodW1iIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10aHVtYi10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdGh1bWItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhvdmVyXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAuay1zd2l0Y2gtdHJhY2sge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdHJhY2staG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdHJhY2staG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zd2l0Y2gtdGh1bWIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdGh1bWItaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdGh1bWItaG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgQGlmICRrZW5kby1lbmFibGUtZm9jdXMtY29udHJhc3Qge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAwIDAgMCAycHggaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICksIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGtlbmRvLWNvbG9yLXdoaXRlLCAka2VuZG8tY29sb3ItYmxhY2sgKSkgKTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogJGtlbmRvLXN3aXRjaC1vbi10cmFjay1mb2N1cy1yaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAuay1zd2l0Y2gtdHJhY2sge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdHJhY2stZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay1kaXNhYmxlZC1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay1kaXNhYmxlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdHJhY2stZGlzYWJsZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstc3dpdGNoLWxhYmVsLW9mZiB7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc3dpdGNoLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zd2l0Y2gtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zd2l0Y2gtLXRoZW1lKCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tc3dpdGNoLS10aGVtZS1iYXNlKCk7XG5cbiAgICAvLyBTd2l0Y2hcbiAgICAuay1zd2l0Y2gge1xuXG4gICAgICAgIC5rLXN3aXRjaC10aHVtYiB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC0yO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGh1bWIgcmlwcGxlXG4gICAgICAgICYuay1zd2l0Y2gtb24gLmstc3dpdGNoLXRodW1iOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgICAmLmstc3dpdGNoLW9mZiAuay1zd2l0Y2gtdGh1bWI6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXN3aXRjaC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwic3dpdGNoXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXN3aXRjaC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXN3aXRjaC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXN3aXRjaC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdXBsb2FkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXBsb2FkL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInVwbG9hZFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImFjdGlvbnNcIixcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJkcm9wem9uZVwiLFxuICAgICAgICBcImljb25cIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYWN0aW9uLWJ1dHRvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kcm9wem9uZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Ryb3B6b25lL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImRyb3Atem9uZVwiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2Ryb3B6b25lL192YXJpYWJsZXMuc2Nzc1xuLy8gRHJvcFpvbmVcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIERyb3Bab25lLlxuLy8vIEBncm91cCBkcm9wem9uZVxuJGtlbmRvLWRyb3B6b25lLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBEcm9wWm9uZS5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBEcm9wWm9uZS5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgbWluaW11bSBoZWlnaHQgb2YgdGhlIERyb3Bab25lLlxuLy8vIEBncm91cCBkcm9wem9uZVxuJGtlbmRvLWRyb3B6b25lLW1pbi1oZWlnaHQ6IDIyMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBEcm9wWm9uZS5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgRHJvcFpvbmUuXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBEcm9wWm9uZS5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRHJvcFpvbmUuXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWJhc2UtYmcsIDEgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIERyb3Bab25lLlxuLy8vIEBncm91cCBkcm9wem9uZVxuJGtlbmRvLWRyb3B6b25lLXRleHQ6ICRrZW5kby1iYXNlLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRHJvcFpvbmUuXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtYm9yZGVyOiAka2VuZG8tYmFzZS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc3BhY2luZyBiZWxvdyB0aGUgRHJvcFpvbmUgaWNvbi5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1pY29uLXNwYWNpbmc6IGstc3BhY2luZyg2KSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRHJvcFpvbmUgaWNvbi5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1pY29uLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWJ0bGUgKSwgay10cnktdGludCggJGtlbmRvLWRyb3B6b25lLXRleHQsIDQgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgRHJvcFpvbmUgaWNvbi5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1pY29uLWhvdmVyLXRleHQ6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgRHJvcFpvbmUgaGludC5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1oaW50LWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZWxvdyB0aGUgRHJvcFpvbmUgaGludC5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1oaW50LXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRHJvcFpvbmUgaGludC5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1oaW50LXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBEcm9wWm9uZSBub3RlLlxuLy8vIEBncm91cCBkcm9wem9uZVxuJGtlbmRvLWRyb3B6b25lLW5vdGUtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmVsb3cgdGhlIERyb3Bab25lIG5vdGUuXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtbm90ZS1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBEcm9wWm9uZSBub3RlLlxuLy8vIEBncm91cCBkcm9wem9uZVxuJGtlbmRvLWRyb3B6b25lLW5vdGUtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2Ryb3B6b25lL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kcm9wem9uZS9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kcm9wem9uZS9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1kcm9wem9uZS0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBEcm9wem9uZVxuICAgIC5rLWV4dGVybmFsLWRyb3B6b25lIHtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tZHJvcHpvbmUtbWluLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIH1cblxuICAgIC8vIERyb3B6b25lIGlubmVyXG4gICAgLmstZHJvcHpvbmUtaW5uZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZHJvcHpvbmUtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWRyb3B6b25lLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tZHJvcHpvbmUtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1kcm9wem9uZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tZHJvcHpvbmUtZm9udC1mYW1pbHk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZHJvcHpvbmUtbGluZS1oZWlnaHQ7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmstZHJvcHpvbmUtaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAka2VuZG8tZHJvcHpvbmUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZHJvcHpvbmUtaGludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAka2VuZG8tZHJvcHpvbmUtaGludC1zcGFjaW5nO1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZHJvcHpvbmUtaGludC1mb250LXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcm9wem9uZS1ub3RlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRrZW5kby1kcm9wem9uZS1ub3RlLXNwYWNpbmc7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1kcm9wem9uZS1ub3RlLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1kcm9wem9uZS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3B6b25lLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWRyb3B6b25lLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJvcHpvbmUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9kcm9wem9uZS9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kcm9wem9uZS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3B6b25lL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tZHJvcHpvbmUtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBEcm9wem9uZVxuICAgIC5rLWRyb3B6b25lLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1kcm9wem9uZS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWRyb3B6b25lLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWRyb3B6b25lLWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC5rLWljb24sXG4gICAgICAgIC5rLWRyb3B6b25lLWljb24ge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1kcm9wem9uZS1pY29uLXRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgLmstZHJvcHpvbmUtaGludCB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWRyb3B6b25lLWhpbnQtdGV4dDtcbiAgICAgICAgfVxuICAgICAgICAuay1kcm9wem9uZS1ub3RlIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZHJvcHpvbmUtbm90ZS10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBIb3ZlclxuICAgIC5rLWV4dGVybmFsLWRyb3B6b25lLWhvdmVyIHtcblxuICAgICAgICAuay1pY29uLFxuICAgICAgICAuay1kcm9wem9uZS1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZHJvcHpvbmUtaWNvbi1ob3Zlci10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyb3B6b25lLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wem9uZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWRyb3B6b25lLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wem9uZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWRyb3B6b25lLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJkcm9wem9uZVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kcm9wem9uZS0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRyb3B6b25lLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJvcHpvbmUtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3VwbG9hZC9fdmFyaWFibGVzLnNjc3Ncbi8vIFVwbG9hZFxuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBVcGxvYWQuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFVwbG9hZC5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBVcGxvYWQuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFVwbG9hZC5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWxpbmUtaGVpZ2h0OiBrLW1hdGgtZGl2KCAyMCwgMTQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbWF4aW11bSBoZWlnaHQgb2YgdGhlIGxpc3Qgd2l0aCB1cGxvYWRlZCBpdGVtcy5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLW1heC1oZWlnaHQ6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFVwbG9hZC5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVXBsb2FkLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgVXBsb2FkLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFVwbG9hZCBkcm9wem9uZS5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWRyb3B6b25lLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBVcGxvYWQgZHJvcHpvbmUuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1kcm9wem9uZS1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgVXBsb2FkIGRyb3B6b25lLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtZHJvcHpvbmUtdGV4dDogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVXBsb2FkIGRyb3B6b25lLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtZHJvcHpvbmUtYmc6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFVwbG9hZCBkcm9wem9uZS5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWRyb3B6b25lLWJvcmRlcjogJGtlbmRvLXVwbG9hZC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgVXBsb2FkIGRyb3B6b25lLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtZHJvcHpvbmUtaG92ZXItYmc6ICRrZW5kby1ob3Zlci1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBVcGxvYWQgc3RhdHVzIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1zdGF0dXMtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBVcGxvYWQgc3RhdHVzIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1zdGF0dXMtdGV4dC1vcGFjaXR5OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiBhbiB1cGxvYWRlZCBpdGVtLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtaXRlbS1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiBhbiB1cGxvYWRlZCBpdGVtLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBzcGFjaW5nIGJldHdlZW4gdXBsb2FkZWQgYmF0Y2ggaXRlbXMuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1tdWx0aXBsZS1pdGVtcy1zcGFjaW5nOiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBVcGxvYWQgdmFsaWRhdGlvbiBtZXNzYWdlLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtdmFsaWRhdGlvbi1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFVwbG9hZCB2YWxpZGF0aW9uIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC12YWxpZGF0aW9uLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQteHMsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHNwYWNpbmcgb2YgdGhlIFVwbG9hZCBzdGF0dXMgaWNvbi5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWljb24tc3BhY2luZzogJGtlbmRvLWljb24tc3BhY2luZyAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIHVwbG9hZGVkIGl0ZW1zIGljb24uXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1pY29uLWNvbG9yOiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhpY2tuZXNzIG9mIHRoZSBVcGxvYWQgcHJvZ3Jlc3MgYmFyLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtcHJvZ3Jlc3MtdGhpY2tuZXNzOiAycHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFVwbG9hZCBwcm9ncmVzcyBiYXIuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1wcm9ncmVzcy1iZzogJGtlbmRvLWNvbG9yLWluZm8gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc3VjY2VzcyB0ZXh0IGNvbG9yIG9mIHRoZSBVcGxvYWQuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1zdWNjZXNzLXRleHQ6ICRrZW5kby1jb2xvci1zdWNjZXNzICFkZWZhdWx0O1xuLy8vIFRoZSBzdWNjZXNzIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFVwbG9hZCBwcm9ncmVzcyBiYXIuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1zdWNjZXNzLWJnOiAka2VuZG8tY29sb3Itc3VjY2VzcyAhZGVmYXVsdDtcblxuLy8vIFRoZSBlcnJvciB0ZXh0IGNvbG9yIG9mIHRoZSBVcGxvYWQuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1lcnJvci10ZXh0OiAka2VuZG8tY29sb3ItZXJyb3IgIWRlZmF1bHQ7XG4vLy8gVGhlIGVycm9yIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFVwbG9hZCBwcm9ncmVzcyBiYXIuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1lcnJvci1iZzogJGtlbmRvLWNvbG9yLWVycm9yICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBVcGxvYWQgYnV0dG9uLCBhY3Rpb25zIGFuZCB1cGxvYWRlZCBpdGVtcy5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWZvY3VzLXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoIGJsYWNrLCAuMTMgKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy91cGxvYWQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3VwbG9hZC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy91cGxvYWQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdXBsb2FkLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLXVwbG9hZCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXVwbG9hZC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tdXBsb2FkLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby11cGxvYWQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXVwbG9hZC1saW5lLWhlaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXVwbG9hZC1idXR0b24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA3ZW07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEcm9wIHpvbmVcbiAgICAgICAgLmstZHJvcHpvbmUsXG4gICAgICAgIC5rLXVwbG9hZC1kcm9wem9uZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdXBsb2FkLWRyb3B6b25lLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdXBsb2FkLWRyb3B6b25lLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgIC5rLWRyb3B6b25lLWhpbnQge1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdXBsb2FkLXN0YXR1cyB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgPiAuay1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRrZW5kby11cGxvYWQtaWNvbi1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdXBsb2FkLXN0YXR1cyArIC5rLWRyb3B6b25lLWhpbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcm9wem9uZS1hY3RpdmUge1xuICAgICAgICAgICAgLmstdXBsb2FkLXN0YXR1cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdXBsb2FkLXN0YXR1cyArIC5rLWRyb3B6b25lLWhpbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBsb2FkIGZpbGVzIGxpc3RcbiAgICAgICAgLmstdXBsb2FkLWZpbGVzIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRrZW5kby11cGxvYWQtbWF4LWhlaWdodDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgIC5rLWZpbGUtbXVsdGlwbGUsXG4gICAgICAgICAgICAuay1maWxlLXNpbmdsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZpbGUtc2luZ2xlIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWxlLW11bHRpcGxlIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLXVwbG9hZC1pdGVtLXBhZGRpbmcteSAka2VuZG8tdXBsb2FkLWl0ZW0tcGFkZGluZy14IGNhbGMoI3ska2VuZG8tdXBsb2FkLWl0ZW0tcGFkZGluZy15fSArICN7JGtlbmRvLXVwbG9hZC1wcm9ncmVzcy10aGlja25lc3N9KTtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWxlOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsZW5hbWUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBrLXNwYWNpbmcoNCk7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay11cGxvYWQtcGN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZTogJGtlbmRvLXVwbG9hZC1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB+IC5rLWNsZWFyLXNlbGVjdGVkLFxuICAgICAgICAgICAgfiAuay11cGxvYWQtc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ka2VuZG8tcGFkZGluZy1tZC15O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfiAuay11cGxvYWQtc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWxlLW5hbWUsXG4gICAgICAgICAgICAuay1maWxlLXNpemUsXG4gICAgICAgICAgICAuay1maWxlLXZhbGlkYXRpb24tbWVzc2FnZSxcbiAgICAgICAgICAgIC5rLWZpbGUtc3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZpbGUtbmFtZSB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsZS1zaXplLFxuICAgICAgICAgICAgLmstZmlsZS1zdW1tYXJ5LFxuICAgICAgICAgICAgLmstZmlsZS12YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXVwbG9hZC12YWxpZGF0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXVwbG9hZC12YWxpZGF0aW9uLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC5rLWZpbGUtaWNvbi13cmFwcGVyIHtcblxuICAgICAgICAgICAgICAgIC5rLWZpbGUtc3RhdGUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWxlLXN0YXRlIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay11cGxvYWQtZmlsZXMgLmstZmlsZS1pbmZvIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRrZW5kby1pY29uLXNpemUteHhsO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleDogMSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1tdWx0aXBsZS1maWxlcy13cmFwcGVyLFxuICAgICAgICAuay1maWxlLXNpbmdsZSA+IC5rLWZpbGUtaW5mbyB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAka2VuZG8tcGFkZGluZy1tZC14O1xuICAgICAgICAgICAgbWluLWhlaWdodDogJGtlbmRvLWljb24tc2l6ZS14eGw7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW11bHRpcGxlLWZpbGVzLXdyYXBwZXIge1xuICAgICAgICAgICAgLmstZmlsZS1pbmZvIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAka2VuZG8tdXBsb2FkLW11bHRpcGxlLWl0ZW1zLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZpbGUtc3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYyggY2FsYyggI3ska2VuZG8tdXBsb2FkLW11bHRpcGxlLWl0ZW1zLXNwYWNpbmd9IC8gMykgKiAtMSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstcHJvZ3Jlc3NiYXIge1xuICAgICAgICAgICAgLS1rZW5kby1wcm9ncmVzc2Jhci1oZWlnaHQ6ICN7JGtlbmRvLXVwbG9hZC1wcm9ncmVzcy10aGlja25lc3N9O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogJGtlbmRvLXVwbG9hZC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHJpZ2h0OiAka2VuZG8tdXBsb2FkLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgYm90dG9tOiBjYWxjKCAjeyRrZW5kby11cGxvYWQtaXRlbS1wYWRkaW5nLXl9IC8gMiApO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBY3Rpb24gYnV0dG9uc1xuICAgICAgICAuay1hY3Rpb25zIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmstdXBsb2FkLWJ1dHRvbi13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXJlY3Rpb246IGx0cjtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAvLyBmb250IHNob3VsZCBub3QgZGVwZW5kIG9uIG91dHNpZGUgc3R5bGVzLCBvdGhlcndpc2UgdXBsb2FkIG1heSBicmVha1xuICAgICAgICAgICAgZm9udDogMTcwcHggbW9ub3NwYWNlICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0W2Rpc2FibGVkXSxcbiAgICAgICAgaW5wdXQuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdXBsb2FkLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXBsb2FkLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXVwbG9hZC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXVwbG9hZC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3VwbG9hZC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy91cGxvYWQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy91cGxvYWQvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby11cGxvYWQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay11cGxvYWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXVwbG9hZC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXVwbG9hZC1iZyxcbiAgICAgICAgICAgICRrZW5kby11cGxvYWQtYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgLmstZHJvcHpvbmUsXG4gICAgICAgIC5rLXVwbG9hZC1kcm9wem9uZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby11cGxvYWQtZHJvcHpvbmUtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tdXBsb2FkLWRyb3B6b25lLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby11cGxvYWQtZHJvcHpvbmUtYm9yZGVyXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby11cGxvYWQtZHJvcHpvbmUtaG92ZXItYmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWRyb3B6b25lLWhpbnQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tdXBsb2FkLXN0YXR1cy10ZXh0O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby11cGxvYWQtc3RhdHVzLXRleHQtb3BhY2l0eTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmstdXBsb2FkLWZpbGVzLFxuICAgICAgICAuay1maWxlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXVwbG9hZC1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWxlIHtcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAkaW5kaWNhdG9yOiAoIGluc2V0ICRrZW5kby11cGxvYWQtZm9jdXMtc2hhZG93ICksICRpbnNldDogdHJ1ZSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay11cGxvYWQtYWN0aW9uLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXVwbG9hZC1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmstdXBsb2FkLXN0YXR1cyB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLXVwbG9hZC1zdGF0dXMtdGV4dDtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby11cGxvYWQtc3RhdHVzLXRleHQtb3BhY2l0eTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVwbG9hZCBzdGF0dXM6IHVwbG9hZGluZ1xuICAgICAgICAuay1maWxlLXByb2dyZXNzIHtcbiAgICAgICAgICAgIC5rLXByb2dyZXNzYmFyIC5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tdXBsb2FkLXByb2dyZXNzLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBVcGxvYWQgc3RhdHVzOiBzdWNjZXNzXG4gICAgICAgIC5rLWZpbGUtc3VjY2VzcyB7XG4gICAgICAgICAgICAuay1maWxlLXZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby11cGxvYWQtc3VjY2Vzcy10ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1wcm9ncmVzc2JhciAuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXVwbG9hZC1zdWNjZXNzLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBsb2FkIHN0YXR1czogZXJyb3JcbiAgICAgICAgLmstZmlsZS1lcnJvciB7XG4gICAgICAgICAgICAuay1maWxlLXZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby11cGxvYWQtZXJyb3ItdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXByb2dyZXNzYmFyIC5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tdXBsb2FkLWVycm9yLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZmlsZS1pY29uLXdyYXBwZXIge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby11cGxvYWQtaWNvbi1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXVwbG9hZC1pY29uLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmlsZS1zaXplLFxuICAgICAgICAuay1maWxlLXZhbGlkYXRpb24tbWVzc2FnZSxcbiAgICAgICAgLmstZmlsZS1zdW1tYXJ5IHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tc3VidGxlLXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1tdWx0aXBsZS1maWxlcy13cmFwcGVyIC5rLWZpbGUtc3VtbWFyeSB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLXVwbG9hZC10ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZCxcbiAgICAgICAgJi5rLWludmFsaWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy10b3VjaGVkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctZGlydHkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8taW52YWxpZC1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdXBsb2FkLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby11cGxvYWQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby11cGxvYWQtLXRoZW1lKCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tdXBsb2FkLS10aGVtZS1iYXNlKCk7XG5cbiAgICAvLyBVcGxvYWRcbiAgICAuay11cGxvYWQge1xuICAgICAgICAuay11cGxvYWQtYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLXVwbG9hZC1kcm9wem9uZS1iZyApKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXVwbG9hZC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidXBsb2FkXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXVwbG9hZC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXVwbG9hZC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXVwbG9hZC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZHJvcHpvbmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wem9uZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21tYW5kIGludGVyZmFjZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vYWN0aW9uLWJ1dHRvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vYXBwYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYXBwYmFyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImFwcGJhclwiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2FwcGJhci9fdmFyaWFibGVzLnNjc3Ncbi8vIEFwcEJhclxuXG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBBcHBCYXIuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci1tYXJnaW4teDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgbWFyZ2luIG9mIHRoZSBBcHBCYXIuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci1tYXJnaW4teTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBBcHBCYXIuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQXBwQmFyLlxuLy8vIEBncm91cCBhcHBiYXJcbiRrZW5kby1hcHBiYXItcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBBcHBCYXIuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgei1pbmRleCBvZiB0aGUgQXBwQmFyLlxuLy8vIEBncm91cCBhcHBiYXJcbiRrZW5kby1hcHBiYXItemluZGV4OiAxMDAwICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgQXBwQmFyLlxuLy8vIEBncm91cCBhcHBiYXJcbiRrZW5kby1hcHBiYXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEFwcEJhci5cbi8vLyBAZ3JvdXAgYXBwYmFyXG4ka2VuZG8tYXBwYmFyLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIEFwcEJhci5cbi8vLyBAZ3JvdXAgYXBwYmFyXG4ka2VuZG8tYXBwYmFyLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgQXBwQmFyIHNlY3Rpb25zLlxuLy8vIEBncm91cCBhcHBiYXJcbiRrZW5kby1hcHBiYXItZ2FwOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQXBwQmFyIGJhc2VkIG9uIGxpZ2h0IHRoZW1lIGNvbG9yLlxuLy8vIEBncm91cCBhcHBiYXJcbiRrZW5kby1hcHBiYXItbGlnaHQtYmc6ICRrZW5kby1jb2xvci1saWdodCAhZGVmYXVsdDtcbi8vLyBUVGhlIHRleHQgY29sb3Igb2YgdGhlIEFwcEJhciBiYXNlZCBvbiBsaWdodCB0aGVtZSBjb2xvci5cbi8vLyBAZ3JvdXAgYXBwYmFyXG4ka2VuZG8tYXBwYmFyLWxpZ2h0LXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1saWdodCApLCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tY29sb3ItbGlnaHQgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQXBwQmFyIGJhc2VkIG9uIGRhcmsgdGhlbWUgY29sb3IuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci1kYXJrLWJnOiAka2VuZG8tY29sb3ItZGFyayAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQXBwQmFyIGJhc2VkIG9uIGRhcmsgdGhlbWUgY29sb3IuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci1kYXJrLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1kYXJrICksIGstY29udHJhc3QtY29sb3IoICRrZW5kby1jb2xvci1kYXJrICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIEFwcEJhci5cbi8vLyBAZ3JvdXAgYXBwYmFyXG4ka2VuZG8tYXBwYmFyLWJveC1zaGFkb3c6ICRib3gtc2hhZG93LWRlcHRoLTQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIEFwcEJhciB3aXRoIGJvdHRvbSBwb3NpdGlvbi5cbi8vLyBAZ3JvdXAgYXBwYmFyXG4ka2VuZG8tYXBwYmFyLWJvdHRvbS1ib3gtc2hhZG93OiAka2VuZG8tYXBwYmFyLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvYXBwYmFyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hcHBiYXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYXBwYmFyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWFwcGJhci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBBcHBiYXJcbiAgICAuay1hcHBiYXIge1xuICAgICAgICBtYXJnaW4tYmxvY2s6ICRrZW5kby1hcHBiYXItbWFyZ2luLXk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6ICRrZW5kby1hcHBiYXItbWFyZ2luLXg7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1hcHBiYXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWFwcGJhci1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWFwcGJhci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tYXBwYmFyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1hcHBiYXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWFwcGJhci1saW5lLWhlaWdodDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAka2VuZG8tYXBwYmFyLWdhcDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGJhciBzZWN0aW9uXG4gICAgICAgIC5rLWFwcGJhci1zZWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBBcHBiYXIgU3BhY2VyXG4gICAgICAgIC5rLWFwcGJhci1zcGFjZXIge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgLmstYXBwYmFyLXNwYWNlci1zaXplZCB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFNlcGFyYXRvclxuICAgICAgICAuay1hcHBiYXItc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBJbnB1dFxuICAgICAgICAuay1pbnB1dCxcbiAgICAgICAgLmstcGlja2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMGVtO1xuICAgICAgICB9XG4gICAgICAgIC5rLWNvbG9yLXBpY2tlciB7XG4gICAgICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gU3RhdGljIGFwcGJhclxuICAgIC5rLWFwcGJhci1zdGF0aWMge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cblxuXG4gICAgLy8gU3RpY2t5IGFwcGJhclxuICAgIC5rLWFwcGJhci1zdGlja3kge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAka2VuZG8tYXBwYmFyLXppbmRleDtcbiAgICB9XG5cblxuICAgIC8vIEZpeGVkIGFwcGJhclxuICAgIC5rLWFwcGJhci1maXhlZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG5cbiAgICAvLyBBcHBiYXIgcG9zaXRpb25cbiAgICAuay1hcHBiYXItdG9wIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgfVxuICAgIC5rLWFwcGJhci1ib3R0b20ge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAmLmstYXBwYmFyLWZpeGVkIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1hcHBiYXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hcHBiYXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tYXBwYmFyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYXBwYmFyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvYXBwYmFyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FwcGJhci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FwcGJhci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWFwcGJhci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLWFwcGJhciB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1hcHBiYXItYm94LXNoYWRvdyApO1xuICAgIH1cbiAgICAuay1hcHBiYXItYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWFwcGJhci1ib3R0b20tYm94LXNoYWRvdyApO1xuICAgIH1cblxuXG4gICAgLy8gQXBwQmFyIHRoZW1lIGNvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWFwcGJhci0jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaWYgJG5hbWUgPT0gXCJsaWdodFwiIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWFwcGJhci1saWdodC10ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1hcHBiYXItbGlnaHQtYmc7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICRuYW1lID09IFwiZGFya1wiIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWFwcGJhci1kYXJrLXRleHQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWFwcGJhci1kYXJrLWJnO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1hcHBiYXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFwcGJhci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWFwcGJhci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYXBwYmFyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tYXBwYmFyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJhcHBiYXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYXBwYmFyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYXBwYmFyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tYXBwYmFyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9mYWIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mYWIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZmFiXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYmFkZ2VcIixcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIC8vIFwidXRpbHMvbGF5b3V0L3Bvc2l0aW9uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fcG9zaXRpb24uc2Nzc1wiO1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2JhZGdlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYmFkZ2UvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2ZhYi9fdmFyaWFibGVzLnNjc3Ncbi8vIEZsb2F0aW5nIEFjdGlvbiBCdXR0b25cblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItbGluZS1oZWlnaHQ6IGstbWF0aC1kaXYoIDIwLCAxNCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHNtYWxsIEZBQi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1zbS1wYWRkaW5nLXg6IGNhbGMoICN7JGtlbmRvLWZhYi1wYWRkaW5nLXh9IC8gMiApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItbWQtcGFkZGluZy14OiAka2VuZG8tZmFiLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItbGctcGFkZGluZy14OiBjYWxjKCAjeyRrZW5kby1mYWItcGFkZGluZy14fSAqIDEuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEZBQi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1wYWRkaW5nLXk6ICRrZW5kby1mYWItcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItc20tcGFkZGluZy15OiBjYWxjKCAjeyRrZW5kby1mYWItcGFkZGluZy15fSAvIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIEZBQi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1tZC1wYWRkaW5nLXk6ICRrZW5kby1mYWItcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItbGctcGFkZGluZy15OiBjYWxjKCAjeyRrZW5kby1mYWItcGFkZGluZy15fSAqIDEuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgRkFCIGljb24uXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaWNvbi1wYWRkaW5nLXg6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBGQUIgaWNvbi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pY29uLXBhZGRpbmcteTogJGtlbmRvLWZhYi1pY29uLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBGQUIgaWNvbi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pY29uLXNwYWNpbmc6IGNhbGMoICN7ay1zcGFjaW5nKDEpfSAqIDEuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgRkFCIGl0ZW1zLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWl0ZW1zLXBhZGRpbmcteDogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBGQUIgaXRlbXMuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbXMtcGFkZGluZy15OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBGQUIgaXRlbSB0ZXh0LlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWl0ZW0tdGV4dC1wYWRkaW5nLXg6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgRkFCIGl0ZW0gdGV4dC5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLXRleHQtcGFkZGluZy15OiAka2VuZG8tZmFiLWl0ZW0tdGV4dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBGQUIgaXRlbSB0ZXh0IGJvcmRlci5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLXRleHQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIEZBQiBpdGVtIHRleHQuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS10ZXh0LWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBGQUIgaXRlbSB0ZXh0LlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWl0ZW0tdGV4dC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUteHMsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIEZBQiBpdGVtIHRleHQuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS10ZXh0LWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQtc20sIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgRkFCIGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLWljb24tcGFkZGluZy14OiBjYWxjKCAje2stc3BhY2luZygyKX0gKyAjeyRrZW5kby1mYWItaWNvbi1wYWRkaW5nLXh9ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEZBQiBpdGVtIGljb24uXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS1pY29uLXBhZGRpbmcteTogJGtlbmRvLWZhYi1pdGVtLWljb24tcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEZBQiBpdGVtIGljb24uXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS1pY29uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgRkFCIGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRoZW1lIGNvbG9ycyBtYXAgZm9yIHRoZSBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItdGhlbWUtY29sb3JzOiAka2VuZG8tdGhlbWUtY29sb3JzICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgbWFwIGZvciB0aGUgRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tZmFiLXNtLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tZmFiLXNtLXBhZGRpbmcteVxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tZmFiLW1kLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tZmFiLW1kLXBhZGRpbmcteVxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tZmFiLWxnLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tZmFiLWxnLXBhZGRpbmcteVxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBzaGFkb3cgb2YgdGhlIEZBQi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1zaGFkb3c6ICRib3gtc2hhZG93LWRlcHRoLTUgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZGlzYWJsZWQgRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWRpc2FibGVkLXNoYWRvdzogJGJveC1zaGFkb3ctZGVwdGgtNSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBhY3RpdmUgRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWFjdGl2ZS1zaGFkb3c6ICRib3gtc2hhZG93LWRlcHRoLTcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSB0ZXh0IGNvbG9yIG9mIHRoZSBGQUIgaXRlbS5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGQUIgaXRlbS5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJvcmRlciBjb2xvciBvZiB0aGUgRkFCIGl0ZW0uXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhc2UgdGV4dCBjb2xvciBvZiB0aGUgRkFCIGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLWljb24tdGV4dDogJGtlbmRvLWJ1dHRvbi10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZBQiBpdGVtIGljb24uXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS1pY29uLWJnOiAka2VuZG8tYnV0dG9uLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJvcmRlciBjb2xvciBvZiB0aGUgRkFCIGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyOiAka2VuZG8tYnV0dG9uLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIHNoYWRvdyBvZiB0aGUgRkFCIGl0ZW0uXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS1zaGFkb3c6ICRrZW5kby1mYWItc2hhZG93ICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGRpc2FibGVkIEZBQiBpdGVtLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWl0ZW0tZGlzYWJsZWQtc2hhZG93OiAka2VuZG8tZmFiLWRpc2FibGVkLXNoYWRvdyAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBhY3RpdmUgRkFCIGl0ZW0uXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS1hY3RpdmUtc2hhZG93OiAka2VuZG8tZmFiLWFjdGl2ZS1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZmFiL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9mYWIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmFiL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWZhYi0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBGbG9hdGluZyBBY3Rpb24gQnV0dG9uIChGQUIpXG4gICAgLmstZmFiIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWZhYi1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZmFiLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWZhYi1mb250LWZhbWlseTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRkFCIEljb25cbiAgICAuay1mYWItaWNvbiB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZmFiLWljb24tcGFkZGluZy14O1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZmFiLWljb24tcGFkZGluZy15O1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAgICAgICAuay1pY29uLXdyYXBwZXItaG9zdDpub3QoOm9ubHktY2hpbGQpICYsXG4gICAgICAgICY6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJGtlbmRvLWZhYi1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKCAjeyRrZW5kby1mYWItaWNvbi1zcGFjaW5nfSAqIC0xICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1mYWItc2l6ZXMge1xuICAgICAgICAkX3BhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy14ICk7XG4gICAgICAgICRfcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXkgKTtcblxuICAgICAgICAuay1mYWItI3skc2l6ZX0ge1xuICAgICAgICAgICAgcGFkZGluZzogJF9wYWRkaW5nLXkgJF9wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIEl0ZW1zXG4gICAgLmstZmFiLWl0ZW1zIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZmFiLWl0ZW1zLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1mYWItaXRlbXMtcGFkZGluZy14O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5rLWZhYi1pdGVtcy1ib3R0b20ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAuay1mYWItaXRlbXMtYm90dG9tIC5rLWZhYi1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgIH1cblxuICAgIC5rLWZhYi1pdGVtcy10b3Age1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgfVxuICAgIC5rLWZhYi1pdGVtcy10b3AgLmstZmFiLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgIH1cblxuICAgIC5rLWZhYi1pdGVtIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiBrLXNwYWNpbmcoMik7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmLmstdGV4dC1yaWdodCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgICAuay1mYWItaXRlbS10ZXh0IHtcbiAgICAgICAgICAgICAgICAvLyBOZWVkZWQgZm9yIGZhYiBpdGVtIHBvc2l0aW9uaW5nIGluIFJUTFxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogay1zcGFjaW5nKDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuay10ZXh0LWxlZnQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgICAgICAuay1mYWItaXRlbS10ZXh0IHtcbiAgICAgICAgICAgICAgICAvLyBOZWVkZWQgZm9yIGZhYiBpdGVtIHBvc2l0aW9uaW5nIGluIFJUTFxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBrLXNwYWNpbmcoMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1mYWItaXRlbS10ZXh0IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWZhYi1pdGVtLXRleHQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWZhYi1pdGVtLXRleHQtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1mYWItaXRlbS10ZXh0LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLWZhYi1pdGVtLXRleHQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZmFiLWl0ZW0tdGV4dC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZmFiLWl0ZW0tdGV4dC1saW5lLWhlaWdodDtcbiAgICB9XG5cbiAgICAuay1mYWItaXRlbS1pY29uIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWZhYi1pdGVtLWljb24tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWZhYi1pdGVtLWljb24tcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1mYWItaXRlbS1pY29uLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG5cblxuICAgIC5rLXJ0bCAuay1mYWItcG9wdXAsXG4gICAgW2Rpcj1cInJ0bFwiXSAuay1mYWItcG9wdXAge1xuICAgICAgICAuay1mYWItaXRlbS5rLXRleHQtbGVmdCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmFiLWl0ZW0uay10ZXh0LXJpZ2h0IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AbWl4aW4ga2VuZG8tZmFiLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZmFiLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWZhYi0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tZmFiLS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLmstZmFiLXRleHQge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZmFiL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2ZhYi9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2ZhYi9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWZhYi0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIE5vcm1hbCBzdGF0ZVxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWZhYi10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1mYWItc29saWQtI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygka2VuZG8tZmFiLXNoYWRvdyk7XG4gICAgICAgICAgICBvdXRsaW5lOiAka2VuZG8tZmFiLWJvcmRlci13aWR0aCAka2VuZG8tZmFiLW91dGxpbmUtc3R5bGUgJGNvbG9yO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ka2VuZG8tZmFiLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG92ZXIgc3RhdGVcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1mYWItdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstaG92ZXIuay1mYWItc29saWQtI3skbmFtZX0sXG4gICAgICAgIC5rLWZhYi1zb2xpZC0jeyRuYW1lfTpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1ob3ZlciApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAuNSApKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1ob3ZlciApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAuNSApKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tZmFiLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWZhYi1zb2xpZC0jeyRuYW1lfS5rLWZvY3VzLFxuICAgICAgICAuay1mYWItc29saWQtI3skbmFtZX06Zm9jdXMge1xuICAgICAgICAgICAgQGlmICRrZW5kby1lbmFibGUtZm9jdXMtY29udHJhc3Qge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIGluc2V0IDAgMCAwIDJweCBjdXJyZW50Q29sb3IgKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6ICRrZW5kby1mYWItb3V0bGluZS1zdHlsZSAka2VuZG8tZmFiLW91dGxpbmUtd2lkdGggaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCAkbmFtZSApIDMwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAkY29sb3IsIC4zICkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tZmFiLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWFjdGl2ZS5rLWZhYi1zb2xpZC0jeyRuYW1lfSxcbiAgICAgICAgLmstc2VsZWN0ZWQuay1mYWItc29saWQtI3skbmFtZX0sXG4gICAgICAgIC5rLWZhYi1zb2xpZC0jeyRuYW1lfTphY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygka2VuZG8tZmFiLWFjdGl2ZS1zaGFkb3cpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tYWN0aXZlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDEuNSkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWFjdGl2ZSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAxLjUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tZmFiLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWRpc2FibGVkLmstZmFiLXNvbGlkLSN7JG5hbWV9LFxuICAgICAgICAuay1mYWItc29saWQtI3skbmFtZX06ZGlzYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygka2VuZG8tZmFiLWRpc2FibGVkLXNoYWRvdyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoICRuYW1lICkgNjAlLCB0cmFuc3BhcmVudCksIGstdHJ5LXRpbnQoICRjb2xvciwgNSApKTtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLSN7JG5hbWV9ICkgNjAlLCB0cmFuc3BhcmVudCksIGstdHJ5LXRpbnQoIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSwgNSApKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJdGVtc1xuICAgIC5rLWZhYi1pdGVtLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWZhYi1pdGVtLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZmFiLWl0ZW0tYmcsXG4gICAgICAgICAgICAka2VuZG8tZmFiLWl0ZW0tYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGtlbmRvLWZhYi1pdGVtLXNoYWRvdyk7XG5cbiAgICB9XG4gICAgLmstZmFiLWl0ZW0taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZmFiLWl0ZW0taWNvbi10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWZhYi1pdGVtLWljb24tYmcsXG4gICAgICAgICAgICAka2VuZG8tZmFiLWl0ZW0taWNvbi1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygka2VuZG8tZmFiLWl0ZW0tc2hhZG93KTtcbiAgICAgICAgb3V0bGluZTogJGtlbmRvLWZhYi1ib3JkZXItd2lkdGggJGtlbmRvLWZhYi1pdGVtLW91dGxpbmUtc3R5bGUgJGtlbmRvLWZhYi1pdGVtLW91dGxpbmUtY29sb3I7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtJGtlbmRvLWZhYi1ib3JkZXItd2lkdGg7XG4gICAgfVxuXG4gICAgLy8gSG92ZXIgc3RhdGVcbiAgICAuay1mYWItaXRlbS5rLWhvdmVyIC5rLWZhYi1pdGVtLWljb24sXG4gICAgLmstZmFiLWl0ZW06aG92ZXIgLmstZmFiLWl0ZW0taWNvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJvcmRlciApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyLCAuNSApKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtaG92ZXIgKSwgay10cnktc2hhZGUoICRrZW5kby1mYWItaXRlbS1pY29uLWJnLCAuNSApKTtcbiAgICB9XG5cbiAgICAvLyBGb2N1cyBzdGF0ZVxuICAgIC5rLWZhYi1pdGVtOmZvY3VzIC5rLWZhYi1pdGVtLXRleHQsXG4gICAgLmstZmFiLWl0ZW06Zm9jdXMgLmstZmFiLWl0ZW0taWNvbixcbiAgICAuay1mYWItaXRlbS5rLWZvY3VzIC5rLWZhYi1pdGVtLXRleHQsXG4gICAgLmstZmFiLWl0ZW0uay1mb2N1cyAuay1mYWItaXRlbS1pY29uIHtcbiAgICAgICAgQGlmICRrZW5kby1lbmFibGUtZm9jdXMtY29udHJhc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggaW5zZXQgMCAwIDAgMnB4IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci13aGl0ZSwgJGtlbmRvLWNvbG9yLWJsYWNrICkpICk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgb3V0bGluZTogJGtlbmRvLWZhYi1pdGVtLW91dGxpbmUtc3R5bGUgJGtlbmRvLWZhYi1pdGVtLW91dGxpbmUtd2lkdGggJGtlbmRvLWZhYi1pdGVtLW91dGxpbmUtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuay1mYWItaXRlbS5rLWFjdGl2ZSAuay1mYWItaXRlbS1pY29uLFxuICAgIC5rLWZhYi1pdGVtOmFjdGl2ZSAuay1mYWItaXRlbS1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygka2VuZG8tZmFiLWl0ZW0tYWN0aXZlLXNoYWRvdyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJvcmRlci1hbHQgKSwgay10cnktc2hhZGUoICRrZW5kby1mYWItaXRlbS1pY29uLWJvcmRlciwgMSApKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtYWN0aXZlICksIGstdHJ5LXNoYWRlKCAka2VuZG8tZmFiLWl0ZW0taWNvbi1iZywgMSApKTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgIC5rLWZhYi1pdGVtLmstZGlzYWJsZWQsXG4gICAgLmstZmFiLWl0ZW06ZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgIC5rLWZhYi1pdGVtLXRleHQsXG4gICAgICAgIC5rLWZhYi1pdGVtLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygka2VuZG8tZmFiLWl0ZW0tZGlzYWJsZWQtc2hhZG93KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggYmFzZSApIDYwJSwgdHJhbnNwYXJlbnQpLCBrLXRyeS10aW50KCAka2VuZG8tZmFiLWl0ZW0tYmcsIDUgKSk7XG4gICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1iYXNlICkgNjAlLCB0cmFuc3BhcmVudCksIGstdHJ5LXRpbnQoICRrZW5kby1mYWItaXRlbS10ZXh0LCA1ICkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUG9wdXBcbiAgICAuay1mYWItcG9wdXAge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCBub25lICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWZhYi0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZmFiLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZmFiLS10aGVtZSgpIHtcblxuICAgIC8vIE5vcm1hbCBzdGF0ZVxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWZhYi10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1mYWItc29saWQtI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygka2VuZG8tZmFiLXNoYWRvdyk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1jb2xvciggJGNvbG9yICkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG92ZXIgc3RhdGVcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1mYWItdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstaG92ZXIuay1mYWItc29saWQtI3skbmFtZX0sXG4gICAgICAgIC5rLWZhYi1zb2xpZC0jeyRuYW1lfTpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1ob3ZlciApLCBrLXRydWUtbWl4KCAjZmZmZmZmLCAkY29sb3IsIDglKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0taG92ZXIgKSwgay10cnVlLW1peCggI2ZmZmZmZiwgJGNvbG9yLCA4JSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9jdXMgc3RhdGVcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1mYWItdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstZm9jdXMuay1mYWItc29saWQtI3skbmFtZX0sXG4gICAgICAgIC5rLWZhYi1zb2xpZC0jeyRuYW1lfTpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1hY3RpdmUgKSwgay10cnVlLW1peCggI2ZmZmZmZiwgJGNvbG9yLCAxMiUpKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1hY3RpdmUgKSwgay10cnVlLW1peCggI2ZmZmZmZiwgJGNvbG9yLCAxMiUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWZhYi10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1hY3RpdmUuay1mYWItc29saWQtI3skbmFtZX0sXG4gICAgICAgIC5rLXNlbGVjdGVkLmstZmFiLXNvbGlkLSN7JG5hbWV9LFxuICAgICAgICAuay1mYWItc29saWQtI3skbmFtZX06YWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWFjdGl2ZSApLCBrLXRydWUtbWl4KCAjZmZmZmZmLCAkY29sb3IsIDE2JSkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWFjdGl2ZSApLCBrLXRydWUtbWl4KCAjZmZmZmZmLCAkY29sb3IsIDE2JSkpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGtlbmRvLWZhYi1hY3RpdmUtc2hhZG93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1mYWItdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstZGlzYWJsZWQuay1mYWItc29saWQtI3skbmFtZX0sXG4gICAgICAgIC5rLWZhYi1zb2xpZC0jeyRuYW1lfTpkaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRrZW5kby1mYWItZGlzYWJsZWQtc2hhZG93KTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIHRyYW5zcGFyZW50LCBrLXRyeS10aW50KCBrLXRyeS1zaGFkZSggJGtlbmRvLWJvZHktYmcsIDEyJSApLCA1KSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgOSUsIHRyYW5zcGFyZW50KSwgay10cnktdGludCggay10cnktc2hhZGUoICRrZW5kby1ib2R5LWJnLCAxMiUgKSwgNSkpO1xuICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAzMiUsIHRyYW5zcGFyZW50KSwgay1jb2xvci10aW50KCAka2VuZG8tZGlzYWJsZWQtdGV4dCwgNCkpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEl0ZW1zXG4gICAgLmstZmFiLWl0ZW0tdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZmFiLWl0ZW0tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1mYWItaXRlbS1iZyxcbiAgICAgICAgICAgICRrZW5kby1mYWItaXRlbS1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygka2VuZG8tZmFiLWl0ZW0tc2hhZG93KTtcbiAgICB9XG4gICAgLmstZmFiLWl0ZW0taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZmFiLWl0ZW0taWNvbi10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWZhYi1pdGVtLWljb24tYmcsXG4gICAgICAgICAgICAka2VuZG8tZmFiLWl0ZW0taWNvbi1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygka2VuZG8tZmFiLWl0ZW0tc2hhZG93KTtcbiAgICB9XG5cbiAgICAvLyBIb3ZlciBzdGF0ZVxuICAgIC5rLWZhYi1pdGVtLmstaG92ZXIgLmstZmFiLWl0ZW0taWNvbixcbiAgICAuay1mYWItaXRlbTpob3ZlciAuay1mYWItaXRlbS1pY29uIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1ob3ZlciApLCBrLXRydWUtbWl4KCAjMDAwMDAwLCAka2VuZG8tZmFiLWl0ZW0taWNvbi1ib3JkZXIsIDglKSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWhvdmVyICksIGstdHJ1ZS1taXgoICMwMDAwMDAsICRrZW5kby1mYWItaXRlbS1pY29uLWJnLCA4JSkpO1xuICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLWJhc2UgKSwgay10cnVlLW1peCggIzAwMDAwMCwgJGtlbmRvLWZhYi1pdGVtLWljb24tdGV4dCwgOCUpKTtcbiAgICB9XG5cbiAgICAvLyBGb2N1cyBzdGF0ZVxuICAgIC5rLWZhYi1pdGVtOmZvY3VzIC5rLWZhYi1pdGVtLWljb24sXG4gICAgLmstZmFiLWl0ZW0uay1mb2N1cyAuay1mYWItaXRlbS1pY29uIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1hY3RpdmUgKSwgay10cnVlLW1peCggIzAwMDAwMCwgJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyLCAxMiUpKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtYWN0aXZlICksIGstdHJ1ZS1taXgoICMwMDAwMDAsICRrZW5kby1mYWItaXRlbS1pY29uLWJnLCAxMiUpKTtcbiAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1iYXNlICksIGstdHJ1ZS1taXgoICMwMDAwMDAsICRrZW5kby1mYWItaXRlbS1pY29uLXRleHQsIDEyJSkpO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5rLWZhYi1pdGVtLmstYWN0aXZlIC5rLWZhYi1pdGVtLWljb24sXG4gICAgLmstZmFiLWl0ZW06YWN0aXZlIC5rLWZhYi1pdGVtLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRrZW5kby1mYWItaXRlbS1hY3RpdmUtc2hhZG93KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZSApLCBrLXRydWUtbWl4KCAjZmZmZmZmLCAka2VuZG8tZmFiLWl0ZW0taWNvbi1ib3JkZXIsIDEyJSkpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZSApLCBrLXRydWUtbWl4KCAjZmZmZmZmLCAka2VuZG8tZmFiLWl0ZW0taWNvbi1iZywgMTIlKSk7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAuay1mYWItaXRlbS5rLWRpc2FibGVkLFxuICAgIC5rLWZhYi1pdGVtOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAuay1mYWItaXRlbS10ZXh0LFxuICAgICAgICAuay1mYWItaXRlbS1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGtlbmRvLWZhYi1pdGVtLWRpc2FibGVkLXNoYWRvdyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIGJhc2UgKSA2MCUsIHRyYW5zcGFyZW50KSwgay10cnktdGludCggJGtlbmRvLWZhYi1pdGVtLWJnLCA4ICkpO1xuICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYmFzZSApIDYwJSwgdHJhbnNwYXJlbnQpLCBrLXRyeS10aW50KCAka2VuZG8tZmFiLWl0ZW0tdGV4dCwgOCApKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBvcHVwXG4gICAgLmstZmFiLXBvcHVwIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWZhYi0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZmFiXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWZhYi0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWZhYi0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZhYi0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vbWVudS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL21lbnUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3Rvb2xiYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFBvcHVwcyBhbmQgbW9kYWxzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2FjdGlvbi1zaGVldC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1zaGVldC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJhY3Rpb24tc2hlZXRcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3Rncm91cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3Rncm91cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1zaGVldC9fdmFyaWFibGVzLnNjc3Ncbi8vIEFjdGlvbiBzaGVldFxuXG4ka2VuZG8tYWN0aW9uc2hlZXQtcGFkZGluZy14OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC13aWR0aDogMzYwcHggIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtbWF4LXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWhlaWdodDogNjB2aCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1tYXgtaGVpZ2h0OiA2MHZoICFkZWZhdWx0O1xuXG4ka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRoOiAwcHggIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXJhZGl1czogMHB4ICFkZWZhdWx0O1xuXG4ka2VuZG8tYWN0aW9uc2hlZXQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1hY3Rpb25zaGVldC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1zaGFkb3c6ICRib3gtc2hhZG93LWRlcHRoLTcgIWRlZmF1bHQ7XG5cblxuLy8gQWN0aW9uc2hlZXQgaGVhZGVyXG4ka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1sZywgaW5oZXJpdCApICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWxpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWdhcDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG4ka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodC1zbSwgbm9ybWFsICkgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuXG5cbi8vIEFjdGlvbnNoZWV0IGl0ZW1cbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLW1pbi1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1zcGFjaW5nOiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG5cbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXRpdGxlLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tdGl0bGUtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogLjg3NWVtICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZGVzY3JpcHRpb24tdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuXG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci1iZzogcmdiYSggYmxhY2ssIC4wNCApICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0taG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0taG92ZXItc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1iZzogcmdiYSggYmxhY2ssIC4xMiApICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kaXNhYmxlZC1iZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kaXNhYmxlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kaXNhYmxlZC1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0taG92ZXItYmFja2dyb3VuZDogcmdiYSggYmxhY2ssIC4wNCApICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtYmFja2dyb3VuZDogcmdiYSggYmxhY2ssIC4xMiApICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZGlzYWJsZWQtb3BhY2l0eTogLjQyICFkZWZhdWx0O1xuXG5cbi8vIEFkYXB0aXZlIEFjdGlvbnNoZWV0XG4ka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLWxnLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtdGl0bGViYXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtdGl0bGViYXItcGFkZGluZy15OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4ka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtdGl0bGViYXItcGFkZGluZy14OiAka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtdGl0bGViYXItcGFkZGluZy15ICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1jb250ZW50LXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWNvbnRlbnQtcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG5cbiRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1mb290ZXItcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4ka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtZm9vdGVyLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1zaGVldC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYWN0aW9uLXNoZWV0L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FjdGlvbi1zaGVldC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1hY3Rpb24tc2hlZXQtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQWN0aW9uIHNoZWV0IGNvbnRhaW5lclxuICAgIC5rLWFjdGlvbnNoZWV0LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogY2xhbXAoMTAwdncsIDEwMCUsIDEwMCUpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjbGFtcCgxMDB2aCwgMTAwJSwgMTAwJSk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cbiAgICAgICAgLy8gT3ZlcmxheVxuICAgICAgICA+IC5rLW92ZXJsYXkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5lc3RlZCBhbmltYXRpb24gY29udGFpbmVyXG4gICAgICAgID4gLmstYW5pbWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgPiAuay1jaGlsZC1hbmltYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBObyBhbmltYXRpb24gY29udGFpbmVyXG4gICAgICAgID4gLmstYWN0aW9uc2hlZXQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVuYWJsZSBtb3VzZSBldmVudHMgZm9yIGFjdGlvbiBzaGVldFxuICAgICAgICAuay1hY3Rpb25zaGVldCB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zaGVldFxuICAgIC5rLWFjdGlvbnNoZWV0IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWFjdGlvbnNoZWV0LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1hY3Rpb25zaGVldC1wYWRkaW5nLXk7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtd2lkdGgsICN7JGtlbmRvLWFjdGlvbnNoZWV0LXdpZHRofSApO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1oZWlnaHQsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWhlaWdodH0gKTtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtbWF4LXdpZHRoLCAjeyRrZW5kby1hY3Rpb25zaGVldC1tYXgtd2lkdGh9ICk7XG4gICAgICAgIG1heC1oZWlnaHQ6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1tYXgtaGVpZ2h0LCAjeyRrZW5kby1hY3Rpb25zaGVldC1tYXgtaGVpZ2h0fSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWFjdGlvbnNoZWV0LWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1hY3Rpb25zaGVldC1mb250LWZhbWlseTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1hY3Rpb25zaGVldC1saW5lLWhlaWdodDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgdGl0bGViYXJcbiAgICAuay1hY3Rpb25zaGVldC10aXRsZWJhciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGlmKCAka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItYm9yZGVyLXdpZHRoLCAka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItYm9yZGVyLXdpZHRoLCBudWxsICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1mb250LWZhbWlseTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1saW5lLWhlaWdodDtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6ICRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1nYXA7XG4gICAgfVxuICAgIC5rLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmstYWN0aW9uc2hlZXQtdGl0bGUge1xuICAgICAgICBmbGV4OiAxO1xuICAgIH1cbiAgICAuay1hY3Rpb25zaGVldC1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWFjdGlvbnNoZWV0LXN1YnRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1hY3Rpb25zaGVldC1zdWJ0aXRsZS1saW5lLWhlaWdodDtcbiAgICB9XG4gICAgLmstYWN0aW9uc2hlZXQtYWN0aW9ucyB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zaGVldCBjb250ZW50XG4gICAgLmstYWN0aW9uc2hlZXQtY29udGVudCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zaGVldCBmb290ZXJcbiAgICAuay1hY3Rpb25zaGVldC1mb290ZXIge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgaXRlbXNcbiAgICAuay1hY3Rpb25zaGVldC1pdGVtcyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNoZWV0IGl0ZW1cbiAgICAuay1hY3Rpb25zaGVldC1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAuay1hY3Rpb25zaGVldC1hY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgbWluLWhlaWdodDogJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tbWluLWhlaWdodDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1zcGFjaW5nO1xuICAgIH1cbiAgICAuay1hY3Rpb25zaGVldC1pdGVtLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgfVxuICAgIC5rLWFjdGlvbnNoZWV0LWl0ZW0tdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tdGl0bGUtZm9udC13ZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgICB9XG4gICAgLmstYWN0aW9uc2hlZXQtaXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZGVzY3JpcHRpb24tZm9udC1zaXplO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgc2VwYXJhdG9yXG4gICAgLmstYWN0aW9uc2hlZXQgLmstaHIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb24gc2hlZXQgcG9zaXRpb25cbiAgICAuay1hY3Rpb25zaGVldC10b3Age1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyggJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiBpZiggJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci13aWR0aCwgJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci13aWR0aCwgbnVsbCApO1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiBpZiggJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci13aWR0aCwgMCwgbnVsbCApO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIC01MCUgKTtcbiAgICB9XG4gICAgLmstYWN0aW9uc2hlZXQtYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoICRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogaWYoICRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGgsICRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGgsIG51bGwgKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogaWYoICRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGgsIDAsIG51bGwgKTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCAtNTAlICk7XG4gICAgfVxuICAgIC5rLWFjdGlvbnNoZWV0LWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBib3JkZXItd2lkdGg6IGlmKCAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRoLCAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRoLCBudWxsICk7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiBpZiggJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci13aWR0aCwgMCwgbnVsbCApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCAtNTAlICk7XG4gICAgfVxuICAgIC5rLWFjdGlvbnNoZWV0LXJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBib3JkZXItd2lkdGg6IGlmKCAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRoLCAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRoLCBudWxsICk7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogaWYoICRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGgsIDAsIG51bGwgKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC01MCUgKTtcbiAgICB9XG4gICAgLmstYWN0aW9uc2hlZXQtZnVsbHNjcmVlbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbiBzaGVldCBpbiBwb3B1cFxuICAgIC5rLWFuaW1hdGlvbi1jb250YWluZXIgPiAuay1hY3Rpb25zaGVldCB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gQWRhcHRpdmUgYWN0aW9uIHNoZWV0XG4gICAgLmstYWRhcHRpdmUtYWN0aW9uc2hlZXQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1mb250LXNpemU7XG5cbiAgICAgICAgLy8gVE1QOiB0aGlzIHNob3VsZCBiZSBtb3ZlZCB0byBhY3Rpb24gc2hlZXRcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgICAgIC5rLWFjdGlvbnNoZWV0LXRpdGxlYmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC10aXRsZWJhci1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LXRpdGxlYmFyLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC10aXRsZWJhci1ib3JkZXItd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hY3Rpb25zaGVldC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1jb250ZW50LXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtY29udGVudC1wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hY3Rpb25zaGVldC1mb290ZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWZvb3Rlci1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWZvb3Rlci1wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hY3Rpb25zaGVldC1maWx0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDM2MHB4IC0gI3ska2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtdGl0bGViYXItcGFkZGluZy14fSAqIDIgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1hY3Rpb25zaGVldC1jb250ZW50LFxuICAgICAgICAuay1hY3Rpb25zaGVldC1mb290ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiBrLXN0cmluZy11bnF1b3RlKFwibWluKDEwMCUsIDM2MHB4KVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxpc3QtY29udGFpbmVyLFxuICAgICAgICAuay10cmVldmlldyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmstbGlzdC1maWx0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1lbnUtZ3JvdXAge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FsZW5kYXIge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lc2VsZWN0b3Ige1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgLmstdGltZS1wYXJ0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGltZS1saXN0LXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRhdGV0aW1lLXdyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICB9XG4gICAgICAgIC5rLWRhdGV0aW1lLXNlbGVjdG9yIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZGF0ZXRpbWUtY2FsZW5kYXItd3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRhdGV0aW1lLXRpbWUtd3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjcm9sbGFibGUtd3JhcCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZGF0YS10YWJsZSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIExlZ2FjeSBhY3Rpb24gc2hlZXRcbiAgICAvLyBUT0RPOiByZW1vdmUgd2hlbiBrZW5kby1qcXVlcnkgbWlncmF0ZVxuICAgIC5rLWFjdGlvbnNoZWV0LWpxIHtcbiAgICAgICAgJi5rLWFjdGlvbnNoZWV0IHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFjdGlvbnNoZWV0LWhlYWRlciB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5rLWFjdGlvbnNoZWV0LXRpdGxlYmFyICFvcHRpb25hbDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYWN0aW9uc2hlZXQtYWN0aW9uIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSVExcbiAgICAuay1ydGwsXG4gICAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAgIC5rLWFjdGlvbnNoZWV0LXRvcCxcbiAgICAgICAgLmstYWN0aW9uc2hlZXQtYm90dG9tIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggNTAlICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYWN0aW9uLXNoZWV0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYWN0aW9uLXNoZWV0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWFjdGlvbi1zaGVldC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbi1zaGVldC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1zaGVldC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hY3Rpb24tc2hlZXQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hY3Rpb24tc2hlZXQvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1hY3Rpb24tc2hlZXQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBBY3Rpb25zaGVldFxuICAgIC5rLWFjdGlvbnNoZWV0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnNoZWV0LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlclxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tYWN0aW9uc2hlZXQtc2hhZG93ICk7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zaGVldCBoZWFkZXJcbiAgICAuay1hY3Rpb25zaGVldC10aXRsZWJhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1iZyxcbiAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItZ3JhZGllbnRcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLXNoYWRvdyApO1xuICAgIH1cbiAgICAuay1hY3Rpb25zaGVldC1zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLWFjdGlvbnNoZWV0LXN1YnRpdGxlLXRleHQgKTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNoZWV0IGl0ZW1zXG4gICAgLmstYWN0aW9uc2hlZXQtaXRlbXMge31cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgaXRlbVxuICAgIC5rLWFjdGlvbnNoZWV0LWl0ZW0ge1xuXG5cbiAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0taG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gRm9jdXMgc3RhdGVcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kaXNhYmxlZC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kaXNhYmxlZC1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLXNoYWRvdyApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zaGVldCBpdGVtIGRlc2NyaXB0aW9uXG4gICAgLmstYWN0aW9uc2hlZXQtaXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZGVzY3JpcHRpb24tdGV4dCApO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgYWN0aW9uXG4gICAgLmstYWN0aW9uc2hlZXQtYWN0aW9uIHt9XG5cbiAgICAvLyBBY3Rpb25zaGVldCBzZXBhcmF0b3JcbiAgICAuay1hY3Rpb25zaGVldCAuay1ociB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlcjtcbiAgICB9XG5cblxuICAgIC8vIEFkYXB0aXZlIEFjdGlvbnNoZWV0XG4gICAgLmstYWRhcHRpdmUtYWN0aW9uc2hlZXQgLmstYWN0aW9uc2hlZXQtdGl0bGViYXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtdGl0bGViYXItYm9yZGVyICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWFjdGlvbi1zaGVldC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYWN0aW9uLXNoZWV0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tYWN0aW9uLXNoZWV0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hY3Rpb24tc2hlZXQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1hY3Rpb24tc2hlZXQtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImFjdGlvbi1zaGVldFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1hY3Rpb24tc2hlZXQtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1hY3Rpb24tc2hlZXQtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hY3Rpb24tc2hlZXQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2RpYWxvZy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RpYWxvZy9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJkaWFsb2dcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwid2luZG93XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3dpbmRvdy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3dpbmRvdy9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ3aW5kb3dcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJhY3Rpb25zXCIsXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiZm9ybVwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJvdmVybGF5XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL292ZXJsYXkvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9vdmVybGF5L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZm9ybXMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mb3Jtcy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2FjdGlvbi1idXR0b25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYWN0aW9uLWJ1dHRvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy93aW5kb3cvX3ZhcmlhYmxlcy5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy93aW5kb3cvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3dpbmRvdy9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy93aW5kb3cvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8td2luZG93LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLXdpbmRvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby13aW5kb3ctYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby13aW5kb3ctYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXdpbmRvdy1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8td2luZG93LWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby13aW5kb3ctbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDAyO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLy8gb3ZlcmxheSBkdXJpbmcgZHJhZ2dpbmdcbiAgICAgICAgLy8gLmstb3ZlcmxheSB7XG4gICAgICAgIC8vICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gICAgb3BhY2l0eTogMDtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICAuay13aW5kb3cuay13aW5kb3ctbWF4aW1pemVkIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBXaW5kb3cgc2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHdpZHRoIGluICRrZW5kby13aW5kb3ctc2l6ZXMge1xuICAgICAgICAuay13aW5kb3ctI3skc2l6ZX0geyB3aWR0aDogJHdpZHRoOyB9XG4gICAgfVxuXG5cbiAgICAvLyBUaXRsZSBiYXJcbiAgICAuay13aW5kb3ctdGl0bGViYXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyggJGtlbmRvLXdpbmRvdy1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby13aW5kb3ctdGl0bGViYXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXdpbmRvdy10aXRsZWJhci1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXdpbmRvdy10aXRsZWJhci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogJGtlbmRvLXdpbmRvdy10aXRsZWJhci1ib3JkZXItc3R5bGU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC5rLXdpbmRvdy1taW5pbWl6ZWQgJiB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaXRsZSBiYXIgdGl0bGUgdGV4dFxuICAgIC5rLXdpbmRvdy10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IC41ZW07XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgICBtYXJnaW4tYmxvY2s6IC0uNWVtO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby13aW5kb3ctdGl0bGUtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXdpbmRvdy10aXRsZS1saW5lLWhlaWdodDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMjAwYlwiO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zXG4gICAgLmstd2luZG93LXRpdGxlYmFyLWFjdGlvbnMge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IC01ZW07XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKCAjeyRrZW5kby13aW5kb3ctdGl0bGViYXItcGFkZGluZy15fSAtICN7JGtlbmRvLXdpbmRvdy10aXRsZWJhci1wYWRkaW5nLXh9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6ICRrZW5kby13aW5kb3ctYWN0aW9ucy1nYXA7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICAgIC5rLXdpbmRvdy10aXRsZWJhci1hY3Rpb24ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLXdpbmRvdy1hY3Rpb24tb3BhY2l0eTtcbiAgICB9XG4gICAgLmstd2luZG93LXRpdGxlYmFyLWFjdGlvbjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6ICRrZW5kby13aW5kb3ctYWN0aW9uLWhvdmVyLW9wYWNpdHk7XG4gICAgfVxuXG5cbiAgICAvLyBDb250ZW50XG4gICAgLmstd2luZG93LWNvbnRlbnQsXG4gICAgLmstcHJvbXB0LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby13aW5kb3ctaW5uZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuICAgIC5rLXdpbmRvdy1jb250ZW50ICsgLmstcHJvbXB0LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0gay1tYXRoLWRpdiggJGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXksIDIgKTtcbiAgICB9XG4gICAgLmstd2luZG93LWNvbnRlbnQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogY2xhbXAoICN7JGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXl9LCAjeyRrZW5kby13aW5kb3ctdGl0bGViYXItcGFkZGluZy15fSwgI3ska2VuZG8td2luZG93LXRpdGxlYmFyLXBhZGRpbmcteX0gKTtcbiAgICB9XG4gICAgLmstd2luZG93LWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCggI3ska2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteX0sICN7JGtlbmRvLXdpbmRvdy10aXRsZWJhci1wYWRkaW5nLXl9LCAjeyRrZW5kby13aW5kb3ctdGl0bGViYXItcGFkZGluZy15fSApO1xuICAgIH1cblxuICAgIC5rLXdpbmRvdy1pZnJhbWVjb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgLmstY29udGVudC1mcmFtZSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b25zIExheW91dFxuICAgIC5rLXdpbmRvdy1hY3Rpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoICRrZW5kby13aW5kb3ctYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8td2luZG93LWJ1dHRvbmdyb3VwLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby13aW5kb3ctYnV0dG9uZ3JvdXAtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby13aW5kb3ctYnV0dG9uZ3JvdXAtYm9yZGVyLXdpZHRoIDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cblxuICAgIC8vIFByb21wdFxuICAgIC5rLXByb21wdC1jb250YWluZXIge1xuXG4gICAgICAgID4gLmstdGV4dGFyZWEge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIFJlc2l6ZSBIYW5kbGVzXG4gICAgLmstd2luZG93IHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICAuay1yZXNpemUtbiB7IHRvcDogMDsgfVxuICAgICAgICAuay1yZXNpemUtZSB7IHJpZ2h0OiAwOyB9XG4gICAgICAgIC5rLXJlc2l6ZS1zIHsgYm90dG9tOiAwOyB9XG4gICAgICAgIC5rLXJlc2l6ZS13IHsgbGVmdDogMDsgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby13aW5kb3ctLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby13aW5kb3ctLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8td2luZG93LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8td2luZG93LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3Mvd2luZG93L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3dpbmRvdy9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3dpbmRvdy9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXdpbmRvdy0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFdpbmRvd1xuICAgIC5rLXdpbmRvdyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8td2luZG93LXRleHQsXG4gICAgICAgICAgICAka2VuZG8td2luZG93LWJnLFxuICAgICAgICAgICAgJGtlbmRvLXdpbmRvdy1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXdpbmRvdy1zaGFkb3cgKTtcbiAgICB9XG5cbiAgICAuay13aW5kb3c6Zm9jdXMsXG4gICAgLmstd2luZG93LmstZm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby13aW5kb3ctZm9jdXMtc2hhZG93ICk7XG4gICAgfVxuXG5cbiAgICAvLyBUaXRsZWJhclxuICAgIC5rLXdpbmRvdy10aXRsZWJhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8td2luZG93LXRpdGxlYmFyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8td2luZG93LXRpdGxlYmFyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXdpbmRvdy10aXRsZWJhci1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8td2luZG93LXRpdGxlYmFyLWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gV2luZG93IHRoZW1lIGNvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLXdpbmRvdy10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay13aW5kb3ctI3skbmFtZX0gLmstd2luZG93LXRpdGxlYmFyIHtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby13aW5kb3ctLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXdpbmRvdy0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXdpbmRvdy0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8td2luZG93LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8td2luZG93LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ3aW5kb3dcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8td2luZG93LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8td2luZG93LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8td2luZG93LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9kaWFsb2cvX3ZhcmlhYmxlcy5zY3NzXG4vLyBEaWFsb2dcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBEaWFsb2cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIGRpYWxvZ1xuJGtlbmRvLWRpYWxvZy10aXRsZWJhci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRGlhbG9nIHRpdGxlYmFyLlxuLy8vIEBncm91cCBkaWFsb2dcbiRrZW5kby1kaWFsb2ctdGl0bGViYXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBEaWFsb2cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIGRpYWxvZ1xuJGtlbmRvLWRpYWxvZy10aXRsZWJhci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBEaWFsb2cgYWN0aW9uIGJ1dHRvbnMuXG4vLy8gQGdyb3VwIGRpYWxvZ1xuJGtlbmRvLWRpYWxvZy1idXR0b25ncm91cC1wYWRkaW5nLXg6ICRrZW5kby1hY3Rpb25zLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgRGlhbG9nIGFjdGlvbiBidXR0b25zLlxuLy8vIEBncm91cCBkaWFsb2dcbiRrZW5kby1kaWFsb2ctYnV0dG9uZ3JvdXAtcGFkZGluZy15OiAka2VuZG8tYWN0aW9ucy1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSB0b3AgYm9yZGVyIG9mIHRoZSBEaWFsb2cgYWN0aW9uIGJ1dHRvbnMuXG4vLy8gQGdyb3VwIGRpYWxvZ1xuJGtlbmRvLWRpYWxvZy1idXR0b25ncm91cC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBEaWFsb2cgYWN0aW9uIGJ1dHRvbnMuXG4vLy8gQGdyb3VwIGRpYWxvZ1xuJGtlbmRvLWRpYWxvZy1idXR0b24tc3BhY2luZzogJGtlbmRvLWFjdGlvbnMtYnV0dG9uLXNwYWNpbmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhlbWUgY29sb3JzIG1hcCBmb3IgdGhlIERpYWxvZy5cbi8vLyBAZ3JvdXAgZGlhbG9nXG4ka2VuZG8tZGlhbG9nLXRoZW1lLWNvbG9yczogKFxuICAgIFwicHJpbWFyeVwiOiBrLW1hcC1nZXQoJGtlbmRvLXRoZW1lLWNvbG9ycywgXCJwcmltYXJ5XCIpLFxuICAgIFwibGlnaHRcIjogay1tYXAtZ2V0KCRrZW5kby10aGVtZS1jb2xvcnMsIFwibGlnaHRcIiksXG4gICAgXCJkYXJrXCI6IGstbWFwLWdldCgka2VuZG8tdGhlbWUtY29sb3JzLCBcImRhcmtcIilcbikgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZGlhbG9nL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kaWFsb2cvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGlhbG9nL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWRpYWxvZy0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay1kaWFsb2ctd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTAwMDE7XG5cbiAgICAgICAgLmstZGlhbG9nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWRpYWxvZyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAvLyBDZW50ZXJlZFxuICAgICAgICAmLmstZGlhbG9nLWNlbnRlcmVkIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1tdWx0aXNlbGVjdCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGl0bGViYXJcbiAgICAuay1kaWFsb2ctdGl0bGViYXIge31cbiAgICAuay1kaWFsb2ctdGl0bGUge31cblxuXG4gICAgLy8gQWN0aW9uc1xuICAgIC5rLWRpYWxvZy10aXRsZWJhci1hY3Rpb25zIHt9XG4gICAgLmstZGlhbG9nLWFjdGlvbiB7fVxuXG5cbiAgICAvLyBDb250ZW50XG4gICAgLmstZGlhbG9nLWNvbnRlbnQge31cblxuXG4gICAgLy8gQnV0dG9uc1xuICAgIC5rLWRpYWxvZy1hY3Rpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoICRrZW5kby13aW5kb3ctYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZGlhbG9nLWJ1dHRvbmdyb3VwLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1kaWFsb2ctYnV0dG9uZ3JvdXAtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1kaWFsb2ctYnV0dG9uZ3JvdXAtYm9yZGVyLXdpZHRoIDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAka2VuZG8tZGlhbG9nLWJ1dHRvbi1zcGFjaW5nO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1kaWFsb2ctLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kaWFsb2ctLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZGlhbG9nLS1sYXlvdXQoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1kaWFsb2ctLWxheW91dC1iYXNlKCk7XG5cbiAgICAvLyBEaWFsb2dcbiAgICAuay1kaWFsb2ctY29udGVudC5rLXNjcm9sbCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAje2stbWF0aC1kaXYoICRrZW5kby13aW5kb3ctaW5uZXItcGFkZGluZy15LCAyICl9O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3trLW1hdGgtZGl2KCAka2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteSwgMiApfTtcbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2RpYWxvZy9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kaWFsb2cvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kaWFsb2cvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1kaWFsb2ctLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBEaWFsb2cgdGl0bGViYXJcbiAgICAuay1kaWFsb2ctdGl0bGViYXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWRpYWxvZy10aXRsZWJhci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWRpYWxvZy10aXRsZWJhci1iZyxcbiAgICAgICAgICAgICRrZW5kby1kaWFsb2ctdGl0bGViYXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gRGlhbG9nIHRoZW1lIGNvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWRpYWxvZy10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1kaWFsb2ctI3skbmFtZX0gLmstZGlhbG9nLXRpdGxlYmFyIHtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1kaWFsb2ctLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRpYWxvZy0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWRpYWxvZy0tdGhlbWUoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1kaWFsb2ctLXRoZW1lLWJhc2UoKTtcblxuICAgIC8vIERpYWxvZ1xuICAgIC5rLWRpYWxvZyB7fVxuXG5cbiAgICAvLyBUaXRsZWJhclxuICAgIC5rLWRpYWxvZy10aXRsZWJhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZGlhbG9nLXRpdGxlYmFyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZGlhbG9nLXRpdGxlYmFyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWRpYWxvZy10aXRsZWJhci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDb250ZW50IHNjcm9sbCBib3JkZXJcbiAgICAuay1kaWFsb2ctY29udGVudC5rLXNjcm9sbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXI7XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZGlhbG9nLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJkaWFsb2dcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZGlhbG9nLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZGlhbG9nLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGlhbG9nLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9kcmF3ZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcmF3ZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZHJhd2VyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgXCJvdmVybGF5XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL292ZXJsYXkvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9vdmVybGF5L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbGJhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Rvb2xiYXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbGlzdC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvZHJhd2VyL192YXJpYWJsZXMuc2Nzc1xuLy8gRHJhd2VyXG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRHJhd2VyLlxuLy8vIEBncm91cCBkcmF3ZXJcbiRrZW5kby1kcmF3ZXItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIERyYXdlci5cbi8vLyBAZ3JvdXAgZHJhd2VyXG4ka2VuZG8tZHJhd2VyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBEcmF3ZXIuXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIERyYXdlci5cbi8vLyBAZ3JvdXAgZHJhd2VyXG4ka2VuZG8tZHJhd2VyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBEcmF3ZXIuXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgRHJhd2VyLlxuLy8vIEBncm91cCBkcmF3ZXJcbiRrZW5kby1kcmF3ZXItZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBEcmF3ZXIuXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIERyYXdlciBjb250ZW50LlxuLy8vIEBncm91cCBkcmF3ZXJcbiRrZW5kby1kcmF3ZXItY29udGVudC1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIERyYXdlciBjb250ZW50LlxuLy8vIEBncm91cCBkcmF3ZXJcbiRrZW5kby1kcmF3ZXItY29udGVudC1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIERyYXdlciBzY3JvbGxiYXIuXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItd2lkdGg6IDdweCAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIERyYXdlciBzY3JvbGxiYXIgdHJhY2suXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItY29sb3I6IHJnYmEoIDE1NiwgMTU2LCAxNTYsIC43ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIERyYXdlciBzY3JvbGxiYXIgdGh1bWIuXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItYmc6ICNkZWRlZGUgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIERyYXdlciBzY3JvbGxiYXIuXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItcmFkaXVzOiAyMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBob3ZlciBjb2xvciBvZiB0aGUgRHJhd2VyIHNjcm9sbGJhciB0cmFjay5cbi8vLyBAZ3JvdXAgZHJhd2VyXG4ka2VuZG8tZHJhd2VyLXNjcm9sbGJhci1ob3Zlci1jb2xvcjogcmdiYSggMTU2LCAxNTYsIDE1NiwgMSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgRHJhd2VyIGl0ZW0uXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteDogJGtlbmRvLXBhZGRpbmctbWQteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgRHJhd2VyIGl0ZW0uXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteTogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIERyYXdlciBpdGVtLlxuLy8vIEBncm91cCBkcmF3ZXJcbiRrZW5kby1kcmF3ZXItaXRlbS1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtbGcsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIERyYXdlciBpdGVtLlxuLy8vIEBncm91cCBkcmF3ZXJcbiRrZW5kby1kcmF3ZXItaXRlbS1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LWxnLCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIERyYXdlciBpdGVtIGluIGVhY2ggbGV2ZWwuXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1pdGVtLWxldmVsLXBhZGRpbmcteDogJGtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgY291bnQgb2YgdGhlIERyYXdlciBpdGVtIGxldmVscy5cbi8vLyBAZ3JvdXAgZHJhd2VyXG4ka2VuZG8tZHJhd2VyLWl0ZW0tbGV2ZWwtY291bnQ6IDUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBEcmF3ZXIgaWNvbi5cbi8vLyBAZ3JvdXAgZHJhd2VyXG4ka2VuZG8tZHJhd2VyLWljb24tcGFkZGluZy14OiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIERyYXdlciBpY29uLlxuLy8vIEBncm91cCBkcmF3ZXJcbiRrZW5kby1kcmF3ZXItaWNvbi1wYWRkaW5nLXk6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBpbml0aWFsIHdpZHRoIG9mIHRoZSBtaW5pIERyYXdlci5cbi8vLyBAZ3JvdXAgZHJhd2VyXG4ka2VuZG8tZHJhd2VyLW1pbmktaW5pdGlhbC13aWR0aDogY2FsYygyICogI3ska2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy14fSArICN7JGtlbmRvLWljb24tc2l6ZX0pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgRHJhd2VyIGl0ZW0uXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1ob3Zlci1iZzogJGtlbmRvLWhvdmVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIERyYXdlciBpdGVtLlxuLy8vIEBncm91cCBkcmF3ZXJcbiRrZW5kby1kcmF3ZXItaG92ZXItdGV4dDogJGtlbmRvLWhvdmVyLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBEcmF3ZXIgaXRlbS5cbi8vLyBAZ3JvdXAgZHJhd2VyXG4ka2VuZG8tZHJhd2VyLWZvY3VzLWJnOiAka2VuZG8taG92ZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgRHJhd2VyIGl0ZW0uXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1mb2N1cy1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgRHJhd2VyIGl0ZW0uXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1zZWxlY3RlZC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgRHJhd2VyIGl0ZW0uXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1zZWxlY3RlZC10ZXh0OiAka2VuZG8tY29sb3Itc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGFuZCBob3ZlcmVkIERyYXdlciBpdGVtLlxuLy8vIEBncm91cCBkcmF3ZXJcbiRrZW5kby1kcmF3ZXItc2VsZWN0ZWQtaG92ZXItYmc6ICRrZW5kby1ob3Zlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgYW5kIGhvdmVyZWQgRHJhd2VyIGl0ZW0uXG4vLy8gQGdyb3VwIGRyYXdlclxuJGtlbmRvLWRyYXdlci1zZWxlY3RlZC1ob3Zlci10ZXh0OiAka2VuZG8tY29sb3Itc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2RyYXdlci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZHJhd2VyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RyYXdlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1kcmF3ZXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQ29udGFpbmVyXG4gICAgLmstZHJhd2VyLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAga2VuZG8tZHJhd2VyLmstZHJhd2VyLFxuICAgIGtlbmRvLWRyYXdlciAuay1kcmF3ZXItd3JhcHBlciB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBEcmF3ZXJcbiAgICAuay1kcmF3ZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWRyYXdlci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZHJhd2VyLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1kcmF3ZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcmF3ZXItbWluaSAmLmstZHJhd2VyLXN0YXJ0LFxuICAgICAgICAuay1kcmF3ZXItZXhwYW5kZWQgJi5rLWRyYXdlci1zdGFydCB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogJGtlbmRvLWRyYXdlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcmF3ZXItbWluaSAmLmstZHJhd2VyLWVuZCxcbiAgICAgICAgLmstZHJhd2VyLWV4cGFuZGVkICYuay1kcmF3ZXItZW5kIHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6ICRrZW5kby1kcmF3ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBQb3NpdGlvblxuICAgICAgICAmLmstZHJhd2VyLXN0YXJ0IHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgfVxuICAgICAgICAmLmstZHJhd2VyLWVuZCB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDb250ZW50XG4gICAgLmstZHJhd2VyLWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1kcmF3ZXItY29udGVudC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZHJhd2VyLWNvbnRlbnQtcGFkZGluZy14O1xuICAgIH1cblxuXG4gICAgLy8gT3ZlcmxheVxuICAgIC5rLWRyYXdlci1vdmVybGF5IHtcbiAgICAgICAgLmstZHJhd2VyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODB2dzsgLy8gbGltaXQgd2lkdGhcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDAyO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1vdmVybGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWRyYXdlci1leHBhbmRlZCA+IC5rLW92ZXJsYXkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFB1c2ggZHJhd2VyXG4gICAgLmstZHJhd2VyLXB1c2gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgIC5rLWRyYXdlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpoYXMoLmstZHJhd2VyLmstZHJhd2VyLWVuZCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBEcmF3ZXIgaXRlbXNcbiAgICAuay1kcmF3ZXItd3JhcHBlciB7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOyAvLyBTY3JvbGxiYXIgc3R5bGVzIGZvciBNb3ppbGxhXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcblxuICAgICAgICAvLyBTY3JvbGxiYXIgc3R5bGVzIGZvciBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmFcbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1kcmF3ZXItc2Nyb2xsYmFyLXdpZHRoO1xuICAgICAgICB9XG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1kcmF3ZXItc2Nyb2xsYmFyLXJhZGl1cztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1kcmF3ZXItaXRlbXMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cbiAgICAuay1kcmF3ZXItaXRlbSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1kcmF3ZXItaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZHJhd2VyLWl0ZW0tZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWRyYXdlci1pdGVtLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGdhcDogJGtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgID4gLmstZHJhd2VyLWxpbmsge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiBjYWxjKCAjeyRrZW5kby1kcmF3ZXItaXRlbS1wYWRkaW5nLXl9ICogLTEgKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoICN7JGtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteH0gKiAtMSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICBnYXA6ICRrZW5kby1kcmF3ZXItaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1kcmF3ZXItaWNvbi1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZHJhd2VyLWljb24tcGFkZGluZy15O1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAgICAgICAgICYuay1pLW5vbmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWl0ZW0tdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZHJhd2VyLXRvZ2dsZSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhpZXJhcmNoeSBpdGVtc1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRrZW5kby1kcmF3ZXItaXRlbS1sZXZlbC1jb3VudCB7XG4gICAgICAgICAgICAmLmstbGV2ZWwtI3skaX0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKCggI3skaX0gKyAxKSAqICN7JGtlbmRvLWRyYXdlci1pdGVtLWxldmVsLXBhZGRpbmcteH0pIDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU2VwYXJhdG9yXG4gICAgLmstZHJhd2VyLXNlcGFyYXRvciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgIH1cblxuXG4gICAgLy8gTWluaSBtb2RlXG4gICAgLmstZHJhd2VyLW1pbmkgLmstZHJhd2VyLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogJGtlbmRvLWRyYXdlci1taW5pLWluaXRpYWwtd2lkdGg7XG4gICAgfVxufVxuXG5cbkBtaXhpbiBrZW5kby1kcmF3ZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcmF3ZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJhd2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJhd2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZHJhd2VyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RyYXdlci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RyYXdlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRyYXdlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLWRyYXdlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZHJhd2VyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZHJhd2VyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWRyYXdlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBEcmF3ZXIgaXRlbXNcbiAgICAuay1kcmF3ZXItd3JhcHBlciB7XG4gICAgICAgIHNjcm9sbGJhci1jb2xvcjogJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItY29sb3IgJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItYmc7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItYmc7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItaG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstZHJhd2VyLWl0ZW0ge1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWRyYXdlci1ob3Zlci10ZXh0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWRyYXdlci1ob3Zlci1iZztcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZHJhd2VyLWZvY3VzLWJnO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tZHJhd2VyLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWRyYXdlci1ob3Zlci10ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1kcmF3ZXItaG92ZXItYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1kcmF3ZXItc2VsZWN0ZWQtdGV4dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1kcmF3ZXItc2VsZWN0ZWQtYmc7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZHJhd2VyLXNlbGVjdGVkLWhvdmVyLXRleHQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWRyYXdlci1zZWxlY3RlZC1ob3Zlci1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1kcmF3ZXItc2VwYXJhdG9yIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWRyYXdlci1ib3JkZXI7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyYXdlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJhd2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJhd2VyLS10aGVtZSgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLWRyYXdlci0tdGhlbWUtYmFzZSgpO1xuXG4gICAgLmstZHJhd2VyLWl0ZW0ge1xuICAgICAgICAmLmstc2VsZWN0ZWQge1xuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZHJhd2VyLWZvY3VzLWJnO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRrZW5kby1kcmF3ZXItZm9jdXMtc2hhZG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZHJhd2VyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJkcmF3ZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZHJhd2VyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZHJhd2VyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJhd2VyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9ub3RpZmljYXRpb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9ub3RpZmljYXRpb24vX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwibm90aWZpY2F0aW9uXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9ub3RpZmljYXRpb24vX3ZhcmlhYmxlcy5zY3NzXG4vLyBOb3RpZmljYXRpb25cblxuLy8vIFRoZSByb3ctZ2FwIGJldHdlZW4gdGhlIGVsZW1lbnRzIGluIHRoZSBOb3RpZmljYXRpb24gZ3JvdXAuXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJGtlbmRvLW5vdGlmaWNhdGlvbi1ncm91cC1nYXA6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIE5vdGlmaWNhdGlvbi5cbi8vLyBAZ3JvdXAgbm90aWZpY2F0aW9uXG4ka2VuZG8tbm90aWZpY2F0aW9uLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBOb3RpZmljYXRpb24uXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJGtlbmRvLW5vdGlmaWNhdGlvbi1wYWRkaW5nLXk6IGstc3BhY2luZygzLjUpICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgTm90aWZpY2F0aW9uLlxuLy8vIEBncm91cCBub3RpZmljYXRpb25cbiRrZW5kby1ub3RpZmljYXRpb24tYm9yZGVyLXdpZHRoOiAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIE5vdGlmaWNhdGlvbi5cbi8vLyBAZ3JvdXAgbm90aWZpY2F0aW9uXG4ka2VuZG8tbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXM6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIE5vdGlmaWNhdGlvbi5cbi8vLyBAZ3JvdXAgbm90aWZpY2F0aW9uXG4ka2VuZG8tbm90aWZpY2F0aW9uLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBOb3RpZmljYXRpb24uXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJGtlbmRvLW5vdGlmaWNhdGlvbi1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIE5vdGlmaWNhdGlvbi5cbi8vLyBAZ3JvdXAgbm90aWZpY2F0aW9uXG4ka2VuZG8tbm90aWZpY2F0aW9uLWxpbmUtaGVpZ2h0OiBrLW1hdGgtZGl2KCAyMCwgMTQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgTm90aWZpY2F0aW9uLlxuLy8vIEBncm91cCBub3RpZmljYXRpb25cbiRrZW5kby1ub3RpZmljYXRpb24tYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIE5vdGlmaWNhdGlvbi5cbi8vLyBAZ3JvdXAgbm90aWZpY2F0aW9uXG4ka2VuZG8tbm90aWZpY2F0aW9uLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBOb3RpZmljYXRpb24uXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJGtlbmRvLW5vdGlmaWNhdGlvbi1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBOb3RpZmljYXRpb24uXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJGtlbmRvLW5vdGlmaWNhdGlvbi1zaGFkb3c6ICRrZW5kby1wb3B1cC1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBzcGFjaW5nIG9mIHRoZSBOb3RpZmljYXRpb24gaWNvbi5cbi8vLyBAZ3JvdXAgbm90aWZpY2F0aW9uXG4ka2VuZG8tbm90aWZpY2F0aW9uLWljb24tc3BhY2luZzogJGtlbmRvLWljb24tc3BhY2luZyAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIG5vdGlmaWNhdGlvbi10aGVtZSggJGNvbG9ycyApIHtcbiAgICAkX3RoZW1lOiAoKTtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGNvbG9ycyB7XG4gICAgICAgICRfdGhlbWU6IGstbWFwLW1lcmdlKCggJG5hbWU6IChcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1jb2xvciggJGNvbG9yICkpLFxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLFxuICAgICAgICAgICAgYm9yZGVyOiAkY29sb3IsXG4gICAgICAgICkpLCAkX3RoZW1lICk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkX3RoZW1lO1xufVxuXG4vLy8gVGhlIHRoZW1lIGNvbG9ycyBtYXAgZm9yIHRoZSBOb3RpZmljYXRpb24uXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJGtlbmRvLW5vdGlmaWNhdGlvbi10aGVtZS1jb2xvcnM6ICRrZW5kby10aGVtZS1jb2xvcnMgIWRlZmF1bHQ7XG4vLy8gVGhlIGdlbmVyYXRlZCB0aGVtZSBjb2xvcnMgbWFwIGZvciB0aGUgTm90aWZpY2F0aW9uLlxuLy8vIEBncm91cCBub3RpZmljYXRpb25cbiRrZW5kby1ub3RpZmljYXRpb24tdGhlbWU6IG5vdGlmaWNhdGlvbi10aGVtZSggJGtlbmRvLW5vdGlmaWNhdGlvbi10aGVtZS1jb2xvcnMgKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9ub3RpZmljYXRpb24vX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL25vdGlmaWNhdGlvbi9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9ub3RpZmljYXRpb24vX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tbm90aWZpY2F0aW9uLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1ub3RpZmljYXRpb24tZ3JvdXAge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZSB3cmFwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgIGdhcDogJGtlbmRvLW5vdGlmaWNhdGlvbi1ncm91cC1nYXAgMDtcbiAgICB9XG5cbiAgICAvLyBOZWVkZWQgZHVlIHRvIHRoZSBzcGVjaWZpY3MgaW4gdGhlIGltcGxlbWVudGF0aW9uIG9mIGFuaW1hdGlvbnMgaW4gQW5ndWxhclxuICAgIC5rLW5vdGlmaWNhdGlvbi1jb250YWluZXItYW5pbWF0aW5nIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1ub3RpZmljYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW5vdGlmaWNhdGlvbi1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbm90aWZpY2F0aW9uLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1ub3RpZmljYXRpb24tZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW5vdGlmaWNhdGlvbi1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbm90aWZpY2F0aW9uLWxpbmUtaGVpZ2h0O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogJGtlbmRvLW5vdGlmaWNhdGlvbi1pY29uLXNwYWNpbmc7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLW5vdGlmaWNhdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbm90aWZpY2F0aW9uLWFjdGlvbnMge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6ICRrZW5kby1ub3RpZmljYXRpb24taWNvbi1zcGFjaW5nO1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAuay1ub3RpZmljYXRpb24tYWN0aW9uIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLW5vdGlmaWNhdGlvbi0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW5vdGlmaWNhdGlvbi0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1ub3RpZmljYXRpb24tLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1ub3RpZmljYXRpb24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9ub3RpZmljYXRpb24vX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvbm90aWZpY2F0aW9uL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvbm90aWZpY2F0aW9uL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tbm90aWZpY2F0aW9uLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gVGhlbWVcbiAgICAuay1ub3RpZmljYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLW5vdGlmaWNhdGlvbi10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLW5vdGlmaWNhdGlvbi1iZyxcbiAgICAgICAgICAgICRrZW5kby1ub3RpZmljYXRpb24tYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1ub3RpZmljYXRpb24tc2hhZG93ICk7XG4gICAgfVxuXG4gICAgQGVhY2ggJG5hbWUsICRwcm9wcyBpbiAka2VuZG8tbm90aWZpY2F0aW9uLXRoZW1lIHtcbiAgICAgICAgLmstbm90aWZpY2F0aW9uLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgay1tYXAtZ2V0KCAkcHJvcHMsIGNvbG9yICksXG4gICAgICAgICAgICAgICAgay1tYXAtZ2V0KCAkcHJvcHMsIGJhY2tncm91bmQtY29sb3IgKSxcbiAgICAgICAgICAgICAgICBrLW1hcC1nZXQoICRwcm9wcywgYm9yZGVyIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbm90aWZpY2F0aW9uLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1ub3RpZmljYXRpb24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1ub3RpZmljYXRpb24tLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW5vdGlmaWNhdGlvbi0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW5vdGlmaWNhdGlvbi0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwibm90aWZpY2F0aW9uXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW5vdGlmaWNhdGlvbi0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW5vdGlmaWNhdGlvbi0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLW5vdGlmaWNhdGlvbi0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vcG9wb3Zlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcG92ZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwicG9wb3ZlclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImNhcmRcIixcbiAgICAgICAgXCJwb3B1cFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jYXJkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2FyZC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJjYXJkXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImFjdGlvbnNcIixcbiAgICAgICAgXCJ0eXBvZ3JhcGh5XCIsXG4gICAgICAgIC8vIFwidXRpbHMvZmxleC1ncmlkXCJcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19mbGV4LnNjc3NcIjtcbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fZ3JpZC5zY3NzXCI7XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1idXR0b25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3R5cG9ncmFwaHkvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90eXBvZ3JhcGh5L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9jYXJkL192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9fdmFyaWFibGVzLnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cbi8vIENhcmRcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1wYWRkaW5nLXk6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobWQpICFkZWZhdWx0O1xuLy8vIFRoZSBpbm5lciBib3JkZXIgcmFkaXVzIG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiBjYWxjKCAjeyRrZW5kby1jYXJkLWJvcmRlci1yYWRpdXN9IC0gI3ska2VuZG8tY2FyZC1ib3JkZXItd2lkdGh9ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtbGluZS1oZWlnaHQ6IGstbWF0aC1kaXYoIDIwLCAxNCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgQ2FyZHMgaW4gdGhlIENhcmQgZGVjay5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtZGVjay1nYXA6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC0xICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmb2N1c2VkIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWZvY3VzLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IGRvdWJsZS1jaGVjazogdGhlIGRlZmF1bHQgdGhlbWUgaXMgbm90IHN1cHBvc2VkIHRvIGVsZXZhdGUgdGhlIENhcmQgb24gZm9jdXNcblxuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtZm9jdXMtc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC0zICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2FyZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby1jYXJkLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2FyZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWhlYWRlci1wYWRkaW5nLXk6ICRrZW5kby1jYXJkLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgYm90dG9tIGJvcmRlciB3aWR0aCBvZiB0aGUgQ2FyZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWhlYWRlci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2FyZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWhlYWRlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2FyZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWhlYWRlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIENhcmQgaGVhZGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1oZWFkZXItYm9yZGVyOiAka2VuZG8tY2FyZC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBDYXJkIGJvZHkuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWJvZHktcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENhcmQgYm9keS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYm9keS1wYWRkaW5nLXk6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENhcmQgZm9vdGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb290ZXItcGFkZGluZy14OiAka2VuZG8tY2FyZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENhcmQgZm9vdGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb290ZXItcGFkZGluZy15OiAka2VuZG8tY2FyZC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRvcCBib3JkZXIgd2lkdGggb2YgdGhlIENhcmQgZm9vdGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb290ZXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENhcmQgZm9vdGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb290ZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENhcmQgZm9vdGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb290ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDYXJkIGZvb3Rlci5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtZm9vdGVyLWJvcmRlcjogJGtlbmRvLWNhcmQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIENhcmQgdGl0bGUuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLXRpdGxlLW1hcmdpbi1ib3R0b206IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDYXJkIHRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC10aXRsZS1mb250LXNpemU6ICRrZW5kby1oNS1mb250LXNpemUgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDYXJkIHRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC10aXRsZS1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBDYXJkIHRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC10aXRsZS1saW5lLWhlaWdodDogMS4yNSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIENhcmQgdGl0bGUuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLXRpdGxlLWZvbnQtd2VpZ2h0OiA1MDAgIWRlZmF1bHQ7XG4vLy8gVGhlIGxldHRlciBzcGFjaW5nIG9mIHRoZSBDYXJkIHRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC10aXRsZS1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBDYXJkIHN1YnRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1zdWJ0aXRsZS1tYXJnaW4tYm90dG9tOiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgQ2FyZCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtc3VidGl0bGUtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgQ2FyZCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtc3VidGl0bGUtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgQ2FyZCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtc3VidGl0bGUtbGluZS1oZWlnaHQ6IGstbWF0aC1kaXYoIDIwLCAxNCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHdlaWdodCBvZiB0aGUgQ2FyZCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtc3VidGl0bGUtZm9udC13ZWlnaHQ6IDUwMCAhZGVmYXVsdDtcbi8vLyBUaGUgbGV0dGVyIHNwYWNpbmcgb2YgdGhlIENhcmQgc3VidGl0bGUuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLXN1YnRpdGxlLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDYXJkIHN1YnRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1zdWJ0aXRsZS10ZXh0OiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgQ2FyZCBpbWFnZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtaW1nLW1heC13aWR0aDogMTAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNpemUgb2YgdGhlIEF2YXRhciBpbiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYXZhdGFyLXNpemU6IDQ1cHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgQXZhdGFyIGFuZCB0aGUgdGV4dCBpbiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYXZhdGFyLXNwYWNpbmc6ICRrZW5kby1jYXJkLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBDYXJkIGFjdGlvbnMuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWFjdGlvbnMtcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENhcmQgYWN0aW9ucy5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYWN0aW9ucy1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdG9wIGJvcmRlciB3aWR0aCBvZiB0aGUgQ2FyZCBhY3Rpb25zLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1hY3Rpb25zLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIENhcmQgYWN0aW9ucy5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYWN0aW9ucy1nYXA6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBzY3JvbGwgYnV0dG9uIGluIHRoZSBDYXJkIGRlY2suXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWRlY2stc2Nyb2xsLWJ1dHRvbi1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgc2Nyb2xsIGJ1dHRvbiBpbiB0aGUgQ2FyZCBkZWNrLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1kZWNrLXNjcm9sbC1idXR0b24tb2Zmc2V0OiBjYWxjKCAjeyRrZW5kby1jYXJkLWRlY2stZ2FwfSAvIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ2FyZCBjYWxsb3V0LlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1jYWxsb3V0LXdpZHRoOiAyMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIENhcmQgY2FsbG91dC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtY2FsbG91dC1oZWlnaHQ6IDIwcHggIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvY2FyZC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2FyZC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jYXJkL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWNhcmQtLWxheW91dC1iYXNlKCkge1xuXG5cbiAgICAvLyBBbmd1bGFyIGVsZW1lbnRzXG4gICAga2VuZG8tY2FyZCxcbiAgICBrZW5kby1jYXJkLWhlYWRlcixcbiAgICBrZW5kby1jYXJkLWJvZHksXG4gICAga2VuZG8tY2FyZC1hY3Rpb25zLFxuICAgIGtlbmRvLWNhcmQtZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG5cbiAgICAvLyBDYXJkXG4gICAgLmstY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1jYXJkLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tY2FyZC1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2FyZC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2FyZC1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2FyZCBhdmF0YXJcbiAgICAgICAgLmstY2FyZC1hdmF0YXIsXG4gICAgICAgIC5rLWF2YXRhciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRrZW5kby1jYXJkLWF2YXRhci1zcGFjaW5nO1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1jYXJkLWF2YXRhci1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tY2FyZC1hdmF0YXItc2l6ZTtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6ICRrZW5kby1jYXJkLWF2YXRhci1zaXplO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWNhcmQgPiAuay1jYXJkLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8vIENhcmQgb3JpZW50YXRpb25cbiAgICAuay1jYXJkLWhvcml6b250YWwgeyBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH0gLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBibG9jay1vcGVuaW5nLWJyYWNlLXNwYWNlLWJlZm9yZVxuICAgIC5rLWNhcmQtdmVydGljYWwgeyBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH0gLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBibG9jay1vcGVuaW5nLWJyYWNlLXNwYWNlLWJlZm9yZVxuXG4gICAgLy8gSGVhZGVyXG4gICAgLmstY2FyZC1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tY2FyZC1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNhcmQtaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJGtlbmRvLWNhcmQtaGVhZGVyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAuay1jYXJkLXRpdGxlLFxuICAgICAgICAuay1jYXJkLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstY2FyZC10aXRsZSArIC5rLWNhcmQtc3VidGl0bGUsXG4gICAgICAgIC5rLWNhcmQtc3VidGl0bGUgKyAuay1jYXJkLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1jYXJkLXRpdGxlLW1hcmdpbi1ib3R0b207XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEZvb3RlclxuICAgIC5rLWNhcmQtZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNhcmQtZm9vdGVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1jYXJkLWZvb3Rlci1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWNhcmQtZm9vdGVyLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuXG4gICAgLy8gQm9keVxuICAgIC5rLWNhcmQtYm9keSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1jYXJkLWJvZHktcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNhcmQtYm9keS1wYWRkaW5nLXg7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAka2VuZG8tcGFyYWdyYXBoLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstbGFzdCxcbiAgICAgICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1jYXJkLWFjdGlvbnMge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhcmQgbWVkaWFcbiAgICAuay1jYXJkLW1lZGlhIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5rLWNhcmQtaG9yaXpvbnRhbCAmIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJGtlbmRvLWNhcmQtaW1nLW1heC13aWR0aDtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDYXJkIHRpdGxlXG4gICAgLmstY2FyZC10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwICRrZW5kby1jYXJkLXRpdGxlLW1hcmdpbi1ib3R0b207XG4gICAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoXG4gICAgICAgICAgICAka2VuZG8tY2FyZC10aXRsZS1mb250LXNpemUsXG4gICAgICAgICAgICAka2VuZG8tY2FyZC10aXRsZS1mb250LWZhbWlseSxcbiAgICAgICAgICAgICRrZW5kby1jYXJkLXRpdGxlLWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgJGtlbmRvLWNhcmQtdGl0bGUtZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8tY2FyZC10aXRsZS1sZXR0ZXItc3BhY2luZ1xuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gQ2FyZCBzdWJ0aXRsZVxuICAgIC5rLWNhcmQtc3VidGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCAka2VuZG8tY2FyZC1zdWJ0aXRsZS1tYXJnaW4tYm90dG9tO1xuICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgJGtlbmRvLWNhcmQtc3VidGl0bGUtZm9udC1zaXplLFxuICAgICAgICAgICAgJGtlbmRvLWNhcmQtc3VidGl0bGUtZm9udC1mYW1pbHksXG4gICAgICAgICAgICAka2VuZG8tY2FyZC1zdWJ0aXRsZS1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICRrZW5kby1jYXJkLXN1YnRpdGxlLWZvbnQtd2VpZ2h0LFxuICAgICAgICAgICAgJGtlbmRvLWNhcmQtc3VidGl0bGUtbGV0dGVyLXNwYWNpbmdcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIFNlcGFyYXRvclxuICAgIC5rLWNhcmQtc2VwYXJhdG9yIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIH1cblxuICAgIC5rLWNhcmQtc2VwYXJhdG9yLmstc2VwYXJhdG9yLWhvcml6b250YWwsXG4gICAgLmstY2FyZC12ZXJ0aWNhbCA+IC5rLWNhcmQtc2VwYXJhdG9yIHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgIH1cblxuICAgIC5rLWNhcmQtc2VwYXJhdG9yLmstc2VwYXJhdG9yLXZlcnRpY2FsLFxuICAgIC5rLWNhcmQtaG9yaXpvbnRhbCA+IC5rLWNhcmQtc2VwYXJhdG9yIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAuay1jYXJkID4gLmstaHIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gQ2FyZCBhY3Rpb25zXG4gICAgLmstY2FyZC1hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNhcmQtYWN0aW9ucy1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY2FyZC1hY3Rpb25zLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBnYXA6ICRrZW5kby1jYXJkLWFjdGlvbnMtZ2FwO1xuICAgIH1cblxuICAgIC5rLWNhcmQtaG9yaXpvbnRhbCAuay1hY3Rpb25zLWhvcml6b250YWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBMaXN0XG4gICAgLmstY2FyZC1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZ2FwOiAka2VuZG8tY2FyZC1kZWNrLWdhcDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAgICAgLmstY2FyZCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRGVja1xuICAgIC5rLWNhcmQtZGVjayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGdhcDogJGtlbmRvLWNhcmQtZGVjay1nYXA7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAgIC5rLWNhcmQge1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jYXJkLWRlY2stc2Nyb2xsd3JhcCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7IC8vIHByZXZlbnRzIHRyaW1taW5nIG9mIGNhcmQgc2hhZG93cyBvbiBPU1ggKDAtd2lkdGggc2Nyb2xsYmFyKVxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgPiAuay1idXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWNhcmQtZGVjay1zY3JvbGwtYnV0dG9uLXJhZGl1cyApO1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAka2VuZG8tY2FyZC1kZWNrLXNjcm9sbC1idXR0b24tb2Zmc2V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAka2VuZG8tY2FyZC1kZWNrLXNjcm9sbC1idXR0b24tb2Zmc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1jYXJkLWRlY2sge1xuICAgICAgICAgICAgLy8gaGlkZSBzY3JvbGxiYXJcbiAgICAgICAgICAgICRzY3JvbGxiYXItc2l6ZTogMjBweDtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRzY3JvbGxiYXItc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2Nyb2xsYmFyLXNpemU7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gR3JvdXBcbiAgICAuay1jYXJkLWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAgICAgLmstY2FyZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAwICk7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICAuay1jYXJkICsgLmstY2FyZCB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAka2VuZG8tY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEJvcmRlci1yYWRpdXNcbiAgICAgICAgLmstY2FyZC5rLWZpcnN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cyggJGtlbmRvLWNhcmQtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWNhcmQuay1sYXN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoICRrZW5kby1jYXJkLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1jYXJkLmstb25seSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tY2FyZC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDYXJkIHdpdGggY2FsbG91dFxuICAgIC5rLWNhcmQtd2l0aC1jYWxsb3V0IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG5cbiAgICAvLyBDYXJkIGNhbGxvdXRcbiAgICAuay1jYXJkLWNhbGxvdXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tY2FyZC1jYWxsb3V0LXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1jYXJkLWNhbGxvdXQtaGVpZ2h0O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1jYXJkLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC5rLWNhcmQtY2FsbG91dC5rLWNhbGxvdXQtbiB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgICAuay1jYXJkLWNhbGxvdXQuay1jYWxsb3V0LWUge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgfVxuICAgIC5rLWNhcmQtY2FsbG91dC5rLWNhbGxvdXQtcyB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgIC5rLWNhcmQtY2FsbG91dC5rLWNhbGxvdXQtdyB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgIH1cblxuXG4gICAgLy8gU29saWQgY2FyZFxuICAgIC5rLWNhcmQtc29saWQge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tY2FyZC1zaGFkb3cgKTtcbiAgICB9XG5cblxuICAgIC8vIEZsYXQgY2FyZFxuICAgIC5rLWNhcmQtZmxhdCB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tY2FyZC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNhcmQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY2FyZC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNhcmQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9jYXJkL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NhcmQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jYXJkL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tY2FyZC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIENhcmRcbiAgICAuay1jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jYXJkLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tY2FyZC1iZyxcbiAgICAgICAgICAgICRrZW5kby1jYXJkLWJvcmRlclxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tY2FyZC1zaGFkb3cgKTtcblxuICAgICAgICAuay1jYXJkLWlubmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FyZC1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jYXJkLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1jYXJkLWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWNhcmQtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWNhcmQtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENhcmQgYWN0aW9uc1xuICAgIC5rLWNhcmQtYWN0aW9ucyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNhcmQtYm9yZGVyO1xuICAgIH1cblxuXG4gICAgLy8gSGVhZGVyXG4gICAgLmstY2FyZC1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAka2VuZG8tY2FyZC1oZWFkZXItdGV4dCwgJGtlbmRvLWNhcmQtaGVhZGVyLWJnLCAka2VuZG8tY2FyZC1oZWFkZXItYm9yZGVyICk7XG4gICAgfVxuXG5cbiAgICAvLyBGb290ZXJcbiAgICAuay1jYXJkLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRrZW5kby1jYXJkLWZvb3Rlci10ZXh0LCAka2VuZG8tY2FyZC1mb290ZXItYmcsICRrZW5kby1jYXJkLWZvb3Rlci1ib3JkZXIgKTtcbiAgICB9XG5cblxuICAgIC8vIFNlcGFyYXRvclxuICAgIC5rLWNhcmQtc2VwYXJhdG9yLFxuICAgIC5rLWNhcmQgLmstc2VwYXJhdG9yIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tY2FyZC1ib3JkZXI7XG4gICAgfVxuXG5cbiAgICAvLyBUT0RPOiByZWZhY3RvclxuICAgIC5rLWNhcmQtc3VidGl0bGUge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWNhcmQtc3VidGl0bGUtdGV4dDtcbiAgICB9XG5cblxuICAgIC8vIENhcmQgdGhlbWUgY29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstY2FyZC0jeyRuYW1lfSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tc3VidGxlICksIGstY29sb3ItdGludCgkY29sb3IsIDEwKSk7XG4gICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LW9uLXN1YnRsZSApLCBrLWNvbG9yLXNoYWRlKCRjb2xvciwgNikpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tZW1waGFzaXMgKSwgay1jb2xvci10aW50KCRjb2xvciwgOSkpO1xuXG4gICAgICAgICAgICAuay1jYXJkLXN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmstY2FyZC13cmFwIHtcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzLFxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgPiAuay1jYXJkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1jYXJkLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDYXJkIGNhbGxvdXRcbiAgICAuay1jYXJkLWNhbGxvdXQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiBpbmhlcml0LFxuICAgICAgICAgICAgJGJvcmRlcjogaW5oZXJpdFxuICAgICAgICApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIGluaGVyaXQgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tY2FyZC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FyZC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWNhcmQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNhcmQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1jYXJkLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJjYXJkXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNhcmQtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jYXJkLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FyZC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3BvcG92ZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBQb3BvdmVyXG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFBvcG92ZXIuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzdHlsZSBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgUG9wb3Zlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbi8vLyBUaGUgcmFkaXVzIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBQb3BvdmVyLlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAka2VuZG8tY2FyZC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgUG9wb3Zlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItZm9udC1mYW1pbHk6ICRrZW5kby1jYXJkLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFBvcG92ZXIuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWZvbnQtc2l6ZTogJGtlbmRvLWNhcmQtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgUG9wb3Zlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItbGluZS1oZWlnaHQ6ICRrZW5kby1jYXJkLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBvcG92ZXIuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUG9wb3Zlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUG9wb3Zlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgUG9wb3Zlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItc2hhZG93OiAka2VuZG8tY2FyZC1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBQb3BvdmVyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWNhcmQtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgUG9wb3ZlciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICRrZW5kby1jYXJkLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgUG9wb3ZlciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWhlYWRlci1ib3JkZXItd2lkdGg6ICRrZW5kby1jYXJkLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBzdHlsZSBvZiB0aGUgUG9wb3ZlciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWhlYWRlci1ib3JkZXItc3R5bGU6ICRrZW5kby1wb3BvdmVyLWJvcmRlci1zdHlsZSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUG9wb3ZlciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWhlYWRlci10ZXh0OiAka2VuZG8tY2FyZC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUG9wb3ZlciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWhlYWRlci1iZzogJGtlbmRvLWNhcmQtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFBvcG92ZXIgaGVhZGVyLlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1oZWFkZXItYm9yZGVyOiAka2VuZG8tY2FyZC1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgUG9wb3ZlciBib2R5LlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogJGtlbmRvLWNhcmQtYm9keS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFBvcG92ZXIgYm9keS5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICRrZW5kby1jYXJkLWJvZHktcGFkZGluZy15ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgUG9wb3ZlciBhY3Rpb25zLlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1hY3Rpb25zLWJvcmRlci13aWR0aDogJGtlbmRvLXBvcG92ZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBQb3BvdmVyIGNhbGxvdXQuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWNhbGxvdXQtd2lkdGg6ICRrZW5kby1jYXJkLWNhbGxvdXQtd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgUG9wb3ZlciBjYWxsb3V0LlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1jYWxsb3V0LWhlaWdodDogJGtlbmRvLWNhcmQtY2FsbG91dC1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgUG9wb3ZlciBjYWxsb3V0LlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1jYWxsb3V0LWJvcmRlci13aWR0aDogJGtlbmRvLXBvcG92ZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgc3R5bGUgb2YgdGhlIFBvcG92ZXIgY2FsbG91dC5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItY2FsbG91dC1ib3JkZXItc3R5bGU6ICRrZW5kby1wb3BvdmVyLWJvcmRlci1zdHlsZSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUG9wb3ZlciBjYWxsb3V0LlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1jYWxsb3V0LWJnOiAka2VuZG8tcG9wb3Zlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBQb3BvdmVyIGNhbGxvdXQuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWNhbGxvdXQtYm9yZGVyOiAka2VuZG8tcG9wb3Zlci1ib3JkZXIgIWRlZmF1bHQ7XG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3BvcG92ZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BvcG92ZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcG9wb3Zlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1wb3BvdmVyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFBvcG92ZXJcbiAgICAuay1wb3BvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXBvcG92ZXItYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1wb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiAka2VuZG8tcG9wb3Zlci1ib3JkZXItc3R5bGU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXBvcG92ZXItZm9udC1zaXplO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXBvcG92ZXItZm9udC1mYW1pbHk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tcG9wb3Zlci1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICB6LWluZGV4OiAxMjAwMDtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXBvcG92ZXItaW5uZXIge1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8vIEhlYWRlclxuICAgIC5rLXBvcG92ZXItaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoICRrZW5kby1wb3BvdmVyLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwICRrZW5kby1wb3BvdmVyLWhlYWRlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogJGtlbmRvLXBvcG92ZXItaGVhZGVyLWJvcmRlci1zdHlsZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8vIEJvZHlcbiAgICAuay1wb3BvdmVyLWJvZHkge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcG9wb3Zlci1ib2R5LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wb3BvdmVyLWJvZHktcGFkZGluZy14O1xuICAgIH1cblxuICAgIC8vIEFjdGlvbnNcbiAgICAuay1wb3BvdmVyLWFjdGlvbnMge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1wb3BvdmVyLWFjdGlvbnMtYm9yZGVyLXdpZHRoIDAgMDtcbiAgICB9XG5cblxuICAgIC8vIFBvcG92ZXIgY2FsbG91dFxuICAgIC5rLXBvcG92ZXItY2FsbG91dCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1wb3BvdmVyLWNhbGxvdXQtd2lkdGg7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLXBvcG92ZXItY2FsbG91dC1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXBvcG92ZXItY2FsbG91dC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogJGtlbmRvLXBvcG92ZXItY2FsbG91dC1ib3JkZXItc3R5bGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAmLmstY2FsbG91dC1uIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstY2FsbG91dC1lIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWNhbGxvdXQtcyB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstY2FsbG91dC13IHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcG9wb3Zlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBvcG92ZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tcG9wb3Zlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBvcG92ZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9wb3BvdmVyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BvcG92ZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wb3BvdmVyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tcG9wb3Zlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFBvcG92ZXJcbiAgICAuay1wb3BvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXBvcG92ZXItc2hhZG93ICk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1wb3BvdmVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcG9wb3Zlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1wb3BvdmVyLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXBvcG92ZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gSGVhZGVyXG4gICAgLmstcG9wb3Zlci1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXBvcG92ZXItaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcG9wb3Zlci1oZWFkZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tcG9wb3Zlci1oZWFkZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ2FsbG91dFxuICAgIC5rLXBvcG92ZXItY2FsbG91dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6IGluaGVyaXQsXG4gICAgICAgICAgICAkYm9yZGVyOiBpbmhlcml0XG4gICAgICAgICk7XG5cbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggaW5oZXJpdCApXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXBvcG92ZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBvcG92ZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1wb3BvdmVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wb3BvdmVyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tcG9wb3Zlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwicG9wb3ZlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1wb3BvdmVyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcG9wb3Zlci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBvcG92ZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3Jlc3BvbnNpdmVwYW5lbC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Jlc3BvbnNpdmVwYW5lbC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJyZXNwb25zaXZlLXBhbmVsXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9yZXNwb25zaXZlcGFuZWwvX3ZhcmlhYmxlcy5zY3NzXG4vLyBSZXNwb25zaXZlIHBhbmVsXG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvcmVzcG9uc2l2ZXBhbmVsL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yZXNwb25zaXZlcGFuZWwvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcmVzcG9uc2l2ZXBhbmVsL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXJlc3BvbnNpdmUtcGFuZWwtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLmstcnBhbmVsIHt9XG5cbiAgICAvLyBWYXJpYW50c1xuICAgIC5rLXJwYW5lbC1sZWZ0LFxuICAgIC5rLXJwYW5lbC1yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICAmICsgKiB7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1ycGFuZWwtZXhwYW5kZWQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcnBhbmVsLWxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIC5rLXJwYW5lbC1yaWdodCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSB0cmFuc2xhdGVaKDApO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAvLyBUb3BcbiAgICAuay1ycGFuZWwtdG9wIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICB9XG4gICAgLmstcnBhbmVsLXRvcC5rLXJwYW5lbC1leHBhbmRlZCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDU2OHB4O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuICAgIC8vIFRvZ2dsZSBidXR0b25cbiAgICAuay1ycGFuZWwtdG9nZ2xlIHtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXJlc3BvbnNpdmUtcGFuZWwtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yZXNwb25zaXZlLXBhbmVsLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXJlc3BvbnNpdmUtcGFuZWwtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yZXNwb25zaXZlLXBhbmVsLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvcmVzcG9uc2l2ZXBhbmVsL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Jlc3BvbnNpdmVwYW5lbC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Jlc3BvbnNpdmVwYW5lbC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXJlc3BvbnNpdmUtcGFuZWwtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1ycGFuZWwge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1yZXNwb25zaXZlLXBhbmVsLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yZXNwb25zaXZlLXBhbmVsLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tcmVzcG9uc2l2ZS1wYW5lbC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcmVzcG9uc2l2ZS1wYW5lbC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXJlc3BvbnNpdmUtcGFuZWwtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInJlc3BvbnNpdmUtcGFuZWxcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcmVzcG9uc2l2ZS1wYW5lbC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXJlc3BvbnNpdmUtcGFuZWwtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yZXNwb25zaXZlLXBhbmVsLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90b29sdGlwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbHRpcC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vd2luZG93L19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvd2luZG93L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE5hdmlnYXRpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vYm90dG9tLW5hdmlnYXRpb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9ib3R0b20tbmF2aWdhdGlvbi9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJib3R0b20tbmF2aWdhdGlvblwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgLy8gXCJ1dGlscy9sYXlvdXQvcG9zaXRpb25cIlxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX3Bvc2l0aW9uLnNjc3NcIjtcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2JvdHRvbS1uYXZpZ2F0aW9uL192YXJpYWJsZXMuc2Nzc1xuLy8gQm90dG9tTmF2aWdhdGlvblxuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQm90dG9tTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgYm90dG9tLW5hdmlnYXRpb25cbiRrZW5kby1ib3R0b20tbmF2LXBhZGRpbmcteDogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtcGFkZGluZy15OiAka2VuZG8tYm90dG9tLW5hdi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgQm90dG9tTmF2aWdhdGlvbiBpdGVtcy5cbi8vLyBAZ3JvdXAgYm90dG9tLW5hdmlnYXRpb25cbiRrZW5kby1ib3R0b20tbmF2LWdhcDogJGtlbmRvLWJvdHRvbS1uYXYtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQm90dG9tTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgYm90dG9tLW5hdmlnYXRpb25cbiRrZW5kby1ib3R0b20tbmF2LWJvcmRlci13aWR0aDogMXB4IDBweCAwcHggMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgQm90dG9tTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgYm90dG9tLW5hdmlnYXRpb25cbiRrZW5kby1ib3R0b20tbmF2LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodC14cywgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxldHRlciBzcGFjaW5nIG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtbGV0dGVyLXNwYWNpbmc6IC4ycHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uIGl0ZW0uXG4vLy8gQGdyb3VwIGJvdHRvbS1uYXZpZ2F0aW9uXG4ka2VuZG8tYm90dG9tLW5hdi1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uIGl0ZW0uXG4vLy8gQGdyb3VwIGJvdHRvbS1uYXZpZ2F0aW9uXG4ka2VuZG8tYm90dG9tLW5hdi1pdGVtLXBhZGRpbmcteTogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSBtaW5pbXVtIHdpZHRoIG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uIGl0ZW0uXG4vLy8gQGdyb3VwIGJvdHRvbS1uYXZpZ2F0aW9uXG4ka2VuZG8tYm90dG9tLW5hdi1pdGVtLW1pbi13aWR0aDogNzJweCAhZGVmYXVsdDtcbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgQm90dG9tTmF2aWdhdGlvbiBpdGVtLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1tYXgtd2lkdGg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIG1pbmltdW0gaGVpZ2h0IG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uIGl0ZW0uXG4vLy8gQGdyb3VwIGJvdHRvbS1uYXZpZ2F0aW9uXG4ka2VuZG8tYm90dG9tLW5hdi1pdGVtLW1pbi1oZWlnaHQ6IGNhbGMoICN7JGtlbmRvLWljb24tc2l6ZSAqIDIuNX0gKyBjYWxjKCAjeyRrZW5kby1wYWRkaW5nLXNtLXh9ICogMiApIC0gY2FsYyggI3ska2VuZG8tYm90dG9tLW5hdi1wYWRkaW5nLXh9ICogMiApICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIEJvdHRvbU5hdmlnYXRpb24gaXRlbS5cbi8vLyBAZ3JvdXAgYm90dG9tLW5hdmlnYXRpb25cbiRrZW5kby1ib3R0b20tbmF2LWl0ZW0tYm9yZGVyLXJhZGl1czogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgQm90dG9tTmF2aWdhdGlvbiBpdGVtLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1nYXA6IDAgay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIEJvdHRvbU5hdmlnYXRpb24uXG4vLy8gQGdyb3VwIGJvdHRvbS1uYXZpZ2F0aW9uXG4ka2VuZG8tYm90dG9tLW5hdi1zaGFkb3c6ICRib3gtc2hhZG93LWRlcHRoLTQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZmxhdCBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtZmxhdC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZsYXQgQm90dG9tTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgYm90dG9tLW5hdmlnYXRpb25cbiRrZW5kby1ib3R0b20tbmF2LWZsYXQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZmxhdCBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtZmxhdC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2JvdHRvbS1uYXZpZ2F0aW9uL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9ib3R0b20tbmF2aWdhdGlvbi9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9ib3R0b20tbmF2aWdhdGlvbi9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1ib3R0b20tbmF2aWdhdGlvbi0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBCb3R0b20gTmF2aWdhdGlvblxuICAgIC5rLWJvdHRvbS1uYXYge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tYm90dG9tLW5hdi1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tYm90dG9tLW5hdi1wYWRkaW5nLXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWJvdHRvbS1uYXYtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWJvdHRvbS1uYXYtbGluZS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tYm90dG9tLW5hdi1mb250LWZhbWlseTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRrZW5kby1ib3R0b20tbmF2LWxldHRlci1zcGFjaW5nO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGdhcDogJGtlbmRvLWJvdHRvbS1uYXYtZ2FwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstYm90dG9tLW5hdi1ib3JkZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1ib3R0b20tbmF2LWJvcmRlci13aWR0aDtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBkbyB3ZSBldmVuIHVzZSB0aGlzP1xuICAgIC5rLWJvdHRvbS1uYXYtc2hhZG93IHtcbiAgICAgICAgYm94LXNoYWRvdzogJGtlbmRvLWJvdHRvbS1uYXYtc2hhZG93O1xuICAgIH1cblxuICAgIC8vIEl0ZW1zXG4gICAgLmstYm90dG9tLW5hdi1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tYm90dG9tLW5hdi1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgbWluLXdpZHRoOiAka2VuZG8tYm90dG9tLW5hdi1pdGVtLW1pbi13aWR0aDtcbiAgICAgICAgbWF4LXdpZHRoOiAka2VuZG8tYm90dG9tLW5hdi1pdGVtLW1heC13aWR0aDtcbiAgICAgICAgbWluLWhlaWdodDogJGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1taW4taGVpZ2h0O1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1ib3R0b20tbmF2LWl0ZW0tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAka2VuZG8tYm90dG9tLW5hdi1pdGVtLWdhcDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstYm90dG9tLW5hdi1saW5rIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogY2FsYyggI3ska2VuZG8tYm90dG9tLW5hdi1pdGVtLXBhZGRpbmcteX0gKiAtMSApO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogY2FsYyggI3ska2VuZG8tYm90dG9tLW5hdi1pdGVtLXBhZGRpbmcteH0gKiAtMSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1ib3R0b20tbmF2LWl0ZW0uay1kaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLmstYm90dG9tLW5hdi1pdGVtLXRleHQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIEhvcml6b250YWwgSXRlbSBMYXlvdXRcbiAgICAuay1ib3R0b20tbmF2LWl0ZW0tZmxvdy1ob3Jpem9udGFsIC5rLWJvdHRvbS1uYXYtaXRlbSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBJdGVtIExheW91dFxuICAgIC5rLWJvdHRvbS1uYXYtaXRlbS1mbG93LXZlcnRpY2FsIC5rLWJvdHRvbS1uYXYtaXRlbSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuay1ib3R0b20tbmF2LmstcG9zLWZpeGVkIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1ib3R0b20tbmF2aWdhdGlvbi0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJvdHRvbS1uYXZpZ2F0aW9uLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWJvdHRvbS1uYXZpZ2F0aW9uLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9ib3R0b20tbmF2aWdhdGlvbi9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9ib3R0b20tbmF2aWdhdGlvbi9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2JvdHRvbS1uYXZpZ2F0aW9uL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBTb2xpZFxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWJvdHRvbS1uYXYtc29saWQtI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tI3skbmFtZX0gKSA2NSUsIHRyYW5zcGFyZW50KSwgay10cnVlLW1peCggJGNvbG9yLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICksIDM1JSkpLFxuICAgICAgICAgICAgICAgICRiZzogJGNvbG9yXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAuay1ib3R0b20tbmF2LWl0ZW0uay1mb2N1cyxcbiAgICAgICAgICAgIC5rLWJvdHRvbS1uYXYtaXRlbTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLSN7JG5hbWV9ICkgMTIuNSUsIHRyYW5zcGFyZW50KSwgcmdiYShrLXRydWUtbWl4KCAkY29sb3IsIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSwgMzUlKSwgLjIpKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWJvdHRvbS1uYXYtaXRlbS5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlIHdoZW4gc3VpdGVzIHVwZGF0ZSBjbGFzcyBuYW1lc1xuICAgICAgICAuay1ib3R0b20tbmF2LXNvbGlkLmstYm90dG9tLW5hdi0jeyRuYW1lfSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5rLWJvdHRvbS1uYXYtc29saWQtI3skbmFtZX0gIW9wdGlvbmFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmxhdFxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWJvdHRvbS1uYXYtZmxhdC0jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1ib3R0b20tbmF2LWZsYXQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tYm90dG9tLW5hdi1mbGF0LWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1ib3R0b20tbmF2LWZsYXQtYm9yZGVyXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAuay1ib3R0b20tbmF2LWl0ZW0uay1mb2N1cyxcbiAgICAgICAgICAgIC5rLWJvdHRvbS1uYXYtaXRlbTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNSUsIHRyYW5zcGFyZW50KSwgcmdiYSgka2VuZG8tYm90dG9tLW5hdi1mbGF0LXRleHQsIC4wNSkpICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWJvdHRvbS1uYXYtaXRlbS5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBAaWYgJG5hbWUgPT0gXCJzZWNvbmRhcnlcIiBvciAkbmFtZSA9PSBcImxpZ2h0XCIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfSApLCBrLXRyeS1zaGFkZSgkY29sb3IsIDMpKSApO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRjb2xvciApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1ib3R0b20tbmF2LWZsYXQuay1ib3R0b20tbmF2LSN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmstYm90dG9tLW5hdi1mbGF0LSN7JG5hbWV9ICFvcHRpb25hbDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1ib3R0b20tbmF2aWdhdGlvbi0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLXRoZW1lKCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLXRoZW1lLWJhc2UoKTtcblxuICAgIC8vIEZsYXRcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1ib3R0b20tbmF2LWZsYXQtI3skbmFtZX0ge1xuICAgICAgICAgICAgLmstYm90dG9tLW5hdi1pdGVtLmstZm9jdXMsXG4gICAgICAgICAgICAuay1ib3R0b20tbmF2LWl0ZW06Zm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDYlLCB0cmFuc3BhcmVudCksIHJnYmEoJGtlbmRvLWJvdHRvbS1uYXYtZmxhdC10ZXh0LCAuMDUpKSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImJvdHRvbS1uYXZpZ2F0aW9uXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWJvdHRvbS1uYXZpZ2F0aW9uLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1ib3R0b20tbmF2aWdhdGlvbi0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vYnJlYWRjcnVtYi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2JyZWFkY3J1bWIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiYnJlYWRjcnVtYlwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvYnJlYWRjcnVtYi9fdmFyaWFibGVzLnNjc3Ncbi8vIEJyZWFkY3J1bWJcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItYm9yZGVyLXdpZHRoOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gb2YgdGhlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLW1hcmdpbi14OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBtYXJnaW4gb2YgdGhlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLW1hcmdpbi15OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc21hbGwgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItc20tZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbWVkaXVtIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLW1kLWZvbnQtc2l6ZTogJGtlbmRvLWJyZWFkY3J1bWItZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGxhcmdlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxnLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkhZGVmYXVsdDtcbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIHNtYWxsIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXNtLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgbWVkaXVtIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLW1kLWxpbmUtaGVpZ2h0OiAka2VuZG8tYnJlYWRjcnVtYi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGhlaWdodCBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1sZy1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgb2YgdGhlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIHRleHQgY29sb3Igb2YgdGhlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBib3JkZXIgY29sb3Igb2YgdGhlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1mb2N1cy1zaGFkb3c6IDAgMCAycHggMXB4IHJnYmEoIGJsYWNrLCAuMDYgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluay1wYWRkaW5nLXg6IGstc3BhY2luZygyLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHNtYWxsIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItc20tbGluay1wYWRkaW5nLXg6IGstc3BhY2luZygyLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLW1kLWxpbmstcGFkZGluZy14OiAka2VuZG8tYnJlYWRjcnVtYi1saW5rLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxnLWxpbmstcGFkZGluZy14OiBrLXNwYWNpbmcoMi41KSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxpbmstcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIHNtYWxsIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItc20tbGluay1wYWRkaW5nLXk6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gQnJlYWRjcnVtYiBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1tZC1saW5rLXBhZGRpbmcteTogJGtlbmRvLWJyZWFkY3J1bWItbGluay1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGctbGluay1wYWRkaW5nLXk6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlci1yYWRpdXMgb2YgdGhlIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluay1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobWQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEJyZWFkY3J1bWIgbGluayBpY29uLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1pY29uLWxpbmstcGFkZGluZy15OiBrLXNwYWNpbmcoMi41KSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgc21hbGwgQnJlYWRjcnVtYiBsaW5rIGljb24uXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXNtLWljb24tbGluay1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIEJyZWFkY3J1bWIgbGluayBpY29uLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1tZC1pY29uLWxpbmstcGFkZGluZy15OiAka2VuZG8tYnJlYWRjcnVtYi1pY29uLWxpbmstcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBCcmVhZGNydW1iIGxpbmsgaWNvbi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGctaWNvbi1saW5rLXBhZGRpbmcteTogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQnJlYWRjcnVtYiBsaW5rIGljb24uXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWljb24tbGluay1wYWRkaW5nLXg6ICRrZW5kby1icmVhZGNydW1iLWljb24tbGluay1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgc21hbGwgQnJlYWRjcnVtYiBsaW5rIGljb24uXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXNtLWljb24tbGluay1wYWRkaW5nLXg6ICRrZW5kby1icmVhZGNydW1iLXNtLWljb24tbGluay1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIEJyZWFkY3J1bWIgbGluayBpY29uLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1tZC1pY29uLWxpbmstcGFkZGluZy14OiAka2VuZG8tYnJlYWRjcnVtYi1pY29uLWxpbmstcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIEJyZWFkY3J1bWIgbGluayBpY29uLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1sZy1pY29uLWxpbmstcGFkZGluZy14OiAka2VuZG8tYnJlYWRjcnVtYi1sZy1pY29uLWxpbmstcGFkZGluZy15ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIEJyZWFkY3J1bWIgbGluayBpY29uLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1saW5rLWljb24tc3BhY2luZzogJGtlbmRvLWljb24tc3BhY2luZyAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxpbmstaW5pdGlhbC10ZXh0OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluay1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQnJlYWRjcnVtYiBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1saW5rLXRleHQ6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluay1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxpbmstaG92ZXItYmc6ICRrZW5kby1ob3Zlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxpbmstaG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluay1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxpbmstZm9jdXMtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApLCBrLW1hcC1nZXQoICR0aGVtZSwgZm9jdXMtYmcgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZvY3VzZWQgQnJlYWRjcnVtYiBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1saW5rLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxpbmstZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluay1mb2N1cy1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQnJlYWRjcnVtYiByb290IGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQnJlYWRjcnVtYiByb290IGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEJyZWFkY3J1bWIgcm9vdCBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgQnJlYWRjcnVtYiByb290IGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1ob3Zlci1iZzogJGtlbmRvLWhvdmVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIEJyZWFkY3J1bWIgcm9vdCBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstaG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIEJyZWFkY3J1bWIgcm9vdCBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstaG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZvY3VzZWQgQnJlYWRjcnVtYiByb290IGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1mb2N1cy1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtYWN0aXZlICksIGstbWFwLWdldCggJHRoZW1lLCBmb2N1cy1iZyApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBCcmVhZGNydW1iIHJvb3QgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBCcmVhZGNydW1iIHJvb3QgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBCcmVhZGNydW1iIHJvb3QgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWZvY3VzLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjdXJyZW50IEJyZWFkY3J1bWIgcm9vdCBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1jdXJyZW50LWl0ZW0tYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGN1cnJlbnQgQnJlYWRjcnVtYiByb290IGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWN1cnJlbnQtaXRlbS10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGN1cnJlbnQgQnJlYWRjcnVtYiByb290IGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWN1cnJlbnQtaXRlbS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZXMgbWFwIGZvciB0aGUgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBsaW5rLXBhZGRpbmcteDogJGtlbmRvLWJyZWFkY3J1bWItc20tbGluay1wYWRkaW5nLXgsXG4gICAgICAgIGxpbmstcGFkZGluZy15OiAka2VuZG8tYnJlYWRjcnVtYi1zbS1saW5rLXBhZGRpbmcteSxcbiAgICAgICAgaWNvbi1saW5rLXBhZGRpbmcteDogJGtlbmRvLWJyZWFkY3J1bWItc20taWNvbi1saW5rLXBhZGRpbmcteCxcbiAgICAgICAgaWNvbi1saW5rLXBhZGRpbmcteTogJGtlbmRvLWJyZWFkY3J1bWItc20taWNvbi1saW5rLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYnJlYWRjcnVtYi1zbS1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYnJlYWRjcnVtYi1zbS1saW5lLWhlaWdodFxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgbGluay1wYWRkaW5nLXg6ICRrZW5kby1icmVhZGNydW1iLW1kLWxpbmstcGFkZGluZy14LFxuICAgICAgICBsaW5rLXBhZGRpbmcteTogJGtlbmRvLWJyZWFkY3J1bWItbWQtbGluay1wYWRkaW5nLXksXG4gICAgICAgIGljb24tbGluay1wYWRkaW5nLXg6ICRrZW5kby1icmVhZGNydW1iLW1kLWljb24tbGluay1wYWRkaW5nLXgsXG4gICAgICAgIGljb24tbGluay1wYWRkaW5nLXk6ICRrZW5kby1icmVhZGNydW1iLW1kLWljb24tbGluay1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWJyZWFkY3J1bWItbWQtZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWJyZWFkY3J1bWItbWQtbGluZS1oZWlnaHRcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICAgIGxpbmstcGFkZGluZy14OiAka2VuZG8tYnJlYWRjcnVtYi1sZy1saW5rLXBhZGRpbmcteCxcbiAgICAgICAgbGluay1wYWRkaW5nLXk6ICRrZW5kby1icmVhZGNydW1iLWxnLWxpbmstcGFkZGluZy15LFxuICAgICAgICBpY29uLWxpbmstcGFkZGluZy14OiAka2VuZG8tYnJlYWRjcnVtYi1sZy1pY29uLWxpbmstcGFkZGluZy14LFxuICAgICAgICBpY29uLWxpbmstcGFkZGluZy15OiAka2VuZG8tYnJlYWRjcnVtYi1sZy1pY29uLWxpbmstcGFkZGluZy15LFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1icmVhZGNydW1iLWxnLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1icmVhZGNydW1iLWxnLWxpbmUtaGVpZ2h0XG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9icmVhZGNydW1iL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9icmVhZGNydW1iL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2JyZWFkY3J1bWIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tYnJlYWRjcnVtYi0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBCcmVhZGNydW1iXG4gICAgLmstYnJlYWRjcnVtYiB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogJGtlbmRvLWJyZWFkY3J1bWItbWFyZ2luLXk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6ICRrZW5kby1icmVhZGNydW1iLW1hcmdpbi14O1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tYnJlYWRjcnVtYi1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWJyZWFkY3J1bWItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWJyZWFkY3J1bWItZm9udC1mYW1pbHk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEJyZWFkY3J1bWIgY29udGFpbmVyXG4gICAgLmstYnJlYWRjcnVtYi1jb250YWluZXIsXG4gICAgLmstYnJlYWRjcnVtYi1yb290LWl0ZW0tY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstYnJlYWRjcnVtYi1yb290LWl0ZW0tY29udGFpbmVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuXG4gICAgLy8gQnJlYWRjcnVtYiBpdGVtXG4gICAgLmstYnJlYWRjcnVtYi1pdGVtIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG5cbiAgICAvLyBCcmVhZGNydW1iIHJvb3QgaXRlbVxuICAgIC5rLWJyZWFkY3J1bWItcm9vdC1pdGVtIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBCcmVhZGNydW1iIGxpbmtzXG4gICAgLmstYnJlYWRjcnVtYi1saW5rLFxuICAgIC5rLWJyZWFkY3J1bWItcm9vdC1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWJyZWFkY3J1bWItbGluay1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tYnJlYWRjcnVtYi1saW5rLWluaXRpYWwtdGV4dDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246ICRrZW5kby10cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC5rLWJyZWFkY3J1bWItbGluayA+IC5rLWltYWdlLFxuICAgIC5rLWJyZWFkY3J1bWItaWNvbnRleHQtbGluayAuay1pY29uIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRrZW5kby1icmVhZGNydW1iLWxpbmstaWNvbi1zcGFjaW5nO1xuICAgIH1cblxuXG4gICAgLy8gQnJlYWRjcnVtYiBkZWxpbWl0ZXJcbiAgICAuay1icmVhZGNydW1iLWRlbGltaXRlcixcbiAgICAuay1icmVhZGNydW1iLWRlbGltaXRlci1pY29uIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG9wYWNpdHk6ICRrZW5kby1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cblxuXG4gICAgLy8gRWRpdGluZ1xuICAgIC5rLWJyZWFkY3J1bWItaW5wdXQtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmstYnJlYWRjcnVtYi1pbnB1dC1jb250YWluZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLWJyZWFkY3J1bWItc2l6ZXMge1xuICAgICAgICAkX2xpbmstcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBsaW5rLXBhZGRpbmcteCApO1xuICAgICAgICAkX2xpbmstcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBsaW5rLXBhZGRpbmcteSApO1xuICAgICAgICAkX2ljb24tbGluay1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGljb24tbGluay1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9pY29uLWxpbmstcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBpY29uLWxpbmstcGFkZGluZy15ICk7XG4gICAgICAgICRfZm9udC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBmb250LXNpemUgKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgbGluZS1oZWlnaHQgKTtcblxuICAgICAgICAuay1icmVhZGNydW1iLSN7JHNpemV9IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJF9saW5lLWhlaWdodDtcblxuXG4gICAgICAgICAgICAuay1icmVhZGNydW1iLWxpbmssXG4gICAgICAgICAgICAuay1icmVhZGNydW1iLXJvb3QtbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9saW5rLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstYnJlYWRjcnVtYi1pY29uLWxpbmsge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfaWNvbi1saW5rLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9pY29uLWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWJyZWFkY3J1bWItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1icmVhZGNydW1iLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWJyZWFkY3J1bWItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1icmVhZGNydW1iLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvYnJlYWRjcnVtYi9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9icmVhZGNydW1iL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYnJlYWRjcnVtYi9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWJyZWFkY3J1bWItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBCcmVhZGNydW1iXG4gICAgLmstYnJlYWRjcnVtYiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWJyZWFkY3J1bWItYmcsXG4gICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWJyZWFkY3J1bWItZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEJyZWFkY3J1bWIgbGlua1xuICAgIC5rLWJyZWFkY3J1bWItbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1saW5rLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1saW5rLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWJyZWFkY3J1bWItbGluay1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIb3ZlcmVkIHN0YXRlXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLWxpbmstaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1saW5rLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLWxpbmstaG92ZXItYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNlZCBzdGF0ZVxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1saW5rLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJyZWFkY3J1bWItbGluay1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1saW5rLWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWJyZWFkY3J1bWItbGluay1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQnJlYWRjcnVtYiByb290IGxpbmtcbiAgICAuay1icmVhZGNydW1iLXJvb3QtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1iZyxcbiAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIb3ZlcmVkIHN0YXRlXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstaG92ZXItYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNlZCBzdGF0ZVxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBCcmVhZGNydW1iIGN1cnJlbnQgKGxhc3QpIGl0ZW1cbiAgICAuay1icmVhZGNydW1iLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgIC5rLWJyZWFkY3J1bWItbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLWN1cnJlbnQtaXRlbS10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLWN1cnJlbnQtaXRlbS1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1jdXJyZW50LWl0ZW0tYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBBbGlhc1xuICAgIC5rLWJyZWFkY3J1bWItbGFzdC1pdGVtIHtcbiAgICAgICAgQGV4dGVuZCAuay1icmVhZGNydW1iLWN1cnJlbnQtaXRlbSAhb3B0aW9uYWw7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWJyZWFkY3J1bWItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJyZWFkY3J1bWItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1icmVhZGNydW1iLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1icmVhZGNydW1iLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tYnJlYWRjcnVtYi0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiYnJlYWRjcnVtYlwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1icmVhZGNydW1iLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYnJlYWRjcnVtYi0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJyZWFkY3J1bWItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3BhZ2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcGFnZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwicGFnZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJkcm9wZG93bi1saXN0XCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9wYWdlci9fdmFyaWFibGVzLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvbGlzdC9fdmFyaWFibGVzLnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUGFnZXJcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHNtYWxsIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLXNtLXBhZGRpbmcteDogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1tZC1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1sZy1wYWRkaW5nLXg6IGstc3BhY2luZygyLjUpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1wYWRkaW5nLXk6ICRrZW5kby1wYWdlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIHNtYWxsIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLXNtLXBhZGRpbmcteTogJGtlbmRvLXBhZ2VyLXNtLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLW1kLXBhZGRpbmcteTogJGtlbmRvLXBhZ2VyLW1kLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItbGctcGFkZGluZy15OiAka2VuZG8tcGFnZXItbGctcGFkZGluZy14ICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1pbmltdW0gd2lkdGggb2YgdGhlIGl0ZW1zIGluIHRoZSBzbWFsbCBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1zbS1pdGVtLW1pbi13aWR0aDogJGtlbmRvLWJ1dHRvbi1zbS1jYWxjLXNpemUgIWRlZmF1bHQ7XG4vLy8gVGhlIG1pbmltdW0gd2lkdGggb2YgdGhlIGl0ZW1zIGluIHRoZSBtZWRpdW0gUGFnZXJzLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLW1kLWl0ZW0tbWluLXdpZHRoOiAka2VuZG8tYnV0dG9uLW1kLWNhbGMtc2l6ZSAhZGVmYXVsdDtcbi8vLyBUaGUgbWluaW11bSB3aWR0aCBvZiB0aGUgaXRlbXMgaW4gdGhlIGxhcmdlIFBhZ2Vycy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1sZy1pdGVtLW1pbi13aWR0aDogJGtlbmRvLWJ1dHRvbi1sZy1jYWxjLXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWFyZ2luIGJldHdlZW4gdGhlIGl0ZW0gZ3JvdXBzIGluIHRoZSBzbWFsbCBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1zbS1pdGVtLWdyb3VwLXNwYWNpbmc6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBtYXJnaW4gYmV0d2VlbiB0aGUgaXRlbSBncm91cHMgaW4gdGhlIG1lZGl1bSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1tZC1pdGVtLWdyb3VwLXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgbWFyZ2luIGJldHdlZW4gdGhlIGl0ZW0gZ3JvdXBzIGluIHRoZSBsYXJnZSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1sZy1pdGVtLWdyb3VwLXNwYWNpbmc6IGstc3BhY2luZygyLjUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWJ0bGUgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAkbGlnaHQtc2Vjb25kYXJ5LXRleHQsICRkYXJrLXNlY29uZGFyeS10ZXh0ICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1mb2N1cy1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgay10cnktc2hhZGUoICRrZW5kby1wYWdlci1iZywgLjUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItZm9jdXMtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgUGFnZXIgc2VjdGlvbnMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItc2VjdGlvbi1zcGFjaW5nOiAka2VuZG8tcGFnZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgUGFnZXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItaXRlbS1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgUGFnZXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItaXRlbS1ib3JkZXItcmFkaXVzOiA1ZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYXJvdW5kIHRoZSBQYWdlciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1pdGVtLXNwYWNpbmc6IGstc3BhY2luZygwKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUGFnZXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItaXRlbS1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUGFnZXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItaXRlbS10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWl0ZW0tYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgUGFnZXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItaXRlbS1ob3Zlci1iZzogJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBQYWdlciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1pdGVtLWhvdmVyLXRleHQ6ICRrZW5kby1wYWdlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgUGFnZXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItaXRlbS1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWl0ZW0tc2VsZWN0ZWQtYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBQYWdlciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1pdGVtLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1jb2xvci1wcmltYXJ5LWNvbnRyYXN0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWl0ZW0tc2VsZWN0ZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIFBhZ2VyIG51bWJlcnMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItbnVtYmVyLWJvcmRlci1yYWRpdXM6ICRrZW5kby1wYWdlci1pdGVtLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgb3BhY2l0eSBvZiB0aGUgZm9jdXNlZCBQYWdlciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1pdGVtLWZvY3VzLW9wYWNpdHk6IC4xMiAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBQYWdlciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1pdGVtLWZvY3VzLWJnOiByZ2JhKCRrZW5kby1saXN0LWl0ZW0taG92ZXItYmcsICRrZW5kby1wYWdlci1pdGVtLWZvY3VzLW9wYWNpdHkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIFBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWl0ZW0tZm9jdXMtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBJbnB1dHMgaW4gdGhlIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWlucHV0LXdpZHRoOiA1ZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIERyb3BEb3ducyBpbiB0aGUgc21hbGwgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItc20tZHJvcGRvd24td2lkdGg6IDVlbSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIERyb3BEb3ducyBpbiB0aGUgbWVkaXVtIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLW1kLWRyb3Bkb3duLXdpZHRoOiA1ZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBEcm9wRG93bnMgaW4gdGhlIGxhcmdlIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWxnLWRyb3Bkb3duLXdpZHRoOiA1ZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZXMgbWFwIG9mIHRoZSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLXBhZ2VyLXNtLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tcGFnZXItc20tcGFkZGluZy15LFxuICAgICAgICBpdGVtLWdyb3VwLXNwYWNpbmc6ICRrZW5kby1wYWdlci1zbS1pdGVtLWdyb3VwLXNwYWNpbmcsXG4gICAgICAgIGl0ZW0tbWluLXdpZHRoOiAka2VuZG8tcGFnZXItc20taXRlbS1taW4td2lkdGgsXG4gICAgICAgIHBhZ2VyLWRyb3Bkb3duLXdpZHRoOiAka2VuZG8tcGFnZXItc20tZHJvcGRvd24td2lkdGhcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLXBhZ2VyLW1kLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tcGFnZXItbWQtcGFkZGluZy15LFxuICAgICAgICBpdGVtLWdyb3VwLXNwYWNpbmc6ICRrZW5kby1wYWdlci1tZC1pdGVtLWdyb3VwLXNwYWNpbmcsXG4gICAgICAgIGl0ZW0tbWluLXdpZHRoOiAka2VuZG8tcGFnZXItbWQtaXRlbS1taW4td2lkdGgsXG4gICAgICAgIHBhZ2VyLWRyb3Bkb3duLXdpZHRoOiAka2VuZG8tcGFnZXItbWQtZHJvcGRvd24td2lkdGhcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLXBhZ2VyLWxnLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tcGFnZXItbGctcGFkZGluZy15LFxuICAgICAgICBpdGVtLWdyb3VwLXNwYWNpbmc6ICRrZW5kby1wYWdlci1sZy1pdGVtLWdyb3VwLXNwYWNpbmcsXG4gICAgICAgIGl0ZW0tbWluLXdpZHRoOiAka2VuZG8tcGFnZXItbGctaXRlbS1taW4td2lkdGgsXG4gICAgICAgIHBhZ2VyLWRyb3Bkb3duLXdpZHRoOiAka2VuZG8tcGFnZXItbGctZHJvcGRvd24td2lkdGhcbiAgICApXG4pICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3BhZ2VyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wYWdlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wYWdlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1wYWdlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay1wYWdlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXBhZ2VyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1wYWdlci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tcGFnZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXBhZ2VyLWxpbmUtaGVpZ2h0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEJhc2UgcGFnZXIgc2VjdGlvblxuICAgICViYXNlLXBhZ2VyLXNlY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuXG4gICAgLy8gQmFzZSBwYWdlciBpdGVtXG4gICAgJWJhc2UtcGFnZXItaXRlbSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFBhZ2VyIGl0ZW1zXG4gICAgLmstcGFnZXItbmF2IHtcbiAgICAgICAgQGV4dGVuZCAlYmFzZS1wYWdlci1pdGVtICFvcHRpb25hbDtcbiAgICB9XG5cblxuICAgIC8vIFBhZ2VyIG51bWJlcnNcbiAgICAuay1wYWdlci1udW1iZXJzLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgc2VsZWN0LmstZHJvcGRvd24tbGlzdCB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXBhZ2VyLW1kLWRyb3Bkb3duLXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXBhZ2VyLW51bWJlcnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgICAgIC5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIGN1cnNvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNwYWNpbmcgYmV0d2VlbiBpdGVtc1xuICAgIC5rLXBhZ2VyLW5hdiArIC5rLXBhZ2VyLW5hdixcbiAgICAuay1wYWdlci1uYXYgKyAuay1wYWdlci1udW1iZXJzLXdyYXAsXG4gICAgLmstcGFnZXItbnVtYmVycy13cmFwICsgLmstcGFnZXItbmF2IHtcbiAgICAgICAgQGlmICgka2VuZG8tcGFnZXItaXRlbS1zcGFjaW5nKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGtlbmRvLXBhZ2VyLWl0ZW0tc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJ0bCAmLFxuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgQGlmICgka2VuZG8tcGFnZXItaXRlbS1zcGFjaW5nKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8tcGFnZXItaXRlbS1zcGFjaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBQYWdlciBpbnB1dFxuICAgIC5rLXBhZ2VyLWlucHV0IHtcbiAgICAgICAgQGV4dGVuZCAlYmFzZS1wYWdlci1zZWN0aW9uICFvcHRpb25hbDtcbiAgICAgICAgZ2FwOiAxZXg7XG5cbiAgICAgICAgLmstdGV4dGJveCxcbiAgICAgICAgLmstbnVtZXJpY3RleHRib3gge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1wYWdlci1pbnB1dC13aWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUGFnZXIgc2l6ZXNcbiAgICAuay1wYWdlci1zaXplcyB7XG4gICAgICAgIEBleHRlbmQgJWJhc2UtcGFnZXItc2VjdGlvbiAhb3B0aW9uYWw7XG4gICAgICAgIGdhcDogMWV4O1xuXG4gICAgICAgIC5rLWlucHV0LWlubmVyLFxuICAgICAgICAuay1pbnB1dC12YWx1ZS10ZXh0IHtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFBhZ2VyIGluZm9cbiAgICAuay1wYWdlci1pbmZvIHtcbiAgICAgICAgQGV4dGVuZCAlYmFzZS1wYWdlci1zZWN0aW9uICFvcHRpb25hbDtcbiAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICAgIG9yZGVyOiA5O1xuICAgIH1cblxuXG4gICAgLy8gUGFnZXIgcmVmcmVzaFxuICAgIC5rLXBhZ2VyLXJlZnJlc2gge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3JkZXI6IDEwO1xuICAgIH1cblxuICAgIC8vIFBhZ2VyIHNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1wYWdlci1zaXplcyB7XG4gICAgICAgICRfcGFkZGluZy14OiBrLW1hcC1nZXQoJHNpemUtcHJvcHMsIHBhZGRpbmcteCk7XG4gICAgICAgICRfcGFkZGluZy15OiBrLW1hcC1nZXQoJHNpemUtcHJvcHMsIHBhZGRpbmcteSk7XG4gICAgICAgICRfaXRlbS1ncm91cC1zcGFjaW5nOiBrLW1hcC1nZXQoJHNpemUtcHJvcHMsIGl0ZW0tZ3JvdXAtc3BhY2luZyk7XG4gICAgICAgICRfaXRlbS1taW4td2lkdGg6IGstbWFwLWdldCgkc2l6ZS1wcm9wcywgaXRlbS1taW4td2lkdGgpO1xuICAgICAgICAkX3BhZ2VyLWRyb3Bkb3duLXdpZHRoOiBrLW1hcC1nZXQoJHNpemUtcHJvcHMsIHBhZ2VyLWRyb3Bkb3duLXdpZHRoKTtcblxuICAgICAgICAuay1wYWdlci0jeyRzaXplfSB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgIGdhcDogJF9pdGVtLWdyb3VwLXNwYWNpbmc7XG5cbiAgICAgICAgICAgIC5rLXBhZ2VyLW51bWJlcnMtd3JhcCB7XG4gICAgICAgICAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAkX2l0ZW0tbWluLXdpZHRoO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLXBhZ2VyLWlucHV0LFxuICAgICAgICAgICAgICAgID4gc2VsZWN0LmstZHJvcGRvd24tbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRfaXRlbS1ncm91cC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJF9pdGVtLWdyb3VwLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1wYWdlci1zaXplcyB7XG4gICAgICAgICAgICAgICAgLmstZHJvcGRvd24tbGlzdCxcbiAgICAgICAgICAgICAgICA+IHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkX3BhZ2VyLWRyb3Bkb3duLXdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1wYWdlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBhZ2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXBhZ2VyLS1sYXlvdXQoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1wYWdlci0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC8vIFBhZ2VyXG4gICAgLmstcGFnZXIge1xuXG4gICAgICAgIC5rLXBhZ2VyLW51bWJlcnMtd3JhcCB7XG4gICAgICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1wYWdlci1udW1iZXItYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuay1wYWdlci1udW1iZXJzIHtcbiAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tYnV0dG9uLXBhZGRpbmcteTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvcGFnZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcGFnZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wYWdlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXBhZ2VyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gUGFnZXJcbiAgICAuay1wYWdlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcGFnZXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1wYWdlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1wYWdlci1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tcGFnZXItZm9jdXMtYmcgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXBhZ2VyLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXBhZ2VyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wYWdlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXBhZ2VyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wYWdlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXBhZ2VyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJwYWdlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1wYWdlci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXBhZ2VyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGFnZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3N0ZXBwZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zdGVwcGVyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInN0ZXBwZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwicHJvZ3Jlc3NiYXJcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Byb2dyZXNzYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcHJvZ3Jlc3NiYXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3N0ZXBwZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBTdGVwcGVyXG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gdGhlIFN0ZXBwZXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLW1hcmdpbi14OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBtYXJnaW4gdGhlIFN0ZXBwZXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLW1hcmdpbi15OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgdGhlIFN0ZXBwZXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyB0aGUgU3RlcHBlci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiB0aGUgU3RlcHBlciBsYWJlbC5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItbGFiZWwtbWFyZ2luLXg6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIHRoZSBTdGVwcGVyIGxhYmVsLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1sYWJlbC1wYWRkaW5nLXg6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyB0aGUgU3RlcHBlciBsYWJlbC5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItbGFiZWwtcGFkZGluZy15OiBjYWxjKCAje2stc3BhY2luZygyLjUpfSAvIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFN0ZXBwZXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgU3RlcHBlciBjb250ZW50LlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmxpbmUtY29udGVudC1wYWRkaW5nLXg6IGstc3BhY2luZyg1KSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgU3RlcHBlciBjb250ZW50LlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmxpbmUtY29udGVudC1wYWRkaW5nLXk6IGstc3BhY2luZygyLjUpICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBTdGVwcGVyLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgU3RlcHBlci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItbGluZS1oZWlnaHQ6IGstbWF0aC1kaXYoIDIwLCAxNCApICFkZWZhdWx0O1xuLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBTdGVwcGVyLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3RlcHBlci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFN0ZXBwZXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTdGVwcGVyLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3Itd2lkdGg6IDI4cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgU3RlcHBlciBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1oZWlnaHQ6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgU3RlcHBlciBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgU3RlcHBlciBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIGZvY3VzZWQgU3RlcHBlciBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgc2l6ZSBvZiB0aGUgZm9jdXNlZCBTdGVwcGVyIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLXNpemU6IDJweCAhZGVmYXVsdDtcbi8vLyBUaGUgb2Zmc2V0IG9mIHRoZSBTdGVwcGVyJ3MgZm9jdXNlZCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1vZmZzZXQ6IDNweCAhZGVmYXVsdDtcbi8vLyBUaGUgY2FsY3VsYXRlZCBvZmZzZXQgb2YgdGhlIFN0ZXBwZXIncyBmb2N1c2VkIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLWNhbGMtb2Zmc2V0OiBjYWxjKCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1ib3JkZXItd2lkdGh9ICsgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZm9jdXMtb2Zmc2V0fSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWhvdmVyICksIGstdHJ5LXNoYWRlKCAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYmcgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgU3RlcHBlciBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgU3RlcHBlciBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgU3RlcHBlciBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kaXNhYmxlZC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgU3RlcHBlciBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kaXNhYmxlZC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMzIlLCB0cmFuc3BhcmVudCksIGlmKCRrZW5kby1pcy1kYXJrLXRoZW1lLCAkbGlnaHQtZGlzYWJsZWQtdGV4dCwgJGRhcmstZGlzYWJsZWQtdGV4dCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBTdGVwcGVyIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRpc2FibGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTdGVwcGVyJ3MgZG9uZSBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU3RlcHBlcidzIGRvbmUgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tcHJpbWFyeSApLCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1iZyApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTdGVwcGVyJ3MgZG9uZSBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWJvcmRlcjogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3RlcHBlcidzIGhvdmVyZWQgZG9uZSBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWhvdmVyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1ob3ZlciApLCBrLXRyeS1zaGFkZSggJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtYmcgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFN0ZXBwZXIncyBob3ZlcmVkIGRvbmUgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFN0ZXBwZXIncyBob3ZlcmVkIGRvbmUgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3RlcHBlcidzIGRpc2FibGVkIGRvbmUgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1kaXNhYmxlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBwcmltYXJ5ICkgNjAlLCB0cmFuc3BhcmVudCksIGstY29sb3ItbWl4KCAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1iZywgJGtlbmRvLWNvbXBvbmVudC1iZywgNjAlKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFN0ZXBwZXIncyBkaXNhYmxlZCBkb25lIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLXByaW1hcnkgKSwgay1jb250cmFzdC1jb2xvciggJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtYmcgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3RlcHBlcidzIGRpc2FibGVkIGRvbmUgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1kaXNhYmxlZC1ib3JkZXI6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFN0ZXBwZXIgY3VycmVudCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWJnOiAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU3RlcHBlciBjdXJyZW50IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtdGV4dDogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTdGVwcGVyIGN1cnJlbnQgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1ib3JkZXI6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTdGVwcGVyJ3MgaG92ZXJlZCBjdXJyZW50IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtaG92ZXItYmc6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWhvdmVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTdGVwcGVyJ3MgaG92ZXJlZCBjdXJyZW50IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtaG92ZXItdGV4dDogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtaG92ZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTdGVwcGVyJ3MgaG92ZXJlZCBjdXJyZW50IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtaG92ZXItYm9yZGVyOiAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1ob3Zlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3RlcHBlcidzIGRpc2FibGVkIGN1cnJlbnQgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1kaXNhYmxlZC1iZzogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFN0ZXBwZXIncyBkaXNhYmxlZCBjdXJyZW50IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtZGlzYWJsZWQtdGV4dDogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTdGVwcGVyJ3MgZGlzYWJsZWQgY3VycmVudCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWRpc2FibGVkLWJvcmRlcjogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFN0ZXBwZXIgbGFiZWwuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWxhYmVsLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHN1Y2Nlc3MgdGV4dCBjb2xvciBvZiB0aGUgU3RlcHBlciBsYWJlbC5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItbGFiZWwtc3VjY2Vzcy10ZXh0OiAka2VuZG8tY29sb3Itc3VjY2VzcyAhZGVmYXVsdDtcbi8vLyBUaGUgZXJyb3IgdGV4dCBjb2xvciBvZiB0aGUgU3RlcHBlciBsYWJlbC5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItbGFiZWwtZXJyb3ItdGV4dDogJGtlbmRvLWNvbG9yLWVycm9yICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIFN0ZXBwZXIgbGFiZWwuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWxhYmVsLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIFN0ZXBwZXIgbGFiZWwuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWxhYmVsLWRpc2FibGVkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAzMiUsIHRyYW5zcGFyZW50KSwgay1tYXAtZ2V0KCAkdGhlbWUsIGRpc2FibGVkLXRleHQgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgb3B0aW9uYWwgU3RlcHBlciBsYWJlbC5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItb3B0aW9uYWwtbGFiZWwtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBvcHRpb25hbCBTdGVwcGVyIGxhYmVsLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1vcHRpb25hbC1sYWJlbC1vcGFjaXR5OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIG9wdGlvbmFsIFN0ZXBwZXIgbGFiZWwuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLW9wdGlvbmFsLWxhYmVsLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHN0eWxlIG9mIHRoZSBvcHRpb25hbCBTdGVwcGVyIGxhYmVsLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1vcHRpb25hbC1sYWJlbC1mb250LXN0eWxlOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIFN0ZXBwZXIgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLXNpemU6IDJweCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3RlcHBlciBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItcHJvZ3Jlc3NiYXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFN0ZXBwZXIgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFN0ZXBwZXIgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLWZpbGwtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFN0ZXBwZXIgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLWZpbGwtdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoZSBTdGVwcGVyIHRyYW5zaXRpb24uXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWNvbnRlbnQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBkdXJhdGlvbiBvZiB0aGUgU3RlcHBlciB0cmFuc2l0aW9uLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1jb250ZW50LXRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zICFkZWZhdWx0O1xuLy8vIFRoZSB0aW1pbmcgZnVuY3Rpb24gb2YgdGhlIFN0ZXBwZXIgdHJhbnNpdGlvbi5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItY29udGVudC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSkgMG1zICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3N0ZXBwZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3N0ZXBwZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3RlcHBlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1zdGVwcGVyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1zdGVwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAka2VuZG8tc3RlcHBlci1tYXJnaW4teTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogJGtlbmRvLXN0ZXBwZXItbWFyZ2luLXg7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1zdGVwcGVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1zdGVwcGVyLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tc3RlcHBlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXN0ZXBwZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXN0ZXBwZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tc3RlcHBlci1mb250LWZhbWlseTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuICAgICAgICAvLyBUT0RPOiByZW1vdmUgdGhvc2Ugb25jZSBrLXdpZGdldCBzdHlsZXMgYXJlIHJlbW92ZWQuIExpbms6IGh0dHBzOi8vZ2l0aHViLmNvbS90ZWxlcmlrL2tlbmRvLXRoZW1lcy9pc3N1ZXMvMTM1OVxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFN0ZXAgbGlzdFxuICAgICAgICAuay1zdGVwLWxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU3RlcFxuICAgICAgICAuay1zdGVwIHsgfVxuXG5cbiAgICAgICAgLy8gU3RlcCBsaW5rXG4gICAgICAgIC5rLXN0ZXAtbGluayB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RlcCBpbmRpY2F0b3JcbiAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgICAgIG1hcmdpbjogaWYoJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLW9mZnNldCA+IDAsICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1vZmZzZXQsIG51bGwpO1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWhlaWdodDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNHM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAxMDAlICk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKCAtMSAqICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLWNhbGMtb2Zmc2V0fSApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKCAtMSAqICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLWNhbGMtb2Zmc2V0fSApO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogY2FsYyggLTEgKiAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1jYWxjLW9mZnNldH0gKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKCAtMSAqICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLWNhbGMtb2Zmc2V0fSApO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zdGVwLmstZm9jdXMsXG4gICAgICAgIC5rLXN0ZXAtbGluazpmb2N1cyB7XG4gICAgICAgICAgICAuay1zdGVwLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTdGVwIGxhYmVsXG4gICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjbGFtcCgxMDAlLCAxMGVtLCAxMDAlKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgICAgICAuay1zdGVwLWxhYmVsOm9ubHktY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggay1tYXRoLWRpdiggKCAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItaGVpZ2h0ICsgMiAqICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ib3JkZXItd2lkdGggKSwgMiApICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc3RlcHBlci1sYWJlbC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXN0ZXBwZXItbGFiZWwtcGFkZGluZy14O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtbGFiZWwgLmstc3RlcC10ZXh0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMGVtIC0gKCN7JGtlbmRvLWljb24tc2l6ZX0gKyAjeyRrZW5kby1pY29uLXNwYWNpbmd9KSk7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtbGFiZWwgLmstaWNvbiAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zdGVwLWN1cnJlbnQgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gT3B0aW9uYWwgbGFiZWxcbiAgICAgICAgLmstc3RlcC1sYWJlbC1vcHRpb25hbCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tc3RlcHBlci1vcHRpb25hbC1sYWJlbC1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXN0eWxlOiAka2VuZG8tc3RlcHBlci1vcHRpb25hbC1sYWJlbC1mb250LXN0eWxlO1xuICAgICAgICAgICAgb3BhY2l0eTogJGtlbmRvLXN0ZXBwZXItb3B0aW9uYWwtbGFiZWwtb3BhY2l0eTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmstc3RlcC1kaXNhYmxlZCxcbiAgICAgICAgLmstc3RlcC5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgLmstc3RlcC1saW5rIHsgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbiAgICAgICAgICAgIC5rLXN0ZXAtbGFiZWwtb3B0aW9uYWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBQcm9ncmVzc2JhclxuICAgICAgICAuay1wcm9ncmVzc2JhciB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXByb2dyZXNzYmFyLWhvcml6b250YWwge1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXByb2dyZXNzYmFyLXZlcnRpY2FsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gSG9yaXpvbnRhbFxuICAgIC5rLXN0ZXAtbGlzdC1ob3Jpem9udGFsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG5cbiAgICAgICAgLmstc3RlcCB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXN0ZXAtbGluayB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwZW07XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGFiZWxcbiAgICAgICAgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmstc3RlcC1pbmRpY2F0b3IgKyAuay1zdGVwLWxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGlmKCRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1vZmZzZXQgPiAwLCBjYWxjKDhweCAtICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLW9mZnNldH0pLCA4cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJvZ3Jlc3NiYXJcbiAgICAgICAgJiB+IC5rLXByb2dyZXNzYmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tc3RlcHBlci1wcm9ncmVzc2Jhci1zaXplO1xuICAgICAgICAgICAgdG9wOiBjYWxjKCgoI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItaGVpZ2h0fSArIDIgKiAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1zaXplfSkgLyAyKSArICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLXNpemV9IC8gMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbFxuICAgIC5rLXN0ZXAtbGlzdC12ZXJ0aWNhbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLmstc3RlcCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCgjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci13aWR0aH0gKyAyICogI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRofSArIDIgKiAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1zaXplfSkgKyAyMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExhYmVsXG4gICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yICsgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGtlbmRvLXN0ZXBwZXItbGFiZWwtbWFyZ2luLXg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFByb2dyZXNzYmFyXG4gICAgICAgICYgfiAuay1wcm9ncmVzc2JhciB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXN0ZXBwZXItcHJvZ3Jlc3NiYXItc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKCgjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci13aWR0aH0gKyAyICogI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRofSArIDIgKiAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1zaXplfSkgLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElubGluZSBjb250ZW50XG4gICAgICAgIC5rLXN0ZXAtY29udGVudCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJGtlbmRvLXN0ZXBwZXItY29udGVudC10cmFuc2l0aW9uLXByb3BlcnR5ICRrZW5kby1zdGVwcGVyLWNvbnRlbnQtdHJhbnNpdGlvbi1kdXJhdGlvbiAka2VuZG8tc3RlcHBlci1jb250ZW50LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3RlcC1jdXJyZW50IC5rLXN0ZXAtY29udGVudCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci13aWR0aCArIDIgKiAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXN0ZXBwZXItaW5saW5lLWNvbnRlbnQtcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1zdGVwcGVyLWlubGluZS1jb250ZW50LXBhZGRpbmcteTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU3RlcHBlciBydGxcbiAgICAuay1ydGwgLmstc3RlcHBlcixcbiAgICAuay1zdGVwcGVyW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAgIGRpcmVjdGlvbjogcnRsO1xuXG4gICAgICAgIC5rLXN0ZXAtbGFiZWwgLmstaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhvcml6b250YWxcbiAgICAgICAgLmstc3RlcC1saXN0LWhvcml6b250YWwgeyB9XG5cblxuICAgICAgICAvLyBWZXJ0aWNhbFxuICAgICAgICAuay1zdGVwLWxpc3QtdmVydGljYWwge1xuICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3IgKyAuay1zdGVwLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRrZW5kby1zdGVwcGVyLWxhYmVsLW1hcmdpbi14O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIH4gLmstcHJvZ3Jlc3NiYXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoKCN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLXdpZHRofSArIDIgKiAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ib3JkZXItd2lkdGh9ICsgMiAqICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLXNpemV9KSAvIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXN0ZXBwZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zdGVwcGVyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXN0ZXBwZXItLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXN0ZXBwZXItLWxheW91dC1iYXNlKCk7XG5cbiAgICAvLyBTdGVwcGVyXG4gICAgLmstc3RlcHBlciB7fVxuXG5cbiAgICAvLyBTZWxlY3RlZCBzdGVwXG4gICAgLmstc3RlcC1jdXJyZW50IHtcbiAgICAgICAgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9zdGVwcGVyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3N0ZXBwZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zdGVwcGVyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tc3RlcHBlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1zdGVwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc3RlcHBlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWJvcmRlclxuICAgICAgICApO1xuXG5cbiAgICAgICAgLy8gTm90IGRvbmUgc3RlcHNcbiAgICAgICAgLmstc3RlcCB7XG4gICAgICAgICAgICAvLyBIb3ZlclxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlcixcbiAgICAgICAgICAgICYuay1zdGVwLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAuay1zdGVwLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1zdGVwcGVyLWxhYmVsLWhvdmVyLXRleHQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItaG92ZXItYm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZm9jdXMsXG4gICAgICAgICAgICAuay1zdGVwLWxpbms6Zm9jdXMgIHtcbiAgICAgICAgICAgICAgICAvLyBMYWJlbHMgb25seVxuICAgICAgICAgICAgICAgIC5rLXN0ZXAtbGFiZWw6b25seS1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGluZGljYXRvcjogKCBpbnNldCAwIDAgMCAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZm9jdXMtc2l6ZSAka2VuZG8tY29tcG9uZW50LWJvcmRlciApLCAkaW5zZXQ6IHRydWUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICAgICAmLmstc3RlcC1kaXNhYmxlZCxcbiAgICAgICAgICAgICYuay1kaXNhYmxlZCxcbiAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kaXNhYmxlZC10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGstY29sb3IoIGFwcC1zdXJmYWNlICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRpc2FibGVkLWJvcmRlclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZGlzYWJsZWQtYmc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRpc2FibGVkLWJvcmRlclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRrZW5kby1zdGVwcGVyLWxhYmVsLWRpc2FibGVkLXRleHQgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1zdGVwLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggaW5zZXQgMCAwIDAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLXNpemUgJGtlbmRvLWNvbXBvbmVudC1iZyApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtbGFiZWw6b25seS1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jb21wb25lbnQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1jb21wb25lbnQtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBEb25lIHN0ZXBzXG4gICAgICAgIC5rLXN0ZXAtZG9uZSB7XG5cbiAgICAgICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtYm9yZGVyXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAvLyBIb3ZlclxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlcixcbiAgICAgICAgICAgICYuay1zdGVwLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAuay1zdGVwLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1ob3Zlci1ib3JkZXJcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgICAgICYuay1zdGVwLWRpc2FibGVkLFxuICAgICAgICAgICAgJi5rLWRpc2FibGVkLFxuICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLWJvcmRlclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1kaXNhYmxlZC1iZztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtYm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBDdXJyZW50XG4gICAgICAgIC5rLXN0ZXAtY3VycmVudCB7XG5cbiAgICAgICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtYm9yZGVyXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAvLyBIb3ZlclxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlcixcbiAgICAgICAgICAgICYuay1zdGVwLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAuay1zdGVwLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1ob3Zlci1ib3JkZXJcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgICAgICYuay1zdGVwLWRpc2FibGVkLFxuICAgICAgICAgICAgJi5rLWRpc2FibGVkLFxuICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWRpc2FibGVkLWJvcmRlclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1kaXNhYmxlZC1iZztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtZGlzYWJsZWQtYm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGFiZWxcbiAgICAgICAgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRrZW5kby1zdGVwcGVyLWxhYmVsLXRleHQgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1zdGVwLXN1Y2Nlc3MgLmstc3RlcC1sYWJlbCAuay1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLXN0ZXBwZXItbGFiZWwtc3VjY2Vzcy10ZXh0ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zdGVwLWVycm9yIHtcbiAgICAgICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLXN0ZXBwZXItbGFiZWwtZXJyb3ItdGV4dCApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyLFxuICAgICAgICAgICAgJi5rLXN0ZXAtaG92ZXIge1xuICAgICAgICAgICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRrZW5kby1zdGVwcGVyLWxhYmVsLWVycm9yLXRleHQgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPcHRpb25hbCBMYWJlbFxuICAgICAgICAuay1zdGVwLWxhYmVsLW9wdGlvbmFsIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tc3RlcHBlci1vcHRpb25hbC1sYWJlbC10ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJvZ3Jlc3NiYXJcbiAgICAgICAgLmstcHJvZ3Jlc3NiYXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkY29sb3I6ICRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLXRleHQsXG4gICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tc3RlcHBlci1wcm9ncmVzc2Jhci1iZ1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogJGtlbmRvLXN0ZXBwZXItcHJvZ3Jlc3NiYXItZmlsbC10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAkYmc6ICRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLWZpbGwtYmdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXN0ZXBwZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXN0ZXBwZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zdGVwcGVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zdGVwcGVyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tc3RlcHBlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwic3RlcHBlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1zdGVwcGVyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc3RlcHBlci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXN0ZXBwZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3RhYnN0cmlwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdGFic3RyaXAvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwidGFic3RyaXBcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3RhYnN0cmlwL192YXJpYWJsZXMuc2Nzc1xuLy8gVGFiU3RyaXBcblxuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGFiU3RyaXAgd3JhcHBlci5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC13cmFwcGVyLXBhZGRpbmcteDogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYWJTdHJpcCB3cmFwcGVyLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLXdyYXBwZXItcGFkZGluZy15OiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBhcm91bmQgdGhlIFRhYlN0cmlwIHdyYXBwZXIuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtd3JhcHBlci1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFRhYlN0cmlwLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtbGluZS1oZWlnaHQ6IGstbWF0aC1kaXYoIDIwLCAxNCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggYXJvdW5kIHRoZSBUYWJTdHJpcC5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBUYWJTdHJpcCB3cmFwcGVyLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLXdyYXBwZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRhYlN0cmlwIHdyYXBwZXIuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtd3JhcHBlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFRhYlN0cmlwIHdyYXBwZXIuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtd3JhcHBlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRhYlN0cmlwLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLXRleHQ6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBUYWJTdHJpcC5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGFiU3RyaXAgaXRlbXMuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1wYWRkaW5nLXg6IGstc3BhY2luZyg2KSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgVGFiU3RyaXAgaXRlbXMuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygzLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggYXJvdW5kIHRoZSBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci1yYWRpdXM6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZ2FwIGJldHdlZW4gdGhlIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZ2FwOiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG5cbi8vLyAgVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgVGFiU3RyaXAgaXRlbXMuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItYmc6ICRrZW5kby1ob3Zlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWhvdmVyLXRleHQ6ICRrZW5kby1ib2R5LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGhvdmVyZWQgVGFiU3RyaXAgaXRlbXMuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1ob3Zlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1ib2R5LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgVGFiU3RyaXAgaXRlbXMuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1zZWxlY3RlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBzZWxlY3RlZCBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWZvY3VzLXNoYWRvdzogJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBkcmFnZ2VkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZHJhZ2dpbmctc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC0zICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDMyJSwgdHJhbnNwYXJlbnQpLCBrLW1hcC1nZXQoICR0aGVtZSwgZGlzYWJsZWQtdGV4dCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGRpc2FibGVkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIGRpc2FibGVkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtb3BhY2l0eTogMSAhZGVmYXVsdDtcbi8vLyBUaGUgZmlsdGVyIG9mIHRoZSBkaXNhYmxlZCBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWZpbHRlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFRhYlN0cmlwIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pbmRpY2F0b3Itc2l6ZTogMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFRhYlN0cmlwIHJpcHBsZS5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pbmRpY2F0b3ItY29sb3I6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGFiU3RyaXAgY29udGVudC5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYWJTdHJpcCBjb250ZW50LlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtcGFkZGluZy15OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBhcm91bmQgdGhlIFRhYlN0cmlwIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtY29udGVudC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBUYWJTdHJpcCBjb250ZW50LlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBUYWJTdHJpcCBjb250ZW50LlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBUYWJTdHJpcCBjb250ZW50LlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgVGFiU3RyaXAgY29udGVudC5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1jb250ZW50LWZvY3VzLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3RhYnN0cmlwL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90YWJzdHJpcC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90YWJzdHJpcC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby10YWJzdHJpcC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBUYWJzdHJpcCB3cmFwcGVyXG4gICAgLmstdGFic3RyaXAtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10YWJzdHJpcC13cmFwcGVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10YWJzdHJpcC13cmFwcGVyLXBhZGRpbmcteDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGFic3RyaXAtd3JhcHBlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cblxuICAgIC8vIFRhYnN0cmlwXG4gICAgLmstdGFic3RyaXAge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tdGFic3RyaXAtZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXRhYnN0cmlwLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10YWJzdHJpcC1saW5lLWhlaWdodDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLmstdGFic3RyaXAtd3JhcHBlciA+IC5rLXRhYnN0cmlwIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG5cbiAgICAvLyBUYWJzdHJpcCBpdGVtcyB3cmFwcGVyXG4gICAgLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBUYWJzdHJpcCBpdGVtc1xuICAgIC5rLXRhYnN0cmlwLWl0ZW1zIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGdhcDogJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZ2FwO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlcjogJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAganVzdGlmeS1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWItb24tdG9wIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuay1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10YWJzdHJpcC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdGFic3RyaXAtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgIC5rLWl0ZW0uay1kaXNhYmxlZCxcbiAgICAgICAgLmstaXRlbVtkaXNhYmxlZF0ge1xuICAgICAgICAgICAgb3BhY2l0eTogJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAgICAgICAgIGZpbHRlcjogJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtZmlsdGVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUYWJzdHJpcCBjb250ZW50XG4gICAgLmstdGFic3RyaXAtY29udGVudCxcbiAgICAuay10YWJzdHJpcCA+IC5rLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtcGFkZGluZy14O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10YWJzdHJpcC1jb250ZW50LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLmstYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmUtd2lkdGg6IDFweDtcbiAgICAgICAgICAgIG91dGxpbmUtc3R5bGU6IGRvdHRlZDtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBMb2FkaW5nIGluZGljYXRvclxuICAgIC5rLXRhYnN0cmlwLWl0ZW1zIC5rLWxvYWRpbmcge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuMnMgbGluZWFyO1xuXG4gICAgICAgIC8vIFRPRE86IGEgYmV0dGVyIG5hbWVcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLmstY29tcGxldGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTY3JvbGxpbmdcbiAgICAuay10YWJzdHJpcC1zY3JvbGxhYmxlIHtcbiAgICAgICAgPiAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcblxuICAgICAgICAgICAgPiAuay10YWJzdHJpcC1pdGVtcyB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogay1zcGFjaW5nKDEpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiBrLXNwYWNpbmcoMSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG87XG5cbiAgICAgICAgICAgICAgICAuay1idXR0b24taWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRhYnN0cmlwIG9yaWVudGF0aW9uXG4gICAgLmstdGFic3RyaXAtaG9yaXpvbnRhbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIC5rLXRhYnN0cmlwLXZlcnRpY2FsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cblxuICAgIC8vIFRhYnN0cmlwIHBvc2l0aW9uXG4gICAgLmstdGFic3RyaXAtdG9wIHtcbiAgICAgICAgPiAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmstdGFic3RyaXAtaG9yaXpvbnRhbCAhb3B0aW9uYWw7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyggJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1pdGVtOmFjdGl2ZSxcbiAgICAgICAgICAgIC5rLWl0ZW0uay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGlmKCAka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoLCAtJGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aCwgbnVsbCApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstY29udGVudCxcbiAgICAgICAgPiAuay10YWJzdHJpcC1jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCAka2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstdGFic3RyaXAtYm90dG9tIHtcbiAgICAgICAgPiAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmstdGFic3RyaXAtaG9yaXpvbnRhbCAhb3B0aW9uYWw7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyggJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1pdGVtOmFjdGl2ZSxcbiAgICAgICAgICAgIC5rLWl0ZW0uay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGlmKCAka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoLCAtJGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aCwgbnVsbCApO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRrZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstY29udGVudCxcbiAgICAgICAgPiAuay10YWJzdHJpcC1jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCAka2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstdGFic3RyaXAtbGVmdCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgPiAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmstdGFic3RyaXAtdmVydGljYWwgIW9wdGlvbmFsO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoICRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1pdGVtOmFjdGl2ZSxcbiAgICAgICAgICAgIC5rLWl0ZW0uay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogaWYoICRrZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGgsIC0ka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoLCBudWxsICk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstY29udGVudCxcbiAgICAgICAgPiAuay10YWJzdHJpcC1jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoICRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAuay10YWJzdHJpcC1yaWdodCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICA+IC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAuay10YWJzdHJpcC12ZXJ0aWNhbCAhb3B0aW9uYWw7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aDtcblxuICAgICAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cyggJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstaXRlbTphY3RpdmUsXG4gICAgICAgICAgICAuay1pdGVtLmstYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogaWYoICRrZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGgsIC0ka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoLCBudWxsICk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRrZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWNvbnRlbnQsXG4gICAgICAgID4gLmstdGFic3RyaXAtY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoICRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGFic3RyaXAgYWxpZ25cbiAgICAuay10YWJzdHJpcC1pdGVtcy1zdGFydCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgLmstdGFic3RyaXAtaXRlbXMtY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5rLXRhYnN0cmlwLWl0ZW1zLWVuZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICAgIC5rLXRhYnN0cmlwLWl0ZW1zLWp1c3RpZnkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXN0cmV0Y2hlZCA+ICoge1xuICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICB9XG5cblxuICAgIC8vIFNlbGVjdGVkIGluZGljYXRvclxuICAgIEBpZiAoJGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1zaXplKSB7XG5cbiAgICAgICAgLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG5cbiAgICAgICAgICAgIC5rLWl0ZW06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstaXRlbS5rLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pdGVtID4gLmstbGluayB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gVmFyaWFudHNcbiAgICAgICAgLmstdGFic3RyaXAtdG9wID4gLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciAuay1pdGVtOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAka2VuZG8tdGFic3RyaXAtaW5kaWNhdG9yLXNpemU7XG4gICAgICAgIH1cbiAgICAgICAgLmstdGFic3RyaXAtYm90dG9tID4gLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciAuay1pdGVtOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAka2VuZG8tdGFic3RyaXAtaW5kaWNhdG9yLXNpemU7XG4gICAgICAgIH1cbiAgICAgICAgLmstdGFic3RyaXAtbGVmdCA+IC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIgLmstaXRlbTo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAka2VuZG8tdGFic3RyaXAtaW5kaWNhdG9yLXNpemU7XG4gICAgICAgIH1cbiAgICAgICAgLmstdGFic3RyaXAtcmlnaHQgPiAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIC5rLWl0ZW06OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAka2VuZG8tdGFic3RyaXAtaW5kaWNhdG9yLXNpemU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEhpZGUgdGFic3RyaXAgaW5kaWNhdG9yIHdoZW4gZHJhZ2dpbmdcbiAgICAgICAgLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciAuay1pdGVtLmstdGFic3RyaXAtZHJhZ2dpbmcge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBSVExcbiAgICAuay1ydGwgLmstdGFic3RyaXAsXG4gICAgLmstdGFic3RyaXBbZGlyPVwicnRsXCJdIHtcblxuICAgICAgICAmLmstdGFic3RyaXAtbGVmdCxcbiAgICAgICAgJi5rLXRhYnN0cmlwLXJpZ2h0IHtcbiAgICAgICAgICAgID4gLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmstY29udGVudCB7IG9yZGVyOiAwOyB9XG4gICAgICAgICAgICA+IC5rLXRhYnN0cmlwLWNvbnRlbnQgeyBvcmRlcjogMDsgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdGFic3RyaXAtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10YWJzdHJpcC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10YWJzdHJpcC0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tdGFic3RyaXAtLWxheW91dC1iYXNlKCk7XG5cbiAgICAuay10YWJzdHJpcC1pdGVtcyB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmstdGFic3RyaXAtbGVmdCAuay10YWJzdHJpcC1pdGVtcyAuay1saW5rIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3RhYnN0cmlwL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RhYnN0cmlwL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGFic3RyaXAvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby10YWJzdHJpcC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFdyYXBwZXJcbiAgICAuay10YWJzdHJpcC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC13cmFwcGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tdGFic3RyaXAtd3JhcHBlci1iZyxcbiAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC13cmFwcGVyLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gSXRlbXNcbiAgICAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC5rLWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tdGFic3RyaXAtaXRlbS10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tdGFic3RyaXAtaXRlbS1ncmFkaWVudFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICYuay1hY3RpdmUsXG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tdGFic3RyaXAtaXRlbS1zZWxlY3RlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tdGFic3RyaXAtaXRlbS1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLXRhYnN0cmlwLWRyYWdnaW5nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby10YWJzdHJpcC1pdGVtLWRyYWdnaW5nLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQsXG4gICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIENvbnRlbnRcbiAgICAuay10YWJzdHJpcC1jb250ZW50LFxuICAgIC5rLXRhYnN0cmlwID4gLmstY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tdGFic3RyaXAtY29udGVudC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtYmcsXG4gICAgICAgICAgICAka2VuZG8tdGFic3RyaXAtY29udGVudC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtZm9jdXMtYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTZWxlY3RlZCBpbmRpY2F0b3JcbiAgICBAaWYgKCRrZW5kby10YWJzdHJpcC1pbmRpY2F0b3Itc2l6ZSkge1xuXG4gICAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgLmstaXRlbS5rLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby10YWJzdHJpcC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGFic3RyaXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10YWJzdHJpcC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGFic3RyaXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10YWJzdHJpcC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidGFic3RyaXBcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdGFic3RyaXAtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10YWJzdHJpcC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRhYnN0cmlwLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90cmVldmlldy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RyZWV2aWV3L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi93aXphcmQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy93aXphcmQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwid2l6YXJkXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiZm9ybVwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJzdGVwcGVyXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3N0ZXBwZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zdGVwcGVyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZm9ybXMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mb3Jtcy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3dpemFyZC9fdmFyaWFibGVzLnNjc3Ncbi8vIFdpemFyZFxuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgV2l6YXJkLlxuLy8vIEBncm91cCB3aXphcmRcbiRrZW5kby13aXphcmQtcGFkZGluZy14OiBjYWxjKCAjeyRrZW5kby1wYWRkaW5nLW1kLXh9ICogMS4yNSApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBXaXphcmQuXG4vLy8gQGdyb3VwIHdpemFyZFxuJGtlbmRvLXdpemFyZC1wYWRkaW5nLXk6ICRrZW5kby13aXphcmQtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFdpemFyZCBjb250ZW50LlxuLy8vIEBncm91cCB3aXphcmRcbiRrZW5kby13aXphcmQtY29udGVudC1wYWRkaW5nLXg6IGNhbGMoICN7JGtlbmRvLXBhZGRpbmctbWQteH0gKiAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFdpemFyZCBjb250ZW50LlxuLy8vIEBncm91cCB3aXphcmRcbiRrZW5kby13aXphcmQtY29udGVudC1wYWRkaW5nLXk6IGNhbGMoICN7JGtlbmRvLXBhZGRpbmctbWQteX0gKiA4ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBXaXphcmQncyBCdXR0b24gY29udGFpbmVyLlxuLy8vIEBncm91cCB3aXphcmRcbiRrZW5kby13aXphcmQtYnV0dG9ucy1tYXJnaW4teDogay1zcGFjaW5nKDIuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBXaXphcmQuXG4vLy8gQGdyb3VwIHdpemFyZFxuJGtlbmRvLXdpemFyZC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBXaXphcmQuXG4vLy8gQGdyb3VwIHdpemFyZFxuJGtlbmRvLXdpemFyZC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFdpemFyZC5cbi8vLyBAZ3JvdXAgd2l6YXJkXG4ka2VuZG8td2l6YXJkLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgV2l6YXJkLlxuLy8vIEBncm91cCB3aXphcmRcbiRrZW5kby13aXphcmQtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIG91dGxpbmUgb2YgdGhlIGZvY3VzZWQgV2l6YXJkIHN0ZXAuXG4vLy8gQGdyb3VwIHdpemFyZFxuJGtlbmRvLXdpemFyZC1zdGVwLWZvY3VzLWJvcmRlcjogIzY1NjU2NSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy93aXphcmQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3dpemFyZC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy93aXphcmQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8td2l6YXJkLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFdpemFyZFxuICAgIC5rLXdpemFyZCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby13aXphcmQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXdpemFyZC1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXdpemFyZC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXdpemFyZC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8td2l6YXJkLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXdpemFyZC1mb250LWZhbWlseTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmstd2l6YXJkLXN0ZXBzIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXdpemFyZC1zdGVwIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBwYWRkaW5nOiBjYWxjKCN7ay1tYXRoLWRpdiggJGtlbmRvLXdpemFyZC1jb250ZW50LXBhZGRpbmcteCwgNCApfSArIDJweCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmUtd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLXN0eWxlOiBkb3R0ZWQ7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay13aXphcmQtY29udGVudCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXdpemFyZC1idXR0b25zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby13aXphcmQtY29udGVudC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLXdpemFyZC1idXR0b25zLW1hcmdpbi14O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay13aXphcmQtcGFnZXIge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay13aXphcmQtYnV0dG9ucy1yaWdodCB7XG4gICAgICAgICAgICAuay1idXR0b246bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zdGVwcGVyIHtcbiAgICAgICAgICAgIC5rLXN0ZXAtbGlzdC12ZXJ0aWNhbCB7XG4gICAgICAgICAgICAgICAgLmstc3RlcCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstd2l6YXJkLWhvcml6b250YWwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC5rLXdpemFyZC1zdGVwcyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy15O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstd2l6YXJkLXN0ZXBzLFxuICAgICAgICAuay13aXphcmQtY29udGVudCB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXdpemFyZC12ZXJ0aWNhbCB7XG5cbiAgICAgICAgLmstd2l6YXJkLXN0ZXBzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy14O1xuICAgICAgICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstd2l6YXJkLWNvbnRlbnQge1xuICAgICAgICAgICAgZmxleDogMSAxIDAlO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuay13aXphcmQtbGVmdCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICAuay13aXphcmQtc3RlcHMge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy14O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8td2l6YXJkLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8td2l6YXJkLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXdpemFyZC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXdpemFyZC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3dpemFyZC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy93aXphcmQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy93aXphcmQvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby13aXphcmQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay13aXphcmQtc3RlcCB7XG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAka2VuZG8td2l6YXJkLXN0ZXAtZm9jdXMtYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXdpemFyZC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8td2l6YXJkLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8td2l6YXJkLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby13aXphcmQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby13aXphcmQtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcIndpemFyZFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby13aXphcmQtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby13aXphcmQtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby13aXphcmQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTGF5b3V0ICYgY29udGFpbmVyc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jYXJkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2FyZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZXhwYW5zaW9uLXBhbmVsL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZXhwYW5zaW9uLXBhbmVsL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImV4cGFuZGVyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgLy8gXCJ1dGlscy9sYXlvdXQvZGlzcGxheVwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2Rpc3BsYXkuc2Nzc1wiO1xuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19zcGFjZXIuc2Nzc1wiO1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9leHBhbnNpb24tcGFuZWwvX3ZhcmlhYmxlcy5zY3NzXG4vLyBFeHBhbnNpb25QYW5lbFxuXG4vLy8gVGhlIHZlcnRpY2FsIHNwYWNpbmcgb2YgdGhlIEV4cGFuc2lvblBhbmVsLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLXNwYWNpbmcteTogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgRXhwYW5zaW9uUGFuZWwuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBFeHBhbnNpb25QYW5lbC5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgRXhwYW5zaW9uUGFuZWwuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhpbmUgaGVpZ2h0IG9mIHRoZSBFeHBhbnNpb25QYW5lbC5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBFeHBhbnNpb25QYW5lbC5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEV4cGFuc2lvblBhbmVsLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEV4cGFuc2lvblBhbmVsLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBFeHBhbnNpb25QYW5lbC5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1mb2N1cy1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCByZ2JhKCBibGFjaywgLjA4ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBFeHBhbnNpb25QYW5lbCBoZWFkZXIuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItaGVhZGVyLXBhZGRpbmcteDogay1zcGFjaW5nKDYpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBFeHBhbnNpb25QYW5lbCBoZWFkZXIuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItaGVhZGVyLXBhZGRpbmcteTogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEV4cGFuc2lvblBhbmVsIGhlYWRlci5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1oZWFkZXItdGV4dDogJGtlbmRvLWV4cGFuZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEV4cGFuc2lvblBhbmVsIGhlYWRlci5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1oZWFkZXItYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEV4cGFuc2lvblBhbmVsIGhlYWRlci5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1oZWFkZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgRXhwYW5zaW9uUGFuZWwgaGVhZGVyLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWhlYWRlci1ob3Zlci1iZzogcmdiYSggYmxhY2ssIC4wNCApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmb2N1c2VkIEV4cGFuc2lvblBhbmVsIGhlYWRlci5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1oZWFkZXItZm9jdXMtYmc6IHJnYmEoIGJsYWNrLCAuMTIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBFeHBhbnNpb25QYW5lbCBoZWFkZXIuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItaGVhZGVyLWZvY3VzLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBFeHBhbnNpb25QYW5lbCB0aXRsZS5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci10aXRsZS10ZXh0OiAka2VuZG8tY29sb3Itc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEV4cGFuc2lvblBhbmVsIHN1Yi10aXRsZS5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1oZWFkZXItc3ViLXRpdGxlLXRleHQ6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgRXhwYW5zaW9uUGFuZWwgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWluZGljYXRvci1tYXJnaW4teDogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgRXhwYW5zaW9uUGFuZWwgY29udGVudC5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1jb250ZW50LXBhZGRpbmcteDogay1zcGFjaW5nKDYpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBFeHBhbnNpb25QYW5lbCBjb250ZW50LlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWNvbnRlbnQtcGFkZGluZy15OiBrLXNwYWNpbmcoNikgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZXhwYW5zaW9uLXBhbmVsL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9leHBhbnNpb24tcGFuZWwvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZXhwYW5zaW9uLXBhbmVsL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWV4cGFuZGVyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1leHBhbmRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWV4cGFuZGVyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1leHBhbmRlci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZXhwYW5kZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWV4cGFuZGVyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcnRsICYsXG4gICAgICAgICYuay1ydGwsXG4gICAgICAgICZbZGlyID0gXCJydGxcIl0ge1xuICAgICAgICAgICAgLy8gRXhwYW5kIC8gY29sbGFwc2UgaWNvblxuICAgICAgICAgICAgLmstZXhwYW5kZXItaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRrZW5kby1leHBhbmRlci1pbmRpY2F0b3ItbWFyZ2luLXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIZWFkZXJcbiAgICAuay1leHBhbmRlci1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZXhwYW5kZXItaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1leHBhbmRlci1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlciBzcGFjZXJcbiAgICAuay1leHBhbmRlci1zcGFjZXIge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cbiAgICAvLyBUaXRsZVxuICAgIC5rLWV4cGFuZGVyLXRpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAvLyBFeHBhbmQgLyBjb2xsYXBzZSBpY29uXG4gICAgLmstZXhwYW5kZXItaW5kaWNhdG9yIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1leHBhbmRlci1pbmRpY2F0b3ItbWFyZ2luLXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC8vIEV4cGFuZGVyIGNvbnRlbnRcbiAgICAuay1leHBhbmRlci1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWV4cGFuZGVyLWNvbnRlbnQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWV4cGFuZGVyLWNvbnRlbnQtcGFkZGluZy14O1xuICAgIH1cblxuICAgIC8vIE11bHRpcGxlIGV4cGFuZGVyc1xuICAgIC5rLWV4cGFuZGVyICsgLmstZXhwYW5kZXIuay1leHBhbmRlZCxcbiAgICAuay1leHBhbmRlci5rLWV4cGFuZGVkICsgLmstZXhwYW5kZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8tZXhwYW5kZXItc3BhY2luZy15O1xuICAgIH1cblxuICAgIC5rLWV4cGFuZGVyOm5vdCguay1leHBhbmRlZCkgKyAuay1leHBhbmRlcjpub3QoLmstZXhwYW5kZWQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICB9XG59XG5cblxuQG1peGluIGtlbmRvLWV4cGFuZGVyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZXhwYW5kZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZXhwYW5kZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1leHBhbmRlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2V4cGFuc2lvbi1wYW5lbC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9leHBhbnNpb24tcGFuZWwvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9leHBhbnNpb24tcGFuZWwvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1leHBhbmRlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLWV4cGFuZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1leHBhbmRlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWV4cGFuZGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWV4cGFuZGVyLWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1leHBhbmRlci1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWV4cGFuZGVyLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZXhwYW5kZXItaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZXhwYW5kZXItaGVhZGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWV4cGFuZGVyLWhlYWRlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWV4cGFuZGVyLWhlYWRlci1ob3Zlci1iZztcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1leHBhbmRlci1oZWFkZXItZm9jdXMtc2hhZG93LCB0cnVlICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZXhwYW5kZXItaGVhZGVyLWZvY3VzLWJnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZXhwYW5kZXItdGl0bGUge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWV4cGFuZGVyLXRpdGxlLXRleHQ7XG4gICAgfVxuXG4gICAgLmstZXhwYW5kZXItc3ViLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1leHBhbmRlci1oZWFkZXItc3ViLXRpdGxlLXRleHQ7XG4gICAgfVxufVxuXG5cbkBtaXhpbiBrZW5kby1leHBhbmRlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZXhwYW5kZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1leHBhbmRlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZXhwYW5kZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1leHBhbmRlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZXhwYW5kZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZXhwYW5kZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1leHBhbmRlci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWV4cGFuZGVyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9wYW5lbC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BhbmVsL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInBhbmVsXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvcGFuZWwvX3ZhcmlhYmxlcy5zY3NzXG5cbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgUGFuZWwuXG4vLy8gQGdyb3VwIHBhbmVsXG4ka2VuZG8tcGFuZWwtYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKTtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFBhbmVsLlxuLy8vIEBncm91cCBwYW5lbFxuJGtlbmRvLXBhbmVsLWJvcmRlci13aWR0aDogMXB4O1xuLy8vIFRoZSBzdHlsZSBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgUGFuZWwuXG4vLy8gQGdyb3VwIHBhbmVsXG4ka2VuZG8tcGFuZWwtYm9yZGVyLXN0eWxlOiBzb2xpZDtcblxuLy8vIFRoZSBpbmxpbmUgcGFkZGluZyBvZiB0aGUgUGFuZWwgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbFxuJGtlbmRvLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZTogay1zcGFjaW5nKDIpO1xuLy8vIFRoZSBibG9jayBwYWRkaW5nIG9mIHRoZSBQYW5lbCBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsXG4ka2VuZG8tcGFuZWwtaGVhZGVyLXBhZGRpbmctYmxvY2s6IGstc3BhY2luZygxKTtcblxuLy8vIFRoZSBpbmxpbmUgcGFkZGluZyBvZiB0aGUgUGFuZWwgY29udGVudC5cbi8vLyBAZ3JvdXAgcGFuZWxcbiRrZW5kby1wYW5lbC1jb250ZW50LXBhZGRpbmctaW5saW5lOiBrLXNwYWNpbmcoMik7XG4vLy8gVGhlIGJsb2NrIHBhZGRpbmcgb2YgdGhlIFBhbmVsIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHBhbmVsXG4ka2VuZG8tcGFuZWwtY29udGVudC1wYWRkaW5nLWJsb2NrOiBrLXNwYWNpbmcoMSk7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUGFuZWwuXG4vLy8gQGdyb3VwIHBhbmVsXG4ka2VuZG8tcGFuZWwtdGV4dDogdmFyKC0ta2VuZG8tY29tcG9uZW50LXRleHQsICN7JGtlbmRvLWNvbXBvbmVudC10ZXh0fSk7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFBhbmVsLlxuLy8vIEBncm91cCBwYW5lbFxuJGtlbmRvLXBhbmVsLWJnOiB2YXIoLS1rZW5kby1jb21wb25lbnQtYmcsICN7JGtlbmRvLWNvbXBvbmVudC1iZ30pO1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgUGFuZWwuXG4vLy8gQGdyb3VwIHBhbmVsXG4ka2VuZG8tcGFuZWwtYm9yZGVyOiB2YXIoLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCAjeyRrZW5kby1jb21wb25lbnQtYm9yZGVyfSk7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvcGFuZWwvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BhbmVsL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BhbmVsL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXBhbmVsLS1sYXlvdXQtLWJhc2UoKSB7XG4gICAgICAgIC8vIFBhbmVsc1xuICAgICAgICAuay1ibG9jayxcbiAgICAgICAgLmstcGFuZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXBhbmVsLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1wYW5lbC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6ICRrZW5kby1wYW5lbC1ib3JkZXItc3R5bGU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICA+IC5rLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoICRrZW5kby1wYW5lbC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCAjeyRrZW5kby1jb21wb25lbnQtdGV4dH0gKSxcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1iZywgI3ska2VuZG8tY29tcG9uZW50LWJnfSApLFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJvcmRlciwgI3ska2VuZG8tY29tcG9uZW50LWJvcmRlcn0gKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYW5lbC1oZWFkZXItcGFkZGluZy1pbmxpbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiAuay1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxufVxuXG5AbWl4aW4ga2VuZG8tcGFuZWwtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wYW5lbC0tbGF5b3V0LS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLXBhbmVsLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGFuZWwtLWxheW91dC0tYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvcGFuZWwvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcGFuZWwvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wYW5lbC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXBhbmVsLS10aGVtZS0tYmFzZSgpIHtcbiAgICAvLyBQYW5lbHNcbiAgICAuay1ibG9jayxcbiAgICAuay1wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcGFuZWwtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1wYW5lbC1iZyxcbiAgICAgICAgICAgICRrZW5kby1wYW5lbC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICA6d2hlcmUoLmstY29udGVudCkge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXBhbmVsLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGFuZWwtYmcsXG4gICAgICAgICAgICAka2VuZG8tcGFuZWwtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5AbWl4aW4ga2VuZG8tcGFuZWwtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBhbmVsLS10aGVtZS0tYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBtaXhpbiBrZW5kby1wYW5lbC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGFuZWwtLXRoZW1lLS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tcGFuZWwtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInBhbmVsXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXBhbmVsLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcGFuZWwtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wYW5lbC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vcGFuZWxiYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wYW5lbGJhci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJwYW5lbGJhclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbGlzdC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvcGFuZWxiYXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBQYW5lbGJhclxuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgUGFuZWxCYXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItcGFkZGluZy14OiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFBhbmVsQmFyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLXBhZGRpbmcteTogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgUGFuZWxCYXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFBhbmVsQmFyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgUGFuZWxCYXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItbGluZS1oZWlnaHQ6IGstbWF0aC1kaXYoIDIwLCAxNCApICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgUGFuZWxCYXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBzdHlsZSBhcm91bmQgdGhlIHRoZSBQYW5lbEJhci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgUGFuZWxCYXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3R5bGUgb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFBhbmVsQmFyIGl0ZW1zLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFBhbmVsQmFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItcGFkZGluZy14OiBrLXNwYWNpbmcoNikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFBhbmVsQmFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItcGFkZGluZy15OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDYpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLXBhZGRpbmcteTogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1heGltdW0gbmVzdGluZyBvZiB0aGUgUGFuZWxCYXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1sZXZlbC1jb3VudDogNCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQYW5lbEJhci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUGFuZWxCYXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFBhbmVsQmFyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1iZzogJGtlbmRvLXBhbmVsYmFyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXRleHQ6ICRrZW5kby1saW5rLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtaG92ZXIgKSwgay10cnktc2hhZGUoICRrZW5kby1wYW5lbGJhci1oZWFkZXItYmcsIC41ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIFBhbmVsQmFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFBhbmVsQmFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgaG92ZXJlZCBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZvY3VzZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1mb2N1cy1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtYWN0aXZlICksIGstdHJ5LXNoYWRlKCAka2VuZG8tcGFuZWxiYXItaGVhZGVyLWJnLCAxLjUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZvY3VzZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBmb2N1c2VkIFBhbmVsQmFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWZvY3VzLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmb2N1c2VkIGFuZCBob3ZlcmVkIFBhbmVsQmFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItZm9jdXMtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1iZywgMiApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBhbmQgaG92ZXJlZCBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBhbmQgaG92ZXJlZCBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGZvY3VzZWQgYW5kIGhvdmVyZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci1mb2N1cy1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWJnOiAka2VuZG8tc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFBhbmVsQmFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtdGV4dDogJGtlbmRvLXNlbGVjdGVkLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBzZWxlY3RlZCBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGFuZCBob3ZlcmVkIFBhbmVsQmFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZWNvbmRhcnktaG92ZXIgKSwgay10cnktdGludCgka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWJnLCAuOTUpKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgYW5kIGhvdmVyZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGFuZCBob3ZlcmVkIFBhbmVsQmFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtaG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgc2VsZWN0ZWQgYW5kIGhvdmVyZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBhbmQgZm9jdXNlZCBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWZvY3VzLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2Vjb25kYXJ5LWFjdGl2ZSApLCBrLXRyeS10aW50KCRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtYmcsIDMpKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgYW5kIGZvY3VzZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGFuZCBmb2N1c2VkIFBhbmVsQmFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgc2VsZWN0ZWQgYW5kIGZvY3VzZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1mb2N1cy1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCwgaG92ZXJlZCBhbmQgZm9jdXNlZCBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWZvY3VzLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2Vjb25kYXJ5LWFjdGl2ZSApLCBrLXRyeS10aW50KCRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtYmcsIDMuOTUpKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQsIGhvdmVyZWQgYW5kIGZvY3VzZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHNlbGVjdGVkLCBob3ZlcmVkIGFuZCBmb2N1c2VkIFBhbmVsQmFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtaG92ZXItZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgc2VsZWN0ZWQsIGhvdmVyZWQgYW5kIGZvY3VzZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1mb2N1cy1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgUGFuZWxCYXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtaG92ZXIgKSwgay10cnktc2hhZGUoICRrZW5kby1wYW5lbGJhci1iZywgLjUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgUGFuZWxCYXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgUGFuZWxCYXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBob3ZlcmVkIFBhbmVsQmFyIGl0ZW1zLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWl0ZW0taG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLWZvY3VzLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1hY3RpdmUgKSwgay10cnktc2hhZGUoICRrZW5kby1wYW5lbGJhci1oZWFkZXItYmcsIDEuNSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGZvY3VzZWQgUGFuZWxCYXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLWZvY3VzLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmb2N1c2VkIGFuZCBob3ZlcmVkIFBhbmVsQmFyIGl0ZW1zLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWl0ZW0taG92ZXItZm9jdXMtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1iZywgMiApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBhbmQgaG92ZXJlZCBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLWhvdmVyLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBhbmQgaG92ZXJlZCBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLWhvdmVyLWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGZvY3VzZWQgYW5kIGhvdmVyZWQgUGFuZWxCYXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWJnOiAka2VuZG8tc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFBhbmVsQmFyIGl0ZW1zLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtdGV4dDogJGtlbmRvLXNlbGVjdGVkLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgUGFuZWxCYXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBzZWxlY3RlZCBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGFuZCBob3ZlcmVkIFBhbmVsQmFyIGl0ZW1zLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZWNvbmRhcnktaG92ZXIgKSwgay10cnktdGludCgka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1iZywgLjk1KSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGFuZCBob3ZlcmVkIFBhbmVsQmFyIGl0ZW1zLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBhbmQgaG92ZXJlZCBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIHNlbGVjdGVkIGFuZCBob3ZlcmVkIFBhbmVsQmFyIGl0ZW1zLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgYW5kIGZvY3VzZWQgUGFuZWxCYXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1mb2N1cy1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlY29uZGFyeS1hY3RpdmUgKSwgay10cnktdGludCgka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1iZywgMykpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBhbmQgZm9jdXNlZCBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgYW5kIGZvY3VzZWQgUGFuZWxCYXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBzZWxlY3RlZCBhbmQgZm9jdXNlZCBQYW5lbEJhciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFuZWxiYXJcbiRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkLCBob3ZlcmVkIGFuZCBmb2N1c2VkIFBhbmVsQmFyIGl0ZW1zLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItZm9jdXMtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZWNvbmRhcnktYWN0aXZlICksIGstdHJ5LXRpbnQoJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtYmcsIDMuOTUpKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQsIGhvdmVyZWQgYW5kIGZvY3VzZWQgUGFuZWxCYXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHNlbGVjdGVkLCBob3ZlcmVkIGFuZCBmb2N1c2VkIFBhbmVsQmFyIGl0ZW1zLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgc2VsZWN0ZWQsIGhvdmVyZWQgYW5kIGZvY3VzZWQgUGFuZWxCYXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1mb2N1cy1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBleHBhbmRlZCBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWV4cGFuZGVkLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBleHBhbmRlZCBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWV4cGFuZGVkLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZXhwYW5kZWQgUGFuZWxCYXIgaGVhZGVyLlxuLy8vIEBncm91cCBwYW5lbGJhclxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1leHBhbmRlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBleHBhbmRlZCBQYW5lbEJhciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsYmFyXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWV4cGFuZGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3BhbmVsYmFyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wYW5lbGJhci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wYW5lbGJhci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1wYW5lbGJhci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBCYXNlXG4gICAgLmstcGFuZWxiYXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXBhbmVsYmFyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiAka2VuZG8tcGFuZWxiYXItYm9yZGVyLXN0eWxlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXBhbmVsYmFyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1wYW5lbGJhci1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tcGFuZWxiYXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFJvb3RcbiAgICAgICAgPiAuay1wYW5lbGJhci1oZWFkZXIge1xuICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiAka2VuZG8tcGFuZWxiYXItaXRlbS1ib3JkZXItc3R5bGU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgPiAuay1saW5rIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBnYXA6ICRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAka2VuZG8tdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5rLXBhbmVsYmFyLWhlYWRlciArIC5rLXBhbmVsYmFyLWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAka2VuZG8tcGFuZWxiYXItaXRlbS1ib3JkZXItd2lkdGg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFN1YlxuICAgICAgICAuay1wYW5lbGJhci1ncm91cCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmstcGFuZWxiYXItZ3JvdXAgPiAuay1wYW5lbGJhci1pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1wYW5lbGJhci1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBhbmVsYmFyLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBnYXA6ICRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAka2VuZG8tdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSGllcmFyY2h5IGl0ZW1zXG4gICAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRrZW5kby1wYW5lbGJhci1pdGVtLWxldmVsLWNvdW50IHtcbiAgICAgICAgICAgICAgICAmLmstbGV2ZWwtI3skaX0ge1xuICAgICAgICAgICAgICAgICAgICAuay1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYyggI3ska2VuZG8tcGFuZWxiYXItaXRlbS1wYWRkaW5nLXh9ICogI3skaX0gKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBhbmVsYmFyIGl0ZW1cbiAgICAgICAgLmstcGFuZWxiYXItaXRlbSB7XG4gICAgICAgICAgICBvdXRsaW5lLXN0eWxlOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGFuZWxiYXIgY29udGVudFxuICAgICAgICAuay1wYW5lbGJhci1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gVG9nZ2xlIGljb25cbiAgICAgICAgLmstcGFuZWxiYXItZXhwYW5kLFxuICAgICAgICAuay1wYW5lbGJhci1jb2xsYXBzZSxcbiAgICAgICAgLmstcGFuZWxiYXItdG9nZ2xlIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgLmstcGFuZWxiYXItZ3JvdXAgLmstcGFuZWxiYXItZXhwYW5kLFxuICAgICAgICAuay1wYW5lbGJhci1ncm91cCAuay1wYW5lbGJhci1jb2xsYXBzZSxcbiAgICAgICAgLmstcGFuZWxiYXItZ3JvdXAgLmstcGFuZWxiYXItdG9nZ2xlIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItcGFkZGluZy14fSAtICN7JGtlbmRvLXBhbmVsYmFyLWl0ZW0tcGFkZGluZy14fSApO1xuICAgICAgICB9XG5cblxuICAgICAgICAuay1ydGwgJixcbiAgICAgICAgJi5rLXJ0bCxcbiAgICAgICAgJltkaXIgPSBcInJ0bFwiXSB7XG4gICAgICAgICAgICAuay1wYW5lbGJhci1ncm91cCA+IC5rLXBhbmVsYmFyLWl0ZW0ge1xuICAgICAgICAgICAgICAgIC8vIEhpZXJhcmNoeSBpdGVtc1xuICAgICAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGtlbmRvLXBhbmVsYmFyLWl0ZW0tbGV2ZWwtY291bnQge1xuICAgICAgICAgICAgICAgICAgICAmLmstbGV2ZWwtI3skaX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAka2VuZG8tcGFuZWxiYXItaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYyggI3ska2VuZG8tcGFuZWxiYXItaXRlbS1wYWRkaW5nLXh9ICogI3skaX0gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXBhbmVsYmFyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGFuZWxiYXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tcGFuZWxiYXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wYW5lbGJhci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3BhbmVsYmFyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BhbmVsYmFyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcGFuZWxiYXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1wYW5lbGJhci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFBhbmVsYmFyXG4gICAgLmstcGFuZWxiYXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItYmcsXG4gICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItYm9yZGVyXG4gICAgICAgICk7XG5cblxuICAgICAgICAvLyBSb290XG4gICAgICAgID4gLmstcGFuZWxiYXItaGVhZGVyIHtcblxuICAgICAgICAgICAgJi5rLWV4cGFuZGVkLmstbGV2ZWwtMCA+IC5rLWxpbmsgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLWV4cGFuZGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItZXhwYW5kZWQtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItZXhwYW5kZWQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLWV4cGFuZGVkLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTm9ybWFsXG4gICAgICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgLmstaWNvbixcbiAgICAgICAgICAgICAgICAuay1wYW5lbGJhci1pdGVtLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLXBhbmVsYmFyLXRleHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIb3ZlclxuICAgICAgICAgICAgPiAuay1saW5rOmhvdmVyLFxuICAgICAgICAgICAgPiAuay1saW5rLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGb2N1c1xuICAgICAgICAgICAgPiAuay1saW5rOmZvY3VzLFxuICAgICAgICAgICAgPiAuay1saW5rLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1mb2N1cy1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRm9jdXMgJiBIb3ZlclxuICAgICAgICAgICAgPiAuay1saW5rOmZvY3VzOmhvdmVyLFxuICAgICAgICAgICAgPiAuay1saW5rLmstZm9jdXMuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlbGVjdGVkXG4gICAgICAgICAgICA+IC5rLWxpbmsuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAuay1pY29uLFxuICAgICAgICAgICAgICAgIC5rLXBhbmVsYmFyLWl0ZW0taWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgSG92ZXJcbiAgICAgICAgICAgID4gLmstbGluay5rLXNlbGVjdGVkOmhvdmVyLFxuICAgICAgICAgICAgPiAuay1saW5rLmstc2VsZWN0ZWQuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlbGVjdGVkIEZvY3VzXG4gICAgICAgICAgICA+IC5rLWxpbmsuay1zZWxlY3RlZDpmb2N1cyxcbiAgICAgICAgICAgID4gLmstbGluay5rLXNlbGVjdGVkLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1mb2N1cy1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtZm9jdXMtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWxlY3RlZCBGb2N1cyAmIEhvdmVyXG4gICAgICAgICAgICA+IC5rLWxpbmsuay1zZWxlY3RlZDpob3Zlcjpmb2N1cyxcbiAgICAgICAgICAgID4gLmstbGluay5rLXNlbGVjdGVkLmstaG92ZXIuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFN1YlxuICAgICAgICAuay1wYW5lbGJhci1ncm91cCB7XG5cbiAgICAgICAgICAgIC8vIEhvdmVyXG4gICAgICAgICAgICA+IC5rLXBhbmVsYmFyLWl0ZW0gPiAuay1saW5rOmhvdmVyLFxuICAgICAgICAgICAgPiAuay1wYW5lbGJhci1pdGVtID4gLmstbGluay5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWl0ZW0taG92ZXItYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZvY3VzXG4gICAgICAgICAgICA+IC5rLXBhbmVsYmFyLWl0ZW0gPiAuay1saW5rOmZvY3VzLFxuICAgICAgICAgICAgPiAuay1wYW5lbGJhci1pdGVtID4gLmstbGluay5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWl0ZW0tZm9jdXMtYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRm9jdXMgJiBIb3ZlclxuICAgICAgICAgICAgPiAuay1wYW5lbGJhci1pdGVtID4gLmstbGluazpmb2N1czpob3ZlcixcbiAgICAgICAgICAgID4gLmstcGFuZWxiYXItaXRlbSA+IC5rLWxpbmsuay1mb2N1cy5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWl0ZW0taG92ZXItZm9jdXMtYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlbGVjdGVkXG4gICAgICAgICAgICA+IC5rLXBhbmVsYmFyLWl0ZW0gPiAuay1saW5rLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgSG92ZXJcbiAgICAgICAgICAgID4gLmstcGFuZWxiYXItaXRlbSA+IC5rLWxpbmsuay1zZWxlY3RlZDpob3ZlcixcbiAgICAgICAgICAgID4gLmstcGFuZWxiYXItaXRlbSA+IC5rLWxpbmsuay1zZWxlY3RlZC5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlbGVjdGVkIEZvY3VzXG4gICAgICAgICAgICA+IC5rLXBhbmVsYmFyLWl0ZW0gPiAuay1saW5rLmstc2VsZWN0ZWQ6Zm9jdXMsXG4gICAgICAgICAgICA+IC5rLXBhbmVsYmFyLWl0ZW0gPiAuay1saW5rLmstc2VsZWN0ZWQuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtZm9jdXMtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWxlY3RlZCBGb2N1cyAmIEhvdmVyXG4gICAgICAgICAgICA+IC5rLXBhbmVsYmFyLWl0ZW0gPiAuay1saW5rLmstc2VsZWN0ZWQ6Zm9jdXM6aG92ZXIsXG4gICAgICAgICAgICA+IC5rLXBhbmVsYmFyLWl0ZW0gPiAuay1saW5rLmstc2VsZWN0ZWQuay1mb2N1cy5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItZm9jdXMtYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1wYW5lbGJhci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGFuZWxiYXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1wYW5lbGJhci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGFuZWxiYXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1wYW5lbGJhci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwicGFuZWxiYXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcGFuZWxiYXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1wYW5lbGJhci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBhbmVsYmFyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9zcGxpdHRlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3NwbGl0dGVyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInNwbGl0dGVyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiZHJhZ2dhYmxlXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICAvLyBcInJlc2l6YWJsZVwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9zcGxpdHRlci9fdmFyaWFibGVzLnNjc3Ncbi8vIFNwbGl0dGVyXG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFNwbGl0dGVyLlxuLy8vIEBncm91cCBzcGxpdHRlclxuJGtlbmRvLXNwbGl0dGVyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgU3BsaXR0ZXIuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXR0ZXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFNwbGl0dGVyLlxuLy8vIEBncm91cCBzcGxpdHRlclxuJGtlbmRvLXNwbGl0dGVyLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgU3BsaXR0ZXIuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXR0ZXItbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3BsaXR0ZXIuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXR0ZXItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFNwbGl0dGVyLlxuLy8vIEBncm91cCBzcGxpdHRlclxuJGtlbmRvLXNwbGl0dGVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTcGxpdHRlci5cbi8vLyBAZ3JvdXAgc3BsaXR0ZXJcbiRrZW5kby1zcGxpdHRlci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIFNwbGl0dGVyIHNwbGl0IGJhci5cbi8vLyBAZ3JvdXAgc3BsaXR0ZXJcbiRrZW5kby1zcGxpdHRlci1zcGxpdGJhci1zaXplOiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIGxlbmd0aCBvZiB0aGUgU3BsaXR0ZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXR0ZXItZHJhZy1oYW5kbGUtbGVuZ3RoOiAyMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB0aGlja25lc3Mgb2YgdGhlIFNwbGl0dGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzcGxpdHRlclxuJGtlbmRvLXNwbGl0dGVyLWRyYWctaGFuZGxlLXRoaWNrbmVzczogMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBtYXJnaW4gb2YgdGhlIFNwbGl0dGVyIGRyYWcgaGFuZGxlIGljb24uXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXR0ZXItZHJhZy1pY29uLW1hcmdpbjogY2FsYyggI3trLXNwYWNpbmcoMy41KX0gLyAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgY29sbGFwc2UgaWNvbiBpbiB0aGUgU3BsaXR0ZXIuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXR0ZXItY29sbGFwc2UtaWNvbi1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNvbGxhcHNlIGljb24gaW4gdGhlIFNwbGl0dGVyLlxuLy8vIEBncm91cCBzcGxpdHRlclxuJGtlbmRvLXNwbGl0dGVyLWNvbGxhcHNlLWljb24tcGFkZGluZy15OiBrLXNwYWNpbmcoMC41KSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTcGxpdHRlciBzcGxpdCBiYXIuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXRiYXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLXNwbGl0dGVyLWJnLCAxICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTcGxpdHRlciBzcGxpdCBiYXIuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXRiYXItdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvdmVyIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwbGl0dGVyIHNwbGl0IGJhci5cbi8vLyBAZ3JvdXAgc3BsaXR0ZXJcbiRrZW5kby1zcGxpdGJhci1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtaG92ZXIgKSwgay10cnktc2hhZGUoICRrZW5kby1zcGxpdGJhci1iZywgLjUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvdmVyIHRleHQgY29sb3Igb2YgdGhlIFNwbGl0dGVyIHNwbGl0IGJhci5cbi8vLyBAZ3JvdXAgc3BsaXR0ZXJcbiRrZW5kby1zcGxpdGJhci1ob3Zlci10ZXh0OiAka2VuZG8tc3BsaXRiYXItdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBzZWxlY3RlZCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTcGxpdHRlciBzcGxpdCBiYXIuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXRiYXItc2VsZWN0ZWQtYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSBzZWxlY3RlZCB0ZXh0IGNvbG9yIG9mIHRoZSBTcGxpdHRlciBzcGxpdCBiYXIuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXRiYXItc2VsZWN0ZWQtdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnktY29udHJhc3QgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3Mvc3BsaXR0ZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NwbGl0dGVyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NwbGl0dGVyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXNwbGl0dGVyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1zcGxpdHRlciB7XG4gICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXNwbGl0dGVyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1zcGxpdHRlci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tc3BsaXR0ZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXNwbGl0dGVyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLy8gUGFuZVxuICAgICAgICAuay1wYW5lIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgICAgIC5rLXNjcm9sbGFibGUge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgLmstc3BsaXR0ZXItcmVzaXppbmcge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5lc3RlZFxuICAgICAgICAuay1wYW5lID4gJiB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTG9hZGluZ1xuICAgICAgICAuay1wYW5lLWxvYWRpbmcge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIFNwbGl0YmFyXG4gICAgLmstZ2hvc3Qtc3BsaXRiYXIsXG4gICAgLmstc3BsaXRiYXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuay1jb2xsYXBzZS1wcmV2LFxuICAgICAgICAuay1jb2xsYXBzZS1uZXh0IHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRrZW5kby1zcGxpdHRlci1jb2xsYXBzZS1pY29uLXBhZGRpbmcteSAka2VuZG8tc3BsaXR0ZXItY29sbGFwc2UtaWNvbi1wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5rLXNwbGl0YmFyLWRyYWdnYWJsZS1ob3Jpem9udGFsIHsgY3Vyc29yOiBjb2wtcmVzaXplOyB9XG4gICAgLmstc3BsaXRiYXItZHJhZ2dhYmxlLXZlcnRpY2FsIHsgY3Vyc29yOiByb3ctcmVzaXplOyB9XG5cbiAgICAuay1naG9zdC1zcGxpdGJhci1ob3Jpem9udGFsLFxuICAgIC5rLXNwbGl0YmFyLWhvcml6b250YWwge1xuICAgICAgICB3aWR0aDogJGtlbmRvLXNwbGl0dGVyLXNwbGl0YmFyLXNpemU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuICAgIC5rLWdob3N0LXNwbGl0YmFyLXZlcnRpY2FsLFxuICAgIC5rLXNwbGl0YmFyLXZlcnRpY2FsIHtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tc3BsaXR0ZXItc3BsaXRiYXItc2l6ZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXItc3RhdGljLWhvcml6b250YWwgeyB3aWR0aDogMXB4OyB9XG4gICAgLmstc3BsaXRiYXItc3RhdGljLXZlcnRpY2FsIHsgaGVpZ2h0OiAxcHg7IH1cblxuICAgIC5rLXNwbGl0YmFyLWRyYWdnYWJsZS1ob3Jpem9udGFsIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICB3aWR0aDogJGtlbmRvLXNwbGl0dGVyLWRyYWctaGFuZGxlLXRoaWNrbmVzcztcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tc3BsaXR0ZXItZHJhZy1oYW5kbGUtbGVuZ3RoO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5rLXNwbGl0YmFyIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXItZHJhZ2dhYmxlLWhvcml6b250YWwsXG4gICAgLmstc3BsaXRiYXItZHJhZ2dhYmxlLXZlcnRpY2FsIHtcblxuICAgICAgICAuay1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXItaG9yaXpvbnRhbCAuay1jb2xsYXBzZS1wcmV2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGtlbmRvLXNwbGl0dGVyLWRyYWctaWNvbi1tYXJnaW47XG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXItaG9yaXpvbnRhbCAuay1jb2xsYXBzZS1uZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGtlbmRvLXNwbGl0dGVyLWRyYWctaWNvbi1tYXJnaW47XG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXItdmVydGljYWwgLmstY29sbGFwc2UtcHJldiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLXNwbGl0dGVyLWRyYWctaWNvbi1tYXJnaW47XG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXItdmVydGljYWwgLmstY29sbGFwc2UtbmV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8tc3BsaXR0ZXItZHJhZy1pY29uLW1hcmdpbjtcbiAgICB9XG5cbiAgICAuay1zcGxpdGJhci1kcmFnZ2FibGUtdmVydGljYWwgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tc3BsaXR0ZXItZHJhZy1oYW5kbGUtbGVuZ3RoO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1zcGxpdHRlci1kcmFnLWhhbmRsZS10aGlja25lc3M7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmstcGFuZSA+IC5rLXNwbGl0dGVyLW92ZXJsYXkge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLy8gZmxleGJveC1iYXNlZCBzcGxpdHRlclxuXG4gICAgLmstc3BsaXR0ZXItZmxleCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgLmstcGFuZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBhbGxvd3MgbmVzdGVkIGVsZW1lbnRzIHRvIHVzZSBoZWlnaHQ6IDEwMCVcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBhbmUtc3RhdGljIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGFuZS1mbGV4IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zcGxpdGJhciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1wYW5lLFxuICAgICAgICAuay1wYW5lLWZsZXgge1xuICAgICAgICAgICAgJi5rLWhpZGRlbixcbiAgICAgICAgICAgICZbaGlkZGVuXSB7XG4gICAgICAgICAgICAgICAgLy8gaGlkZGVuIHBhbmVzIG5lZWQgdG8gYmUgemVyby13aWR0aCB0byBhbGxvdyBwYW5lIGFuaW1hdGlvblxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSAwJSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNwbGl0dGVyLWhvcml6b250YWwge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgICAgICAmLmstc3BsaXR0ZXItdmVydGljYWwge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zcGxpdHRlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNwbGl0dGVyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXNwbGl0dGVyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc3BsaXR0ZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9zcGxpdHRlci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zcGxpdHRlci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NwbGl0dGVyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tc3BsaXR0ZXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBTcGxpdHRlclxuICAgIC5rLXNwbGl0dGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1zcGxpdHRlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXNwbGl0dGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNwbGl0dGVyLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFNwbGl0YmFyXG4gICAgLmstc3BsaXRiYXIge1xuICAgICAgICBjb2xvcjogJGtlbmRvLXNwbGl0YmFyLXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zcGxpdGJhci1iZztcbiAgICB9XG4gICAgLmstc3BsaXRiYXI6aG92ZXIsXG4gICAgLmstc3BsaXRiYXIuay1ob3ZlcixcbiAgICAuay1zcGxpdGJhci1ob3Jpem9udGFsLWhvdmVyLFxuICAgIC5rLXNwbGl0YmFyLXZlcnRpY2FsLWhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1zcGxpdGJhci1ob3Zlci10ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc3BsaXRiYXItaG92ZXItYmc7XG4gICAgfVxuICAgIC5rLXNwbGl0YmFyOmZvY3VzLFxuICAgIC5rLXNwbGl0YmFyLmstZm9jdXMge1xuICAgICAgICBjb2xvcjogJGtlbmRvLXNwbGl0YmFyLXNlbGVjdGVkLXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1zcGxpdGJhci1zZWxlY3RlZC1iZztcbiAgICB9XG5cbiAgICAvLyBHaG9zdCBzcGxpdGJhclxuICAgIC5rLWdob3N0LXNwbGl0YmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXNwbGl0YmFyLWhvdmVyLWJnO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zcGxpdHRlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc3BsaXR0ZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zcGxpdHRlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc3BsaXR0ZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1zcGxpdHRlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwic3BsaXR0ZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc3BsaXR0ZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1zcGxpdHRlci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNwbGl0dGVyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90aWxlbGF5b3V0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdGlsZWxheW91dC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0aWxlLWxheW91dFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImNhcmRcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NhcmQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jYXJkL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvdGlsZWxheW91dC9fdmFyaWFibGVzLnNjc3Ncbi8vIFRpbGVMYXlvdXRcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgVGlsZUxheW91dC5cbi8vLyBAZ3JvdXAgdGlsZS1sYXlvdXRcbiRrZW5kby10aWxlLWxheW91dC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVGlsZUxheW91dC5cbi8vLyBAZ3JvdXAgdGlsZS1sYXlvdXRcbiRrZW5kby10aWxlLWxheW91dC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3ItZGFyaywgJGtlbmRvLWNvbG9yLWxpZ2h0KSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBUaWxlTGF5b3V0LlxuLy8vIEBncm91cCB0aWxlLWxheW91dFxuJGtlbmRvLXRpbGUtbGF5b3V0LXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFRpbGVMYXlvdXRcbi8vLyBAZ3JvdXAgdGlsZS1sYXlvdXRcbiRrZW5kby10aWxlLWxheW91dC1wYWRkaW5nLXk6ICRrZW5kby10aWxlLWxheW91dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFRpbGVMYXlvdXQgY2FyZC5cbi8vLyBAZ3JvdXAgdGlsZS1sYXlvdXRcbiRrZW5kby10aWxlLWxheW91dC1jYXJkLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb2N1cyBib3ggc2hhZG93IG9mIHRoZSBUaWxlTGF5b3V0IGNhcmQuXG4vLy8gQGdyb3VwIHRpbGUtbGF5b3V0XG4ka2VuZG8tdGlsZS1sYXlvdXQtY2FyZC1mb2N1cy1zaGFkb3c6ICRrZW5kby1jYXJkLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgVGlsZUxheW91dCBoaW50LlxuLy8vIEBncm91cCB0aWxlLWxheW91dFxuJGtlbmRvLXRpbGUtbGF5b3V0LWhpbnQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHJhZGl1cyBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgVGlsZUxheW91dCBoaW50LlxuLy8vIEBncm91cCB0aWxlLWxheW91dFxuJGtlbmRvLXRpbGUtbGF5b3V0LWhpbnQtYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKSAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFRpbGVMYXlvdXQgaGludC5cbi8vLyBAZ3JvdXAgdGlsZS1sYXlvdXRcbiRrZW5kby10aWxlLWxheW91dC1oaW50LWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRpbGVMYXlvdXQgaGludC5cbi8vLyBAZ3JvdXAgdGlsZS1sYXlvdXRcbiRrZW5kby10aWxlLWxheW91dC1oaW50LWJnOiByZ2JhKCB3aGl0ZSwgLjIgKSAhZGVmYXVsdDtcblxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3RpbGVsYXlvdXQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbGVsYXlvdXQvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGlsZWxheW91dC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby10aWxlLWxheW91dC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay10aWxlbGF5b3V0IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGlsZS1sYXlvdXQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby10aWxlLWxheW91dC1wYWRkaW5nLXkgJGtlbmRvLXRpbGUtbGF5b3V0LXBhZGRpbmcteDtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5rLWNhcmQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGlsZS1sYXlvdXQtY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10aWxlbGF5b3V0LWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLmstbGF5b3V0LWl0ZW0taGludCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby10aWxlLWxheW91dC1oaW50LWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGlsZS1sYXlvdXQtaGludC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLmstbGF5b3V0LWl0ZW0taGludC1yZXNpemUge1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRpbGVsYXlvdXQtaXRlbS1oZWFkZXIuay1jYXJkLWhlYWRlciB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLmstdGlsZWxheW91dC1pdGVtLWJvZHkge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby10aWxlLWxheW91dC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbGUtbGF5b3V0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRpbGUtbGF5b3V0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGlsZS1sYXlvdXQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90aWxlbGF5b3V0L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbGVsYXlvdXQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90aWxlbGF5b3V0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdGlsZS1sYXlvdXQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay10aWxlbGF5b3V0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogJGtlbmRvLXRpbGUtbGF5b3V0LWJnXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstdGlsZWxheW91dC1pdGVtOmZvY3VzLFxuICAgIC5rLXRpbGVsYXlvdXQtaXRlbS5rLWZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCRrZW5kby10aWxlLWxheW91dC1jYXJkLWZvY3VzLXNoYWRvdyk7XG4gICAgfVxuXG4gICAgLmstbGF5b3V0LWl0ZW0taGludCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6ICRrZW5kby10aWxlLWxheW91dC1oaW50LWJnLFxuICAgICAgICAgICAgJGJvcmRlcjogJGtlbmRvLXRpbGUtbGF5b3V0LWhpbnQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRpbGUtbGF5b3V0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aWxlLWxheW91dC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRpbGUtbGF5b3V0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aWxlLWxheW91dC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXRpbGUtbGF5b3V0LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0aWxlLWxheW91dFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10aWxlLWxheW91dC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRpbGUtbGF5b3V0LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGlsZS1sYXlvdXQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2RvY2stbWFuYWdlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RvY2stbWFuYWdlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZG9jay1tYW5hZ2VyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwic3BsaXR0ZXJcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgICAgIFwidGFic3RyaXBcIlxuICAgIClcbik7XG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vc3BsaXR0ZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zcGxpdHRlci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2xiYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdGFic3RyaXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90YWJzdHJpcC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2RvY2stbWFuYWdlci9fdmFyaWFibGVzLnNjc3Ncbi8vLyAgVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3R5bGUgb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1ib3JkZXI6ICRrZW5kby1iYXNlLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBwYW5lIGhlYWRlciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgcGFuZSBoZWFkZXIgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLXBhZGRpbmcteDogay1zcGFjaW5nKDYpICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgcGFuZSBoZWFkZXIgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLWJvcmRlci13aWR0aDogJGtlbmRvLWRvY2stbWFuYWdlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4vLy8gIFRoZSBzdHlsZSBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgcGFuZSBoZWFkZXIgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHBhbmUgaGVhZGVyIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWhlYWRlci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBwYW5lIHRpdGxlIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBwYW5lIHRpdGxlIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIHBhbmUgdGl0bGUgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIHBhbmUgdGl0bGUgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLWxnLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBwYW5lIHRpdGxlIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQtc20sIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHdlaWdodCBvZiB0aGUgcGFuZSB0aXRsZSBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS10aXRsZS1mb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LW5vcm1hbCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBwYW5lIGNvbnRlbnQgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtY29udGVudC1wYWRkaW5nLXg6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBwYW5lIGNvbnRlbnQgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtY29udGVudC1wYWRkaW5nLXk6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgdGFiYmVkIHBhbmUgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXRhYmJlZC1wYW5lLXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSB0YWJiZWQgcGFuZSBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItdGFiYmVkLXBhbmUtcGFkZGluZy14OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSB1bnBpbm5lZCBwYW5lIGNvbnRhaW5lciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZC1jb2xvciBvZiB0aGUgdW5waW5uZWQgcGFuZSBjb250YWluZXIgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXVucGlubmVkLWNvbnRhaW5lci1iZzogJGtlbmRvLWNvbG9yLXdoaXRlICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSB1bnBpbm5lZCBwYW5lIGNvbnRhaW5lciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyLXNoYWRvdzogNHB4IDBweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNCksIDJweCAwcHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDMpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHBhZGRpbmcgb2YgdGhlIGRvY2sgaW5kaWNhdG9yIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2staW5kaWNhdG9yLXBhZGRpbmc6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkb2NrIGluZGljYXRvciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLWluZGljYXRvci1iZzogJGtlbmRvLWJhc2UtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGRvY2sgaW5kaWNhdG9yIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2staW5kaWNhdG9yLXRleHQ6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIHdpZHRoIG9mIHRoZSBkb2NrIGluZGljYXRvciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLWluZGljYXRvci1vdXRsaW5lLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIG91dGxpbmUgc3R5bGUgb2YgdGhlIGRvY2sgaW5kaWNhdG9yIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2staW5kaWNhdG9yLW91dGxpbmUtc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIGNvbG9yIG9mIHRoZSBkb2NrIGluZGljYXRvciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLWluZGljYXRvci1vdXRsaW5lOiAka2VuZG8tZG9jay1pbmRpY2F0b3ItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZG9jayBpbmRpY2F0b3IgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1pbmRpY2F0b3Itc2hhZG93OiBkcm9wLXNoYWRvdyggMHB4IDFweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4xMikgKSBkcm9wLXNoYWRvdyggMHB4IDZweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCkgKSBkcm9wLXNoYWRvdyggMHB4IDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIwKSApICFkZWZhdWx0O1xuXG4vLy8gIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIGRvY2sgaW5kaWNhdG9yIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2staW5kaWNhdG9yLWhvdmVyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1ob3ZlciApLCBrLWNvbG9yLW1peCggJGtlbmRvLWNvbG9yLXdoaXRlLCAka2VuZG8tY29sb3ItcHJpbWFyeSwgOCUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgZG9jayBpbmRpY2F0b3IgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1pbmRpY2F0b3ItaG92ZXItdGV4dDogJGtlbmRvLWNvbG9yLXdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBkcm9wcGluZyBhcmVhIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHN0eWxlIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBkcm9wcGluZyBhcmVhIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYm9yZGVyLXN0eWxlOiBkYXNoZWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIGRyb3BwaW5nIGFyZWEgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLWRvY2stcHJldmlldy1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMoc20pICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkcm9wcGluZyBhcmVhIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDE2JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tY29sb3ItcHJpbWFyeSwgLjE2ICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGRyb3BwaW5nIGFyZWEgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLWRvY2stcHJldmlldy1ib3JkZXI6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2RvY2stbWFuYWdlci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZG9jay1tYW5hZ2VyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RvY2stbWFuYWdlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1kb2NrLW1hbmFnZXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gRG9ja01hbmFnZXJcbiAgICAuay1kb2NrLW1hbmFnZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1kb2NrLW1hbmFnZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6ICRrZW5kby1kb2NrLW1hbmFnZXItYm9yZGVyLXN0eWxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLy8gVG9vbGJhclxuICAgIC5rLWRvY2stbWFuYWdlci10b29sYmFyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICRrZW5kby1kb2NrLW1hbmFnZXItYm9yZGVyLXdpZHRoIDAgMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2VwYXJhdG9yLWhvcml6b250YWwge1xuICAgICAgICAgICAgd2lkdGg6ICAka2VuZG8tbGluZS1oZWlnaHQtZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1kb2NrLW1hbmFnZXItYm9yZGVyLXdpZHRoIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBhbmVzXG4gICAgLmstZG9jay1tYW5hZ2VyLXBhbmUtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC8vIFNwbGl0dGVyXG4gICAgLmstZG9jay1tYW5hZ2VyLXNwbGl0dGVyLFxuICAgIC5rLWRvY2stbWFuYWdlci11bnBpbm5lZC1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgPiAuay1wYW5lIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wYW5lLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stZW5kLXdpZHRoOiAka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQtc3R5bGU6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItYm9yZGVyLXN0eWxlO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGFuZS10aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS10aXRsZS1wYWRkaW5nLXg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS10aXRsZS1saW5lLWhlaWdodDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuay1wYW5lLXNjcm9sbGFibGUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wYW5lLWNvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWNvbnRlbnQtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1jb250ZW50LXBhZGRpbmcteDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBhbmUtYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGFuZS10YWJiZWQge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogJGtlbmRvLWRvY2stbWFuYWdlci10YWJiZWQtcGFuZS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogJGtlbmRvLWRvY2stbWFuYWdlci10YWJiZWQtcGFuZS1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWRvY2stbWFuYWdlci10YWJiZWQtcGFuZS1wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zcGxpdGJhciB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgICAuay1zcGxpdGJhci12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5waW5uZWQgcGFuZVxuICAgIC5rLWRvY2stbWFuYWdlci11bnBpbm5lZC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogJGtlbmRvLWRvY2stbWFuYWdlci11bnBpbm5lZC1jb250YWluZXItd2lkdGg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgIC5rLXBhbmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1zcGxpdGJhciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRG9ja2luZyBwcmV2aWV3XG4gICAgLmstZG9ja2luZy1wcmV2aWV3IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6ICRrZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJvcmRlci1zdHlsZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYm9yZGVyLXJhZGl1cztcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuXG59XG5cbkBtaXhpbiBrZW5kby1kb2NrLW5hdmlnYXRvci0tbGF5b3V0KCkge1xuXG4gICAgLy8gRG9ja05hdmlnYXRvclxuICAgIC5rLWRvY2stbmF2aWdhdG9yLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTAwMDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5rLWRvY2stbmF2aWdhdG9yIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgYXV0byk7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDMsIGF1dG8pO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC5rLWRvY2staW5kaWNhdG9yIHtcbiAgICAgICAgcGFkZGluZzogJGtlbmRvLWRvY2staW5kaWNhdG9yLXBhZGRpbmc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICBvdXRsaW5lLXdpZHRoOiAka2VuZG8tZG9jay1pbmRpY2F0b3Itb3V0bGluZS13aWR0aDtcbiAgICAgICAgb3V0bGluZS1zdHlsZTogJGtlbmRvLWRvY2staW5kaWNhdG9yLW91dGxpbmUtc3R5bGU7XG5cbiAgICAgICAgJi5rLWRvY2staW5kaWNhdG9yLW1pZGRsZSB7XG4gICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1kb2NrLWluZGljYXRvci10b3Age1xuICAgICAgICBncmlkLWFyZWE6IDEgLyAyIC8gYXV0bztcbiAgICB9XG4gICAgLmstZG9jay1pbmRpY2F0b3ItcmlnaHQge1xuICAgICAgICBncmlkLWFyZWE6IDIgLyAzIC8gYXV0bztcbiAgICB9XG4gICAgLmstZG9jay1pbmRpY2F0b3ItYm90dG9tIHtcbiAgICAgICAgZ3JpZC1hcmVhOiAzIC8gMiAvIGF1dG87XG4gICAgfVxuICAgIC5rLWRvY2staW5kaWNhdG9yLWxlZnQge1xuICAgICAgICBncmlkLWFyZWE6IDIgLyAxIC8gYXV0bztcbiAgICB9XG4gICAgLmstZG9jay1pbmRpY2F0b3ItbWlkZGxlIHtcbiAgICAgICAgZ3JpZC1hcmVhOiAyIC8gMiAvIGF1dG87XG4gICAgfVxuXG59XG5cbkBtaXhpbiBrZW5kby1kb2NrLW1hbmFnZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kb2NrLW1hbmFnZXItLWxheW91dC1iYXNlKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZG9jay1uYXZpZ2F0b3ItLWxheW91dCgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBtaXhpbiBrZW5kby1kb2NrLW1hbmFnZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kb2NrLW1hbmFnZXItLWxheW91dC1iYXNlKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZG9jay1uYXZpZ2F0b3ItLWxheW91dCgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZG9jay1tYW5hZ2VyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RvY2stbWFuYWdlci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RvY2stbWFuYWdlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRvY2stbWFuYWdlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIERvY2tNYW5hZ2VyXG4gICAgLmstZG9jay1tYW5hZ2VyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlcjtcbiAgICB9XG5cbiAgICAvLyBTcGxpdHRlclxuICAgIC5rLWRvY2stbWFuYWdlci1zcGxpdHRlciAuay1wYW5lLWhlYWRlcixcbiAgICAuay1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyIC5rLXBhbmUtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWhlYWRlci1iZztcbiAgICB9XG5cbiAgICAuay1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWRvY2stbWFuYWdlci11bnBpbm5lZC1jb250YWluZXItYmc7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyLXNoYWRvdyApO1xuICAgIH1cblxuICAgIC8vIERvY2tpbmcgcHJldmlld1xuICAgIC5rLWRvY2tpbmctcHJldmlldyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJnO1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJvcmRlcjtcbiAgICB9XG5cbn1cblxuQG1peGluIGtlbmRvLWRvY2stbmF2aWdhdG9yLS10aGVtZSgpIHtcblxuICAgIC5rLWRvY2staW5kaWNhdG9yIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1kb2NrLWluZGljYXRvci10ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZG9jay1pbmRpY2F0b3ItYmc7XG4gICAgICAgIG91dGxpbmUtY29sb3I6ICRrZW5kby1kb2NrLWluZGljYXRvci1vdXRsaW5lO1xuICAgICAgICBmaWx0ZXI6ICRrZW5kby1kb2NrLWluZGljYXRvci1zaGFkb3c7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1kb2NrLWluZGljYXRvci1ob3Zlci1iZztcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZG9jay1pbmRpY2F0b3ItaG92ZXItdGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5AbWl4aW4ga2VuZG8tZG9jay1tYW5hZ2VyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kb2NrLW1hbmFnZXItLXRoZW1lLWJhc2UoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1kb2NrLW5hdmlnYXRvci0tdGhlbWUoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8tZG9jay1tYW5hZ2VyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kb2NrLW1hbmFnZXItLXRoZW1lLWJhc2UoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1kb2NrLW5hdmlnYXRvci0tdGhlbWUoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWRvY2stbWFuYWdlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoXCJkb2NrLW1hbmFnZXJcIikge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kb2NrLW1hbmFnZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kb2NrLW1hbmFnZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kb2NrLW1hbmFnZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2NoYXJ0LXdpemFyZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NoYXJ0LXdpemFyZC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJjaGFydC13aXphcmRcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwid2luZG93XCIsXG4gICAgICAgIFwic3BsaXR0ZXJcIixcbiAgICAgICAgXCJkYXRhdml6XCIsXG4gICAgICAgIFwiZXhwYW5zaW9uLXBhbmVsXCIsXG4gICAgICAgIFwiZ3JpZFwiLFxuICAgICAgICBcInRhYnN0cmlwXCIsXG4gICAgICAgIFwibGlzdHZpZXdcIixcbiAgICAgICAgXCJmb3Jtc1wiLFxuICAgICAgICBcImNvbWJvYm94XCJcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3dpbmRvdy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3dpbmRvdy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3NwbGl0dGVyL19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc3BsaXR0ZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kYXRhdml6L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGF0YXZpei9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJkYXRhdml6XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgICAgIFwidG9vbHRpcFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbHRpcC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Rvb2x0aXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2RhdGF2aXovX3ZhcmlhYmxlcy5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL192YXJpYWJsZXMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDaGFydFxuXG4vLy8gVGhlIGZpcnN0IGJhc2Ugc2VyaWVzIGNvbG9yIGFuZCBpdHMgbGlnaHQgYW5kIGRhcmsgc2hhZGVzLlxuLy8vIEBncm91cCBjaGFydHNcbiRrZW5kby1zZXJpZXMtYTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1hICksIGdldC1iYXNlLWh1ZSggcHVycGxlLCA1MDAgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWEtZGFyazogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1hLWJvbGQgKSwgay1jb2xvci1taXgoYmxhY2ssICRrZW5kby1zZXJpZXMtYSwgMjUlKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWEtZGFya2VyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWEtYm9sZGVyICksIGstY29sb3ItbWl4KGJsYWNrLCAka2VuZG8tc2VyaWVzLWEsIDUwJSkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1hLWxpZ2h0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWEtc3VidGxlICksIGstY29sb3ItbWl4KHdoaXRlLCAka2VuZG8tc2VyaWVzLWEsIDI1JSkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1hLWxpZ2h0ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtYS1zdWJ0bGVyICksIGstY29sb3ItbWl4KHdoaXRlLCAka2VuZG8tc2VyaWVzLWEsIDUwJSkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNlY29uZCBiYXNlIHNlcmllcyBjb2xvciBhbmQgaXRzIGxpZ2h0IGFuZCBkYXJrIHNoYWRlcy5cbi8vLyBAZ3JvdXAgY2hhcnRzXG4ka2VuZG8tc2VyaWVzLWI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtYiApLCBnZXQtYmFzZS1odWUoIGJsdWUsIDUwMCApKSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtYi1kYXJrOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWItYm9sZCApLCBrLWNvbG9yLW1peChibGFjaywgJGtlbmRvLXNlcmllcy1iLCAyNSUpKSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtYi1kYXJrZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtYi1ib2xkZXIgKSwgay1jb2xvci1taXgoYmxhY2ssICRrZW5kby1zZXJpZXMtYiwgNTAlKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWItbGlnaHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtYi1zdWJ0bGUgKSwgay1jb2xvci1taXgod2hpdGUsICRrZW5kby1zZXJpZXMtYiwgMjUlKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWItbGlnaHRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1iLXN1YnRsZXIgKSwgay1jb2xvci1taXgod2hpdGUsICRrZW5kby1zZXJpZXMtYiwgNTAlKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhpcmQgYmFzZSBzZXJpZXMgY29sb3IgYW5kIGl0cyBsaWdodCBhbmQgZGFyayBzaGFkZXMuXG4vLy8gQGdyb3VwIGNoYXJ0c1xuJGtlbmRvLXNlcmllcy1jOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWMgKSwgZ2V0LWJhc2UtaHVlKCB0ZWFsLCA1MDAgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWMtZGFyazogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1jLWJvbGQgKSwgay1jb2xvci1taXgoYmxhY2ssICRrZW5kby1zZXJpZXMtYywgMjUlKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWMtZGFya2VyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWMtYm9sZGVyICksIGstY29sb3ItbWl4KGJsYWNrLCAka2VuZG8tc2VyaWVzLWMsIDUwJSkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1jLWxpZ2h0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWMtc3VidGxlICksIGstY29sb3ItbWl4KHdoaXRlLCAka2VuZG8tc2VyaWVzLWMsIDI1JSkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1jLWxpZ2h0ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtYy1zdWJ0bGVyICksIGstY29sb3ItbWl4KHdoaXRlLCAka2VuZG8tc2VyaWVzLWMsIDUwJSkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvdXJ0aCBiYXNlIHNlcmllcyBjb2xvciBhbmQgaXRzIGxpZ2h0IGFuZCBkYXJrIHNoYWRlcy5cbi8vLyBAZ3JvdXAgY2hhcnRzXG4ka2VuZG8tc2VyaWVzLWQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtZCApLCBnZXQtYmFzZS1odWUoIHllbGxvdywgNTAwICkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1kLWRhcms6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtZC1ib2xkICksIGstY29sb3ItbWl4KGJsYWNrLCAka2VuZG8tc2VyaWVzLWQsIDI1JSkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1kLWRhcmtlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1kLWJvbGRlciApLCBrLWNvbG9yLW1peChibGFjaywgJGtlbmRvLXNlcmllcy1kLCA1MCUpKSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtZC1saWdodDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1kLXN1YnRsZSApLCBrLWNvbG9yLW1peCh3aGl0ZSwgJGtlbmRvLXNlcmllcy1kLCAyNSUpKSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtZC1saWdodGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWQtc3VidGxlciApLCBrLWNvbG9yLW1peCh3aGl0ZSwgJGtlbmRvLXNlcmllcy1kLCA1MCUpKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmaWZ0aCBiYXNlIHNlcmllcyBjb2xvciBhbmQgaXRzIGxpZ2h0IGFuZCBkYXJrIHNoYWRlcy5cbi8vLyBAZ3JvdXAgY2hhcnRzXG4ka2VuZG8tc2VyaWVzLWU6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtZSApLCBnZXQtYmFzZS1odWUoIHJlZCwgNTAwICkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1lLWRhcms6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtZS1ib2xkICksIGstY29sb3ItbWl4KGJsYWNrLCAka2VuZG8tc2VyaWVzLWUsIDI1JSkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1lLWRhcmtlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1lLWJvbGRlciApLCBrLWNvbG9yLW1peChibGFjaywgJGtlbmRvLXNlcmllcy1lLCA1MCUpKSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtZS1saWdodDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1lLXN1YnRsZSApLCBrLWNvbG9yLW1peCh3aGl0ZSwgJGtlbmRvLXNlcmllcy1lLCAyNSUpKSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtZS1saWdodGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWUtc3VidGxlciApLCBrLWNvbG9yLW1peCh3aGl0ZSwgJGtlbmRvLXNlcmllcy1lLCA1MCUpKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXh0aCBiYXNlIHNlcmllcyBjb2xvciBhbmQgaXRzIGxpZ2h0IGFuZCBkYXJrIHNoYWRlcy5cbi8vLyBAZ3JvdXAgY2hhcnRzXG4ka2VuZG8tc2VyaWVzLWY6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtZiApLCBnZXQtYmFzZS1odWUoIGdyZWVuLCA1MDAgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWYtZGFyazogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1mLWJvbGQgKSwgay1jb2xvci1taXgoYmxhY2ssICRrZW5kby1zZXJpZXMtZiwgMjUlKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWYtZGFya2VyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWYtYm9sZGVyICksIGstY29sb3ItbWl4KGJsYWNrLCAka2VuZG8tc2VyaWVzLWYsIDUwJSkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1mLWxpZ2h0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWYtc3VidGxlICksIGstY29sb3ItbWl4KHdoaXRlLCAka2VuZG8tc2VyaWVzLWYsIDI1JSkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1mLWxpZ2h0ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtZi1zdWJ0bGVyICksIGstY29sb3ItbWl4KHdoaXRlLCAka2VuZG8tc2VyaWVzLWYsIDUwJSkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNlcmllcyBjb2xvcnMgaW4gb3JkZXI6XG4vLy8gYmFzZSwgbGlnaHQsIGRhcmssIGxpZ2h0ZXIsIGRhcmtlclxuLy8vIEBncm91cCBjaGFydHNcbiRrZW5kby1zZXJpZXMtMTogJGtlbmRvLXNlcmllcy1hICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0yOiAka2VuZG8tc2VyaWVzLWIgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTM6ICRrZW5kby1zZXJpZXMtYyAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtNDogJGtlbmRvLXNlcmllcy1kICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy01OiAka2VuZG8tc2VyaWVzLWUgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTY6ICRrZW5kby1zZXJpZXMtZiAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtNzogJGtlbmRvLXNlcmllcy1hLWxpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy04OiAka2VuZG8tc2VyaWVzLWItbGlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTk6ICRrZW5kby1zZXJpZXMtYy1saWdodCAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMTA6ICRrZW5kby1zZXJpZXMtZC1saWdodCAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMTE6ICRrZW5kby1zZXJpZXMtZS1saWdodCAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMTI6ICRrZW5kby1zZXJpZXMtZi1saWdodCAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMTM6ICRrZW5kby1zZXJpZXMtYS1kYXJrICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0xNDogJGtlbmRvLXNlcmllcy1iLWRhcmsgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTE1OiAka2VuZG8tc2VyaWVzLWMtZGFyayAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMTY6ICRrZW5kby1zZXJpZXMtZC1kYXJrICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0xNzogJGtlbmRvLXNlcmllcy1lLWRhcmsgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTE4OiAka2VuZG8tc2VyaWVzLWYtZGFyayAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMTk6ICRrZW5kby1zZXJpZXMtYS1saWdodGVyICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0yMDogJGtlbmRvLXNlcmllcy1iLWxpZ2h0ZXIgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTIxOiAka2VuZG8tc2VyaWVzLWMtbGlnaHRlciAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMjI6ICRrZW5kby1zZXJpZXMtZC1saWdodGVyICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0yMzogJGtlbmRvLXNlcmllcy1lLWxpZ2h0ZXIgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTI0OiAka2VuZG8tc2VyaWVzLWYtbGlnaHRlciAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMjU6ICRrZW5kby1zZXJpZXMtYS1kYXJrZXIgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTI2OiAka2VuZG8tc2VyaWVzLWItZGFya2VyICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0yNzogJGtlbmRvLXNlcmllcy1jLWRhcmtlciAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMjg6ICRrZW5kby1zZXJpZXMtZC1kYXJrZXIgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTI5OiAka2VuZG8tc2VyaWVzLWUtZGFya2VyICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0zMDogJGtlbmRvLXNlcmllcy1mLWRhcmtlciAhZGVmYXVsdDtcblxuJGtlbmRvLWNoYXJ0LWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1zbS1mb250LXNpemU6IDExcHggIWRlZmF1bHQ7XG4ka2VuZG8tY2hhcnQtbWQtZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LWxnLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC10b29sdGlwLWZvbnQtc2l6ZTogY2FsYyggI3ska2VuZG8tZm9udC1zaXplfSAqIC45MjkpICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LWxhYmVsLWZvbnQtc2l6ZTogLjg1N2VtICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LXRpdGxlLWZvbnQtc2l6ZTogMS4xNDNlbSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1wYW5lLXRpdGxlLWZvbnQtc2l6ZTogJGtlbmRvLWNoYXJ0LWxhYmVsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1wYW5lLXRpdGxlLWZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZm9udC13ZWlnaHQtbm9ybWFsLCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciBvZiB0aGUgQ2hhcnQgZ3JpZCBsaW5lcyAobWFqb3IpLlxuLy8vIEBncm91cCBjaGFydHNcbiRrZW5kby1jaGFydC1tYWpvci1saW5lczogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDglLCB0cmFuc3BhcmVudCksIHJnYmEoIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGtlbmRvLWNvbG9yLXdoaXRlLCAka2VuZG8tY29sb3ItYmxhY2sgKSwgLjA4ICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBDaGFydCBncmlkIGxpbmVzIChtaW5vcikuXG4vLy8gQGdyb3VwIGNoYXJ0c1xuJGtlbmRvLWNoYXJ0LW1pbm9yLWxpbmVzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNCUsIHRyYW5zcGFyZW50KSwgcmdiYSggaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApLCAuMDQgKSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1jaGFydC1pbmFjdGl2ZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDUwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tYm9keS10ZXh0LCAuNSApKSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1hcmVhLW9wYWNpdHk6IC42ICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LWFyZWEtaW5hY3RpdmUtb3BhY2l0eTogLjEgIWRlZmF1bHQ7XG4ka2VuZG8tY2hhcnQtbGluZS1pbmFjdGl2ZS1vcGFjaXR5OiAuMyAhZGVmYXVsdDtcblxuJGtlbmRvLWNoYXJ0LXRvb2x0aXAtdHJhbnNpdGlvbjogbGVmdCAzMDBtcyBjdWJpYy1iZXppZXIoMCwgLjMzLCAuMTksIDEpLCB0b3AgMzAwbXMgY3ViaWMtYmV6aWVyKDAsIC4zMywgLjE5LCAxKSAhZGVmYXVsdDtcblxuJGtlbmRvLWNoYXJ0LWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tY2hhcnQtY3Jvc3NoYWlyLWJhY2tncm91bmQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA1MCUsIHRyYW5zcGFyZW50KSwgcmdiYSggaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApLCAuNSApKSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1jcm9zc2hhaXItc2hhcmVkLXRvb2x0aXAtY29sb3I6ICRrZW5kby1jaGFydC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LWNyb3NzaGFpci1zaGFyZWQtdG9vbHRpcC1iYWNrZ3JvdW5kOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1zdWJ0bGUgKSwgay10cnktc2hhZGUoICRrZW5kby1jaGFydC1iZywgMSApKSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1jcm9zc2hhaXItc2hhcmVkLXRvb2x0aXAtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgOCUsIHRyYW5zcGFyZW50KSwgcmdiYSggaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApLCAuMDggKSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1jaGFydC1ub3Rlcy1iYWNrZ3JvdW5kOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNTAlLCB0cmFuc3BhcmVudCksIHJnYmEoIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGtlbmRvLWNvbG9yLXdoaXRlLCAka2VuZG8tY29sb3ItYmxhY2sgKSwgLjUgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tY2hhcnQtbm90ZXMtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNTAlLCB0cmFuc3BhcmVudCksIHJnYmEoIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGtlbmRvLWNvbG9yLXdoaXRlLCAka2VuZG8tY29sb3ItYmxhY2sgKSwgLjUgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tY2hhcnQtbm90ZXMtbGluZXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA1MCUsIHRyYW5zcGFyZW50KSwgcmdiYSggaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApLCAuNSApKSAhZGVmYXVsdDtcblxuJGtlbmRvLWNoYXJ0LWVycm9yLWJhcnMtYmFja2dyb3VuZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDUwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci13aGl0ZSwgJGtlbmRvLWNvbG9yLWJsYWNrICksIC41ICkpICFkZWZhdWx0O1xuXG4ka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWhhbmRsZS1zaXplOiAyMnB4ICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1ib3JkZXItY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA4JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci13aGl0ZSwgJGtlbmRvLWNvbG9yLWJsYWNrICksIC4wOCApKSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1zZWxlY3Rpb24tc2hhZG93OiBpbnNldCAwIDFweCA3cHggaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDE1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci13aGl0ZSwgJGtlbmRvLWNvbG9yLWJsYWNrICksIC4xNSApKSAhZGVmYXVsdDtcblxuXG4vLyBUcmVlTWFwXG4ka2VuZG8tdHJlZW1hcC1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tdHJlZW1hcC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbiRrZW5kby10cmVlbWFwLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2RhdGF2aXovX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGF2aXovX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0YXZpei9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1kYXRhdml6LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJhcmNvZGVcbiAgICAuay1iYXJjb2RlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEV4cG9ydGVkIHZhcmlhYmxlc1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cbiAgICAuay12YXItLWNoYXJ0LWZvbnQge1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jaGFydC1mb250LXNpemU7XG4gICAgfVxuXG4gICAgLmstdmFyLS1jaGFydC10aXRsZS1mb250IHtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hhcnQtdGl0bGUtZm9udC1zaXplO1xuICAgIH1cblxuICAgIC5rLXZhci0tY2hhcnQtcGFuZS10aXRsZS1mb250IHtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hhcnQtcGFuZS10aXRsZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAka2VuZG8tY2hhcnQtcGFuZS10aXRsZS1mb250LXdlaWdodDtcbiAgICB9XG5cbiAgICAuay12YXItLWNoYXJ0LWxhYmVsLWZvbnQge1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jaGFydC1sYWJlbC1mb250LXNpemU7XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVyblxuXG4gICAgLy8gRWxlbWVudHNcbiAgICAuay1jaGFydCxcbiAgICAuay1zcGFya2xpbmUsXG4gICAgLmstc3RvY2tjaGFydCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWNoYXJ0LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1jaGFydC1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hhcnQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNoYXJ0LWxpbmUtaGVpZ2h0O1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmstY2hhcnQsXG4gICAgLmstc3RvY2tjaGFydCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIH1cblxuICAgIC5rLWNoYXJ0LXN1cmZhY2Uge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmstY2hhcnQgLmstcG9wdXAge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtdG9vbHRpcC13cmFwcGVyIC5rLWFuaW1hdGlvbi1jb250YWluZXItc2hvd24sXG4gICAgLmstY2hhcnQtdG9vbHRpcC13cmFwcGVyLmstYW5pbWF0aW9uLWNvbnRhaW5lci1zaG93biB7XG4gICAgICAgIHRyYW5zaXRpb246ICRrZW5kby1jaGFydC10b29sdGlwLXRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgLmstc3BhcmtsaW5lLXRvb2x0aXAtd3JhcHBlcixcbiAgICAuay1jaGFydC10b29sdGlwLXdyYXBwZXIge1xuICAgICAgICB6LWluZGV4OiAxMjAwMDtcblxuICAgICAgICAuay1wb3B1cCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jaGFydC10b29sdGlwIHRhYmxlIHtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtdG9vbHRpcCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIGstYm9yZGVyLXJhZGl1cyhtZCkgKTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hhcnQtdG9vbHRpcC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdG9vbHRpcC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtdG9vbHRpcCB0aCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDFweDtcbiAgICB9XG5cbiAgICAuay1jaGFydC10b29sdGlwIHRkIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFkZGluZy1zbS15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBhZGRpbmctc20teDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtY3Jvc3NoYWlyLXRvb2x0aXAsXG4gICAgLmstY2hhcnQtc2hhcmVkLXRvb2x0aXAge1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG5cbiAgICAuay1jaGFydC1zaGFyZWQtdG9vbHRpcCAuay1jaGFydC1zaGFyZWQtdG9vbHRpcC1tYXJrZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFNlbGVjdGlvblxuICAgIC5rLXNlbGVjdG9yIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgfVxuXG4gICAgLmstc2VsZWN0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5rLXNlbGVjdGlvbi1iZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuay1oYW5kbGUge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCA1MCUgKTtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemU7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1oYW5kbGUtc2l6ZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgfVxuXG4gICAgLmstaGFuZGxlIGRpdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmstbGVmdC1oYW5kbGUge1xuICAgICAgICBsZWZ0OiAtIGstbWF0aC1kaXYoICRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUsIDIgKTtcbiAgICB9XG5cbiAgICAuay1yaWdodC1oYW5kbGUge1xuICAgICAgICByaWdodDogLSBrLW1hdGgtZGl2KCAka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWhhbmRsZS1zaXplLCAyICk7XG4gICAgfVxuXG4gICAgLmstbGVmdC1oYW5kbGUgZGl2IHtcbiAgICAgICAgbWFyZ2luOiAtKCRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUpIDAgMCAoLSBrLW1hdGgtZGl2KCAka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWhhbmRsZS1zaXplLCAxLjUgKSk7XG4gICAgICAgIHBhZGRpbmc6ICgka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWhhbmRsZS1zaXplICogMikgKGstbWF0aC1kaXYoICRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUsIDEuNSApICogMikgMCAwO1xuICAgIH1cblxuICAgIC5rLXJpZ2h0LWhhbmRsZSBkaXYge1xuICAgICAgICBtYXJnaW46IC0oJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSkgMCAwICgtIGstbWF0aC1kaXYoICRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUsIDEuNSApKTtcbiAgICAgICAgcGFkZGluZzogKCRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUgKiAyKSAwIDAgKGstbWF0aC1kaXYoICRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUsIDEuNSApICogMik7XG4gICAgfVxuXG4gICAgLmstbGVmdC1oYW5kbGUuay1oYW5kbGUtYWN0aXZlIGRpdiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUgKiAyKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSAqIDIpICsgay1tYXRoLWRpdiggJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgMS41ICk7XG4gICAgfVxuXG4gICAgLmstcmlnaHQtaGFuZGxlLmstaGFuZGxlLWFjdGl2ZSBkaXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSgka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWhhbmRsZS1zaXplICogMik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICgka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWhhbmRsZS1zaXplICogMikgKyBrLW1hdGgtZGl2KCAka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWhhbmRsZS1zaXplLCAxLjUgKTtcbiAgICB9XG5cbiAgICAuay1tYXNrIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gTmF2aWdhdG9yIGhpbnRcbiAgICAuay1uYXZpZ2F0b3ItaGludCBkaXYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLmstbmF2aWdhdG9yLWhpbnQgLmstc2Nyb2xsIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggay1ib3JkZXItcmFkaXVzKG1kKSApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgIH1cblxuICAgIC5rLW5hdmlnYXRvci1oaW50IC5rLXRvb2x0aXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gU3BhcmtsaW5lc1xuICAgIC5rLXNwYXJrbGluZSxcbiAgICAuay1zcGFya2xpbmUgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAuay1zcGFya2xpbmUgc3BhbiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtZHJhZ2dpbmcge1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAuay1jaGFydC1kb251dC1jZW50ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAuay1wZGYtZXhwb3J0IHtcbiAgICAgICAgLmstY2hhcnQsXG4gICAgICAgIC5rLXNwYXJrbGluZSxcbiAgICAgICAgLmstc3RvY2tjaGFydCB7XG4gICAgICAgICAgICAuay1hbmltYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG4gICAgLy8gRGlhZ3JhbVxuICAgIC5rLWRpYWdyYW0ge1xuICAgICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIH1cblxuICAgIC5rLWRpYWdyYW0gLmttLXNjcm9sbC13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLWRpYWdyYW0gLmttLXNjcm9sbC13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLWNhbnZhcy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuXG4gICAgLy8gU2Fua2V5IGxhYmVsc1xuICAgIC5rLXNhbmtleSB0ZXh0IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gVHJlZW1hcFxuICAgIC5rLXRyZWVtYXAge1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby10cmVlbWFwLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby10cmVlbWFwLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10cmVlbWFwLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIC8vIFRpbGVcbiAgICAgICAgLmstdHJlZW1hcC10aWxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgICAgPiAuay10cmVlbWFwLXRpbGUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGl0bGVcbiAgICAgICAgLmstdHJlZW1hcC10aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFkZGluZy1zbS15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYWRkaW5nLXNtLXg7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgIH1cbiAgICAgICAgLmstdHJlZW1hcC10aXRsZS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFkZGluZy1zbS14O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYWRkaW5nLXNtLXk7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWxpbmUtaGVpZ2h0LWVtO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBXcmFwXG4gICAgICAgIC5rLXRyZWVtYXAtd3JhcCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstdHJlZW1hcC10aXRsZSArIC5rLXRyZWVtYXAtd3JhcCB7XG4gICAgICAgICAgICB0b3A6IGNhbGMoIGNhbGMoICN7JGtlbmRvLXBhZGRpbmctc20teX0gKiAyICkgKyBjYWxjKCB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCkgKSArIDFweCk7XG4gICAgICAgIH1cbiAgICAgICAgLmstdHJlZW1hcC10aXRsZS12ZXJ0aWNhbCArIC5rLXRyZWVtYXAtd3JhcCB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKCBjYWxjKCAjeyRrZW5kby1wYWRkaW5nLXNtLXl9ICogMiApICsgY2FsYyggdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAqIHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQpICkgKyAxcHgpO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBMZWFmXG4gICAgICAgIC5rLWxlYWYge1xuICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLXBhZGRpbmctc20teDtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIEdhdWdlXG4gICAgLmstZ2F1Z2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLWFyY2dhdWdlLFxuICAgIC5rLWNpcmN1bGFyZ2F1Z2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmstYXJjZ2F1Z2UtbGFiZWwsXG4gICAgLmstY2lyY3VsYXJnYXVnZS1sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG5cbiAgICAvLyBxcmNvZGVcbiAgICAuay1xcmNvZGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIGV4cG9ydCB2YXJpYWJsZXMgdG8gYWxsb3cgdXNlIGluIHNjcmlwdHNcbiAgICAkZXhwb3J0ZWQ6IChcbiAgICAgICAgcHJpbWFyeTogJGtlbmRvLWNvbG9yLXByaW1hcnksXG4gICAgICAgIHByaW1hcnktY29udHJhc3Q6ICRrZW5kby1jb2xvci1wcmltYXJ5LWNvbnRyYXN0LFxuICAgICAgICBiYXNlOiAka2VuZG8tYmFzZS1iZyxcbiAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLWNoYXJ0LWJnLFxuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhtZCksXG5cbiAgICAgICAgbm9ybWFsLWJhY2tncm91bmQ6ICRrZW5kby1iYXNlLWJnLFxuICAgICAgICBub3JtYWwtdGV4dC1jb2xvcjogJGtlbmRvLWJhc2UtdGV4dCxcbiAgICAgICAgaG92ZXItYmFja2dyb3VuZDogJGtlbmRvLWhvdmVyLWJnLFxuICAgICAgICBob3Zlci10ZXh0LWNvbG9yOiAka2VuZG8taG92ZXItdGV4dCxcbiAgICAgICAgc2VsZWN0ZWQtYmFja2dyb3VuZDogJGtlbmRvLXNlbGVjdGVkLWJnLFxuICAgICAgICBzZWxlY3RlZC10ZXh0LWNvbG9yOiAka2VuZG8tc2VsZWN0ZWQtdGV4dCxcblxuICAgICAgICBzdWNjZXNzOiAka2VuZG8tY29sb3Itc3VjY2VzcyxcbiAgICAgICAgaW5mbzogJGtlbmRvLWNvbG9yLWluZm8sXG4gICAgICAgIHdhcm5pbmc6ICRrZW5kby1jb2xvci13YXJuaW5nLFxuICAgICAgICBlcnJvcjogJGtlbmRvLWNvbG9yLWVycm9yLFxuXG4gICAgICAgIHNlcmllcy1hOiAka2VuZG8tc2VyaWVzLWEsXG4gICAgICAgIHNlcmllcy1iOiAka2VuZG8tc2VyaWVzLWIsXG4gICAgICAgIHNlcmllcy1jOiAka2VuZG8tc2VyaWVzLWMsXG4gICAgICAgIHNlcmllcy1kOiAka2VuZG8tc2VyaWVzLWQsXG4gICAgICAgIHNlcmllcy1lOiAka2VuZG8tc2VyaWVzLWUsXG4gICAgICAgIHNlcmllcy1mOiAka2VuZG8tc2VyaWVzLWYsXG5cbiAgICAgICAgc2VyaWVzLTE6ICRrZW5kby1zZXJpZXMtMSxcbiAgICAgICAgc2VyaWVzLTI6ICRrZW5kby1zZXJpZXMtMixcbiAgICAgICAgc2VyaWVzLTM6ICRrZW5kby1zZXJpZXMtMyxcbiAgICAgICAgc2VyaWVzLTQ6ICRrZW5kby1zZXJpZXMtNCxcbiAgICAgICAgc2VyaWVzLTU6ICRrZW5kby1zZXJpZXMtNSxcbiAgICAgICAgc2VyaWVzLTY6ICRrZW5kby1zZXJpZXMtNixcbiAgICAgICAgc2VyaWVzLTc6ICRrZW5kby1zZXJpZXMtNyxcbiAgICAgICAgc2VyaWVzLTg6ICRrZW5kby1zZXJpZXMtOCxcbiAgICAgICAgc2VyaWVzLTk6ICRrZW5kby1zZXJpZXMtOSxcbiAgICAgICAgc2VyaWVzLTEwOiAka2VuZG8tc2VyaWVzLTEwLFxuICAgICAgICBzZXJpZXMtMTE6ICRrZW5kby1zZXJpZXMtMTEsXG4gICAgICAgIHNlcmllcy0xMjogJGtlbmRvLXNlcmllcy0xMixcbiAgICAgICAgc2VyaWVzLTEzOiAka2VuZG8tc2VyaWVzLTEzLFxuICAgICAgICBzZXJpZXMtMTQ6ICRrZW5kby1zZXJpZXMtMTQsXG4gICAgICAgIHNlcmllcy0xNTogJGtlbmRvLXNlcmllcy0xNSxcbiAgICAgICAgc2VyaWVzLTE2OiAka2VuZG8tc2VyaWVzLTE2LFxuICAgICAgICBzZXJpZXMtMTc6ICRrZW5kby1zZXJpZXMtMTcsXG4gICAgICAgIHNlcmllcy0xODogJGtlbmRvLXNlcmllcy0xOCxcbiAgICAgICAgc2VyaWVzLTE5OiAka2VuZG8tc2VyaWVzLTE5LFxuICAgICAgICBzZXJpZXMtMjA6ICRrZW5kby1zZXJpZXMtMjAsXG4gICAgICAgIHNlcmllcy0yMTogJGtlbmRvLXNlcmllcy0yMSxcbiAgICAgICAgc2VyaWVzLTIyOiAka2VuZG8tc2VyaWVzLTIyLFxuICAgICAgICBzZXJpZXMtMjM6ICRrZW5kby1zZXJpZXMtMjMsXG4gICAgICAgIHNlcmllcy0yNDogJGtlbmRvLXNlcmllcy0yNCxcbiAgICAgICAgc2VyaWVzLTI1OiAka2VuZG8tc2VyaWVzLTI1LFxuICAgICAgICBzZXJpZXMtMjY6ICRrZW5kby1zZXJpZXMtMjYsXG4gICAgICAgIHNlcmllcy0yNzogJGtlbmRvLXNlcmllcy0yNyxcbiAgICAgICAgc2VyaWVzLTI4OiAka2VuZG8tc2VyaWVzLTI4LFxuICAgICAgICBzZXJpZXMtMjk6ICRrZW5kby1zZXJpZXMtMjksXG4gICAgICAgIHNlcmllcy0zMDogJGtlbmRvLXNlcmllcy0zMCxcblxuICAgICAgICBnYXVnZS1wb2ludGVyOiAka2VuZG8tY29sb3ItcHJpbWFyeSxcbiAgICAgICAgZ2F1Z2UtdHJhY2s6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWVtcGhhc2lzICksIGstdHJ5LXNoYWRlKCAka2VuZG8tY2hhcnQtYmcgKSlcbiAgICApO1xuXG4gICAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkZXhwb3J0ZWQge1xuICAgICAgICAkdHlwZTogay1tZXRhLXR5cGUtb2YoJHZhbHVlKTtcblxuICAgICAgICAuay12YXItLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpZiAkdHlwZSA9PSBcImNvbG9yXCIgb3IgJHR5cGUgPT0gXCJzdHJpbmdcIiB7XG4gICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvciBjYW4gc3RvcmUgYW55IGNvbG9yXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAkdHlwZSA9PSBcIm51bWJlclwiIHtcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tdG9wIGNhbiBzdG9yZSBwb3NpdGl2ZSAmIG5lZ2F0aXZlIHZhbHVlc1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1kYXRhdml6LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0YXZpei0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kYXRhdml6LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0YXZpei0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2RhdGF2aXovX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0YXZpei9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGF2aXovX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1kYXRhdml6LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gRXhwb3J0ZWQgdmFyaWFibGVzXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cbiAgICAuay12YXItLWNoYXJ0LWluYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNoYXJ0LWluYWN0aXZlO1xuICAgIH1cblxuICAgIC5rLXZhci0tY2hhcnQtbWFqb3ItbGluZXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tY2hhcnQtbWFqb3ItbGluZXM7XG4gICAgfVxuXG4gICAgLmstdmFyLS1jaGFydC1taW5vci1saW5lcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jaGFydC1taW5vci1saW5lcztcbiAgICB9XG5cbiAgICAuay12YXItLWNoYXJ0LWFyZWEtb3BhY2l0eSB7XG4gICAgICAgIG9wYWNpdHk6ICRrZW5kby1jaGFydC1hcmVhLW9wYWNpdHk7XG4gICAgfVxuXG4gICAgLmstdmFyLS1jaGFydC1hcmVhLWluYWN0aXZlLW9wYWNpdHkge1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8tY2hhcnQtYXJlYS1pbmFjdGl2ZS1vcGFjaXR5O1xuICAgIH1cblxuICAgIC5rLXZhci0tY2hhcnQtbGluZS1pbmFjdGl2ZS1vcGFjaXR5IHtcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLWNoYXJ0LWxpbmUtaW5hY3RpdmUtb3BhY2l0eTtcbiAgICB9XG5cbiAgICAuay12YXItLWNoYXJ0LW5vdGVzLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tY2hhcnQtbm90ZXMtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAuay12YXItLWNoYXJ0LW5vdGVzLWJvcmRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jaGFydC1ub3Rlcy1ib3JkZXI7XG4gICAgfVxuXG4gICAgLmstdmFyLS1jaGFydC1ub3Rlcy1saW5lcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jaGFydC1ub3Rlcy1saW5lcztcbiAgICB9XG5cbiAgICAuay12YXItLWNoYXJ0LWNyb3NzaGFpci1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNoYXJ0LWNyb3NzaGFpci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC5rLXZhci0tY2hhcnQtZXJyb3ItYmFycy1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNoYXJ0LWVycm9yLWJhcnMtYmFja2dyb3VuZDtcbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSAgc2VsZWN0b3ItY2xhc3MtcGF0dGVyblxuXG4gICAgLy8gRWxlbWVudHNcbiAgICAuay1jaGFydCxcbiAgICAuay1zcGFya2xpbmUsXG4gICAgLmstc3RvY2tjaGFydCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tY2hhcnQtdGV4dCxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50LFxuICAgICAgICAgICAgJGtlbmRvLWNoYXJ0LWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC5rLXBvcHVwIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUb29sdGlwXG4gICAgLy8gVE9ET1xuICAgIC5rLWNoYXJ0LXRvb2x0aXAge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWNvbG9yLXdoaXRlO1xuICAgIH1cbiAgICAuay1jaGFydC10b29sdGlwLWludmVyc2Uge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWNvbG9yLWJsYWNrO1xuICAgIH1cblxuICAgIC5rLWNoYXJ0LWNyb3NzaGFpci10b29sdGlwLFxuICAgIC5rLWNoYXJ0LXNoYXJlZC10b29sdGlwIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1jaGFydC1jcm9zc2hhaXItc2hhcmVkLXRvb2x0aXAtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jaGFydC1jcm9zc2hhaXItc2hhcmVkLXRvb2x0aXAtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tY2hhcnQtY3Jvc3NoYWlyLXNoYXJlZC10b29sdGlwLWJvcmRlcjtcbiAgICB9XG5cbiAgICAuay1zZWxlY3Rpb24ge1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1jaGFydC1zZWxlY3Rpb24tYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAka2VuZG8tY2hhcnQtc2VsZWN0aW9uLXNoYWRvdztcbiAgICB9XG5cbiAgICAuay1zZWxlY3Rpb24tYmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuay1oYW5kbGUge1xuICAgICAgICBjdXJzb3I6IGUtcmVzaXplO1xuXG4gICAgICAgIC8vIFRPRE86IHJlZmFjdG9yIGFuZCByZW1vdmUgYnV0dG9uIGRlcGVuZGVuY3lcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1idXR0b24tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1idXR0b24tYmcsXG4gICAgICAgICAgICAka2VuZG8tYnV0dG9uLWJvcmRlcixcbiAgICAgICAgICAgICRrZW5kby1idXR0b24tZ3JhZGllbnRcbiAgICAgICAgKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24taG92ZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWhhbmRsZSBkaXYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuay1tYXNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNvbXBvbmVudC1iZztcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgfVxuXG5cblxuXG4gICAgLy8gVHJlZW1hcFxuICAgIC5rLXRyZWVtYXAge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNvbXBvbmVudC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWNvbXBvbmVudC1iZyxcbiAgICAgICAgICAgICRrZW5kby1jb21wb25lbnQtYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gVGl0bGVcbiAgICAgICAgLmstdHJlZW1hcC10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGVhZlxuICAgICAgICAuay1sZWFmIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tY29tcG9uZW50LWJnO1xuICAgICAgICB9XG4gICAgICAgIC5rLWxlYWYuay1pbnZlcnNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tY29tcG9uZW50LXRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgLmstbGVhZjpob3ZlcixcbiAgICAgICAgLmstbGVhZi5rLWhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCAka2VuZG8tY29tcG9uZW50LWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1kYXRhdml6LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRhdml6LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZGF0YXZpei0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0YXZpei0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWRhdGF2aXotLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImRhdGF2aXpcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZGF0YXZpei0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRhdGF2aXotLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRhdml6LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZXhwYW5zaW9uLXBhbmVsL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZXhwYW5zaW9uLXBhbmVsL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZ3JpZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2dyaWQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZ3JpZFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImFjdGlvbnNcIixcbiAgICAgICAgXCJhdXRvY29tcGxldGVcIixcbiAgICAgICAgXCJiYWRnZVwiLFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImNoZWNrYm94XCIsXG4gICAgICAgIFwiY2hpcFwiLFxuICAgICAgICBcImRhdGUtdGltZS1waWNrZXJcIixcbiAgICAgICAgXCJkaWFsb2dcIixcbiAgICAgICAgXCJkcm9wZG93bi1saXN0XCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcIm1lbnVcIixcbiAgICAgICAgXCJudW1lcmljLXRleHRib3hcIixcbiAgICAgICAgXCJwYWdlclwiLFxuICAgICAgICBcInByb2dyZXNzYmFyXCIsXG4gICAgICAgIFwicmFkaW9cIixcbiAgICAgICAgXCJza2VsZXRvblwiLFxuICAgICAgICBcInRhYmxlXCIsXG4gICAgICAgIFwidGFic3RyaXBcIixcbiAgICAgICAgXCJ0ZXh0Ym94XCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgICAgICBcInZhbGlkYXRvclwiLFxuICAgICAgICBcInV0aWxzL2xheW91dC9mbG9hdFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9hZGFwdGl2ZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2FkYXB0aXZlL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImFkYXB0aXZlXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiY2hlY2tib3hcIixcbiAgICAgICAgXCJsaXN0Z3JvdXBcIixcbiAgICAgICAgXCJyYWRpb1wiLFxuICAgICAgICBcInN3aXRjaFwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llcyAoVE9ETzogZXh0cmFjdCB2YXJpYWJsZXMpXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0Z3JvdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0Z3JvdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jaGVja2JveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NoZWNrYm94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcmFkaW8vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9yYWRpby9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3N3aXRjaC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3N3aXRjaC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2xiYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9hZGFwdGl2ZS9fdmFyaWFibGVzLnNjc3Ncbi8vIEFkYXB0aXZlIENvbW1vblxuJGtlbmRvLWFkYXB0aXZlLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1hZGFwdGl2ZS1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tYWRhcHRpdmUtY29udGVudC1iZzogJGtlbmRvLWFwcC1iZyAhZGVmYXVsdDtcbiRrZW5kby1hZGFwdGl2ZS1jb250ZW50LXRleHQ6ICRrZW5kby1hcHAtdGV4dCAhZGVmYXVsdDtcblxuJGtlbmRvLWFkYXB0aXZlLW1lbnUtYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLW1lbnUtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLXByaW1hcnkgKSwgay1jb250cmFzdC1jb2xvciggJGtlbmRvLWFkYXB0aXZlLW1lbnUtYmcgKSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1hZGFwdGl2ZS1tZW51LWNsZWFyLXRleHQ6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG4ka2VuZG8tYWRhcHRpdmUtbWVudS1pdGVtLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4ka2VuZG8tYWRhcHRpdmUtbWVudS10aXRsZS10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG5cbiRrZW5kby1hZGFwdGl2ZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1hZGFwdGl2ZS1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tYWRhcHRpdmUtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLyBBZGFwdGl2ZSBHcmlkXG4ka2VuZG8tYWRhcHRpdmUtZ3JpZC1zb3J0LXRleHQ6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyBBZGFwdGl2ZSBTY2hlZHVsZXJcbiRrZW5kby1hZGFwdGl2ZS1zY2hlZHVsZXItY3VycmVudC10ZXh0OiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbiRrZW5kby1hZGFwdGl2ZS1zY2hlZHVsZXItYmFzZS10ZXh0OiBpbmhlcml0ICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLXNjaGVkdWxlci1zdWJ0bGUtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2FkYXB0aXZlL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hZGFwdGl2ZS9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hZGFwdGl2ZS9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1hZGFwdGl2ZS0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay1wYW5lLXdyYXBwZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1hZGFwdGl2ZS1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tYWRhcHRpdmUtZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWFkYXB0aXZlLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1hZGFwdGl2ZS1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5rLXBhbmUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXZpZXcge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1hZGFwdGl2ZS1mb250LWZhbWlseTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWFkYXB0aXZlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYWRhcHRpdmUtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb250ZW50IHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG4gICAgLy8gR3JpZCBzcGVjaWZpYyBzdHlsZXNcbiAgICAuay1wYW5lLXdyYXBwZXIgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG5cbiAgICAgICAgPiBkaXYuay1wYW5lIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcG9wdXAtZWRpdC1mb3JtLFxuICAgICAgICAuay1ncmlkLWVkaXQtZm9ybSxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbWVudSxcbiAgICAgICAgLmstZ3JpZC1maWx0ZXItbWVudSB7XG5cbiAgICAgICAgICAgIC5rLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgICAgICAgICA+IC5rLXNjcm9sbC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtZWRpdC1mb3JtIHtcblxuICAgICAgICAgICAgLmstcG9wdXAtZWRpdC1mb3JtLFxuICAgICAgICAgICAgLmstZWRpdC1mb3JtLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JpZC5rLWdyaWQtbW9iaWxlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5rLWdyaWQtbW9iaWxlIHtcbiAgICAgICAgLmstcmVzaXplLWhhbmRsZS1pbm5lcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlMDFlXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBmb250OiAxNnB4LzEgXCJXZWJDb21wb25lbnRzSWNvbnNcIjsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICAgICAgLy8gVGhlIENhbGMgaXMgbmVlZGVkIGR1ZSB0byB0aGUgdGhlIG5lZ2F0aXZlIG1hcmdpblxuICAgICAgICAgICAgLy8gdGhhdCByZW1vdmVzIHRoZSBkb3VibGUgYm90dG9tIGJvcmRlciBvZiB0aGUgaGVhZGVyXG4gICAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgcGFkZGluZzogLjJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWhlYWRlciBhIHtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG4gICAgLy8gU2NoZWR1bGVyIHNwZWNpZmljIHN0eWxlc1xuICAgIC5rLXBhbmUtd3JhcHBlciB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcblxuICAgICAgICAuay1zY2hlZHVsZXItZWRpdC1mb3JtIHtcblxuICAgICAgICAgICAgLmstcmVjdXItdmlldyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgICAgICAgICAgPiAuay1saXN0Z3JvdXAtZm9ybS1yb3cge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1yZWN1ci1pdGVtcy13cmFwIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IC0xcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXJlY3VyLWVuZC13cmFwIHtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyIHtcbiAgICAgICAgJi5rLXNjaGVkdWxlci1tb2JpbGUge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLW1vYmlsZSB7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWV2ZW50OmhvdmVyIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLXRvb2xiYXIge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteDtcblxuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAuay1uYXYtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICAgICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItdmlld3Mtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmstdmlld3MtZHJvcGRvd24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWZvb3RlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy14O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1tb250aHZpZXcge1xuXG4gICAgICAgICAgICAuay1oaWRkZW4ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlIHRkIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWV2ZW50cy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDZweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZXZlbnQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVtb3ZpbmcgdGhlIFwiRGF5c1wiIGhlYWRlciBmcm9tIHRoZSBNb2JpbGUgU2NoZWR1bGVyIHdpbGwgYnJlYWsgdGhlIFdlYiBTY2hlZHVsZXJcbiAgICAgICAgLy8gVGh1cywgdGhlIGJlbG93IHNlbGVjdG9yIGlzIG5lZWRlZFxuICAgICAgICAuay1zY2hlZHVsZXItZGF5dmlldyAuay1tb2JpbGUtaGVhZGVyIHtcblxuICAgICAgICAgICAgJi5rLW1vYmlsZS1ob3Jpem9udGFsLWhlYWRlciAuay1zY2hlZHVsZXItdGltZXMgdGFibGUgdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1oZWFkZXIgLmstc2NoZWR1bGVyLWRhdGUtZ3JvdXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItaGVhZGVyLXdyYXAgPiBkaXYge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItYWdlbmRhdmlldyB7XG4gICAgICAgICAgICAuay1tb2JpbGUtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItdGFibGUge1xuICAgICAgICAgICAgICAgIHRhYmxlLWxheW91dDogYXV0bztcblxuICAgICAgICAgICAgICAgIC5rLXNjaGVkdWxlci1ncm91cGNvbHVtbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstbW9iaWxlLWhlYWRlciB7XG4gICAgICAgICAgICAuay1zY2hlZHVsZXItdGFibGUgdGQsXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItdGFibGUgdGgge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lLXRleHQsXG4gICAgICAgIC5rLXRpbWUtcGVyaW9kIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lLXBlcmlvZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IC43ZW07XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItdGFibGUgdGQsXG4gICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB0aCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItZGF0ZWNvbHVtbi13cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFzayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogLjVlbTtcblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLW1hcmsge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci10YXNrLXRleHQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci10aW1lcyxcbiAgICAgICAgLmstc2NoZWR1bGVyLWFnZW5kYSB7XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1ncm91cC1jZWxsLFxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWdyb3VwY29sdW1uIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICAgICAgICAgLmstc2NoZWR1bGVyLWdyb3VwLXRleHQge1xuICAgICAgICAgICAgICAgICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjcm9sbGJhci1oIHRyICsgdHIgLmstc2NoZWR1bGVyLXRpbWVzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAvLyBDb21tb24gc3R5bGVzIGZvciB0aGUgQWRhcHRpdmUgTGF5b3V0XG4gICAgLmstcGFuZS13cmFwcGVyIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuXG4gICAgICAgIC5rLWFwcGJhciB7XG4gICAgICAgICAgICBwYWRkaW5nOiBrLXNwYWNpbmcoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1saXN0LXRpdGxlLFxuICAgICAgICAuay1maWx0ZXItaGVscC10ZXh0IHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGlzdGdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxpc3Rncm91cCB7XG5cbiAgICAgICAgICAgIC5rLWxpc3Rncm91cC1pdGVtIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmstbGlzdGdyb3VwICsgLmstbGlzdGdyb3VwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGstc3BhY2luZyg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbHVtbiBtZW51XG4gICAgICAgIC5rLWNvbHVtbi1tZW51IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGstc3BhY2luZygyKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgICAgICBnYXA6IGstc3BhY2luZygyKTtcblxuICAgICAgICAgICAgLmstZmlsdGVyLWl0ZW0gLmstZmlsdGVyYWJsZSAqIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstbGlzdC10aXRsZSxcbiAgICAgICAgICAgIC5rLWxpc3Rncm91cC10aXRsZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstbGlzdGdyb3VwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiBjYWxjKCAje2stc3BhY2luZygyKX0gKiAtMSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmlsdGVyIG1lbnVcbiAgICAgICAgLmstZmlsdGVyLW1lbnUge1xuICAgICAgICAgICAgcGFkZGluZzogay1zcGFjaW5nKDIpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIGdhcDogay1zcGFjaW5nKDIpO1xuXG4gICAgICAgICAgICAuay1saXN0LXRpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1saXN0LWZpbHRlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgICAgICBnYXA6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZpbHRlci10b29scyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAgZ2FwOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1saXN0Z3JvdXAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoICN7ay1zcGFjaW5nKDIpfSAqIC0xICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1wb3B1cC1lZGl0LWZvcm0ge1xuXG4gICAgICAgICAgICAuay1yZWN1ci1lZGl0b3Itd3JhcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstbW9iaWxldGltZXpvbmVlZGl0b3Ige1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW11bHRpY2hlY2std3JhcC5rLWxpc3Rncm91cCB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGFnZXJcbiAgICAgICAgLmstcGFnZXItd3JhcC5rLXBhZ2VyLXNtLFxuICAgICAgICAuay1wYWdlci5rLXBhZ2VyLXNtIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAuay1wYWdlci1yZWZyZXNoIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBSVExcbiAgICAgICAgLmstcnRsICYsXG4gICAgICAgICZbZGlyPVwicnRsXCJdLFxuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItbW9iaWxlIHtcblxuICAgICAgICAgICAgICAgIC5rLXNjaGVkdWxlci10b29sYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLXRhc2sgLmstaS1yZWxvYWQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1hZGFwdGl2ZS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFkYXB0aXZlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWFkYXB0aXZlLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYWRhcHRpdmUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9hZGFwdGl2ZS9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hZGFwdGl2ZS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FkYXB0aXZlL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tYWRhcHRpdmUtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1wYW5lLXdyYXBwZXIsXG4gICAgLmstdmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tYWRhcHRpdmUtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1hZGFwdGl2ZS1iZyxcbiAgICAgICAgICAgICRrZW5kby1hZGFwdGl2ZS1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1wYW5lLXdyYXBwZXIgLmstcGFuZSB7XG5cbiAgICAgICAgPiAuay12aWV3ID4gLmstY29udGVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWFkYXB0aXZlLWNvbnRlbnQtYmc7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLW1vYmlsZSB7XG5cbiAgICAgICAgICAgIC5rLWNvbHVtbi1hY3RpdmUgKyB0aC5rLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRrZW5kby1ib2R5LXRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXJlc2l6ZS1oYW5kbGUtaW5uZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWJhc2UtYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItbW9iaWxlIHtcblxuICAgICAgICAgICAgLmstbmF2LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tYWRhcHRpdmUtc2NoZWR1bGVyLWN1cnJlbnQtdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRpbWVzLFxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWhlYWRlcixcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1ncm91cGNvbHVtbixcbiAgICAgICAgICAgIC5rLW1vYmlsZS1zY2hlZHVsZXItYWdlbmRhZGF0ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1hZGFwdGl2ZS1zY2hlZHVsZXItYmFzZS10ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10aW1lLXBlcmlvZCxcbiAgICAgICAgICAgIC5rLW1vYmlsZS1zY2hlZHVsZXItYWdlbmRhd2Vla2RheSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1hZGFwdGl2ZS1zY2hlZHVsZXItc3VidGxlLXRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci10aW1lcyxcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1oZWFkZXIsXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItaGVhZGVyLXdyYXAsXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItZGF0ZWNvbHVtbixcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1ncm91cGNvbHVtbixcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1ncm91cC1jZWxsLFxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWhlYWRlci1hbGwtZGF5IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tYWRhcHRpdmUtY29udGVudC1iZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRvb2xiYXIgLmstc2NoZWR1bGVyLXRvb2xzID4gbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1lZGl0LWZvcm0sXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLW1lbnUsXG4gICAgICAgIC5rLWdyaWQtZmlsdGVyLW1lbnUsXG4gICAgICAgIC5rLXNjaGVkdWxlci1lZGl0LWZvcm0ge1xuXG4gICAgICAgICAgICAuay1pdGVtLFxuICAgICAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1iYXNlLXRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWNsZWFyLFxuICAgICAgICAgICAgLmstc2VsZWN0LWFsbCxcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1kZWxldGUsXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItcmVzZXRTZXJpZXMgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1hZGFwdGl2ZS1tZW51LWNsZWFyLXRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbHVtbi1tZW51IHtcblxuICAgICAgICAgICAgLmstbGlzdGdyb3VwLWl0ZW0uay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1hZGFwdGl2ZS1ncmlkLXNvcnQtdGV4dDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstbGlzdGdyb3VwLWl0ZW0uay1zZWxlY3RlZCAuay1saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWFkYXB0aXZlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hZGFwdGl2ZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWFkYXB0aXZlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hZGFwdGl2ZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWFkYXB0aXZlLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJhZGFwdGl2ZVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1hZGFwdGl2ZS0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWFkYXB0aXZlLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tYWRhcHRpdmUtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wcm9ncmVzc2Jhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Byb2dyZXNzYmFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYWN0aW9uLWJ1dHRvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2xiYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RleHRib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90ZXh0Ym94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2hlY2tib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jaGVja2JveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3JhZGlvL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcmFkaW8vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi92YWxpZGF0b3IvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy92YWxpZGF0b3IvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9hdXRvY29tcGxldGUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hdXRvY29tcGxldGUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kYXRldGltZXBpY2tlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RhdGV0aW1lcGlja2VyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZHJvcGRvd25saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd25saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbnVtZXJpY3RleHRib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9udW1lcmljdGV4dGJveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL21lbnUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZW51L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZGlhbG9nL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGlhbG9nL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcGFnZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wYWdlci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NoaXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jaGlwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vc2tlbGV0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9za2VsZXRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fZmxvYXQuc2Nzc1wiO1xuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19zcGFjZXIuc2Nzc1wiO1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90YWJsZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RhYmxlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdGFic3RyaXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90YWJzdHJpcC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvZ3JpZC9fdmFyaWFibGVzLnNjc3Ncbi8vIEdyaWRcbiRrZW5kby1ncmlkLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEdyaWQuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXBhZGRpbmcteDogJGtlbmRvLXRhYmxlLW1kLWNlbGwtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBHcmlkLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1wYWRkaW5nLXk6ICRrZW5kby10YWJsZS1tZC1jZWxsLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEdyaWQgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tZ3JpZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEdyaWQgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy15OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEdyaWQgZ3JvdXBpbmcgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEdyaWQgZ3JvdXBpbmcgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgR3JpZCBjZWxsLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIGNlbGwuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIGZpbHRlciBjZWxsLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1maWx0ZXItY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgR3JpZCBmaWx0ZXIgY2VsbC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZmlsdGVyLWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIGVkaXQgY2VsbC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZWRpdC1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEdyaWQgZmlsdGVyIGNlbGwuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWVkaXQtY2VsbC1wYWRkaW5nLXk6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LWxpbmUtc2l6ZTogay1tYXRoLWRpdiggJGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LXNpemUsIDMgKSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1oZWlnaHQ6ICRrZW5kby1jaGlwLWNhbGMtc2l6ZSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC10b3A6IGNhbGMoICggI3ska2VuZG8tY2hpcC1jYWxjLXNpemV9ICsgY2FsYyggI3ska2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy15fSAqIDIgKSAtICN7JGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LWhlaWdodH0gKSAvIDIpICFkZWZhdWx0O1xuXG5cbiRrZW5kby1ncmlkLXNtLXBhZGRpbmcteDogay1zcGFjaW5nKDIuNSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1wYWRkaW5nLXk6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXNtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWhlYWRlci1wYWRkaW5nLXk6IGstc3BhY2luZygyLjUpICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc20tZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteDogay1zcGFjaW5nKDEuNSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1ncm91cGluZy1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tZ3JpZC1zbS1ncm91cGluZy1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc20tY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXNtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1zbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1maWx0ZXItY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXNtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWZpbHRlci1jZWxsLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc20tZWRpdC1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtc20tY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1lZGl0LWNlbGwtcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1ncm91cC1kcm9wY2x1ZS1oZWlnaHQ6IGNhbGMoICN7JGtlbmRvLWNoaXAtc20tY2FsYy1zaXplfSArICN7JGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LXNpemV9KSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtc20tcGFkZGluZy15ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc20tc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1zbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLW1kLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLWNlbGwtcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLWNlbGwtcGFkZGluZy15ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtZmlsdGVyLWNlbGwtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1maWx0ZXItY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1maWx0ZXItY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLWZpbHRlci1jZWxsLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLWVkaXQtY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLWVkaXQtY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1lZGl0LWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1lZGl0LWNlbGwtcGFkZGluZy15ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtZ3JvdXAtZHJvcGNsdWUtaGVpZ2h0OiAka2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtaGVpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLW1kLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuXG4vLyBLZW5kbyBHcmlkIHNpemVzXG4ka2VuZG8tZ3JpZC1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIGhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXNtLWhlYWRlci1wYWRkaW5nLXgsXG4gICAgICAgIGhlYWRlci1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLXNtLWhlYWRlci1wYWRkaW5nLXksXG4gICAgICAgIGdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXNtLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXgsXG4gICAgICAgIGdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLXNtLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXksXG4gICAgICAgIGNlbGwtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1zbS1jZWxsLXBhZGRpbmcteCxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLXNtLWNlbGwtcGFkZGluZy15LFxuICAgICAgICBmaWx0ZXItY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXNtLWZpbHRlci1jZWxsLXBhZGRpbmcteCxcbiAgICAgICAgZmlsdGVyLWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1zbS1maWx0ZXItY2VsbC1wYWRkaW5nLXksXG4gICAgICAgIGVkaXQtY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXNtLWVkaXQtY2VsbC1wYWRkaW5nLXgsXG4gICAgICAgIGVkaXQtY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLXNtLWVkaXQtY2VsbC1wYWRkaW5nLXksXG4gICAgICAgIGJ1dHRvbi1wYWRkaW5nLXk6ICRrZW5kby1idXR0b24tc20tcGFkZGluZy15LFxuICAgICAgICBidXR0b24tY2FsYy1zaXplOiAka2VuZG8tYnV0dG9uLXNtLWNhbGMtc2l6ZSxcbiAgICAgICAgZ3JvdXAtZHJvcGNsdWUtaGVpZ2h0OiAka2VuZG8tZ3JpZC1zbS1ncm91cC1kcm9wY2x1ZS1oZWlnaHQsXG4gICAgICAgIHNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtc20tc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy14LFxuICAgICAgICBzZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLXNtLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteVxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtbWQtaGVhZGVyLXBhZGRpbmcteCxcbiAgICAgICAgaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtbWQtaGVhZGVyLXBhZGRpbmcteSxcbiAgICAgICAgZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtbWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteCxcbiAgICAgICAgZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtbWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteSxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLW1kLWNlbGwtcGFkZGluZy14LFxuICAgICAgICBjZWxsLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtbWQtY2VsbC1wYWRkaW5nLXksXG4gICAgICAgIGZpbHRlci1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtbWQtZmlsdGVyLWNlbGwtcGFkZGluZy14LFxuICAgICAgICBmaWx0ZXItY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLW1kLWZpbHRlci1jZWxsLXBhZGRpbmcteSxcbiAgICAgICAgZWRpdC1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtbWQtZWRpdC1jZWxsLXBhZGRpbmcteCxcbiAgICAgICAgZWRpdC1jZWxsLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtbWQtZWRpdC1jZWxsLXBhZGRpbmcteSxcbiAgICAgICAgYnV0dG9uLXBhZGRpbmcteTogJGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXksXG4gICAgICAgIGJ1dHRvbi1jYWxjLXNpemU6ICRrZW5kby1idXR0b24tbWQtY2FsYy1zaXplLFxuICAgICAgICBncm91cC1kcm9wY2x1ZS1oZWlnaHQ6ICRrZW5kby1ncmlkLW1kLWdyb3VwLWRyb3BjbHVlLWhlaWdodCxcbiAgICAgICAgc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1tZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXgsXG4gICAgICAgIHNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtbWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy15XG4gICAgKSxcbikgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLWhlYWRlci1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWhlYWRlci1maXJzdC1ib3JkZXI6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWhlYWRlci1tZW51LWljb24tc3BhY2luZzogay1zcGFjaW5nKDMuNSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLXRvb2xiYXItYm9yZGVyLXdpZHRoOiAka2VuZG8tZ3JpZC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLWNlbGwtaG9yaXpvbnRhbC1ib3JkZXItd2lkdGg6ICRrZW5kby10YWJsZS1jZWxsLWhvcml6b250YWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGg6ICRrZW5kby10YWJsZS1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBHcmlkLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1iZzogJGtlbmRvLXRhYmxlLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBHcmlkLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC10ZXh0OiAka2VuZG8tdGFibGUtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBHcmlkLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ib3JkZXI6ICRrZW5kby10YWJsZS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiBHcmlkIGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtaGVhZGVyLWJnOiAka2VuZG8tdGFibGUtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIEdyaWQgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1oZWFkZXItdGV4dDogJGtlbmRvLXRhYmxlLWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgR3JpZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXI6ICRrZW5kby10YWJsZS1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIEdyaWQgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1oZWFkZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiBHcmlkIGZvb3Rlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZm9vdGVyLWJnOiAka2VuZG8tdGFibGUtZm9vdGVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIEdyaWQgZm9vdGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1mb290ZXItdGV4dDogJGtlbmRvLXRhYmxlLWZvb3Rlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgR3JpZCBmb290ZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWZvb3Rlci1ib3JkZXI6ICRrZW5kby10YWJsZS1mb290ZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLyBUT0RPKFpIRUtPVik6IHdlIG5lZWQgdGhpcywgc28gay1hbHQgd29uJ3Qgb3ZlcnJpZGUgaXQuIFdoZW4gd2UgcmVtb3ZlIGstYWx0LCB3ZSBjYW4gbWFrZSB0aGlzIG51bGwuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEdyaWQgYWx0ZXJuYXRpbmcgcm93cy5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtYWx0LWJnOiAka2VuZG8tdGFibGUtYWx0LXJvdy1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgR3JpZCBhbHRlcm5hdGluZyByb3dzLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1hbHQtdGV4dDogJGtlbmRvLXRhYmxlLWFsdC1yb3ctdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBHcmlkIGFsdGVybmF0aW5nIHJvd3MuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWFsdC1ib3JkZXI6ICRrZW5kby10YWJsZS1hbHQtcm93LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGhvdmVyZWQgR3JpZCByb3dzLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ob3Zlci1iZzogJGtlbmRvLXRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIGhvdmVyZWQgR3JpZCByb3dzLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ob3Zlci10ZXh0OiAka2VuZG8tdGFibGUtaG92ZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIGhvdmVyZWQgR3JpZCByb3dzLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ob3Zlci1ib3JkZXI6ICRrZW5kby10YWJsZS1ob3Zlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiBzZWxlY3RlZCBHcmlkIHJvd3MuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNlbGVjdGVkLWJnOiAka2VuZG8tdGFibGUtc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2Ygc2VsZWN0ZWQgR3JpZCByb3dzLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zZWxlY3RlZC10ZXh0OiAka2VuZG8tdGFibGUtc2VsZWN0ZWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHNlbGVjdGVkIEdyaWQgcm93cy5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0ZWQtYm9yZGVyOiAka2VuZG8tdGFibGUtc2VsZWN0ZWQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEdyaWQgc2VsZWN0aW9uIGFnZ3JlZ2F0ZXMgY29udGFpbmVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1iZzogJGtlbmRvLWdyaWQtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBHcmlkIHNlbGVjdGlvbiBhZ2dyZWdhdGVzIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtdGV4dDogJGtlbmRvLWdyaWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBHcmlkIHNlbGVjdGlvbiBhZ2dyZWdhdGVzIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtYm9yZGVyOiAka2VuZG8tZ3JpZC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgR3JpZCBzZWxlY3Rpb24gYWdncmVnYXRlcyBjb250YWluZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWJvcmRlci13aWR0aDogJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIHNlbGVjdGlvbiBhZ2dyZWdhdGVzIGl0ZW1zLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1zcGFjaW5nOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBHcmlkIHNlbGVjdGlvbiBhZ2dyZWdhdGVzIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtbGluZS1oZWlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBHcmlkIHNlbGVjdGlvbiBhZ2dyZWdhdGVzIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodC1ib2xkLCBub3JtYWwgKSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtZ3JvdXBpbmctcm93LWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWdyb3VwaW5nLXJvdy10ZXh0OiAka2VuZG8tZ3JpZC10ZXh0ICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1zb3J0ZWQtaWNvbi1zcGFjaW5nOiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zb3J0ZWQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tZ3JpZC1iZyApLCAuMDQgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zb3J0aW5nLWluZGljYXRvci10ZXh0OiAka2VuZG8tZ3JpZC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNvcnRpbmctaW5kZXgtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zb3J0aW5nLWluZGV4LWhlaWdodDogJGtlbmRvLWljb24tc2l6ZSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNvcnRpbmctaW5kZXgtc3BhY2luZy15OiBjYWxjKCAjeyRrZW5kby1pY29uLXNwYWNpbmd9IC8gMiApICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc29ydGluZy1pbmRleC1zcGFjaW5nLXg6IGNhbGMoICN7JGtlbmRvLWdyaWQtc29ydGluZy1pbmRleC1zcGFjaW5nLXl9ICogLTEgKSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtZm9jdXMtc2hhZG93OiAka2VuZG8tdGFibGUtZm9jdXMtc2hhZG93ICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1jb21tYW5kLWNlbGwtYnV0dG9uLXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vIGJlIGNhdXRpb3VzIHdoZW4gY2hhbmdpbmcgdGhlIG5leHQgbGluZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9Nb094L3JlZHVjZS1jc3MtY2FsYy9pc3N1ZXMvMzhcbiRrZW5kby1ncmlkLWNvbW1hbmQtY2VsbC1wYWRkaW5nLXk6IGNhbGMoICN7JGtlbmRvLWdyaWQtY2VsbC1wYWRkaW5nLXl9IC0gKCN7JGtlbmRvLWJ1dHRvbi1jYWxjLXNpemV9IC0gI3ska2VuZG8tbGluZS1oZWlnaHQtZW19KSAvIDIgKSAhZGVmYXVsdDtcblxuLy8gTXVzdCBiZSBhIHNvbGlkIGNvbG9yXG4ka2VuZG8tZ3JpZC1zdGlja3ktYmc6ICRrZW5kby1ncmlkLWJnICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc3RpY2t5LXRleHQ6ICRrZW5kby1ncmlkLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNTAlLCB0cmFuc3BhcmVudCksIHJnYmEoIGstY29udHJhc3QtY29sb3IoICRrZW5kby1ncmlkLWJnICksIC41ICkpICFkZWZhdWx0O1xuXG4vLyBNdXN0IGJlIGEgc29saWQgY29sb3JcbiRrZW5kby1ncmlkLXN0aWNreS1hbHQtYmc6ICRrZW5kby1ncmlkLXN0aWNreS1iZyAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtc3RpY2t5LWhlYWRlci1iZzogJGtlbmRvLWdyaWQtc3RpY2t5LWJnICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc3RpY2t5LWhlYWRlci10ZXh0OiAka2VuZG8tZ3JpZC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYm9yZGVyOiAka2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1zdGlja3ktZm9vdGVyLWJnOiAka2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLWJnICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc3RpY2t5LWZvb3Rlci1ob3Zlci1iZzogJGtlbmRvLWdyaWQtc3RpY2t5LWZvb3Rlci1iZyAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAxMiUsIHRyYW5zcGFyZW50KSwgay10cnktc2hhZGUoJGtlbmRvLWdyaWQtYmcsIDQlKSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYWx0LWJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG5cbi8vIE11c3QgYmUgYSBzb2xpZCBjb2xvclxuJGtlbmRvLWdyaWQtc3RpY2t5LWhvdmVyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1ob3ZlciApLCBrLXRyeS1zaGFkZSgka2VuZG8tZ3JpZC1iZywgNyUpKSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBwcmltYXJ5ICkgMTIlLCB0cmFuc3BhcmVudCksIGstdHJ5LXNoYWRlKCRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1iZywgLjg3KSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXdpZHRoOiAyNTBweCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LW1heC13aWR0aDogMzIwcHggIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLWZpbHRlci1tZW51LWNoZWNrLWFsbC1ib3JkZXItYm90dG9tLXdpZHRoOiAwICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1maWx0ZXItbWVudS1pdGVtLXNwYWNpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtZmlsdGVyLW1lbnUtaXRlbS1zcGFjaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtZmlsdGVyYWJsZS1pY29uLXNwYWNpbmc6IGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1jYWxjLXNpemV9ICsgI3ska2VuZG8tZ3JpZC1oZWFkZXItbWVudS1pY29uLXNwYWNpbmd9ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXBvcHVwLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXBvcHVwLXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1wYWRkaW5nLXg6ICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tcGFkZGluZy15ICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1saXN0LWl0ZW0tcGFkZGluZy14OiAka2VuZG8tbGlzdC1tZC1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWxpc3QtaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy15ICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtcy13cmFwLXBhZGRpbmcteDogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbXMtd3JhcC1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgaW5oZXJpdCApICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItdGV4dDogJGtlbmRvLXBvcHVwLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItYm9yZGVyOiAka2VuZG8tcG9wdXAtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS10YWJiZWQtdGFic3RyaXAtY29udGVudC1wYWRkaW5nLXg6IGstc3BhY2luZygwKSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXRhYmJlZC10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS10YWJiZWQtYmc6ICRrZW5kby1iYXNlLWJnICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1kcmFnLWNlbGwtd2lkdGg6ICgka2VuZG8taWNvbi1zaXplICogMykgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLXJvdy1pbm5lci1oZWlnaHQ6IGNhbGMoICN7JGtlbmRvLWxpbmUtaGVpZ2h0LWVtfSArIGNhbGMoICN7JGtlbmRvLWdyaWQtY2VsbC1wYWRkaW5nLXl9ICogMiApICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLWhpZXJhcmNoeS1jb2wtd2lkdGg6IDMycHggIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLWdyb3VwaW5nLXJvdy1ib3JkZXItdG9wOiAwcHggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1ncm91cC1mb290ZXItYm9yZGVyLXk6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWdyb3VwLWZvb3Rlci1zZWNvbmQtY2VsbC1ib3JkZXI6IDBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBHcmlkIHJvdyByZXNpemUgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1yb3ctcmVzaXplci1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1iYXNlICkgMjAlLCB0cmFuc3BhcmVudCksIHJnYmEoIGstY29udHJhc3QtY29sb3IoICRrZW5kby1ncmlkLWJnICksIC4yNCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYWN0aXZlIEdyaWQgcm93IHJlc2l6ZSBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXJvdy1yZXNpemVyLWFjdGl2ZS1iZzogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgR3JpZCByb3cgcmVzaXplIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtcm93LXJlc2l6ZXItaGVpZ2h0OiBrLXNwYWNpbmcoMC41KSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9ncmlkL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9ncmlkL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2dyaWQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZ3JpZC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBHcmlkXG4gICAgLmstZ3JpZCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWdyaWQtZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWdyaWQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWdyaWQtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICYuay1ncmlkLWRpc3BsYXktYmxvY2sge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1hcmlhLXJvb3Qge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgZW1wdHktY2VsbHM6IHNob3c7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1oZWFkZXIsXG4gICAgICAgIC5rLWdyaWQtY29udGVudCxcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCxcbiAgICAgICAgLmstZ3JpZC1mb290ZXIge1xuICAgICAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS10aGVhZCxcbiAgICAgICAgLmstdGFibGUtdGJvZHksXG4gICAgICAgIC5rLXRhYmxlLXRmb290IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtcm93IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLXRoLFxuICAgICAgICB0ZCxcbiAgICAgICAgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogJGtlbmRvLWdyaWQtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAuay1yYWRpbyxcbiAgICAgICAgICAgID4gLmstcmFkaW8td3JhcCxcbiAgICAgICAgICAgID4gLmstY2hlY2tib3gsXG4gICAgICAgICAgICA+IC5rLWNoZWNrYm94LXdyYXAge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS10aCB7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stZW5kLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQsXG4gICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6ICRrZW5kby1ncmlkLWNlbGwtaG9yaXpvbnRhbC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogdW5zZXQ7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1oZWFkZXItd3JhcCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWdyaWQtaGVhZGVyLWZvbnQtc2l6ZTtcblxuICAgICAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1ncmlkLWRyYWdnYWJsZS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1maXJzdCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6ICRrZW5kby1ncmlkLWhlYWRlci1maXJzdC1ib3JkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10YWJsZS10aCA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGFibGUtdGggPiAuay1saW5rOmZvY3VzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWdyaWQtZmlsdGVyLFxuICAgICAgICAgICAgLmstaGVhZGVyLWNvbHVtbi1tZW51LFxuICAgICAgICAgICAgLmstZ3JpZC1oZWFkZXItbWVudSB7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6ICRrZW5kby1ncmlkLWhlYWRlci1tZW51LWljb24tc3BhY2luZztcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWNlbGwtaW5uZXIgPiAuay1saW5rIHtcbiAgICAgICAgICAgICAgICA+IC5rLXNvcnQtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJGtlbmRvLWdyaWQtc29ydGVkLWljb24tc3BhY2luZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWNlbGwtaW5uZXIgPiAuay1saW5rID4gLmstc29ydC1pY29uIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNvcnQtb3JkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWljb24tc2l6ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1ncmlkLXNvcnRpbmctaW5kZXgtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1ncmlkLXNvcnRpbmctaW5kZXgtc3BhY2luZy15O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRrZW5kby1ncmlkLXNvcnRpbmctaW5kZXgtc3BhY2luZy14O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1oZWFkZXIgLmstZmlsdGVyYWJsZSB7XG4gICAgICAgICAgICA+IC5rLWNlbGwtaW5uZXIge1xuICAgICAgICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstY2VsbC1pbm5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogaW5oZXJpdDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgID4gLmstbGluayB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgPiAuay1zb3J0LWljb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zb3J0LW9yZGVyIHtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1ncmlkLWZpbHRlcixcbiAgICAgICAgICAgIC5rLWhlYWRlci1jb2x1bW4tbWVudSxcbiAgICAgICAgICAgIC5rLWdyaWQtaGVhZGVyLW1lbnUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRrZW5kby1ncmlkLWhlYWRlci1tZW51LWljb24tc3BhY2luZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gR3JvdXBpbmcsIGhpZXJhcmN5XG4gICAgICAgIC5rLWdyb3VwLWNvbCxcbiAgICAgICAgLmstaGllcmFyY2h5LWNvbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1ncmlkLWhpZXJhcmNoeS1jb2wtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncm91cGluZy1yb3cgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyb3VwaW5nLXJvdyB0ZCxcbiAgICAgICAgLmstZ3JvdXBpbmctcm93IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JvdXBpbmctcm93ICsgLmstdGFibGUtcm93IHRkLFxuICAgICAgICAuay1ncm91cGluZy1yb3cgKyAuay10YWJsZS1yb3cgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGtlbmRvLWdyaWQtZ3JvdXBpbmctcm93LWJvcmRlci10b3A7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncm91cGluZy1yb3cgLmstZ3JvdXAtY2VsbCxcbiAgICAgICAgLmstZ3JvdXBpbmctcm93ICsgLmstdGFibGUtcm93IC5rLWdyb3VwLWNlbGwge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncm91cGluZy1yb3cgLmstaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKCAje2stbWF0aC1kaXYoICRrZW5kby1pY29uLXNpemUsIDIgKX0gLSAjeyRrZW5kby1ncmlkLWNlbGwtcGFkZGluZy14fSApO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGstbWF0aC1kaXYoICRrZW5kby1pY29uLXNpemUsIDIgKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlIC5rLWdyb3VwLWZvb3RlciB0ZCxcbiAgICAgICAgLmstdGFibGUgLmstZ3JvdXAtZm9vdGVyIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1ncmlkLWdyb3VwLWZvb3Rlci1ib3JkZXIteSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JvdXAtZm9vdGVyIC5rLWdyb3VwLWNlbGwgKyB0ZCxcbiAgICAgICAgLmstZ3JvdXAtZm9vdGVyIC5rLWdyb3VwLWNlbGwgKyAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAka2VuZG8tZ3JpZC1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWhpZXJhcmNoeS1jZWxsLFxuICAgICAgICAuay1kcmFnLWNlbGwge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgICAgID4gLmstZm9udC1pY29uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgLy8gVGhhdCBjYXVzZXMgYW4gaXNzdWUgd2l0aCBncmlkIG1hdGVyaWFsLiBDb21tZW50aW5nIGl0IGZvciBub3dcbiAgICAgICAgICAgICAgICAvLyAtLSBqb25lZmZcbiAgICAgICAgICAgICAgICAvLyBsaW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstaGllcmFyY2h5LWNlbGwgKyAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6ICRrZW5kby1ncmlkLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIC5rLWRldGFpbC1jZWxsIHt9XG4gICAgICAgIC5rLW1hc3Rlci1yb3cge31cblxuICAgICAgICAuay1kZXRhaWwtcm93IHtcbiAgICAgICAgICAgIC5rLWRldGFpbC1jZWxsIHtcbiAgICAgICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZGlydHktY2VsbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICYuay1lZGl0LWNlbGwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZGlydHkge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCArIC5rLWdyaWQtY29udGVudCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtY29udGVudC1leHBhbmRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJvdHRvbTogMXB4OyAvLyBmaXggZm9yIHZlcnRpY2FsIHNjcm9sbGJhciBhcHBlYXJpbmcgd2hlbiBubyByZWNvcmRzIHRlbXBsYXRlIGlzIGRpc3BsYXllZFxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1maWx0ZXIsXG4gICAgICAgIC5rLWhlYWRlci1jb2x1bW4tbWVudSxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbWVudSxcbiAgICAgICAgLmstaGllcmFyY2h5LWNlbGwgLmstaWNvbiB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEcmFnIGNvbHVtblxuICAgICAgICAuay1kcmFnLWNvbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1ncmlkLWRyYWctY2VsbC13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyYWctY2VsbCB7XG4gICAgICAgICAgICBjdXJzb3I6IG1vdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUb29sYmFyXG4gICAgLmstZ3JpZC10b29sYmFyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJGtlbmRvLWdyaWQtdG9vbGJhci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgICAuay1ncmlkLXRvb2xiYXItYm90dG9tIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tZ3JpZC10b29sYmFyLWJvcmRlci13aWR0aCAwIDA7XG4gICAgfVxuXG5cbiAgICAvLyBHcm91cGluZyBoZWFkZXJcbiAgICAuay1ncm91cGluZy1oZWFkZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1jaGlwLWNhbGMtc2l6ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jaGlwLWxpc3Qge1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWdyb3VwaW5nLWRyb3AtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1ncmlkLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IGNhbGMoICN7JGtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteX0gKiAtMSApO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWdyb3VwaW5nLWRyb3BjbHVlIHtcbiAgICAgICAgd2lkdGg6ICgka2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtc2l6ZSAqIDIpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogJGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LXRvcDtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LXNpemU7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1saW5lLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LXNpemV9KTtcbiAgICAgICAgICAgIHRvcDogJGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LXNpemU7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoICN7JGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LXNpemV9IC0gI3trLW1hdGgtZGl2KCAka2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtbGluZS1zaXplLCAyICl9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEdyaWQgaGVhZGVyIC8gZm9vdGVyXG4gICAgLmstZ3JpZC1oZWFkZXItd3JhcCxcbiAgICAuay1ncmlkLWZvb3Rlci13cmFwIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0jeyRrZW5kby1ncmlkLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRofTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6ICRrZW5kby1ncmlkLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1ncmlkLWhlYWRlci1sb2NrZWQgKyAuay1ncmlkLWhlYWRlci13cmFwLmstYXV0by1zY3JvbGxhYmxlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1oZWFkZXIsXG4gICAgLmstZ3JpZC1mb290ZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1rZW5kby1zY3JvbGxiYXItd2lkdGgsICN7JGtlbmRvLXNjcm9sbGJhci13aWR0aH0pO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgZGl2LmstZ3JpZC1oZWFkZXIsXG4gICAgZGl2LmstZ3JpZC1mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAuay1jb2x1bW4tcmVzaXplciB7XG4gICAgICAgIHdpZHRoOiAuNWVtO1xuICAgICAgICBoZWlnaHQ6IDEwMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTtcbiAgICB9XG5cbiAgICAuay1yb3ctcmVzaXplciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1ncmlkLXJvdy1yZXNpemVyLWhlaWdodDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1mb290ZXIge1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG5cbiAgICAgICAgdGQsXG4gICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JpZC1mb290ZXIgdGQsXG4gICAgLmstZ3JvdXAtZm9vdGVyIHRkLFxuICAgIC5rLWdyb3VwaW5nLXJvdyB0ZCxcbiAgICAuay1ncmlkLWZvb3RlciAuay10YWJsZS10ZCxcbiAgICAuay1ncm91cC1mb290ZXIgLmstdGFibGUtdGQsXG4gICAgLmstZ3JvdXBpbmctcm93IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1maWx0ZXItcG9wdXAge1xuICAgICAgICBtaW4td2lkdGg6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXdpZHRoO1xuICAgICAgICBtYXgtd2lkdGg6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LW1heC13aWR0aDtcbiAgICB9XG5cbiAgICAvLyBTdGFuZGFsb25lIGNvbHVtbiBtZW51XG4gICAgLmstZ3JpZC1jb2x1bW4tbWVudS1zdGFuZGFsb25lIGEuay1ncmlkLWZpbHRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ibG9jazogLTRweDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICAgICAgcGFkZGluZy1ibG9jazogNHB4O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogOHB4O1xuICAgIH1cblxuICAgIC8vIEZpbHRlciByb3dcbiAgICAuay1maWx0ZXItcm93IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1mb3JtLWxpbmUtaGVpZ2h0O1xuXG4gICAgICAgIHRkLFxuICAgICAgICAuay10YWJsZS10ZCxcbiAgICAgICAgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogJGtlbmRvLWdyaWQtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC5rLXRhYmxlLXRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1tdWx0aXNlbGVjdCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1maWx0ZXJjZWxsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICA+IHNwYW4sXG4gICAgICAgIC5rLWZpbHRlcmNlbGwtd3JhcHBlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAgICAgICAgID4gLmstYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBHcmlkIGNvbnRlbnRcbiAgICAuay1ncmlkLWNvbnRlbnQsXG4gICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3V0bGluZTogMDtcblxuICAgICAgICAuay10YWJsZS1yb3c6bGFzdC1jaGlsZCA+IHRkLFxuICAgICAgICAuay10YWJsZS1yb3c6bGFzdC1jaGlsZCA+IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4OiAxO1xuICAgIH1cblxuICAgIC8vIFZpcnR1YWxpemF0aW9uXG4gICAgLmstdmlydHVhbC1zY3JvbGxhYmxlLXdyYXAge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8vIEVkaXQgcm93XG4gICAgLmstZ3JpZCAuay1lZGl0LWNlbGwsXG4gICAgLmstZ3JpZCAuay1jb21tYW5kLWNlbGwsXG4gICAgLmstZ3JpZCAuay1ncmlkLWVkaXQtcm93IHRkLFxuICAgIC5rLWdyaWQgLmstZ3JpZC1lZGl0LXJvdyAuay10YWJsZS10ZCB7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgfVxuXG4gICAgLmstZ3JpZCAuay1lZGl0LWNlbGwsXG4gICAgLmstZ3JpZCAuay1ncmlkLWVkaXQtcm93IHRkLFxuICAgIC5rLWdyaWQgLmstZ3JpZC1lZGl0LXJvdyAuay10YWJsZS10ZCB7XG5cbiAgICAgICAgPiBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwicmFkaW9cIl0pLFxuICAgICAgICA+IHNlbGVjdCxcbiAgICAgICAgPiAuay13aWRnZXQ6bm90KC5rLXN3aXRjaCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgICAgICA+IC5rLXJhZGlvLFxuICAgICAgICA+IC5rLWNoZWNrYm94LFxuICAgICAgICA+IC5rLXJhZGlvLXdyYXAsXG4gICAgICAgID4gLmstY2hlY2tib3gtd3JhcCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JpZCAuay1jb21tYW5kLWNlbGwgPiAuay1idXR0b24ge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJGtlbmRvLWdyaWQtY29tbWFuZC1jZWxsLWJ1dHRvbi1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFJlc2l6ZSBoYW5kbGVcbiAgICAuay1ncmlkID4gLmstcmVzaXplLWhhbmRsZSxcbiAgICAuay1ncmlkLWhlYWRlciAuay1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cblxuICAgIC8vIFNlbGVjdGlvbiBBZ2dyZWdhdGVzXG4gICAgLmstc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiAka2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1zcGFjaW5nO1xuICAgIH1cbiAgICAuay1zZWxlY3Rpb24tYWdncmVnYXRlcy1pdGVtLXZhbHVlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWZvbnQtd2VpZ2h0O1xuICAgIH1cblxuXG4gICAgLy8gUGFnZXJcbiAgICAuay1ncmlkLXBhZ2VyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB9XG4gICAgLmstZ3JpZC1wYWdlci10b3Age1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgfVxuXG4gICAgLmstZ3JpZC12aXJ0dWFsIC5rLWdyaWQtY29udGVudCB7XG4gICAgICAgIC5rLWdyaWQtdGFibGUtd3JhcCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC10YWJsZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWhlaWdodC1jb250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXdpZHRoLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5rLXdpZHRoLWNvbnRhaW5lciAgZGl2IHtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1hZGQtcm93IHRkLFxuICAgIC5rLWdyaWQtYWRkLXJvdyAuay10YWJsZS10ZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgLy8gTG9ja2VkIGNvbHVtbnNcbiAgICAuay1ncmlkLWxvY2tlZGNvbHVtbnMge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5rLWdyaWQtY29udGVudCxcbiAgICAuay1ncmlkLWNvbnRlbnQtbG9ja2VkIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAuay1ncmlkLWNvbnRlbnQtbG9ja2VkLFxuICAgIC5rLWdyaWQtZm9vdGVyLWxvY2tlZCxcbiAgICAuay1ncmlkLWhlYWRlci1sb2NrZWQge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6ICRrZW5kby1ncmlkLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAgICAgICAmICsgLmstZ3JpZC1jb250ZW50LmstYXV0by1zY3JvbGxhYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWdyaWQtY29udGVudCxcbiAgICAuay1ncmlkLWZvb3Rlci13cmFwLFxuICAgIC5rLWdyaWQtaGVhZGVyLXdyYXAge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICYuay1hdXRvLXNjcm9sbGFibGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncmlkLWhlYWRlci1sb2NrZWQgPiAuay1ncmlkLWhlYWRlci10YWJsZSxcbiAgICAuay1ncmlkLWhlYWRlci13cmFwID4gLmstZ3JpZC1oZWFkZXItdGFibGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgIH1cblxuICAgIC5rLWdyaWQtaGVhZGVyIC5rLXRhYmxlLXRoLmstZ3JpZC1oZWFkZXItc3RpY2t5LFxuICAgIC5rLWdyaWQtaGVhZGVyIC5rLWZpbHRlci1yb3cgLmstZ3JpZC1oZWFkZXItc3RpY2t5LFxuICAgIC5rLWdyaWQgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAuay1ncmlkIC5rLWdyaWQtcm93LXN0aWNreSxcbiAgICAuay1ncmlkIC5rLWdyaWQtZm9vdGVyLXN0aWNreSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgJi5rLWVkaXQtY2VsbCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1tYXN0ZXItcm93IC5rLWdyaWQtY29udGVudC1zdGlja3k6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICBrZW5kby1ncmlkIHtcbiAgICAgICAgLmstdGFibGUtcm93LmstZ3JpZC1yb3ctc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB6LWluZGV4OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5IHRkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoO1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgdG9wOiBpbmhlcml0O1xuICAgICAgICAgICAgYm90dG9tOiBpbmhlcml0O1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreSB0ZC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreS5rLXRhYmxlLWFsdC1yb3cgdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kgLmstdGFibGUtdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kuay10YWJsZS1hbHQtcm93IC5rLXRhYmxlLXRkLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTG9ja2VkIGFuZCBzdGlja3lcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkIC5rLXRhYmxlLXRoLmstZ3JpZC1oZWFkZXItc3RpY2t5Omxhc3QtY2hpbGQsXG4gICAgICAgIC5rLWdyaWQtY29udGVudC1sb2NrZWQgLmstdGFibGUtcm93IC5rLWdyaWQtY29udGVudC1zdGlja3k6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLWVuZDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIC5rLWdyaWQtY29sdW1uLW1lbnUsXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIC5rLWdyaWQtaGVhZGVyLW1lbnUge1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWdyaWQtY29udGVudC1zdGlja3kuay1ncmlkLXJvdy1zdGlja3kge1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgIH1cblxuICAgIC5rLWdyaWQgLmstdGFibGUgLmstZ3JpZC1oZWFkZXItc3RpY2t5LFxuICAgIC5rLWdyaWQgLmstdGFibGUgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAuay1ncmlkIC5rLXRhYmxlIC5rLWdyaWQtZm9vdGVyLXN0aWNreSB7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAka2VuZG8tZ3JpZC1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aDtcblxuICAgICAgICAmOm5vdChbc3R5bGUqPVwiZGlzcGxheTogbm9uZVwiXSkgKyB0ZCxcbiAgICAgICAgJjpub3QoW3N0eWxlKj1cImRpc3BsYXk6IG5vbmVcIl0pICsgLmstdGFibGUtdGQsXG4gICAgICAgICY6bm90KFtzdHlsZSo9XCJkaXNwbGF5OiBub25lXCJdKSArIC5rLXRhYmxlLXRoIHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncmlkIC5rLWdyaWQtcm93LXN0aWNreSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1ncmlkLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoO1xuICAgIH1cblxuICAgIC5rLWdyaWQtaGVhZGVyLXN0aWNreS5rLXRhYmxlLXRoLmstZ3JpZC1uby1sZWZ0LWJvcmRlci5rLWZpcnN0IHtcbiAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuay1ncmlkLmstZ3JpZC1uby1zY3JvbGxiYXIge1xuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLXdyYXAsXG4gICAgICAgIC5rLWdyaWQtZm9vdGVyLXdyYXAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1oZWFkZXIsXG4gICAgICAgIC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWdyaWQtbm9yZWNvcmRzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGRpdi5rLWdyaWQtbm9yZWNvcmRzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay1ncmlkLW5vcmVjb3Jkcy10ZW1wbGF0ZSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgd2lkdGg6IDIwZW07XG4gICAgICAgIGhlaWdodDogNGVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDRlbTtcbiAgICB9XG5cbiAgICAuay1jb2x1bW4tdGl0bGUge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cblxuICAgIC8vIEdyaWQgU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLWdyaWQtc2l6ZXMge1xuICAgICAgICAkX2hlYWRlci1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGhlYWRlci1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9oZWFkZXItcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBoZWFkZXItcGFkZGluZy15ICk7XG4gICAgICAgICRfZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteCApO1xuICAgICAgICAkX2dyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9jZWxsLXBhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgY2VsbC1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9jZWxsLXBhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgY2VsbC1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9maWx0ZXItY2VsbC1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGZpbHRlci1jZWxsLXBhZGRpbmcteCApO1xuICAgICAgICAkX2ZpbHRlci1jZWxsLXBhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZmlsdGVyLWNlbGwtcGFkZGluZy15ICk7XG4gICAgICAgICRfZWRpdC1jZWxsLXBhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZWRpdC1jZWxsLXBhZGRpbmcteCApO1xuICAgICAgICAkX2VkaXQtY2VsbC1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGVkaXQtY2VsbC1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9idXR0b24tcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBidXR0b24tcGFkZGluZy15ICk7XG4gICAgICAgICRfYnV0dG9uLWNhbGMtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgYnV0dG9uLWNhbGMtc2l6ZSApO1xuICAgICAgICAkX2J1dHRvbi1saW5lLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgYnV0dG9uLWxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfZ3JvdXAtZHJvcGNsdWUtaGVpZ2h0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBncm91cC1kcm9wY2x1ZS1oZWlnaHQgKTtcbiAgICAgICAgJF9zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteCApO1xuICAgICAgICAkX3NlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy15ICk7XG5cbiAgICAgICAgLmstZ3JpZCAuay1ncmlkLSN7JHNpemV9LFxuICAgICAgICAuay1ncmlkLSN7JHNpemV9IHtcblxuICAgICAgICAgICAgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9oZWFkZXItcGFkZGluZy14O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZCxcbiAgICAgICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX2NlbGwtcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX2NlbGwtcGFkZGluZy14O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1ncm91cGluZy1oZWFkZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9ncm91cGluZy1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICAgICAgICAgIGdhcDogJF9ncm91cGluZy1oZWFkZXItcGFkZGluZy15O1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyggI3skX2dyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXl9ICogLTEgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWdyaWQtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAuay10YWJsZS10aCA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IGNhbGMoICN7JF9oZWFkZXItcGFkZGluZy15fSAqIC0xICk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoICN7JF9oZWFkZXItcGFkZGluZy14fSAqIC0xICk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1ncmlkLWZpbHRlcixcbiAgICAgICAgICAgICAgICAuay1oZWFkZXItY29sdW1uLW1lbnUsXG4gICAgICAgICAgICAgICAgLmstZ3JpZC1oZWFkZXItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRfYnV0dG9uLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRfYnV0dG9uLWNhbGMtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkX2J1dHRvbi1jYWxjLXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2J1dHRvbi1saW5lLWhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKCAjeyRfaGVhZGVyLXBhZGRpbmcteX0gKyAje2stbWF0aC1kaXYoICRrZW5kby1saW5lLWhlaWdodC1lbSwgMil9IC0gI3trLW1hdGgtZGl2KCAka2VuZG8tYnV0dG9uLWlubmVyLWNhbGMtc2l6ZSwgMiApfSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgICAgID4gLmstY2VsbC1pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jazogY2FsYyggI3skX2hlYWRlci1wYWRkaW5nLXl9ICogLTEgKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZTogY2FsYyggI3skX2hlYWRlci1wYWRkaW5nLXh9ICogLTEgKTtcblxuICAgICAgICAgICAgICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9oZWFkZXItcGFkZGluZy15O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZ3JvdXBpbmctcm93IC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoICN7ay1tYXRoLWRpdiggJGtlbmRvLWljb24tc2l6ZSwgMiApfSAtICN7JF9jZWxsLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZ3JvdXBpbmctZHJvcGNsdWUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogJF9ncm91cC1kcm9wY2x1ZS1oZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWhpZXJhcmNoeS1jZWxsLFxuICAgICAgICAgICAgLmstZHJhZy1jZWxsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgPiAuay1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC8vIEVkaXQgcm93XG4gICAgICAgICAgICAuay1lZGl0LWNlbGwsXG4gICAgICAgICAgICAuay1jb21tYW5kLWNlbGwsXG4gICAgICAgICAgICAuay1ncmlkLWVkaXQtcm93IHRkLFxuICAgICAgICAgICAgLmstZ3JpZC1lZGl0LXJvdyAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9lZGl0LWNlbGwtcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX2VkaXQtY2VsbC1wYWRkaW5nLXg7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gRmlsdGVyIHJvd1xuICAgICAgICAgICAgLmstZmlsdGVyLXJvdyB7XG4gICAgICAgICAgICAgICAgdGQsXG4gICAgICAgICAgICAgICAgLmstdGFibGUtdGQsXG4gICAgICAgICAgICAgICAgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX2ZpbHRlci1jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfZmlsdGVyLWNlbGwtcGFkZGluZy14O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsdGVyY2VsbCB7XG4gICAgICAgICAgICAgICAgPiBzcGFuLFxuICAgICAgICAgICAgICAgIC5rLWZpbHRlcmNlbGwtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogY2FsYyggI3skX2NlbGwtcGFkZGluZy15fSAvIDIgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gU2VsZWN0aW9uIEFnZ3JlZ2F0ZXNcbiAgICAgICAgICAgIC5rLXNlbGVjdGlvbi1hZ2dyZWdhdGVzIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX3NlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJlc2l6aW5nIHdyYXBwZXJcbiAgICAgICAgICAgIC5rLXJlc2l6ZXItd3JhcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogY2FsYyggI3skX2VkaXQtY2VsbC1wYWRkaW5nLXl9IC0gI3ska2VuZG8tZ3JpZC1yb3ctcmVzaXplci1oZWlnaHR9ICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jay1lbmQ6ICRfZWRpdC1jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHJvdy1yZXNpemU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBQREYgZXhwb3J0XG4gICAgLmstbG9hZGluZy1wZGYtbWFzayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgPiAuay1pLWxvYWRpbmcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBmb250LXNpemU6IDY0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1sb2FkaW5nLXBkZi1wcm9ncmVzcyB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5rLXBkZi1leHBvcnQgLmstbG9hZGluZy1wZGYtbWFzayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1wZGYtZXhwb3J0LWVsZW1lbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0xMDAwMHB4O1xuICAgICAgICB0b3A6IC0xMDAwMHB4O1xuXG4gICAgICAgIC5rLWZpbHRlci1yb3cge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBHcmlkIHNjcm9sbGJhciBkdXJpbmcgYnVpbHQtaW4gZXhwb3J0XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgLmstcGRmLWV4cG9ydC1zaGFkb3cge1xuICAgICAgICAuay1ncmlkIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92ZSBhbGwgc2l6ZXMgYW5kIHNjcm9sbGluZ1xuICAgICAgICAuay1ncmlkLFxuICAgICAgICAuay1ncmlkLWNvbnRlbnQsXG4gICAgICAgIC5rLWdyaWQtY29udGVudC1sb2NrZWQge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLWxvY2tlZCB7XG4gICAgICAgICAgICAmICsgLmstZ3JpZC1oZWFkZXItd3JhcCxcbiAgICAgICAgICAgICYgKyAuay1ncmlkLWNvbnRlbnQsXG4gICAgICAgICAgICAmICsgLmstZ3JpZC1mb290ZXItd3JhcCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92ZSBlbXB0eSBzcGFjZSByZXNlcnZlZCBhYm92ZSAuay10YWJsZS10aGUgc2Nyb2xsYmFyXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLFxuICAgICAgICAuay1ncmlkW2RhdGEtcm9sZT1cImdyaWRcIl0gLmstZ3JpZC1mb290ZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cblxuICAgIC8vIEZpbHRlciBtZW51XG4gICAgLmstZmlsdGVyLW1lbnUtcG9wdXAge1xuICAgICAgICBtaW4td2lkdGg6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXdpZHRoO1xuICAgICAgICBtYXgtd2lkdGg6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LW1heC13aWR0aDtcbiAgICB9XG4gICAgLmstZmlsdGVyLW1lbnUge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgICAuay1maWx0ZXItbWVudS1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiBrLXNwYWNpbmcoMik7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGdhcDogay1zcGFjaW5nKDIpO1xuXG4gICAgICAgIC5rLWZpbHRlci1hbmQge1xuICAgICAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hY3Rpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbmd1bGFyIHNwZWNpZmljXG4gICAgICAgIGtlbmRvLW51bWVyaWMtZmlsdGVyLW1lbnUsXG4gICAgICAgIGtlbmRvLWdyaWQtc3RyaW5nLWZpbHRlci1tZW51LFxuICAgICAgICBrZW5kby1ncmlkLWRhdGUtZmlsdGVyLW1lbnUsXG4gICAgICAgIGtlbmRvLWdyaWQtbnVtZXJpYy1maWx0ZXItbWVudSxcbiAgICAgICAga2VuZG8tZ3JpZC1maWx0ZXItbWVudS1pbnB1dC13cmFwcGVyLFxuICAgICAgICBrZW5kby10cmVlbGlzdC1zdHJpbmctZmlsdGVyLW1lbnUsXG4gICAgICAgIGtlbmRvLXRyZWVsaXN0LWRhdGUtZmlsdGVyLW1lbnUsXG4gICAgICAgIGtlbmRvLXRyZWVsaXN0LW51bWVyaWMtZmlsdGVyLW1lbnUsXG4gICAgICAgIGtlbmRvLXRyZWVsaXN0LWZpbHRlci1tZW51LWlucHV0LXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgZ2FwOiBrLXNwYWNpbmcoMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1maWx0ZXItbWVudS5rLXBvcHVwLFxuICAgIC5rLWdyaWQtZmlsdGVyLXBvcHVwLmstcG9wdXAge1xuXG4gICAgICAgIC5rLWZpbHRlci1tZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtaW4td2lkdGg6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXdpZHRoO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1tYXgtd2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1wb3B1cCAuay1tdWx0aWNoZWNrLXdyYXAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1saXN0LWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0LWxpbmUtaGVpZ2h0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAuay1pdGVtLFxuICAgICAgICAuay1jaGVjay1hbGwtd3JhcCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1saXN0LWl0ZW0tcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWxpc3QtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZmlsdGVyLXNlbGVjdGVkLWl0ZW1zIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLy8gYXV0b2ZpdHRpbmcgcmVxdWlyZXMgYXV0b21hdGljIHRhYmxlIGxheW91dCB0byBtZWFzdXJlIHNpemVzXG4gICAgLmstYXV0b2ZpdHRpbmcge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB0YWJsZS1sYXlvdXQ6IGF1dG8gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAuay10YWJsZS10aCxcbiAgICAgICAgdGQsXG4gICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRldGFpbC1yb3cge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8vIENvbHVtbiBtZW51XG4gICAgLmstY29sdW1uLW1lbnUtcG9wdXAsXG4gICAgLmstZ3JpZC1jb2x1bW5tZW51LXBvcHVwIHtcbiAgICAgICAgbWluLXdpZHRoOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS13aWR0aDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAmLmstcG9wdXAge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtcG9wdXAtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXBvcHVwLXBhZGRpbmcteDtcbiAgICAgICAgICAgIG1heC13aWR0aDogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtbWF4LXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYWN0aW9ucyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAuay1jb2x1bW4tbWVudSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgLmstbWVudTpub3QoLmstY29udGV4dC1tZW51KSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZXhwYW5kZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcblxuICAgICAgICAgICAgLmstY29sdW1ubWVudS1pdGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstY29sdW1uLW1lbnUtdGFiYmVkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyLXJhZGl1cyAka2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItcmFkaXVzIDAgMDtcblxuICAgICAgICAuay10YWJzdHJpcC1pdGVtcyB7XG4gICAgICAgICAgICBtYXJnaW46ICgtJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyLXdpZHRoKSAoLSRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci13aWR0aCkgMDtcblxuICAgICAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJzdHJpcC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS10YWJiZWQtdGFic3RyaXAtY29udGVudC1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS10YWJiZWQtdGFic3RyaXAtY29udGVudC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jb2x1bW4tbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAuay1jb2x1bW4tY2hvb3Nlci10aXRsZSxcbiAgICAuay1jb2x1bW4tbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtbGlzdC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWxpc3QtaXRlbS1wYWRkaW5nLXg7XG4gICAgfVxuXG4gICAgLmstY29sdW1uLWxpc3QtaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmstY2hlY2tib3gtbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstY29sdW1ucy1pdGVtcy13cmFwIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbXMtd3JhcC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtcy13cmFwLXBhZGRpbmcteDtcbiAgICB9XG5cbiAgICAuay1jb2x1bW5tZW51LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0tcGFkZGluZy14O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgPiAuay1pY29uLFxuICAgICAgICA+IC5rLWV4cGFuZGVyLWluZGljYXRvciB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNvbHVtbm1lbnUtaXRlbS13cmFwcGVyICsgLmstY29sdW1ubWVudS1pdGVtLXdyYXBwZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRrZW5kby1wb3B1cC1ib3JkZXI7XG4gICAgfVxuXG4gICAgLmstY29sdW1ubWVudS1pdGVtLWNvbnRlbnQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5rLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAuay1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItdGV4dCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1ib3JkZXItYm90dG9tLXdpZHRoO1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgLmstcnRsIC5rLWdyaWQtdmlydHVhbCAuay1ncmlkLWNvbnRlbnQsXG4gICAgW2Rpcj1cInJ0bFwiXSAuay1ncmlkLXZpcnR1YWwgLmstZ3JpZC1jb250ZW50LFxuICAgIC5rLXJ0bC5rLWdyaWQtdmlydHVhbCAuay1ncmlkLWNvbnRlbnQsXG4gICAgW2Rpcj1cInJ0bFwiXS5rLWdyaWQtdmlydHVhbCAuay1ncmlkLWNvbnRlbnQge1xuXG4gICAgICAgIC5rLWdyaWQtdGFibGUtd3JhcCxcbiAgICAgICAgLmstZ3JpZC10YWJsZSxcbiAgICAgICAgPiAuay1oZWlnaHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1ncmlkLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZ3JpZC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1ncmlkLS1sYXlvdXQoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1ncmlkLS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLy8gR3JpZFxuICAgIC5rLWdyaWQge1xuXG4gICAgICAgIC5rLWdyb3VwLWZvb3RlciB0ZCxcbiAgICAgICAgLmstZ3JvdXAtZm9vdGVyIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb21tYW5kLWNlbGwgLmstYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdyaWQgaGVhZGVyXG4gICAgLmstZ3JpZC1oZWFkZXIge1xuXG4gICAgICAgIC5rLXRhYmxlLXRoIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgIC5rLWdyaWQtZmlsdGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1maWx0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaGVhZGVyLWNvbHVtbi1tZW51LFxuICAgICAgICAuay1ncmlkLWhlYWRlci1tZW51ICB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemFibGUtY29sdW1ucyAuay10YWJsZS10aDpub3QoLmstZ3JvdXAtY2VsbCkge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXphYmxlLWNvbHVtbnMgLmstcmVzaXplLWhhbmRsZSAuay1yZXNpemUtaGFuZGxlLWlubmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jZWxsLWlubmVyIHtcbiAgICAgICAgLmstZ3JpZC1maWx0ZXIsXG4gICAgICAgIC5rLWhlYWRlci1jb2x1bW4tbWVudSxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbWVudSxcbiAgICAgICAgLmstaGllcmFyY2h5LWNlbGwgLmstaWNvbiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JvdXBpbmctZHJvcGNsdWUge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtaGVpZ2h0O1xuICAgICAgICB0b3A6ICRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC10b3A7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAycHggMCAwO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1yZXNpemUtaGFuZGxlOmhvdmVyIC5rLXJlc2l6ZS1oYW5kbGUtaW5uZXIge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmstY29sdW1uLXJlc2l6ZXI6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgIC5rLXJlb3JkZXItY3VlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICAgIHdpZHRoOiAycHg7XG4gICAgfVxuXG4gICAgLmstY29sdW1uLW1lbnUgLmstbWVudTpub3QoLmstY29udGV4dC1tZW51KSB7XG5cbiAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICAmID4gLmstbGluazo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLW1lbnUtdmVydGljYWwge1xuICAgICAgICAgICAgJiA+IC5rLWl0ZW0gKyAuay1pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9ncmlkL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2dyaWQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9ncmlkL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tZ3JpZC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLWdyaWQtaGVhZGVyLFxuICAgIC5rLWdyaWQtaGVhZGVyLXdyYXAsXG4gICAgLmstZ3JvdXBpbmctaGVhZGVyLFxuICAgIC5rLWdyaWQgLmstdGFibGUtdGgsXG4gICAgLmstZ3JpZCB0ZCxcbiAgICAuay1ncmlkIC5rLXRhYmxlLXRkLFxuICAgIC5rLWdyaWQtZm9vdGVyLFxuICAgIC5rLWdyaWQtZm9vdGVyLXdyYXAsXG4gICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCxcbiAgICAuay1ncmlkLWZvb3Rlci1sb2NrZWQsXG4gICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkLFxuICAgIC5rLWZpbHRlci1yb3cgPiAuay10YWJsZS10aCxcbiAgICAuay1maWx0ZXItcm93ID4gdGQsXG4gICAgLmstZmlsdGVyLXJvdyA+IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlciApO1xuICAgIH1cblxuICAgIC5rLWdyaWQtaGVhZGVyLFxuICAgIC5rLWdyb3VwaW5nLWhlYWRlcixcbiAgICAuay1ncmlkLWFkZC1yb3csXG4gICAgLmstZ3JpZC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGNvbG9yOiAka2VuZG8tZ3JpZC1oZWFkZXItdGV4dCxcbiAgICAgICAgICAgICRiZzogJGtlbmRvLWdyaWQtaGVhZGVyLWJnXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstZ3JpZCAuay10YWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmstZ3JpZC10b29sYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgaW5oZXJpdCxcbiAgICAgICAgICAgIG51bGxcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgIH1cblxuICAgIC5rLWdyaWQtY29udGVudCB7XG4gICAgICAgIC8vIHNldHRpbmcgdGhpcyBiYWNrZ3JvdW5kIGNvbG9yIHJlc29sdmVzIGdsaXRjaGVzIGluIGlPU1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCRiZzogJGtlbmRvLWdyaWQtYmcgKTtcbiAgICB9XG5cbiAgICAuay1ncm91cC1mb290ZXIgdGQsXG4gICAgLmstZ3JvdXBpbmctcm93IHRkLFxuICAgIC5rLWdyb3VwLWZvb3RlciAuay10YWJsZS10ZCxcbiAgICAuay1ncm91cGluZy1yb3cgLmstdGFibGUtdGQsXG4gICAgLmstdGFibGUtdGJvZHkgLmstZ3JvdXAtY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkY29sb3I6ICRrZW5kby1ncmlkLWdyb3VwaW5nLXJvdy10ZXh0LFxuICAgICAgICAgICAgJGJnOiAka2VuZG8tZ3JpZC1ncm91cGluZy1yb3ctYmdcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1ncm91cGluZy1kcm9wY2x1ZSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1ncmlkLWhlYWRlci10ZXh0IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtaGVhZGVyLXRleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGtlbmRvLWdyaWQtdGV4dCwgJGtlbmRvLWdyaWQtYmcsICRrZW5kby1ncmlkLWJvcmRlciApO1xuXG4gICAgICAgIC8vIEFsdCByb3dcbiAgICAgICAgLmstdGFibGUtcm93LmstdGFibGUtYWx0LXJvdyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1hbHQtYmc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAuay10YWJsZS10Ym9keSA+IC5rLXRhYmxlLXJvdzpub3QoLmstZGV0YWlsLXJvdyk6aG92ZXIsXG4gICAgICAgIC5rLXRhYmxlLXRib2R5ID4gLmstdGFibGUtcm93Om5vdCguay1kZXRhaWwtcm93KS5rLWhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZ3JpZC1ob3Zlci10ZXh0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtaG92ZXItYmc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgICAgICB0ZC5rLXNlbGVjdGVkLFxuICAgICAgICAuay10YWJsZS1yb3cuay1zZWxlY3RlZCA+IHRkLFxuICAgICAgICAuay10YWJsZS10ZC5rLXNlbGVjdGVkLFxuICAgICAgICAuay10YWJsZS1yb3cuay1zZWxlY3RlZCA+IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZ3JpZC1zZWxlY3RlZC10ZXh0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc2VsZWN0ZWQtYmc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1c2VkIHN0YXRlXG4gICAgICAgIC5rLXRhYmxlLXRoLFxuICAgICAgICB0ZCxcbiAgICAgICAgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLW1hc3Rlci1yb3cgPiB0ZCxcbiAgICAgICAgLmstZ3JvdXBpbmctcm93ID4gdGQsXG4gICAgICAgIC5rLWRldGFpbC1yb3cgPiB0ZCxcbiAgICAgICAgLmstZ3JvdXAtZm9vdGVyID4gdGQsXG4gICAgICAgIC5rLW1hc3Rlci1yb3cgPiAuay10YWJsZS10ZCxcbiAgICAgICAgLmstZ3JvdXBpbmctcm93ID4gLmstdGFibGUtdGQsXG4gICAgICAgIC5rLWRldGFpbC1yb3cgPiAuay10YWJsZS10ZCxcbiAgICAgICAgLmstZ3JvdXAtZm9vdGVyID4gLmstdGFibGUtdGQsXG4gICAgICAgIC5rLWdyaWQtcGFnZXIge1xuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tZ3JpZC1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtZmlsdGVyLFxuICAgICAgICAuay1oZWFkZXItY29sdW1uLW1lbnUsXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLW1lbnUsXG4gICAgICAgIC5rLWhpZXJhcmNoeS1jZWxsIC5rLWljb24ge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1ncmlkLWhlYWRlci10ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JvdXBpbmctcm93IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLWdyb3VwaW5nLXJvdy1iZztcblxuICAgICAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1ncmlkLWhlYWRlci10ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExvY2tlZCBjb2x1bW5zXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLWxvY2tlZCxcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkIC5rLXRhYmxlLXRoLFxuICAgICAgICAuay1ncmlkLWNvbnRlbnQtbG9ja2VkIHRkLFxuICAgICAgICAuay1ncmlkLWNvbnRlbnQtbG9ja2VkIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWhlYWRlci1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWNvbnRlbnQtbG9ja2VkIHtcbiAgICAgICAgICAgIC5rLWdyb3VwLWZvb3RlciB0ZCxcbiAgICAgICAgICAgIC5rLWdyb3VwLWZvb3RlciAuay10YWJsZS10ZCxcbiAgICAgICAgICAgIC5rLWdyb3VwLWNlbGwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXIgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZ3JvdXBpbmctcm93ICsgLmstdGFibGUtcm93IHRkLFxuICAgICAgICAgICAgLmstZ3JvdXBpbmctcm93ICsgLmstdGFibGUtcm93IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAka2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgICAgICAgICAgLmstc2VsZWN0ZWQgdGQsXG4gICAgICAgICAgICAuay1zZWxlY3RlZCAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYmcgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93IHRkLFxuICAgICAgICAgICAgLmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1hbHQtYmcgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgaG92ZXJcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkOmhvdmVyIHRkLFxuICAgICAgICAgICAgLmstc2VsZWN0ZWQuay1ob3ZlciB0ZCxcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkOmhvdmVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAgICAgLmstc2VsZWN0ZWQuay1ob3ZlciAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtaG92ZXItYmcgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLWxvY2tlZCAuay10YWJsZS10aCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAka2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29sLmstc29ydGVkLFxuICAgIC5rLXRhYmxlLXRoLmstc29ydGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc29ydGVkLWJnO1xuICAgIH1cblxuICAgIC8vIEdyaWQgaGVhZGVyXG4gICAgLmstZ3JpZC1oZWFkZXIge1xuXG4gICAgICAgIC5rLXNvcnQtaWNvbixcbiAgICAgICAgLmstc29ydC1vcmRlciB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWdyaWQtc29ydGluZy1pbmRpY2F0b3ItdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtZmlsdGVyLFxuICAgICAgICAuay1oZWFkZXItY29sdW1uLW1lbnUsXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLW1lbnUsXG4gICAgICAgIC5rLWhpZXJhcmNoeS1jZWxsIC5rLWljb24ge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1idXR0b24taG92ZXItdGV4dDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tYnV0dG9uLWhvdmVyLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCBpbnNldCAwIDAgMCAycHggcmdiYSggJGtlbmRvLWNvbG9yLWJsYWNrLCAuMSApLCB0cnVlICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLXNlbGVjdGVkLXRleHQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXNlbGVjdGVkLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtdGguay1ncmlkLWhlYWRlci1zdGlja3ksXG4gICAgICAgIHRkLmstZ3JpZC1oZWFkZXItc3RpY2t5LFxuICAgICAgICAuay10YWJsZS10ZC5rLWdyaWQtaGVhZGVyLXN0aWNreSxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItc3RpY2t5Lmstc29ydGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLWJnXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gR3JpZCBmb290ZXJcbiAgICAuay1ncmlkLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZ3JpZC1mb290ZXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1ncmlkLWZvb3Rlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1ncmlkLWZvb3Rlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgLmstZ3JpZC1mb290ZXItc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWZvb3Rlci1iZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlbGVjdGlvbiBBZ2dyZWdhdGVzXG4gICAgLmstc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLW1hc3Rlci1yb3cge1xuICAgICAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYmc7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYmc7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGFibGUtYWx0LXJvdyB7XG4gICAgICAgICAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1hbHQtYmcgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgICAgICYuay10YWJsZS1yb3cuay1zZWxlY3RlZCB0ZC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgICYuay10YWJsZS1yb3cuay1zZWxlY3RlZCAuay10YWJsZS10ZC5rLWdyaWQtcm93LXN0aWNreSxcbiAgICAgICAgJi5rLXRhYmxlLXJvdyB0ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCxcbiAgICAgICAgJi5rLXRhYmxlLXJvdyAuay10YWJsZS10ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1iZyApO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYmcgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1iZyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdyB0ZC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgICYuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cgLmstdGFibGUtdGQuay1ncmlkLXJvdy1zdGlja3ksXG4gICAgICAgICYuay10YWJsZS1hbHQtcm93IHRkLmstZ3JpZC1jb250ZW50LXN0aWNreS5rLXNlbGVjdGVkLFxuICAgICAgICAmLmstdGFibGUtYWx0LXJvdyAuay10YWJsZS10ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1hbHQtYmcgKTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWFsdC1iZyApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWFsdC1iZyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBIb3ZlcmVkIHN0YXRlXG4gICAgICAgICY6aG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgJjpob3ZlciAuay1ncmlkLXJvdy1zdGlja3ksXG4gICAgICAgICYuay1ob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAmLmstaG92ZXIgLmstZ3JpZC1yb3ctc3RpY2t5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ob3Zlci1iZztcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgaG92ZXJcbiAgICAgICAgJi5rLXNlbGVjdGVkOmhvdmVyIHRkLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgJi5rLXNlbGVjdGVkOmhvdmVyIC5rLXRhYmxlLXRkLmstZ3JpZC1yb3ctc3RpY2t5LFxuICAgICAgICAmLmstc2VsZWN0ZWQuay1ob3ZlciB0ZC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgICYuay1zZWxlY3RlZC5rLWhvdmVyIC5rLXRhYmxlLXRkLmstZ3JpZC1yb3ctc3RpY2t5LFxuICAgICAgICAmOmhvdmVyIHRkLmstZ3JpZC1jb250ZW50LXN0aWNreS5rLXNlbGVjdGVkLFxuICAgICAgICAmLmstaG92ZXIgdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5Lmstc2VsZWN0ZWQsXG4gICAgICAgICY6aG92ZXIgLmstdGFibGUtdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5Lmstc2VsZWN0ZWQsXG4gICAgICAgICYuay1ob3ZlciAuay10YWJsZS10ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmc7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtaG92ZXItYmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWhvdmVyLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAga2VuZG8tZ3JpZC5rLWdyaWQge1xuICAgICAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1iZztcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWhvdmVyLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5IHtcbiAgICAgICAgICAgIHRkLFxuICAgICAgICAgICAgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgdGQsXG4gICAgICAgICAgICAmLmstaG92ZXIgdGQsXG4gICAgICAgICAgICAmOmhvdmVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAgICAgJi5rLWhvdmVyIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS1hbHQtcm93IC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreS5rLXRhYmxlLWFsdC1yb3cgdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreS5rLXRhYmxlLWFsdC1yb3cgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktYWx0LWJnICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgICAgICAuay10YWJsZS1yb3cuay1zZWxlY3RlZCAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay1zZWxlY3RlZC5rLWdyaWQtcm93LXN0aWNreSB0ZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5IHRkLmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLXNlbGVjdGVkLmstZ3JpZC1yb3ctc3RpY2t5IC5rLXRhYmxlLXRkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kgLmstdGFibGUtdGQuay1zZWxlY3RlZCxcbiAgICAgICAgLmstc2VsZWN0ZWQuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIEBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LWJnICk7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1iZyApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWJnICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS1yb3cuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93LmstZ3JpZC1yb3ctc3RpY2t5IHRkLFxuICAgICAgICAuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cuay1ncmlkLXJvdy1zdGlja3kgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLXRhYmxlLWFsdC1yb3cgLmstc2VsZWN0ZWQuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIEBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LWFsdC1iZyApO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYWx0LWJnICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYWx0LWJnICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAuay10YWJsZS1yb3c6aG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstdGFibGUtcm93LmstaG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5OmhvdmVyIHRkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kuay1ob3ZlciB0ZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5LmstdGFibGUtYWx0LXJvdzpob3ZlciB0ZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5LmstdGFibGUtYWx0LXJvdy5rLWhvdmVyIHRkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3k6aG92ZXIgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreS5rLWhvdmVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kuay10YWJsZS1hbHQtcm93OmhvdmVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kuay10YWJsZS1hbHQtcm93LmstaG92ZXIgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLXRhYmxlLWFsdC1yb3c6aG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstdGFibGUtYWx0LXJvdy5rLWhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3kge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWhvdmVyLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgKyBIb3ZlclxuICAgICAgICAuay10YWJsZS1yb3cuay1zZWxlY3RlZDpob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay10YWJsZS1yb3cuay1zZWxlY3RlZC5rLWhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLXNlbGVjdGVkLmstZ3JpZC1yb3ctc3RpY2t5OmhvdmVyIHRkLFxuICAgICAgICAuay1zZWxlY3RlZC5rLWdyaWQtcm93LXN0aWNreS5rLWhvdmVyIHRkLFxuICAgICAgICAuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cuay1ncmlkLXJvdy1zdGlja3k6aG92ZXIgdGQsXG4gICAgICAgIC5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdy5rLWdyaWQtcm93LXN0aWNreS5rLWhvdmVyIHRkLFxuICAgICAgICAuay1zZWxlY3RlZC5rLWdyaWQtcm93LXN0aWNreTpob3ZlciAuay10YWJsZS10ZCxcbiAgICAgICAgLmstc2VsZWN0ZWQuay1ncmlkLXJvdy1zdGlja3kuay1ob3ZlciAuay10YWJsZS10ZCxcbiAgICAgICAgLmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93LmstZ3JpZC1yb3ctc3RpY2t5OmhvdmVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cuay1ncmlkLXJvdy1zdGlja3kuay1ob3ZlciAuay10YWJsZS10ZCxcbiAgICAgICAgLmstdGFibGUtcm93Lmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93OmhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdy5rLWhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreTpob3ZlciB0ZC5rLXNlbGVjdGVkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kuay1ob3ZlciB0ZC5rLXNlbGVjdGVkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3k6aG92ZXIgLmstdGFibGUtdGQuay1zZWxlY3RlZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5LmstaG92ZXIgLmstdGFibGUtdGQuay1zZWxlY3RlZCxcbiAgICAgICAgLmstdGFibGUtcm93OmhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCxcbiAgICAgICAgLmstdGFibGUtcm93LmstaG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreS5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ob3Zlci1iZztcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1ob3Zlci1iZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtaG92ZXItYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncm91cGluZy1yb3cge1xuICAgICAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LWhlYWRlci1iZyApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAmLmstaG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1ob3Zlci1iZyApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstY29sdW1uLWxpc3QtaXRlbTpob3ZlcixcbiAgICAuay1jb2x1bW5tZW51LWl0ZW06aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci1iZ1xuICAgICAgICApO1xuICAgIH1cbiAgICAuay1jb2x1bW4tbGlzdC1pdGVtOmZvY3VzLFxuICAgIC5rLWNvbHVtbi1saXN0LWl0ZW0uay1mb2N1cyxcbiAgICAuay1jb2x1bW5tZW51LWl0ZW06Zm9jdXMsXG4gICAgLmstY29sdW1ubWVudS1pdGVtLmstZm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1saXN0LWl0ZW0tZm9jdXMtc2hhZG93LCB0cnVlICk7XG4gICAgfVxuXG4gICAgLmstY29sdW1ubWVudS1pdGVtIHtcbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtYmdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jb2x1bW4tbWVudSB7XG5cbiAgICAgICAgLmstbWVudTpub3QoLmstY29udGV4dC1tZW51KSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBvcHVwLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBvcHVwLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1wb3B1cC1ib3JkZXJcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC5rLWl0ZW0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1iZ1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLWhvdmVyLWJnXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtYmdcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstY29sdW1uLW1lbnUtdGFiYmVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtdGFiYmVkLWJnO1xuICAgIH1cblxuICAgIC5rLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLWNoZWNrLWFsbC13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLXBvcHVwLWJvcmRlciApO1xuICAgIH1cblxuICAgIC5rLWdyaWQtbm9yZWNvcmRzLXRlbXBsYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtYmc7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWdyaWQtYm9yZGVyO1xuICAgIH1cblxuICAgIC8vIFJvdyByZXNpemluZ1xuICAgIC5rLXJlc2l6ZXItd3JhcCB7XG5cbiAgICAgICAgJi5rLWhvdmVyIC5rLXJvdy1yZXNpemVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtcm93LXJlc2l6ZXItaG92ZXItYmcgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1hY3RpdmUgLmstcm93LXJlc2l6ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1yb3ctcmVzaXplci1hY3RpdmUtYmcgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWdyaWQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWdyaWQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1ncmlkLS10aGVtZSgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLWdyaWQtLXRoZW1lLWJhc2UoKTtcblxuICAgICRrZW5kby1ncmlkLWZpbHRlci1idXR0b24tZm9jdXM6IHJnYmEoIGJsYWNrLCAuMTIgKSAhZGVmYXVsdDtcblxuICAgIC5rLWdyaWQge1xuXG4gICAgICAgIEBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSkge1xuICAgICAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgICAgIHRkOmZvY3VzLFxuICAgICAgICAgICAgICAgIHRkLmstZm9jdXMsXG4gICAgICAgICAgICAgICAgdGg6Zm9jdXMsXG4gICAgICAgICAgICAgICAgdGguay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLWhvdmVyLWJnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgICAgIC5rLXRhYmxlLXRkLmstc2VsZWN0ZWQsXG4gICAgICAgICAgICAuay10YWJsZS1yb3cuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1ncmlkLXNlbGVjdGVkLXRleHQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc2VsZWN0ZWQtYmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkID4gdGQsXG4gICAgICAgICAgICAuay10YWJsZS1yb3cuay1zZWxlY3RlZCA+IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSG92ZXIsIEZvY3VzZWQgc3RhdGVcbiAgICAgICAgICAgIC5rLXRhYmxlIHtcbiAgICAgICAgICAgICAgICA+IC5rLXRhYmxlLXJvdzpub3QoLmstZGV0YWlsLXJvdyk6aG92ZXIsXG4gICAgICAgICAgICAgICAgPiAuay10YWJsZS1yb3c6bm90KC5rLWRldGFpbC1yb3cpLmstaG92ZXIsXG4gICAgICAgICAgICAgICAgdGQ6Zm9jdXMsXG4gICAgICAgICAgICAgICAgdGQuay1mb2N1cyxcbiAgICAgICAgICAgICAgICAuay10YWJsZS10ZDpmb2N1cyxcbiAgICAgICAgICAgICAgICAuay10YWJsZS10ZC5rLWZvY3VzLFxuICAgICAgICAgICAgICAgIC5rLXRhYmxlLXRoOmZvY3VzLFxuICAgICAgICAgICAgICAgIC5rLXRhYmxlLXRoLmstZm9jdXMsXG4gICAgICAgICAgICAgICAgLmstbWFzdGVyLXJvdyA+IHRkOmZvY3VzLFxuICAgICAgICAgICAgICAgIC5rLWdyb3VwaW5nLXJvdyA+IHRkOmZvY3VzLFxuICAgICAgICAgICAgICAgIC5rLWRldGFpbC1yb3cgPiB0ZDpmb2N1cyxcbiAgICAgICAgICAgICAgICAuay1ncm91cC1mb290ZXIgPiB0ZDpmb2N1cyxcbiAgICAgICAgICAgICAgICAuay1tYXN0ZXItcm93ID4gLmstdGFibGUtdGQ6Zm9jdXMsXG4gICAgICAgICAgICAgICAgLmstZ3JvdXBpbmctcm93ID4gLmstdGFibGUtdGQ6Zm9jdXMsXG4gICAgICAgICAgICAgICAgLmstZGV0YWlsLXJvdyA+IC5rLXRhYmxlLXRkOmZvY3VzLFxuICAgICAgICAgICAgICAgIC5rLWdyb3VwLWZvb3RlciA+IC5rLXRhYmxlLXRkOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLWhvdmVyLWJnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLXRhYmxlLXJvdzpob3ZlcixcbiAgICAgICAgICAgICAgICAuay10YWJsZS1yb3cuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIC5rLWdyaWQtaGVhZGVyLXN0aWNreSxcbiAgICAgICAgICAgICAgICAgICAgLmstZ3JpZC1mb290ZXItc3RpY2t5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWhvdmVyLWJnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstdGFibGUtdGgsXG4gICAgICAgICAgICAgICAgdGQsXG4gICAgICAgICAgICAgICAgLmstdGFibGUtdGQsXG4gICAgICAgICAgICAgICAgLmstbWFzdGVyLXJvdyA+IHRkLFxuICAgICAgICAgICAgICAgIC5rLWdyb3VwaW5nLXJvdyA+IHRkLFxuICAgICAgICAgICAgICAgIC5rLWRldGFpbC1yb3cgPiB0ZCxcbiAgICAgICAgICAgICAgICAuay1ncm91cC1mb290ZXIgPiB0ZCxcbiAgICAgICAgICAgICAgICAuay1tYXN0ZXItcm93ID4gLmstdGFibGUtdGQsXG4gICAgICAgICAgICAgICAgLmstZ3JvdXBpbmctcm93ID4gLmstdGFibGUtdGQsXG4gICAgICAgICAgICAgICAgLmstZGV0YWlsLXJvdyA+IC5rLXRhYmxlLXRkLFxuICAgICAgICAgICAgICAgIC5rLWdyb3VwLWZvb3RlciA+IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYuay1ncmlkLWhlYWRlci1zdGlja3ksXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgICAgICAgICAgICAgICAgICYuay1ncmlkLWZvb3Rlci1zdGlja3kge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ob3Zlci1iZztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1wYWdlcjpmb2N1cyxcbiAgICAgICAgLmstZ3JpZC1wYWdlci5rLWZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtdGgsXG4gICAgICAgIHRkLFxuICAgICAgICAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLWxvY2tlZCxcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkIC5rLXRhYmxlLXRoLFxuICAgICAgICAuay1ncmlkLWNvbnRlbnQtbG9ja2VkIHRkLFxuICAgICAgICAuay1ncmlkLWNvbnRlbnQtbG9ja2VkIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAka2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyO1xuXG4gICAgICAgICAgICAuay1ncm91cC1mb290ZXIge1xuICAgICAgICAgICAgICAgICY6aG92ZXIgdGQsXG4gICAgICAgICAgICAgICAgJi5rLWhvdmVyIHRkLFxuICAgICAgICAgICAgICAgICY6aG92ZXIgLmstdGFibGUtdGQsXG4gICAgICAgICAgICAgICAgJi5rLWhvdmVyIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LWZvb3Rlci1ob3Zlci1iZyApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1hc3Rlci1yb3cge1xuICAgICAgICAgICAgLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGtlbmRvLWdyaWQge1xuICAgICAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kgdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreSAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWdyaWQtaGVhZGVyIHtcbiAgICAgICAgLmstc29ydGVkLFxuICAgICAgICAuay1saW5rOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZ3JpZC10ZXh0O1xuXG4gICAgICAgICAgICA+IC5rLWljb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1maWx0ZXIsXG4gICAgICAgIC5rLXRhYmxlLXRoLWNvbHVtbi1tZW51LFxuICAgICAgICAuay1ncmlkLWhlYWRlci1tZW51LFxuICAgICAgICAuay1oaWVyYXJjaHktY2VsbCAuay1pY29uIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZ3JpZC10ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWdyaWQtdGV4dDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1maWx0ZXItYnV0dG9uLWZvY3VzO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tY29sb3ItcHJpbWFyeS1jb250cmFzdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLXRoZWFkID4gLmstdGFibGUtcm93Om5vdCg6b25seS1jaGlsZCkgPiAuay10YWJsZS10aCxcbiAgICAgICAgLmstdGFibGUtdGhlYWQgPiAuay10YWJsZS1yb3c6bm90KDpvbmx5LWNoaWxkKSA+IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6ICRrZW5kby1ncmlkLWJvcmRlcjtcblxuICAgICAgICAgICAgJi5rLWdyaWQtaGVhZGVyLXN0aWNreSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWlubGluZS1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWhlYWRlci1ib3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWhlYWRlci1sb2NrZWQgLmstdGFibGUtdGhlYWQgLmstdGFibGUtcm93IC5rLXRhYmxlLXRoIHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuay1ncm91cC1mb290ZXIge1xuICAgICAgICB0ZCxcbiAgICAgICAgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLWdyaWQtZm9vdGVyLXN0aWNreSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAka2VuZG8tZ3JpZC1zdGlja3ktZm9vdGVyLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB0ZCxcbiAgICAgICAgJi5rLWhvdmVyIHRkLFxuICAgICAgICAmOmhvdmVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAmLmstaG92ZXIgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktZm9vdGVyLWhvdmVyLWJnICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncm91cGluZy1kcm9wY2x1ZSxcbiAgICAuay1yZW9yZGVyLWN1ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNvbG9yLXByaW1hcnk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1yZXNpemUtaGFuZGxlOmhvdmVyIC5rLXJlc2l6ZS1oYW5kbGUtaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tY29sb3ItcHJpbWFyeTtcbiAgICB9XG5cbiAgICAuay1jb2x1bW4tcmVzaXplcjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tY29sb3ItcHJpbWFyeTtcbiAgICB9XG5cbiAgICAuay1yZW9yZGVyLWN1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jb2xvci1wcmltYXJ5O1xuICAgIH1cblxuICAgIC5rLWNvbHVtbm1lbnUtaXRlbSB7XG4gICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLWJnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWNvbHVtbi1saXN0LWl0ZW06Zm9jdXMsXG4gICAgLmstY29sdW1uLWxpc3QtaXRlbS5rLWZvY3VzLFxuICAgIC5rLWNvbHVtbm1lbnUtaXRlbTpmb2N1cyxcbiAgICAuay1jb2x1bW5tZW51LWl0ZW0uay1mb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1saXN0LWl0ZW0taG92ZXItYmc7XG4gICAgfVxuXG4gICAgLmstY29sdW1uLW1lbnUgLmstbWVudTpub3QoLmstY29udGV4dC1tZW51KSB7XG5cbiAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAka2VuZG8tbGlzdC1pdGVtLWhvdmVyLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZ3JpZC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZ3JpZFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1ncmlkLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZ3JpZC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWdyaWQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90YWJzdHJpcC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RhYnN0cmlwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdHZpZXcvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0dmlldy9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJsaXN0dmlld1wiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJwYWdlclwiLFxuICAgICAgICAvLyBcInV0aWxzL2ZsZXgtZ3JpZFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2ZsZXguc2Nzc1wiO1xuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19ncmlkLnNjc3NcIjtcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BhZ2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcGFnZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9saXN0dmlldy9fdmFyaWFibGVzLnNjc3Ncbi8vIExpc3RWaWV3XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1wYWRkaW5nLXg6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgTGlzdFZpZXcuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIGJvcmRlcmVkIExpc3RWaWV3LlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgTGlzdFZpZXcuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIExpc3RWaWV3LlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgTGlzdFZpZXcuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgTGlzdFZpZXcuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgTGlzdFZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXg6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgTGlzdFZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBMaXN0VmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1pdGVtLXNlbGVjdGVkLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIExpc3RWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWl0ZW0tc2VsZWN0ZWQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApLCByZ2JhKCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tbGlzdHZpZXctYmcgKSwgLjA0ICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHNlbGVjdGVkIExpc3RWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWl0ZW0tc2VsZWN0ZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZvY3VzZWQgTGlzdFZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctaXRlbS1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmb2N1c2VkIExpc3RWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWl0ZW0tZm9jdXMtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApLCByZ2JhKCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tbGlzdHZpZXctYmcgKSwgLjA4ICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgTGlzdFZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctaXRlbS1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgTGlzdFZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctaXRlbS1mb2N1cy1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvbGlzdHZpZXcvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3R2aWV3L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3R2aWV3L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWxpc3R2aWV3LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIExpc3R2aWV3XG4gICAgLmstbGlzdHZpZXcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1saXN0dmlldy1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbGlzdHZpZXctZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWxpc3R2aWV3LWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAuay1saXN0dmlldy1ib3JkZXJlZCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWxpc3R2aWV3LWJvcmRlci13aWR0aDtcbiAgICB9XG5cblxuICAgIC8vIEhlYWRlclxuICAgIC5rLWxpc3R2aWV3LWhlYWRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAuay1saXN0dmlldy1ib3JkZXJlZCA+IC5rLWxpc3R2aWV3LWhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1saXN0dmlldy1ib3JkZXItd2lkdGg7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0dmlldyBjb250ZW50XG4gICAgLmstbGlzdHZpZXctY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdHZpZXctY29udGVudC5rLWQtZmxleCxcbiAgICAuay1saXN0dmlldy1jb250ZW50LmstZC1ncmlkIHtcbiAgICAgICAgJjo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWNvbnRlbnQtcGFkZGluZy1yZWN0YW5nbGUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdHZpZXctcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWxpc3R2aWV3LXBhZGRpbmcteDtcbiAgICB9XG4gICAgLmstbGlzdHZpZXctY29udGVudC1wYWRkaW5nLXNxdWFyZSB7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1saXN0dmlldy1wYWRkaW5nLXk7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0dmlldyBpdGVtXG4gICAgLmstbGlzdHZpZXctaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy1yZWN0YW5nbGUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXg7XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy1yZWN0YW5nbGUgLmstbGlzdHZpZXctbGluayB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogKC0ka2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXkpO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAoLSRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteCk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteDtcbiAgICB9XG4gICAgLmstbGlzdHZpZXctaXRlbS1wYWRkaW5nLXNxdWFyZSB7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteTtcbiAgICB9XG4gICAgLmstbGlzdHZpZXctaXRlbS1wYWRkaW5nLXNxdWFyZSAuay1saXN0dmlldy1saW5rIHtcbiAgICAgICAgbWFyZ2luOiAoLSRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteSk7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteTtcbiAgICB9XG5cblxuICAgIC8vIExpc3R2aWV3IGZvb3RlclxuICAgIC5rLWxpc3R2aWV3LWZvb3RlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAuay1saXN0dmlldy1ib3JkZXJlZCA+IC5rLWxpc3R2aWV3LWZvb3RlciB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRrZW5kby1saXN0dmlldy1ib3JkZXItd2lkdGg7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0dmlldyBwYWdlclxuICAgIC5rLWxpc3R2aWV3LXBhZ2VyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWJvcmRlcmVkID4gLmstbGlzdHZpZXctcGFnZXItdG9wIHtcbiAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWJvcmRlci13aWR0aCwgI3ska2VuZG8tbGlzdHZpZXctYm9yZGVyLXdpZHRofSApO1xuICAgIH1cbiAgICAuay1saXN0dmlldy1ib3JkZXJlZCA+IC5rLWxpc3R2aWV3LXBhZ2VyLWJvdHRvbSB7XG4gICAgICAgIGJvcmRlci1ibG9jay1zdGFydC13aWR0aDogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWJvcmRlci13aWR0aCwgI3ska2VuZG8tbGlzdHZpZXctYm9yZGVyLXdpZHRofSApO1xuICAgIH1cblxuXG4gICAgLy8gQm9yZGVyc1xuICAgIC5rLWxpc3R2aWV3LWJvcmRlcnMtYWxsIHtcbiAgICAgICAgLmstbGlzdHZpZXctaXRlbSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1saXN0dmlldy1ib3JkZXJzLWhvcml6b250YWwge1xuICAgICAgICAuay1saXN0dmlldy1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICAgICAgfVxuICAgICAgICAuay1saXN0dmlldy1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdHZpZXctYm9yZGVycy12ZXJ0aWNhbCB7XG4gICAgICAgIC5rLWxpc3R2aWV3LWl0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgfVxuICAgICAgICAuay1saXN0dmlldy1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWxpc3R2aWV3LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbGlzdHZpZXctLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbGlzdHZpZXctLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0dmlldy0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2xpc3R2aWV3L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3R2aWV3L190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbGlzdHZpZXcvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1saXN0dmlldy0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIExpc3R2aWV3XG4gICAgLmstbGlzdHZpZXcge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWxpc3R2aWV3LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tbGlzdHZpZXctYmcsXG4gICAgICAgICAgICAka2VuZG8tbGlzdHZpZXctYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0dmlldyBjb250ZW50XG4gICAgLmstbGlzdHZpZXctY29udGVudCB7XG5cbiAgICAgICAgPiAuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0dmlldy1pdGVtLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3R2aWV3LWl0ZW0tZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3R2aWV3LWl0ZW0tZm9jdXMtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tbGlzdHZpZXctaXRlbS1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tbGlzdHZpZXctaXRlbS1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0dmlldy1pdGVtLXNlbGVjdGVkLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0dmlldy1pdGVtLXNlbGVjdGVkLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gTGlzdCBpdGVtXG4gICAgLmstbGlzdHZpZXctaXRlbSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWxpc3R2aWV3LWJvcmRlcjtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbGlzdHZpZXctLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3R2aWV3LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbGlzdHZpZXctLXRoZW1lKCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tbGlzdHZpZXctLXRoZW1lLWJhc2UoKTtcblxuICAgIC8vIExpc3R2aWV3XG4gICAgLmstbGlzdHZpZXcge31cblxuXG4gICAgLy8gTGlzdHZpZXcgY29udGVudFxuICAgIC5rLWxpc3R2aWV3LWNvbnRlbnQge31cbiAgICAuay1saXN0dmlldy1jb250ZW50ID4gLmstc2VsZWN0ZWQuay1mb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApLCByZ2JhKCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tbGlzdHZpZXctYmcgKSwgLjEyICkpO1xuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWxpc3R2aWV3LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJsaXN0dmlld1wiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1saXN0dmlldy0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWxpc3R2aWV3LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tbGlzdHZpZXctLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mb3Jtcy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zvcm1zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tYm9ib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21ib2JveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvY2hhcnQtd2l6YXJkL192YXJpYWJsZXMuc2Nzc1xuLy8gQ2hhcnQgd2l6YXJkXG5cbi8vLyBUaGUgY29sb3Igb2YgdGhlIGFyZWEgYXJvdW5kIHRoZSBjaGFydCB0eXBlIGljb24uXG4vLy8gQGdyb3VwIGNoYXJ0LXdpemFyZFxuJGtlbmRvLWNoYXJ0LXdpemFyZC1pY29uLWFyZWEtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKHByaW1hcnkpLCAka2VuZG8tY29sb3ItcHJpbWFyeSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGFyZWEgYXJvdW5kIHRoZSBjaGFydCB0eXBlIGljb24uXG4vLy8gQGdyb3VwIGNoYXJ0LXdpemFyZFxuJGtlbmRvLWNoYXJ0LXdpemFyZC1pY29uLWFyZWEtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKHByaW1hcnktc3VidGxlKSwgay10cnktdGludCggJGtlbmRvLWNvbG9yLXByaW1hcnksIDgwJSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgYXJlYSBhcm91bmQgdGhlIGNoYXJ0IHR5cGUgaWNvbi5cbi8vLyBAZ3JvdXAgY2hhcnQtd2l6YXJkXG4ka2VuZG8tY2hhcnQtd2l6YXJkLWljb24tYXJlYS1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobm9uZSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHBhZGRpbmcgb2YgdGhlIGFyZWEgYXJvdW5kIHRoZSBjaGFydCB0eXBlIGljb24uXG4vLy8gQGdyb3VwIGNoYXJ0LXdpemFyZFxuJGtlbmRvLWNoYXJ0LXdpemFyZC1pY29uLWFyZWEtcGFkZGluZzogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIGFyZWEgYXJvdW5kIHRoZSBjaGFydCB0eXBlIGljb24uXG4vLy8gQGdyb3VwIGNoYXJ0LXdpemFyZFxuJGtlbmRvLWNoYXJ0LXdpemFyZC1pY29uLWFyZWEtZm9jdXMtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IocHJpbWFyeS1lbXBoYXNpcyksIGstdHJ5LXRpbnQoICRrZW5kby1jb2xvci1wcmltYXJ5LCAyNSUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIHNlbGVjdGVkIGFyZWEgYXJvdW5kIHRoZSBjaGFydCB0eXBlIGljb24uXG4vLy8gQGdyb3VwIGNoYXJ0LXdpemFyZFxuJGtlbmRvLWNoYXJ0LXdpemFyZC1pY29uLWFyZWEtc2VsZWN0ZWQtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJGtlbmRvLWNoYXJ0LXdpemFyZC1pY29uLWFyZWEtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGNoYXJ0IHR5cGUgaXRlbXMgaW4gdGhlIFByb3BlcnR5IHBhbmVsLlxuLy8vIEBncm91cCBjaGFydC13aXphcmRcbiRrZW5kby1jaGFydC13aXphcmQtY2hhcnQtdHlwZS1zZWxlY3RlZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IocHJpbWFyeSksICRrZW5kby1jb2xvci1wcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFRoZSBwYWRkaW5nIG9mIHRoZSBwcmV2aWV3IHBhbmUuXG4vLy8gQGdyb3VwIGNoYXJ0LXdpemFyZFxuJGtlbmRvLWNoYXJ0LXdpemFyZC1wcmV2aWV3LXBhbmUtcGFkZGluZzogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBwYWRkaW5nIG9mIHRoZSBwcm9wZXJ0eSBwYW5lLlxuLy8vIEBncm91cCBjaGFydC13aXphcmRcbiRrZW5kby1jaGFydC13aXphcmQtcHJvcGVydHktcGFuZS1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4vLy8gVGhlIGdhcCBiZXR3ZWVuIHRoZSBjaGFydCB0eXBlIGl0ZW1zIGluIHRoZSBQcm9wZXJ0eSBwYW5lbC5cbi8vLyBAZ3JvdXAgY2hhcnQtd2l6YXJkXG4ka2VuZG8tY2hhcnQtd2l6YXJkLWNoYXJ0LXR5cGUtc3BhY2luZzogay1zcGFjaW5nKDYpICFkZWZhdWx0O1xuLy8vIFRoZSBnYXAgYmV0d2VlbiB0aGUgaWNvbiBhcmVhIGFuZCBpdHMgdGV4dC5cbi8vLyBAZ3JvdXAgY2hhcnQtd2l6YXJkXG4ka2VuZG8tY2hhcnQtd2l6YXJkLWljb24tdGV4dC1nYXA6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9jaGFydC13aXphcmQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoYXJ0LXdpemFyZC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jaGFydC13aXphcmQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tY2hhcnQtd2l6YXJkLS1sYXlvdXQtYmFzZSgpIHtcbiAgICAvLyBDaGFydCB3aXphcmRcbiAgICAuay1jaGFydC13aXphcmQge1xuICAgICAgICAuay1pY29uLXRleHQtd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogJGtlbmRvLWNoYXJ0LXdpemFyZC1pY29uLXRleHQtZ2FwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaWNvbi1iYWNrZ3JvdW5kLWFyZWEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRrZW5kby1jaGFydC13aXphcmQtaWNvbi1hcmVhLXBhZGRpbmc7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tY2hhcnQtd2l6YXJkLWljb24tYXJlYS1ib3JkZXItcmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstY2hhcnQtdHlwZXMtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogJGtlbmRvLWNoYXJ0LXdpemFyZC1jaGFydC10eXBlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtd2l6YXJkLXNwbGl0dGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIC5rLXRhYnN0cmlwIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstY2hhcnQtd2l6YXJkLXByZXZpZXctcGFuZSB7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1jaGFydC13aXphcmQtcHJldmlldy1wYW5lLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtd2l6YXJkLXByb3BlcnR5LXBhbmUge1xuICAgICAgICBwYWRkaW5nOiAka2VuZG8tY2hhcnQtd2l6YXJkLXByb3BlcnR5LXBhbmUtcGFkZGluZztcbiAgICB9XG59XG5cblxuQG1peGluIGtlbmRvLWNoYXJ0LXdpemFyZC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNoYXJ0LXdpemFyZC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8tY2hhcnQtd2l6YXJkLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hhcnQtd2l6YXJkLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvY2hhcnQtd2l6YXJkL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoYXJ0LXdpemFyZC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoYXJ0LXdpemFyZC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWNoYXJ0LXdpemFyZC0tdGhlbWUtYmFzZSgpIHtcbiAgICAuay1jaGFydC13aXphcmQge1xuICAgICAgICAuay1pY29uLXRleHQtd3JhcHBlciB7XG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tY2hhcnQtd2l6YXJkLWNoYXJ0LXR5cGUtc2VsZWN0ZWQtY29sb3I7XG5cbiAgICAgICAgICAgICAgICAuay1pY29uLWJhY2tncm91bmQtYXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRrZW5kby1jaGFydC13aXphcmQtaWNvbi1hcmVhLXNlbGVjdGVkLXNoYWRvdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgLmstaWNvbi1iYWNrZ3JvdW5kLWFyZWEge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAka2VuZG8tY2hhcnQtd2l6YXJkLWljb24tYXJlYS1mb2N1cy1zaGFkb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstaWNvbi1iYWNrZ3JvdW5kLWFyZWEge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1jaGFydC13aXphcmQtaWNvbi1hcmVhLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNoYXJ0LXdpemFyZC1pY29uLWFyZWEtYmc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQG1peGluIGtlbmRvLWNoYXJ0LXdpemFyZC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hhcnQtd2l6YXJkLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLWNoYXJ0LXdpemFyZC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hhcnQtd2l6YXJkLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tY2hhcnQtd2l6YXJkLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJjaGFydC13aXphcmRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY2hhcnQtd2l6YXJkLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY2hhcnQtd2l6YXJkLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hhcnQtd2l6YXJkLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIERhdGEgbWFuYWdlbWVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9ncmlkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZ3JpZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vbGlzdHZpZXcvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0dmlldy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc3ByZWFkc2hlZXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zcHJlYWRzaGVldC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJzcHJlYWRzaGVldFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImNoZWNrYm94XCIsXG4gICAgICAgIFwiY29sb3ItcGlja2VyXCIsXG4gICAgICAgIFwiY29tYm9ib3hcIixcbiAgICAgICAgXCJkYXRlLXRpbWUtcGlja2VyXCIsXG4gICAgICAgIFwiZHJvcGRvd24tbGlzdFwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwibWVudVwiLFxuICAgICAgICBcInJhZGlvXCIsXG4gICAgICAgIFwidGFic3RyaXBcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgICAgIFwidHJlZXZpZXdcIixcbiAgICAgICAgXCJ1cGxvYWRcIixcbiAgICAgICAgXCJ3aW5kb3dcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2hlY2tib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jaGVja2JveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3JhZGlvL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcmFkaW8vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb2xvcnBpY2tlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbG9ycGlja2VyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tYm9ib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21ib2JveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2RhdGV0aW1lcGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGF0ZXRpbWVwaWNrZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90b29sYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbGJhci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3VwbG9hZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3VwbG9hZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL21lbnUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZW51L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vd2luZG93L19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvd2luZG93L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdGFic3RyaXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90YWJzdHJpcC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RyZWV2aWV3L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdHJlZXZpZXcvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3NwcmVhZHNoZWV0L192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9pbWFnZXMvaW1hZ2UtZGVmYXVsdC5zY3NzXCI7IC0+IHNjc3Mvc3ByZWFkc2hlZXQvaW1hZ2VzL2ltYWdlLWRlZmF1bHQuc2Nzc1xuQGluY2x1ZGUgZXhwb3J0cyhcImltYWdlLWRlZmF1bHQucG5nXCIpIHtcbiAgICBAaW5jbHVkZSByZWdpc3Rlci1kYXRhLXVyaShcImltYWdlLWRlZmF1bHQucG5nXCIsIFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFjd0FBQUdRQ0FZQUFBQWpsMUFLQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUE0WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVFExSURjNUxqRTJNelE1T1N3Z01qQXhPQzh3T0M4eE15MHhOam8wTURveU1pQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEcGhNR1ZtTXpabVppMDRZbUkxTFRSbE4yWXRPVGN3TVMwNE9UVTVaVGcxTjJaaFkyTWlJSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNRE5ET1RCRE5VUTJPVUpHTVRGRk9Ua3dNelk0UlRJM05qWkJRVGRFTmtNaUlIaHRjRTFOT2tsdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk1ETkRPVEJETlVNMk9VSkdNVEZGT1Rrd016WTRSVEkzTmpaQlFUZEVOa01pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01Ua2dLRTFoWTJsdWRHOXphQ2tpUGlBOGVHMXdUVTA2UkdWeWFYWmxaRVp5YjIwZ2MzUlNaV1k2YVc1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRwak1tWm1aak0wTWkwNU5qRXlMVFF3TTJZdFlXWmhZUzAxTVRFMVpqUTJOVGhtTVdNaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUltRmtiMkpsT21SdlkybGtPbkJvYjNSdmMyaHZjRHBoWWpsaE1tVXdNeTFrTm1Jd0xUWTNOR010T0RjNFpTMHlNalV6TWpka05ESTVPVGNpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo2OFVITGJBQUFncEVsRVFWUjQydXpkMlpOYzlkblk4VE9MOWdVMElBa2pnd3BrSThRT1FtSTFGUytGSFc5Vkx0Lzd3cFdiOTAwcUtWK2xUTDN2VFp6RWxTdm5KaWxmdk00ZmtRdW5mRU93MkxVZ2lVVXNOaGlNQUZzanRJelFycG1KbmhPZG9hZW50K25wNVN5ZlQxWFhpSjRSMGh6MTlMZWYzMWw2WkhaMk5nRUFXaHUxQ1FCQU1BRkFNQUZBTUFGQU1BRkFNQUZBTUFGQU1BRUF3UVFBd1FRQXdRUUF3UVFBd1FRQXdRUUF3UVFBTXVQOS9nTkdSa1pzWlFBR29wL3Y4V3pDQklBOFRKajlHRnI5c3dHVVl5QVVUSEVFb0x2bitOeEdkTHdnRzFCRUFhb3hZWTdrTlo1NUMrYklFdTREb0ZpeEhHa1QwSkU4UlRNdndXd1h4UkhCQktoTVFHY2JQTjhQUFp4NUNPWkloNkVjRVUrQVFnZXgyZlJZSDh0bTRSeHFOSWNkekdieGEvZFJPQUdLT1QzV2huQ2s1bk96VFg1UGJxSTV6R0IyRXN0bXYyNFhUd0R5TzJIT3RvaGkvZjI1aWVhd2d0a3FsdlcvSHVrZ25xSUpVTHhZMXY5NnRzVjBPdlJvNW1rZlpuMFlSNXRFczkyMENVQitvOWtva3ZXM21RNmlXWWtKYzZSTkxPdHZvNy84NVMvWC9lSVh2L2pudFd2WC9talpzbVZmR1JzYkczZU5Xb0NDbHZPcTZlbnB5MWY5L1lzdnZ2amZ2L25OYi83enIzLzk2ek0xb1J4TjJ1L1RISGhBUi9wNW9kcjBEMWdZdHZwZzFrZHp0T2JqNk4vLy92Zi9OREV4OGUvR3g4ZVhlWmdCbE0rVksxY3Vuemh4NG45dTNyejVuNjVGYzZabTBteTBkRnMvdGRiR3VHOS96MkZlZkwxUk9PZGkrWk9mL0dUbDFOVFUvOTIwYWRNdnhCS2d2T0k1L3Vwei9YK0k1L3g0N3E4Ym5FYVNuQnl2TXVnSnMxRWtSeG9FY3l3MjNMcDE2eDcyVUFLb2pqTm56dXhmdjM3OU42LytjcnJCbERuYmJzb3M0NFRaN01vK2FUU1BIVHYyWDhVU29Icml1VDhhMEdTNkhPcVVPZXdsMlFXM09NQm5ZbUxpSHoxc0FLb3BHaEF0U0ZxZkpUSDRhQTFwU2JiUlVteDZtNXljL084MzNuamp2L0dRQWFpdTQ4ZVAvNitOR3pmKysrVExnNEFhTGMwbVNRV1daSnVOMWlOcjFxejV2b2NLUUxWZGJjRy9UbkoyY1pwQkJyUFYxWG5tcHMxbHk1WnQ4bEFCcUxhckxkaVlOTDlZVGJPbWxDYVk5ZkZzZEhtOGtiZ29nWWNLUUxWZGEwSFRWcFI5d3V3b25xN2dBMENENDE4cXRTVGJ6ZFFKUUlXN21hY3VqT1pnWXdCQTdwc3htck9OSUtBQTVMSU40MlhhSUZldVhFbW1wcWFTaXhjdkpqTXpNeDVxQU1PWXhFWkhreFVyVmlUcjE2K1A2OFQyc2hHVmUzdXZ2b2hZVGs1T0NpWEFrTVh6OFBuejU5UGhaZVBHamIySVpqNWVDSlRsSHlnbVM3RUV5RmM0NDdtNU5KTnpXYjZSZUNVRFFMNWN1SEJCTVBQNFNnYUFmT24zOWNvRkV3QnlwalFIL2JoQ0VBQW1UQUFRVEFBUVRBQVFUQUFRVEFCQU1BRkFNQUZBTUFGQU1BRkFNQUZBTUFGQU1BRkFNQUVBd1FRQXdRUUF3UVFBd1FTQUFoa3Z5emN5TWpMaVh4TUFFeVlBQ0NZQUNDWUFDQ1lBQ0NZQUlKZ0FJSmdBSUpnQUlKZ0FJSmdBSUpnQUlKZ0FJSmdBZ0dBQ3dCSjVleThBTUdFQ2dHQUNnR0FDZ0dBQ2dHQUNnR0FDZ0dBQ0FJSUpBSUlKQUlJSkFJSUpBSUlKQUtYZzR1c0FZTUlFQU1FRUFNRUVBTUVFQU1FRUFNRUVBTUVFQUFRVEFBUVRBQVFUQUFRVEFBUVRBRXJCeGRjQndJUUpBSUlKQUFNemJoTUE5Y2JHeHBMeDhmSDBGcjhlSFIxTlA4YXVqK3dXWm1kbjUyN1QwOVBKek14TSt2SEtsU3ZwTFg0TmdnbVVLcERMbHk5UGI4dVdMVXNEMlluYWVNYi9vMTRFOVBMbHk4bWxTNWZTbTRBaW1FRGhSQlJYcmx5WjNtS1NySFhtekpuazVNbVR5YWxUcDVJdnZ2Z2l2VjI4ZURHOVJmUWlndWtUeUxVcGRNV0tGV2xzMTY1ZG05NnV2Lzc2Wk1PR0RjbjY5ZXZUejhVdHhOUjU0Y0tGOUJZeEJjRUVjaXZDdG1yVnFybUlaWUdjbkp4TVB2MzAwK1J2Zi90YkdzWk1MTGMya3kyOW5qOS9QdjN2WThlT3pmdDgvQmszM1hSVHNtWExsbVRUcGszSnVuWHI1cUlhZjBiOHZwZzhvUWhHV3YwdzlPUVArUEowajVHYWo5bHR0T1lXNnpsalYvOCtKN3Y1YytwL1VJRmtRYnpXckZremI1cjg4TU1QazcvODVTOXBLT3QxOHR6UTZtc2FmZTdtbTI5T3RtM2JsdHgyMjIzem9udjI3Tmw1a2FaYzRzVlNsLzNZY1BYRDlMWGJUTTF0dHVhVzFIeE0rdGswd1lTU2kzMlNNZEhGeDVCTmt1KysrKzdjMG1xdkl0bHBST1B2c21QSGpybkpNOFRmSlpaKzYvOU9DS1pnQ2liMFZleWpqRkRHUHNydytlZWZweFBsTysrODAvTnBzcHRwTTNQWFhYZWxFK2VOTjk2WS9uZnMzNHh3MnNjcG1JSXBtTkIzc2Z3YSt3dXpvMTMvOUtjL0pYdjM3aDFvSkZ0OXZ0SDlqejMyV0xKOSsvYjAxeEhMMks5cW1WWXdCVk13b1c4L2J4SEtiS3I4K09PUGt3TUhEcVQ3Q1BNd1RiYjdYRXpFdTNmdlRyWnUzVG8zYlVZNCsvMDhoV0FLSmxSSW5BY1pwM0hFL3NFNDllUGd3WVBwZnNwaFQ1T0xuVFJEN04vY3RXdFgrajNGUHMycHFTbm5jQXJtMElQcHRCSW9nWWprZGRkZGx5N0J4a0U5TDcvOGNzZVQyYkNteVZiM0h6bHlKRGw2OUdqeTFGTlBwVSsyY1U3bjZkT25IUkRFVUpWbXdvd25DYWlpT0s4eUpzdjRXZnZyWC8rYXZQVFNTK21wR2tXWkpsdDlMaWJNaUdZY0ZCUmZFNU9tOHphTForUEdqYVdZTUYxOEhRb3NEdTdKWXZuKysrOG5lL2JzYVJuTDdMcXYzWHkrOXJxeDNYeXUwOTlUZTM5OEw4OCsrMnp5M252dnBkOWpkdVVnR0FaTHNsRGd5VElPOEltUS9QblBmMDVlZWVXVlFrK1RyZTZQRndMeE1ZNmlqZTg1Zm0zU1pOQk1tRkRFVjdyajQzT1RaYk5ZRm0yYWJIZi84ODgvbng3RWxFMmE5ZGUvQmNFRTV2L1FqbzZtQi9oa3k3RDFzZXcyaEozKzNsNEdkTEgzeDZTWkxjOW1Cem1CWUFJTFpOTlZoT0tqano1S2o0YnRWUWp6TkUyMnV2KzU1NTVMUHZqZ2cza3ZIR0FReHN2MFJBSmxGeGRQajFOSTRqSjNFY3RCbnhMUzYzMlRuZDdmS0pxeExUWnYzcHhlN0NBdXBRY21UQ0NWdlMxWGlHWFladWNrTG5WaXpOTTAyZXkrK040am1uRXhnN2lxa1NObkVVd2dGU3NvTVVtRjJJZDM0c1NKanFQV2o4LzE4LzVPNHhsdmJwM3R2NDFwMHlvVGdnbWtRWWg5ZG5GdDJGZGZmYldqcWJDYnlYQ1FVMk1uMDJTN3FMN3h4aHZwKzNuR3RvbHRCSUlKRlJhblQyUVhVOSszYjEvSFUrRmlKcjI4VHBPZFJQWEZGMTlNUDhZMmNxb0pnZ2tWVnJzVUd3ZTNET0tVa0Y2ZEt0TExhYkxaL1hITjNMZmVlbXZldGdMQmhJcUpnMWxpYW9xallsdGRuR0JRNTBjT0k0anR2alorL2NjLy9qRjl4NkxZVmc0QVFqQ2hncktqWXVPOHczNU5rMHNKYUsrajJzM1hadUpOc211M0dRZ21WRVNjUmhJVFUweE9iNy85ZHU1UENSbkVOTm5xYXc4ZE9wUjg5dGxuNlRhTGJRZUNDUldSSGVqenlTZWY1UHB5ZFlPY0p1dVhZdXZ2aTdjM3E5MTJJSmhROWgvTTBkSDBpajdoblhmZXlkMDBPWWdndHZ2YVJ2Y2RQbng0YmpwM25WbDZ6YVh4SUlmaXdKVjRUTWYxWXJPM3Njcjc1ZXJ5OExXeHJlSWRUZUp0d0dMS1BILyt2QWNUSmt3b2V6QkRIT3hqbW15L0ZGdDdmd1N6ZGh1Q0NSUEsraXAyZERROWNHVnFhaXFkTUFjNU5SWnBtbXgyWDJ5enVHemU5ZGRmbjI3TG1aa1pEeXBNbUZCRzJSR2VjWFRzb0tmR29rMlR6WDcvcDU5K09tOWJnbUJDQ1dVSCt4dzllalQzUjdxMiszOHNOWjdkL3Y0UFAveHczcmFFWHJBa0N6a05aallsMVlhaG1hVXVkeTcyL240c3BmYnk5OGRGNmdVVHdZUVNHeHNiUzQrT2pmMlhGeTllN0h2NGlockVkdmZGMGJIWmZzellwdkcrbVNDWVVMSmdodE9uVHc4OGZHV0w1K1RrWkJyTU9JQktNT2tGK3pBaGg4R002YWcrQkhtKytIa2U5Mk1lUDM1ODNqWUZFeWFVNlJYc3RhdlR4SVJwbWx6YTEyYmIwQlYvRU13NnJ2UkRLWDRncjcwQmN1ekRiRFJGRFR1SVJZcG5iTU5zd3ZUOGdHQkN5V1JQN09mT25SUEVKWDV0dGczRkVzR0VFZ2Z6d29VTGhiL2l6ckRqbVYxSFZqQVJUQ2h4TU9zdjV5YWVpLy9hSzFldUNDYUNDV1VQWnJ6cmhpQXUvWjFMQkJQQmhKSmJ5Z0UvNHRuNnFrZ2dtRkNTVU1aRUZKZDB1M3o1Y3FHQ2xMZS9hM2JoZGZGRU1LSEV3WXhUSWJJbHhiSUViZERubEdZWExCQk1CQk5LR3N4c09zcU84aXhqL0FZUno1VXJWd29tZ2dsbEQrYnExYXNYWEI0dkQwRWE5dTlmelA4anRxRmcwa3V1R1FVNWtsMGtmUDM2OWZOaU1LanJyL2JqV3JHOXZOYnNZcTZabTIxREYxN0hoRm5Ib2VPVVFYYis1WFhYWFZmNXBkaWwvajlpRzJiYjFQTURnZ2tsblRBM2JOaFF5Q0FPK210YjNiOXg0OFo1TDBKQU1LR0V3WXozY2F6YU9aSzlqbWNXek95S1B5Q1lVQ0l4RGNXVGZpd254bEdlY1UzWlBNUXY3OU5rL2YyclZxMUtKaVltMHZ0Tm1QU0tnMzRnWitLQ0JXSExsaTJGUERDbjI2L3Q5di9SNlA5ejY2MjN6dHVXSUpoUVF0a1NZdmFrMzBsTWxocTBRUVN4bDBmQXRyby9icmZkZHR1OGJRbTlZRWtXY2pwaGZ1VXJYNm5jMVhsNmRmOVh2L3BWRXlZbVRDaTcyT2NXQi8vRWZzeHQyN2Exbk1TS3VoVGJyL3REVEpjMzNIQkR1ZzN0djBRd29lU3k2OGgrL2V0ZkwveFM3Q0R2ajlzOTk5d3pieHRDcjFpU2had0dNNDcwakFrenJpdmJpL2ZISFBUeWFyK1hZaHQ5THJiVjNYZmZMWmlZTUtFcVlpa3gyLzkyMzMzMzVYcWFITmFVMmVoekR6LzhjUG94dHAzbFdBU1R3anQrL0xpTjBJR0xGeSttSDdkdTNkcnorUFU2ZklQWU45bnMvdHJQM1g3NzdmTzJIZlNTYThreThGZysvL3p6eVpOUFBwbHMyclRKQm1raFRvbUlBMWZpYU5rSEhuZ2dPWGp3NElKSU5BcEhzNkFNNm1zSGNYK2p6KzNldlR1NTVaWmIwbTBXMjg1ekFpWk1DaDNMUFh2MnBPL3pHTkU4ZHV5WWpkSkdkcVdmT1BpbjIya3lyMGZBTG5hS2JmZTV1KzY2YTk0MkE4R2s4TEhNbnRSRXM3M1lGeGNUMDAwMzNaUjg4NXZmekVVUWx4cTlwUVMwMmVlKzk3M3ZKVGZmZkhPNnJaeDdpV0JTbWxqV1RrK2kyZDY1YytmU2ovZmVlMit5YnQyNndsNnVycGNCcmYxY3ZPL2xRdzg5Tkc5YmdXQlN5RmhHRk90aktacWRpNmtwTzBYaXFhZWVHdWcwMmN2TDFmWGk5elQ2ZlU4Ly9YVDZNYmFSTjR0R01DbDBMTnU5NnMraU9UazVhYU0xRVM4NEloSmYrOXJYa205OTYxdWx1TUJBTjlOay9lZDM3ZHFWYk4rK1BiMi8yWXN5RUV4S0VjdmFhTWF5cldnbVRZT1JiY3M0THpON3I4ZWlYSzZ1VjlOa3JYaVQ3WGp4VVB1Q0FnU1RRc1l5bnNUaTBQNU9iM0h1bkVtenVUaVlKVHUvOER2ZitVNHlQajVlcVdteTl2UHh2Zi80eHo5T1A4WlNyS3Y2SUpnVU9wYmRzRHpiZnZ0a1I4MSs5N3ZmWFhUSThuS0JnVzQvbDMwK1lobnZTQkxid2xJc2dra2hZL25DQ3k4cytRbE1OSnVMWUp3OWV6YjllTWNkZDh4Rk15OVRaaTgvMSt6UGkxanUyTEZqM3JhQVFSanA5NE90NW1vYkl6VWZzOXRvelcwc2JsZi9QaWU3K1hOT256N3RYM09JSW02OWlHV3RsU3RYdWlKUUUyTmpZOG1hTld2U242ODMzbmdqK2NNZi90QXdOczBpMUl2N2gvRzVILzd3aCtsVmo3SllPaXEyR09LdDZycnN4NGFySDZhdjNXWnFick0xdDZUbVkxOWZRSmt3eVdVc3Mwa3ovcjlPT1Zrb1FoRUhBY1dUUTV5ZldUdHBsbW1hclBXREgveGdMcGJ4dllzbGd5YVlMRW0yREJ0eFc4d0JQb3M1RUVnMEc0dnJwV1pIaDBZMDQybzNlYnRjWFNjaDdPVHpQL3JSajVJSEgzeHc3dlNSK041Qk1DbFVMR05mWTcrdjNTbWF6Y1dSczlta0dXK2NuQjA1bW9mTDFTMzFTTmpzYU5pZi92U255ZjMzM3o4M1dicjBIY05pSHlhNWptV3RGU3RXMktmWlJPMCt6VTgrK1NUNS9lOS9uNXc4ZVhJdVBxMm10OFhjdjVUUExmYnpFeE1UNlF1QWVBY1MreXlMclN6N01BV1RybUxaajMyV25jZ09CTXBPM09kTG82T2p5ZXJWcTlONFJsaWVlKzY1WlAvKy9UMEozbEpDMk0zdmpTdjRmUHZiMzA2V0xWczJ0Ny9XRzBJTHBtQUtwbGlLWms5LzNtTDdMRisrUFAzdjk5NTdMM24yMldmVG40ODhUNU8xVDZ4eGJkZzc3N3d6L2UrNElFR3NZamgxUkRBRlV6QUxHY3M4dk45Z3Rqd3JtbzNGWkxacTFhcTVuNzk0OCtuNlUwK0dNVTIyK3BydmYvLzd5YzZkTytlK0psNlUyVjhwbUlJcG1HSXBtZ09mTmovOTlOUGs3YmZmVHZidTNadUxhVEx6eUNPUEpIZmZmWGV5WmNzV1U2VmdDcVpnRnR2bm4zOCs5R1ZZMGV4ZUhHa2E0WXg5bStIbzBhUEpCeDk4a096YnR5K05VNytXWkZ0OVRmeTc3ZDY5TzltMmJWdDZVRStJZlpVUlNxZU1DS1pnOWptWVUxTlRIcFY5bkN6emZMM09pTUVUVHp6aDZOa093aG1oeXNJWjNuMzMzZVROTjk5TVB3NWltb3g5azNINlMxemFMaE9oakZPSGhMSzg0azIrQlZNd3hWSTBDeG5PMk1jWnQ5cFZoSTgvL2poNS8vMzNrNDgrK21qQnYzbTMwMlRzUjkyNmRXdjZQcDYzM25wcmNzTU5OOHg5THZaUHhrMG9CVk13QmJQd3NYenh4UmNMOVU0UWxtY1gvN09aaGJOMjZzd0NHaGVLaU51cFU2ZlNXNXpha1YxbEozczdyZXozeHd1V09BLzArdXV2VDIveGI3QjU4K1o1Z2N5bXlTeVU5bEVLcG1BS3Bsam1ZTklVemNXSmN6aGo4b3h3eHNlYW45c2xpZWVYQ0d5RU1qNDZsMUl3QlZNd1N5TW1pNGhsVEJORkpacTlDV2pFTXo1bXQrejZ2clUvMTluelIzWXB1d2hpZG90SUNpU0NLWmlsam1VWjNwQTNsbWRGRXdTenB5OGsvVk5TdGxpR09Pb3l2aDl2UWcwSUptTFpRVFJmZXVrbDBRUUVFN0ZzSjA2RUYwMUFNRmx5TENNbS9Ycno1N3pjc2tremp2NEZFRXk2aW1WWko4dDYyVDVOMFFTNlZacWpaTStjT2VOZmN4R3hMUE15YkN0eHlzbmpqei91NkZrWW9IWHIxblhiRDBmSklwYkRZcDhtWU1JMFlYWWN5enk5UmRld3hIbWFKazB3WVpvd2FSakw3QUFmbkhJQ0NDWXRZbG5WWmRoVzBYejU1WmRGRXhCTXhMS2RtTGdqbW82ZUJkcXhEN1BFVHB3NElaWWR5dlpwM25qampUWUc5Smg5bUlobGliaTRBVkNaQ2ZPTEw3N3dyM21OQTN5V05tays5dGhqanA2RkhscTdkcTBKRTdFczQ2VHBRQ0JBTUNzUXkzaXlGMHZSWlBnOGZnU1RuTWZTUHN2ZVJmT1ZWMTd4cEVkWFlsLzQ4ODgvbnh3N2RzekdLQkg3TUUyV3RKRHQwM1QwTEl1SjVaNDllOUlYcjNIdDRtOTg0eHZKcGsyYktyMU43TU1rRitKb1dMSHM3NlRwUEUyNmlXV0luMHVUWm5rSXBsZ2ltdlFobGhuUkZFeHlFa3Y3TEVXVGZNUXlvdGpzemRqajhmUENDeStJWnNIWmgybXlaQkZpbithamp6NXFueVlMWXRuSmk5ZllwL25razA5V2JwOW1XZlpobGlhWVo4K2VyY1FEendFKytZbW1peHNRUjFGM0dzdmFhRmJ0UUtBMWE5YVVJcGlXWkFzV3l6alZRU3lIeXlrbjFNYXkyVEpzczFzOGZ1elRMQ2JCTEZnczdiTVVUZklWeTI0ZlA2SlpQSlprQzhBK3kveXlUN09hc1l3RGVIcng0clVxK3pRdHlTS1d6RTJhanA0VnkyN0V6N1dqWjR0RE1NVVMwV1FJc1JUTjRyRWttK05ZT3NDbldHSjU5cEZISHJFOFcwSzE1MW4yU3l6UFB2SEVFNlZjbnJVa2kxaXlZTko4OWRWWFRacGkyZldrK2VLTEw1bzBjMHd3eFJMUlpNaXhGRTNCUkN4RmswTEhNdll0RHZyblVUVHpxelQ3TU0rZE8xZm9mNGc0enpLZVpNV3lQT3pUTEs1K0hlQ3pHR1U2NVdUMTZ0WGQ5c00rVE1UU3BFbmVZN25ZSy9qMCtoYVBINU5tdmdqbWtNVXlyRmlXTzVwNzkrNFZ6UUxHTWc4c3orYUxKVm14WkFCaWVYYjM3dDJXWjNNczIyZVp4OHRQRnYyVUUwdXlpQ1VtVGJFMGFWYUlZSW9sQTR6bXZuMzdSRk1zUlZNd0VVczZlZElUemZ6RmN0Z0grRGdRcUJqc3d4eHdMR05aVGl6SjltbmVjTU1OTnNZUVl4bnhLZUpiNW1YN05JdnlKdWIyWVNLV2RDM2JweG1uRkRGNHNkMGpsa1daTEp0Tm10NlAxWVJadWduejVNbVQ2VEpzUE1paDF2TGx5MDJhUTRwbEdkNk1QU2JOeHg5L1BQZVRabGttek5JRU02OFBmcE1sN2NUeTdLNWR1NXh5TWdCRlhvWnRGODA4bjNLeWF0V3FVZ1RUa3F4WU1tU09uaFhMcFlqbmw1ZGVlc255N0FDWU1Qc2NTOHV3ZE1yeWJQOWpXZVlYcjdGU2tkY0RnVXlZaUNVOWRlblNKUWNDOVNtV01ZR1ZmYVVubm05TW12MGxtSDJJWlN5dmlTWGRSak1lUDZMWjIxaVdiUm0yR2N1ei9XVkpWaXpKb1ZpZWpRT0JMTStLWlRmeWR2UnNXWlprQlZNc0VjM1NxVDNQc3FwaW4yWmVvbWtmSm5QaVBNdjkrL2VMSlQwVnk3UHh1TEk4SzViZGlPZWpsMTkrMmZLc0NUTS9FMmJFMG1SSnZ5Zk5oeDkrMktRcGxsMko1ZG5ISG50c3FKT21KVm5CRkVzR0dzMVlucDJZbUxBeFdzU3lDa2ZEZGlOYm5oM1d4VEVzeVZhY1dESkkyZkpzN0N0SExCY3JPK1hFeFRGTW1LbEIvcURFazVaOWxneHIwclE4TzE5VnpyUHNoV0V0ejhhZmE4S3NJTEVrRDVPbUE0SEVzdHZCd29GQUpzeUIvTUJZaGlVdllwL1V6cDA3S3oxcFdvWmQydU5ua0pPbUNiTml4Skk4aWNmaGdRTUhLanRwaXVYU0h6OG1UUk5tMzJKcEdaWThpbjJhVlpzMHhiSzNrOStqano3YTkwblRoRm1oeVZJc3lhdllweG1UWmxXT25vMVl4bVFrbHIwUjIvR1ZWMTV4OUt3SlV5eXAxcVFaUjgrVytUeE5zZXlmYko5bXY4N1RMTXVFS1pndFlobXYzTVdTSWtVemxtZkxHRTJ4TEhZMExjbVdtRmhTUkdWZG5oWEx3Y2dPQkxJOEs1aGlpV2dXVUh3ZnNZOU5MQWNYVGZzMFcweThsbVMvZE9yVXFYU2ZaVHpwUUpIRjh1eEREejFVNk9YWmlLWEpjamhpZVRhT251M1Y4cXdsMlpLSldNWXJjN0drTEpQbXdZTUhDenRwaXFWSk00OEVzeWFXbG1FcDI1TmVFYU1wbHFLWlY2VlprdTAyZHJIUDhyWFhYaE5MU3F0SXk3TnhnRTg4U1Evci9XMVpLTHU0d1ZLV1oyT0p0OHQrT0swa0w4RVVTNm9pbnJBZWZQREJYRWN6aTZYSk1wK1BuNlZFc3l6QnJPeVNyRmhTSlhsZm5oWEwvRDkrTE05V2RNS01mWlppU1JYRjhtemVKczNzMUJITHNPV2ROQzNKRmpTWVlva252UlhKQXc4OGtJdG9Pcyt5bUkrZlJ4NTVaRkhSRk13Q0JqT0xwVk5ITUdrdUgzbzB4Ykk2MGJRUHMyQWlsckVQUnl6aC81K25lZWpRb1hSZi9yQmkrZXFycjRwbFFjV0FFdjkrVmR1bldZbGdackcwREF2RGoyWVdTL3NzaXgvTnZYdjNWdXBOekV1L0pDdVcwRnEyVDNQRGhnMG1TN3A2L01UeWJLczNNYmNQc3dEQlBIMzZ0SDJXMElGc24yWS9veG1UckgyVzFZeW1ZT1k4bUJGTGt5WGtJNW9SUzVObCthTzVlL2Z1aHRGMDBFL09SSml6bTFqQzR0WHUwNno5ZVZycVRTeXJvWGFmWnYxam9EU2RLY3VFbVMyN09ob1c4ak5wMm1kWjNVbXo5cFNUZUV5VlljSXNWVEFqbHZFSzJXUUp3NDlteERJbURyR3NaalIzN2RvMUYwM0J6Rmt3angwN2xzYlNaQW05c1d6WnNxNmpLWmJVUnJNc3dTek5Qa3l4aE42NmZQbHljdmp3NFVXZnB5bVdoRmpwMjdkdlg2bk8weXhOTU1VUyt2Tnp0WmhvaWlYMTBZekhRMW1NbCtVYktkT1JXSkRIU2ZQKysrOXZ1VHdiVVkySklwNGsvVHhTeG1GbTFEOG4wR2swbTAyYWNiL0prcklUVEtEamFMNysrdXZwMGVoaWlXQUN0QkRMYTBlT0hFbW1wNmZGa3NxeER4UG9XSnhxY3Q5OTl5VmpZMk56c2JUUEVoTW1RRjBzZCs3Y21heGR1M2JlQVQ0Z21BRFh4SW5uRWN0MTY5Yk54ZEl5TEZWalNSWm9PMWsrOU5CRGFTempQRXV4UkRBQldzUXlKc3Y5Ky9mYlowbGxXWklGT29xbHlSSVRaa2w0eFF1OWoyWHRBVDVpaVdBQ3RJbWxaVml3SkF1MGlHVzJ6eEt3SkF0a1R3Ymo0d3RpYVJrV1NoaE1ZR21UNVlNUFBwakdNcTRWNjJoWVdNaVNMSWpsdkZpNmdnK1VmTUwwU2hpNmVBSVlIMjg0V1FJbERpYXcrTW55Z1FjZXNBd0xKa3lnVlN6dnYvLytCVmZ3QVV5WVFJUEpVaXhCTUlFT1lubmd3SUgwVGFHdDBFQ0ZndWtISHRySE1wWmhhMk5wc29UT09hMEV4QktvMG9RSnRJOWxIQTM3Mm11dldZYUZLZ2ZURHo4MCtBRWZINThYUzVNbENDYlFZTEs4Nzc3NzVrNGRNVm5DMHRpSENSV0pwY2tTVEpncHI1cmgyZy8xK0xoWWdtQUNuVXlXMmRHd0J3OGVGRXNRVEtDVFdGcDlBY0djeDVNQ2xmNUJ2cllNYTdLRS9uSFFENGdsVUtVSkU2b29sbUh2dmZmZXVmTXNEeDA2NU5RUk1HRUNyV0pwc2dRVFprZThvcVpTUDdqajQySUpnZ20wbXl6dnVlZWVlYkcwREF1Q2FjS0V1c215VVN3QndRUnFZaG5Mc0d2V3JKbDNnQTh3R0E3NmdZTEcwajVMTUdFQ05iSjlsbGtzRHg4K2JKOGxDR2IzUEhsUTFzbXlQcFltU3hnT1M3SlFnRmllUG4xYUxNR0VDZFNMWmRpNzc3NTc3bWhZeTdBZ21EM2ppWVF5VFpiMXNUUlpnbUFDZGJHMHp4SUVFMmdoVzRaMU5Dd0labDk1VXFIb2syV2pXQUw1NFNoWnlGa3NYMy85ZGJFRXdRU2F4VEpPSFlsWTJtY0pPZjE1dFFrZ0g3RzB6eElFY3lBOHlWQzBXTjUxMTEwTFlna0lKdEFrbHJFTWUvbnlaUy82SU9mc3c0UWh4OUprQ1NiTWdmTHFuS0xFY3ZYcTFXSUpnZ2wwRXNzMzNuakRNaXdVakNWWkdFSXNUWlpnd2h3YXI5VEpheXgzN05naGxtRENCRHFONVp0dnZpbVdZTUkwWVVKOUxPKzg4ODRGc2ZRNEJSTW1VRGRaeHFralUxTlR5VnR2dldXeUJCTW0wQ2lXSmtzUXpOenloRVFlWXRsb0dSWW9CMHV5MElkWVdvWUZ3UVE2aUtXMzZBTEJCTVFTcXZuelhwWnZ4RDVNaGhITDdkdTNMMWlHOVZnRUUyYXVqWTJOK2Rka0tMR01VMGVPSERsaW55V1UvTG01TkJQbSt2WHJrNU1uVDNwME12QlltaXlodVltSkNjSE1tMXR1dVNVNWMrWk1NajA5N1JGS1gxOHRONG9sMFBqRjVXMjMzVmFhNzJka2RuYTJ2My9BbDYrNlIybytacmZSbWx2TTdXTlgvejVkajRrWExseElqaDQ5bWo2UkNTZjkrT0cvNDQ0N3hCSTZlR0VaazJYRU1uNWVsdENQRFZjL1RGKzd6ZFRjWm10dVNjM0hwSjlOeTBNd1I2N0ZNbjQ5dnBSZ0FsQWUxNEo1NVZva3A2K0ZjV2pCek10QlB3dSthUUFxTDFkdEdNM0p4Z0NBWERkak5HY2JRa0FCeUdVWFJ2TzJRYWFucDBVVG9PSm1abVp5Rjg1aEJiUFJONS9lZCtVcUR4V0FhcnQ4K2ZLVlZxMG9lekFiN2J5ZHJkc0FzeGN1WEpqMFVBR290blBuemswbUxZNkdUWVp3UUZCZWxtVG5mbjNtekpuZmU2Z0FWTnVwVTZmK1Q1TkFEazJlVGl0SmI3Lzk3Vy8vK2Vvbzdxb0RBQlYxNmRLbDZkLzk3bmYvMUdEQ0hLcEJYcmdnL2M4R0h4ZGM5ZWZFaVJQL2JjT0dEZi9Xd3dhZ2VqNzQ0SVAvc1czYnR2K1lkSFoxbjNrUks4dVZmbXBEV1IvTEJWZitPWC8rL0hNclY2N2M2YUVEVUIzSGpoMDdzSG56NW4rVk5MK3lULzNFT2JCZ0RucEp0dG5SVHZXM21aLzk3R2RQWDdodzRTMFBINEJxbUp5Y1BQTHpuLy84NlJhUm5HM1RsUDRPZ0FPZU1KdE5tVW5kaERtM1JIdml4SW4vc25yMTZuOVlzV0xGTWc4bmdQSzVPaHhkL3V5enozNTcrKzIzUDVNc1hJS2RTUmFlVWRFMG1HVy9sdXhzazRrenZkanV4TVRFTTcvNjFhOXVQWHIwNkw5TVRVMTlkdW5TcFN2OWpqd0EvUk1YSmJoNDhlS1ZreWRQZnZiaGh4Lyt5elBQUEhQcjFWaitNdm55WFVuYUxyME93ekFtekVaVFp1MjAyZWt0YWZBUmdIeHFkTERPWW01Skp3SHRaOVBHYzdJUlJ4cHNpRmFSSEdrUlhnRHlHY3RHd1V6YUJESTM3MWd5UHNTTk45SW1tbzNpbVlnbFFLbWltWFFReWFFZTdKT0hDYk5WTkVlYWJLRGErK3NqS1pvQStZOWxKL0hNWFN5SEhjekZUcHIxWDE4ZlRrY0NBWlFubkxtS1pSNkMyU3lhU2RKK2lUWVhHeENBdnNVek43SE1TekFiUmJDVGNBSlFubUMyaW1JdUdqQ2V3NDAzMG1aRENTaEFlYU9adTFEbU1aaU5OdEJJM2pjZ0FBT05xR0F1WXNNNUdoWkFIQVd6YkJzWWdISVl0UWtBUURBQm9DZjZ2aVRyblVVQU1HRUNnR0FDQUlJSkFJSUpBSUlKQUlJSkFJSUpBSUlKQUlJSkFJSUpBQWdtQUFnbUFBZ21BQWdtQUFnbUFBZ21BQWdtQUNDWUFDQ1lBQ0NZQUNDWUFDQ1lBRkIwLzArQUFRREhIeFFFTU1SSXJ3QUFBQUJKUlU1RXJrSmdnZz09XCIpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gU3ByZWFkc2hlZXRcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgU3ByZWFkc2hlZXQuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBTcHJlYWRzaGVldC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgU3ByZWFkc2hlZXQuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBTcHJlYWRzaGVldC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgaGVhZGVyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgaGVhZGVyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgaGVhZGVyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgU3ByZWFkc2hlZXQgaGVhZGVyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCB0YWJsZSBoZWFkZXJzLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXRhYmxlLWhlYWRlci1iZzogbWF0ZXJpYWwtY29sb3IoIGdyYXksIDEwMCApICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCB0YWJsZSBoZWFkZXJzLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXRhYmxlLWhlYWRlci10ZXh0OiAka2VuZG8tY29tcG9uZW50LWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IHRhYmxlIGhlYWRlcnMuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtdGFibGUtaGVhZGVyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgU3ByZWFkc2hlZXQgdGFibGUgaGVhZGVycy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC10YWJsZS1oZWFkZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBTcHJlYWRzaGVldCBhY3Rpb24gYmFyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgYWN0aW9uIGJhci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLXBhZGRpbmcteTogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBTcHJlYWRzaGVldCBhY3Rpb24gYmFyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgU3ByZWFkc2hlZXQgYWN0aW9uIGJhci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLWZvbnQtc2l6ZTogJGtlbmRvLXNwcmVhZHNoZWV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFNwcmVhZHNoZWV0IGFjdGlvbiBiYXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1mb250LWZhbWlseTogQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmdzIG9mIHRoZSBTcHJlYWRzaGVldCBhY3Rpb24gYmFyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItc3BhY2luZzogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGdhcCBvZiB0aGUgU3ByZWFkc2hlZXQgZm9ybXVsYSBiYXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZm9ybXVsYS1iYXItZ2FwOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBTcHJlYWRzaGVldCBmb3JtdWxhIGlucHV0LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWZvcm11bGEtaW5wdXQtcGFkZGluZy14OiAka2VuZG8taW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBTcHJlYWRzaGVldCBmb3JtdWxhIGlucHV0LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWZvcm11bGEtaW5wdXQtcGFkZGluZy15OiAka2VuZG8taW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgU3ByZWFkc2hlZXQgZm9ybXVsYSBpbnB1dC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0LWxpbmUtaGVpZ2h0OiAka2VuZG8taW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFNwcmVhZHNoZWV0IHZpZXcuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtdmlldy1mb250LWZhbWlseTogQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgU3ByZWFkc2hlZXQgdmlldy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC12aWV3LWZvbnQtc2l6ZTogJGtlbmRvLXNwcmVhZHNoZWV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBzZWxlY3Rpb24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0aW9uLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWNvbG9yLXByaW1hcnksIC4yNSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgc2VsZWN0aW9uLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IHNlbGVjdGlvbi5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zZWxlY3Rpb24tYm9yZGVyOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBTcHJlYWRzaGVldCBzZWxlY3Rpb24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0aW9uLXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IHNpbmdsZSBzZWxlY3Rpb24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2luZ2xlLXNlbGVjdGlvbi1iZzogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IHNpbmdsZSBzZWxlY3Rpb24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2luZ2xlLXNlbGVjdGlvbi10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IHNpbmdsZSBzZWxlY3Rpb24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2luZ2xlLXNlbGVjdGlvbi1ib3JkZXI6ICRrZW5kby1zcHJlYWRzaGVldC1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBwYXJ0aWFsIHNlbGVjdGlvbi5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1wYXJ0aWFsLXNlbGVjdGlvbi1iZzogcmdiYSggYmxhY2ssIC4wNCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IGFjdGl2ZSBjZWxsLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGl2ZS1jZWxsLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIFNwcmVhZHNoZWV0IGFjdGl2ZSBjZWxsLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGl2ZS1jZWxsLXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IGF1dG8gZmlsbC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDI1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tY29sb3ItcHJpbWFyeSwgLjI1ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBhdXRvIGZpbGwuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYXV0by1maWxsLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgYXV0byBmaWxsLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC1ib3JkZXI6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIFNwcmVhZHNoZWV0IGF1dG8gZmlsbC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IGF1dG8gZmlsbCBwdW5jaC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtcHVuY2gtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggYXBwLXN1cmZhY2UgKSA1MCUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWNvbXBvbmVudC1iZywgLjUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgY2VsbC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1jZWxsLXBhZGRpbmcteTogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFNwcmVhZHNoZWV0IGNlbGwuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1zcHJlYWRzaGVldC1jZWxsLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgU3ByZWFkc2hlZXQgY2VsbCBlZGl0b3IuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItbGluZS1oZWlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgY2VsbCBlZGl0b3IuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFNwcmVhZHNoZWV0IGNlbGwgZWRpdG9yLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLXBhZGRpbmcteTogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBjZWxsIGVkaXRvci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci1iZzogJGtlbmRvLXNwcmVhZHNoZWV0LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBjZWxsIGVkaXRvci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci10ZXh0OiAka2VuZG8tc3ByZWFkc2hlZXQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBjZWxsIGVkaXRvci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgcmVzaXplIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1yZXNpemUtaGFuZGxlLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IGNlbGwgY29tbWVudCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1jb21tZW50LWJvcmRlcjogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBjZWxsIGRpcnR5IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWRpcnR5LWJvcmRlcjogJGtlbmRvLWNvbG9yLWVycm9yICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgc2hlZXRzIGJhci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zaGVldHMtYmFyLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBTcHJlYWRzaGVldCBzaGVldHMgYmFyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXNoZWV0cy1iYXItcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgU3ByZWFkc2hlZXQgc2hlZXRzIGJhci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zaGVldHMtYmFyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBzdHlsZSBvZiB0aGUgU3ByZWFkc2hlZXQgaW1hZ2UgRGlhbG9nLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctYm9yZGVyLXN0eWxlOiBkYXNoZWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgU3ByZWFkc2hlZXQgaW1hZ2UgRGlhbG9nLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXRleHQtbWFyZ2luLWJvdHRvbTogay1zcGFjaW5nKDcuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBTcHJlYWRzaGVldCBpbWFnZSBEaWFsb2cgcHJldmlldy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctd2lkdGg6IDM1NXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZyBwcmV2aWV3LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1oZWlnaHQ6IDIzMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBpbWFnZSBvZiB0aGUgU3ByZWFkc2hlZXQgaW1hZ2UgRGlhbG9nIHByZXZpZXcuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1wcmV2aWV3LWltZzogXCJpbWFnZS1kZWZhdWx0LnBuZ1wiICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgb2YgdGhlIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZyBwcmV2aWV3LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBTcHJlYWRzaGVldCBpbWFnZSBEaWFsb2cgcHJldmlldy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBTcHJlYWRzaGVldCBpbWFnZSBEaWFsb2cgcHJldmlldy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctb3ZlcmxheS1zaGFkb3c6IGluc2V0IDAgMCAwIDIwMDBweCByZ2JhKCBibGFjaywgLjUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgU3ByZWFkc2hlZXQgaW1hZ2UgRGlhbG9nIHByZXZpZXcgb3ZlcmxheS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctb3ZlcmxheS1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobWQpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZyBwcmV2aWV3LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctb3ZlcmxheS1ob3Zlci10ZXh0OiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBTcHJlYWRzaGVldCBkcmF3aW5nIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS13aWR0aDogNnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFNwcmVhZHNoZWV0IGRyYXdpbmcgaGFuZGxlLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLWhlaWdodDogNnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgc3R5bGUgb2YgdGhlIFNwcmVhZHNoZWV0IGRyYXdpbmcgaGFuZGxlLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgU3ByZWFkc2hlZXQgZHJhd2luZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgZHJhd2luZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtb3V0bGluZS1jb2xvcjogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIG91dGxpbmUgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IGRyYXdpbmcgaGFuZGxlLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLWJvcmRlci1jb2xvcjogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgZHJhd2luZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBTcHJlYWRzaGVldCBkcmF3aW5nIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobGcpICFkZWZhdWx0O1xuXG4vLy8gVGhlIG91dGxpbmUgc3R5bGUgb2YgdGhlIFNwcmVhZHNoZWV0IGRyYXdpbmcuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1vdXRsaW5lLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSB3aWR0aCBvZiB0aGUgU3ByZWFkc2hlZXQgZHJhd2luZy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLW91dGxpbmUtd2lkdGg6IDJweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBkcmF3aW5nIGFuY2hvci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWFuY2hvci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBzZWNvbmRhcnkgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLXNlbGVjdGVkLWJnLCAuMjUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgc3BhY2luZyBvZiB0aGUgU3ByZWFkc2hlZXQgRHJvcFpvbmUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJvcHpvbmUtc3BhY2luZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3Mvc3ByZWFkc2hlZXQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NwcmVhZHNoZWV0L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NwcmVhZHNoZWV0L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXNwcmVhZHNoZWV0LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFNwcmVhZHNoZWV0XG4gICAgLmstc3ByZWFkc2hlZXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tc3ByZWFkc2hlZXQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXNwcmVhZHNoZWV0LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1zcHJlYWRzaGVldC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tc3ByZWFkc2hlZXQtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLmstdmVydGljYWwtYWxpZ24tY2VudGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIC5rLXZlcnRpY2FsLWFsaWduLWJvdHRvbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC0xMDAlICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUb29sYmFyXG4gICAgLmstc3ByZWFkc2hlZXQtdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG5cbiAgICAvLyBBY3Rpb24gYmFyXG4gICAgLmstc3ByZWFkc2hlZXQtYWN0aW9uLWJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwICRrZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1wYWRkaW5nLXg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItZm9udC1zaXplO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItZm9udC1mYW1pbHk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAka2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1zcGFjaW5nO1xuICAgIH1cbiAgICAvLyBUb2RvIGNoZWNrXG4gICAgLmstc3ByZWFkc2hlZXQtbmFtZS1lZGl0b3Ige1xuICAgICAgICB3aWR0aDogMTBlbTtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtZm9ybXVsYS1iYXIge1xuICAgICAgICBtaW4td2lkdGg6IDBweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBnYXA6ICRrZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWJhci1nYXA7XG5cbiAgICAgICAgLy8gbW92ZSB0byBsZWdhY3kgc2VsZWN0b3JcbiAgICAgICAgPiAuay1pY29uIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBhZGRpbmctbWQteTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBhZGQgay1oaWRkZW4gZnJvbSBjb21wb25lbnRcbiAgICAgICAgLmstdG9vbHRpcCxcbiAgICAgICAgLmstZ3JvdXAtaGVhZGVyLFxuICAgICAgICAuay1saXN0LXNjcm9sbGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0IHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0LXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tc3ByZWFkc2hlZXQtZm9ybXVsYS1pbnB1dC1wYWRkaW5nLXg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXNwcmVhZHNoZWV0LWZvcm11bGEtaW5wdXQtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAgICAgICAmLmstc3ByZWFkc2hlZXQtYXJyYXktZm9ybXVsYSB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJ7XCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJ9XCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWZvcm11bGEtaW5wdXQge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgID4gLmstc3ludGF4LWZ1bmMuay1zeW50YXgtYXQtcG9pbnQsXG4gICAgICAgID4gLmstc3ludGF4LWJvb2wuay1zeW50YXgtYXQtcG9pbnQsXG4gICAgICAgID4gLmstc3ludGF4LXJlZi5rLXN5bnRheC1hdC1wb2ludCxcbiAgICAgICAgPiAuay1zeW50YXgtc3RyLmstc3ludGF4LWF0LXBvaW50LFxuICAgICAgICA+IC5rLXN5bnRheC1udW0uay1zeW50YXgtYXQtcG9pbnQge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLXNlcmllcy1hLFxuICAgICAgICA+IC5rLXNlcmllcy1iLFxuICAgICAgICA+IC5rLXNlcmllcy1jLFxuICAgICAgICA+IC5rLXNlcmllcy1kIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWZvcm11bGEtbGlzdCB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG5cbiAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdC1tZC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbGlzdC1tZC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1zeW50YXgtZnVuYyxcbiAgICAuay1zeW50YXgtc3RhcnRleHAge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cblxuICAgIC8vIENlbGwgZWRpdG9yXG4gICAgLmstc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3Ige1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLXBhZGRpbmcteDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgfVxuXG5cbiAgICAvLyBTaGVldHMgYmFyXG4gICAgLmstc3ByZWFkc2hlZXQtc2hlZXRzLWJhciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAka2VuZG8tc3ByZWFkc2hlZXQtc2hlZXRzLWJhci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tc3ByZWFkc2hlZXQtc2hlZXRzLWJhci1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXNwcmVhZHNoZWV0LXNoZWV0cy1iYXItYm9yZGVyLXdpZHRoIDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtc2hlZXRzIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXNoZWV0cyAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LXNoZWV0cy1iYXItYWRkIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgICAgICY6bm90KDpob3Zlcikge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LXNoZWV0cy1pdGVtcyB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc3ByZWFkc2hlZXQtc2hlZXRzLXJlbW92ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBrLXNwYWNpbmcoMik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoICN7ay1zcGFjaW5nKDIpfSAqIC0xICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTcHJlYWRzaGVldCB2aWV3XG4gICAgLmstc3ByZWFkc2hlZXQtdmlldyB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXNwcmVhZHNoZWV0LXZpZXctZm9udC1zaXplO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXNwcmVhZHNoZWV0LXZpZXctZm9udC1mYW1pbHk7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAvLyBkaXNhYmxlZCBjZWxscyBpbiB0aGUgU3ByZWFkc2hlZXQgc2hvdWxkIGFsbG93IG5hdmlnYXRpb24gaWYgbGluayBpcyB1c2VkXG4gICAgICAgIC5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtZml4ZWQtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSB2YXIoLS1rZW5kby1zY3JvbGxiYXItd2lkdGgsICN7JGtlbmRvLXNjcm9sbGJhci13aWR0aH0pICk7XG4gICAgICAgIGhlaWdodDogY2FsYyggMTAwJSAtIHZhcigtLWtlbmRvLXNjcm9sbGJhci13aWR0aCwgI3ska2VuZG8tc2Nyb2xsYmFyLXdpZHRofSkgKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC8vIHRvZG8gY2hlY2sgaWYgdXNlZCAtIHByb2JhYmx5IG5vdFxuICAgIC5rLXNwcmVhZHNoZWV0LW92ZXJmbG93IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldC1wYW5lIHtcbiAgICAgICAgcGFkZGluZzogMCAxcHggMCAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweCAwIDAgMnB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBAZWFjaCAkc2lkZSBpbiAodG9wLCBsZWZ0KSB7XG4gICAgICAgICAgICAmLmstI3skc2lkZX0geyBib3JkZXItI3skc2lkZX0td2lkdGg6IDA7IH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtdG9wLWNvcm5lciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDAwMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LXNjcm9sbGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpLCAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgICAgICAgICAvLyBvbiB0b3VjaCBkZXZpY2VzIHdlIHdhbnQgdGhpcyB0byBzdGF5IG9uIHRvcC5cbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEdyaWQgbGluZXNcbiAgICAuay1zcHJlYWRzaGVldC1oYXhpcyxcbiAgICAuay1zcHJlYWRzaGVldC12YXhpcyB7XG4gICAgICAgIGJvcmRlcjogMCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWhheGlzIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC12YXhpcyB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBSb3cgLyBDb2x1bW4gaGVhZGVyc1xuICAgIC5rLXNwcmVhZHNoZWV0LXJvdy1oZWFkZXIsXG4gICAgLmstc3ByZWFkc2hlZXQtY29sdW1uLWhlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXJvdy1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWNvbHVtbi1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXJvdy1oZWFkZXIgPiBkaXYge1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7IGJvcmRlci10b3Atd2lkdGg6IDA7IH1cbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtcm93LWhlYWRlciA+IC5rLXNlbGVjdGlvbi1wYXJ0aWFsLFxuICAgIC5rLXNwcmVhZHNoZWV0LXJvdy1oZWFkZXIgPiAuay1zZWxlY3Rpb24tZnVsbCB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMnB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtY29sdW1uLWhlYWRlciA+IGRpdiB7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7IGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWNvbHVtbi1oZWFkZXIgPiAuay1zZWxlY3Rpb24tcGFydGlhbCxcbiAgICAuay1zcHJlYWRzaGVldC1jb2x1bW4taGVhZGVyID4gLmstc2VsZWN0aW9uLWZ1bGwge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU3ByZWFkc2hlZXQgZGF0YVxuICAgIC5rLXNwcmVhZHNoZWV0LWRhdGEge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGN1cnNvcjogY2VsbDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gQ2VsbHNcbiAgICAuay1zcHJlYWRzaGVldC1jZWxsIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtcGFkZGluZy14O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LW1lcmdlZC1jZWxscy13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LWRpc2FibGVkLW1hc2sge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0aW9uXG4gICAgLmstc3ByZWFkc2hlZXQgLmstc2VsZWN0aW9uLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogY2VsbDtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQgLmstc3ByZWFkc2hlZXQtc2VsZWN0aW9uIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQgLmstc3ByZWFkc2hlZXQtc2VsZWN0aW9uLWhpZ2hsaWdodCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldCAuay1zcHJlYWRzaGVldC1lZGl0b3ItYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB6LWluZGV4OiA2MDtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldC1hY3RpdmUtY2VsbCB7XG4gICAgICAgIC8vIGFsd2F5cyBzaG93IGV4YWN0IGFjdGl2ZSBjZWxsIGJvcmRlciwgcmVnYXJkbGVzcyBvZiBpbmxpbmUgY2VsbCBzdHlsZXNcbiAgICAgICAgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQgLmstYXV0by1maWxsLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWF1dG8tZmlsbCxcbiAgICAuay1zcHJlYWRzaGVldCAuay1hdXRvLWZpbGwtcHVuY2gsXG4gICAgLmstc3ByZWFkc2hlZXQgLmstYXV0by1maWxsLWJyLWhpbnQge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWF1dG8tZmlsbCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBjdXJzb3I6IGNyb3NzaGFpcjtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldCAuay1zaW5nbGUtc2VsZWN0aW9uIHt9XG4gICAgLmstc3ByZWFkc2hlZXQgLmstc2luZ2xlLXNlbGVjdGlvbjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC00cHg7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAzMDA7XG4gICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNlbGVjdGlvbi1mdWxsLFxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNlbGVjdGlvbi1wYXJ0aWFsIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQXV0b2ZpbGxcbiAgICAuay1zcHJlYWRzaGVldCAuay1hdXRvZmlsbC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IGNlbGw7XG4gICAgfVxuXG5cbiAgICAvLyBCb3JkZXIgcmVuZGVyaW5nXG4gICAgLmstc3ByZWFkc2hlZXQtdmJvcmRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LWhib3JkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgfVxuXG5cbiAgICAvLyBDb21tZW50c1xuICAgIC5rLXNwcmVhZHNoZWV0LWhhcy1jb21tZW50OjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG5cblxuICAgIC8vIFZhbGlkYXRpb25cbiAgICAuay1zcHJlYWRzaGVldC1jZWxsIC5rLWRpcnR5IHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBhdXRvO1xuICAgIH1cblxuXG4gICAgLy8gRmlsdGVyIGJ1dHRvblxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWZpbHRlci13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1MDtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQgLmstZmlsdGVyLXJhbmdlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtZmlsdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggay1ib3JkZXItcmFkaXVzKG1kKSApO1xuICAgICAgICBwYWRkaW5nOiAka2VuZG8tcGFkZGluZy15O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLmstaWNvbiB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICB9XG5cblxuICAgIC8vIEZpbHRlciBtZW51XG4gICAgLmstc3ByZWFkc2hlZXQtZmlsdGVyLW1lbnUge1xuICAgICAgICB3aWR0aDogMjgwcHg7XG5cbiAgICAgICAgLmstYW5pbWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLW1lbnUsXG4gICAgICAgID4gLmstbWVudS5rLW1lbnUtdmVydGljYWwge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuXG4gICAgICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYyggI3ska2VuZG8taWNvbi1zaXplfSArIGNhbGMoIDIgKiAjeyRrZW5kby1wYWRkaW5nLW1kLXl9ICkgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogKCAjeyRrZW5kby1pY29uLXNpemV9ICsgI3ska2VuZG8tcGFkZGluZy1tZC15fSApICk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8tcGFkZGluZy1tZC15O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuay1zcHJlYWRzaGVldC12YWx1ZS10cmVldmlldy13cmFwcGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgICAgICAgICAuay10cmVldmlldyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLXBhZGRpbmctbWQteTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERldGFpbHNcbiAgICAgICAgLmstZGV0YWlscyxcbiAgICAgICAgLmstZXhwYW5kZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgLmstZXhwYW5kZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgICAuay1kZXRhaWxzLXN1bW1hcnksXG4gICAgICAgIC5rLWNvbHVtbm1lbnUtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbWVudS1wb3B1cC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbWVudS1wb3B1cC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICA+IC5rLWljb24sXG4gICAgICAgICAgICA+IC5rLWV4cGFuZGVyLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8tcGFkZGluZy1tZC15O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLWRldGFpbHMtY29udGVudCxcbiAgICAgICAgLmstY29sdW1ubWVudS1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogay1zcGFjaW5nKDIpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIGdhcDogay1zcGFjaW5nKDIpO1xuXG4gICAgICAgICAgICAuay1maWx0ZXItYW5kIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFjdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNwcmVhZHNoZWV0IHRvb2xiYXJcbiAgICAuay1zcHJlYWRzaGVldC1wb3B1cCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLmstc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzZXQtY29sb3IsXG4gICAgICAgIC5rLWN1c3RvbS1jb2xvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAwICk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgIC5rLXJlc2V0LWNvbG9yIHsgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XG4gICAgICAgIC5rLWN1c3RvbS1jb2xvciB7IGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxuICAgICAgICAuay1zcHJlYWRzaGVldC1ib3JkZXItdHlwZS1wYWxldHRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGstc3BhY2luZygyKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtYXgtY29udGVudCk7XG4gICAgICAgICAgICBnYXA6IGstc3BhY2luZygyKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmstc3ByZWFkc2hlZXQtY2xpcGJvYXJkLFxuICAgIC5rLXNwcmVhZHNoZWV0LWNsaXBib2FyZC1wYXN0ZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG5cblxuICAgIC8vIFNwcmVhZHNoZWV0IHdpbmRvd1xuICAgIC5rLXNwcmVhZHNoZWV0LXdpbmRvdyAuay1leHRlcm5hbC1kcm9wem9uZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6ICRrZW5kby1zcHJlYWRzaGVldC1kcm9wem9uZS1zcGFjaW5nLXk7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtd2luZG93IC5rLWVkaXQtZm9ybS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuXG4gICAgLy8gRm9ybWF0IHByZXZpZXcgd2luZG93XG4gICAgLmstc3ByZWFkc2hlZXQtZm9ybWF0LWNlbGxzIHtcblxuICAgICAgICAuay1zcHJlYWRzaGVldC1wcmV2aWV3IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGstc3BhY2luZygyKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxpc3Qtc2Nyb2xsZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogay1zcGFjaW5nKDIpO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMTBweDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRXhwb3J0IGRpYWxvZ1xuICAgIC5rLWV4cG9ydC1jb25maWcge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cblxuICAgICAgICAuay1lZGl0LWZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBhZ2Utb3JpZW50YXRpb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IGstc3BhY2luZygyKTtcblxuICAgICAgICAgICAgLmstZm9udC1pY29uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDZlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXN2Zy1pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBJbnNlcnQgY29tbWVudCBkaWFsb2dcbiAgICAuay1zcHJlYWRzaGVldC1pbnNlcnQtY29tbWVudCB0ZXh0YXJlYSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBJbnNlcnQgaW1hZ2UgZGlhbG9nIC0gRGVsZXRlIGFmdGVyIG5ldyByZW5kZXJpbmcgYWRvcHRpb24gUjMgMjNcbiAgICAuay1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctYm9yZGVyLXN0eWxlO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLWJvcmRlci13aWR0aDtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1oZWlnaHQ7XG4gICAgICAgICAgICAvLyBUT0RPOiBleHRyYWN0IHZhcmlhYmxlXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3trLW1hcC1nZXQoJF9rZW5kby1kYXRhLXVyaXMsICRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctaW1nKX0pO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDcwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAzMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctdGV4dC1tYXJnaW4tYm90dG9tO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWhhcy1pbWFnZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gOTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblxuICAgICAgICAgICAgJjpob3ZlciBkaXYsXG4gICAgICAgICAgICAmLmstaG92ZXIgZGl2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICAvLyBTcHJlYWRzaGVldCBkcmF3aW5nXG4gICAgLmstc3ByZWFkc2hlZXQtZHJhd2luZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgei1pbmRleDogMTAxO1xuXG4gICAgICAgICYuay1zcHJlYWRzaGVldC1hY3RpdmUtZHJhd2luZyB7XG4gICAgICAgICAgICBvdXRsaW5lLXN0eWxlOiAka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1vdXRsaW5lLXN0eWxlO1xuICAgICAgICAgICAgb3V0bGluZS13aWR0aDogJGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctb3V0bGluZS13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWRyYXdpbmctaW1hZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGN1cnNvcjogbW92ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1oZWlnaHQ7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6ICRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1ib3JkZXItc3R5bGU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1ibG9jay1zaW5nbGUtbGluZS1tYXgtZGVjbGFyYXRpb25zLCBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuXG4gICAgICAgICAgICAmLk4geyBsZWZ0OiA1MCU7IHRvcDogMDsgY3Vyc29yOiBucy1yZXNpemU7IH1cbiAgICAgICAgICAgICYuTkUgeyBsZWZ0OiAxMDAlOyB0b3A6IDA7IGN1cnNvcjogbmVzdy1yZXNpemU7IH1cbiAgICAgICAgICAgICYuRSB7IGxlZnQ6IDEwMCU7IHRvcDogNTAlOyBjdXJzb3I6IGV3LXJlc2l6ZTsgfVxuICAgICAgICAgICAgJi5TRSB7IGxlZnQ6IDEwMCU7IHRvcDogMTAwJTsgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxuICAgICAgICAgICAgJi5TIHsgbGVmdDogNTAlOyB0b3A6IDEwMCU7IGN1cnNvcjogbnMtcmVzaXplOyB9XG4gICAgICAgICAgICAmLlNXIHsgbGVmdDogMDsgdG9wOiAxMDAlOyBjdXJzb3I6IG5lc3ctcmVzaXplOyB9XG4gICAgICAgICAgICAmLlcgeyBsZWZ0OiAwOyB0b3A6IDUwJTsgY3Vyc29yOiBldy1yZXNpemU7IH1cbiAgICAgICAgICAgICYuTlcgeyBsZWZ0OiAwOyB0b3A6IDA7IGN1cnNvcjogbndzZS1yZXNpemU7IH1cbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tYmxvY2stc2luZ2xlLWxpbmUtbWF4LWRlY2xhcmF0aW9ucywgc2VsZWN0b3ItY2xhc3MtcGF0dGVyblxuICAgICAgICB9XG5cbiAgICAgICAgLmstc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZyB7XG4gICAgICAgICAgICAuay1zcHJlYWRzaGVldC1oYXMtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1vdmVybGF5LWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBMZWdhY3kgc3R5bGVzXG4gICAgLmstc3ByZWFkc2hlZXQtbGVnYWN5IHtcbiAgICAgICAgLmstc3ByZWFkc2hlZXQsXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXIsXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LXZpZXcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3ByZWFkc2hlZXQtY2VsbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zcHJlYWRzaGVldC1maWx0ZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmlsdGVyLXJhbmdlIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3ByZWFkc2hlZXQgLmstc3ByZWFkc2hlZXQtc2VsZWN0aW9uLWhpZ2hsaWdodCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUYWJzdHJpcFxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXRhYnN0cmlwLXdyYXBwZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LXF1aWNrLWFjY2Vzcy10b29sYmFyIHtcbiAgICAgICAgcGFkZGluZzogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy15O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtdGFic3RyaXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy15O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXRhYnN0cmlwIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXRhYnN0cmlwIC5rLWxvYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC10YWJzdHJpcCAuay1jb250ZW50LFxuICAgIC5rLXNwcmVhZHNoZWV0LXRhYnN0cmlwIC5rLXRhYnN0cmlwLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAwICk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc3ByZWFkc2hlZXQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zcHJlYWRzaGVldC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zcHJlYWRzaGVldC0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tc3ByZWFkc2hlZXQtLWxheW91dC1iYXNlKCk7XG5cbiAgICAvLyBRdWljayBhY2Nlc3MgdG9vbGJhclxuICAgIC5rLXNwcmVhZHNoZWV0LXF1aWNrLWFjY2Vzcy10b29sYmFyIHtcbiAgICAgICAgcGFkZGluZzogay1zcGFjaW5nKDEpO1xuXG4gICAgICAgIC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBTcHJlYWRzaGVldCB0YWJzdHJpcFxuICAgIC5rLXNwcmVhZHNoZWV0LXRhYnN0cmlwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTcHJlYWRzaGVldCBmb290ZXJcbiAgICAuay1zcHJlYWRzaGVldC1zaGVldHMtYmFyIHtcblxuICAgICAgICAuay1zcHJlYWRzaGVldC1zaGVldHMtYmFyLWFkZCB7XG4gICAgICAgICAgICBtYXJnaW46IGstc3BhY2luZygxKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIFNlbGVjdGlvblxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNlbGVjdGlvbi1mdWxsLFxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNlbGVjdGlvbi1wYXJ0aWFsIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9zcHJlYWRzaGVldC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zcHJlYWRzaGVldC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NwcmVhZHNoZWV0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tc3ByZWFkc2hlZXQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBTcHJlYWRzaGVldFxuICAgIC5rLXNwcmVhZHNoZWV0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIEhlYWRlclxuICAgIC5rLXNwcmVhZHNoZWV0LWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUm93IC8gQ29sdW1uIEhlYWRlcnNcbiAgICAuay1zcHJlYWRzaGVldC10b3AtY29ybmVyLFxuICAgIC5rLXNwcmVhZHNoZWV0LXJvdy1oZWFkZXIsXG4gICAgLmstc3ByZWFkc2hlZXQtY29sdW1uLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtdGFibGUtaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtdGFibGUtaGVhZGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LXRhYmxlLWhlYWRlci1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtdGFibGUtaGVhZGVyLWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ2VsbCBlZGl0b3JcbiAgICAuay1zcHJlYWRzaGVldC1jZWxsLWVkaXRvciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci1iZyxcbiAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci1ib3JkZXJcbiAgICAgICAgKVxuICAgIH1cblxuICAgIC8vIENlbGxzXG4gICAgLmstc3ByZWFkc2hlZXQtbWVyZ2VkLWNlbGwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1zcHJlYWRzaGVldC1iZyApO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1kaXNhYmxlZC1tYXNrIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tc3ByZWFkc2hlZXQtYmcgKTtcbiAgICB9XG5cbiAgICAvLyBTZWxlY3Rpb25cbiAgICAuay1zcHJlYWRzaGVldCAuay1zZWxlY3Rpb24tZnVsbCxcbiAgICAuay1zcHJlYWRzaGVldCAuay1zZWxlY3Rpb24tcGFydGlhbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLXNwcmVhZHNoZWV0LXBhcnRpYWwtc2VsZWN0aW9uLWJnICk7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXNlbGVjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0aW9uLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0aW9uLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi1zaGFkb3cgKTtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtc2VsZWN0aW9uLWhpZ2hsaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1zcHJlYWRzaGVldC1zZWxlY3Rpb24tYm9yZGVyICk7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNpbmdsZS1zZWxlY3Rpb246OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC1zaW5nbGUtc2VsZWN0aW9uLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtc2luZ2xlLXNlbGVjdGlvbi1iZyxcbiAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC1zaW5nbGUtc2VsZWN0aW9uLWJvcmRlclxuICAgICAgICApXG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWFjdGl2ZS1jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoICRiZzogJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGl2ZS1jZWxsLWJnICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1zcHJlYWRzaGVldC1hY3RpdmUtY2VsbC1zaGFkb3cgKTtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldCAuay1hdXRvLWZpbGwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC1iZyxcbiAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtc2hhZG93ICk7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWF1dG8tZmlsbC1wdW5jaCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC1wdW5jaC1iZyApO1xuICAgIH1cblxuICAgIC8vIFJlc2l6ZSBoYW5kbGVcbiAgICAuay1zcHJlYWRzaGVldCAuay1yZXNpemUtaGFuZGxlLFxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXJlc2l6ZS1oaW50LWhhbmRsZSxcbiAgICAuay1zcHJlYWRzaGVldCAuay1yZXNpemUtaGludC1tYXJrZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1zcHJlYWRzaGVldC1yZXNpemUtaGFuZGxlLWJnICk7XG4gICAgfVxuXG4gICAgLy8gQ29tbWVudHNcbiAgICAuay1zcHJlYWRzaGVldC1oYXMtY29tbWVudDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYmxvY2stY29sb3I6ICRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWNvbW1lbnQtYm9yZGVyIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItaW5saW5lLWNvbG9yOiB0cmFuc3BhcmVudCAka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1jb21tZW50LWJvcmRlcjtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0aW9uXG4gICAgLmstc3ByZWFkc2hlZXQtY2VsbCAuay1kaXJ0eSB7XG4gICAgICAgIGJvcmRlci1ibG9jay1jb2xvcjogJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZGlydHktYm9yZGVyIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItaW5saW5lLWNvbG9yOiAka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1kaXJ0eS1ib3JkZXIgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gRmlsdGVyIGJ1dHRvblxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWZpbHRlci1yYW5nZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNvbG9yLXByaW1hcnk7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWZpbHRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tYnV0dG9uLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tYnV0dG9uLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tYnV0dG9uLWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAka2VuZG8tYnV0dG9uLWJvcmRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24taG92ZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWFjdGl2ZS10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tYWN0aXZlLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tYWN0aXZlLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWFjdGl2ZS1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpbHRlciBtZW51IGxlZ2FjeSAtIGRlbGV0ZSBhZnRlciBuZXcgcmVuZGVyaW5nIGFkb3B0aW9uIFIzIDIzXG4gICAgLmstc3ByZWFkc2hlZXQtZmlsdGVyLW1lbnUge1xuICAgICAgICA+IC5rLW1lbnUsXG4gICAgICAgID4gLmstbWVudTpub3QoLmstY29udGV4dC1tZW51KSB7XG5cbiAgICAgICAgICAgIC5rLWl0ZW06aG92ZXIsXG4gICAgICAgICAgICAuay1pdGVtLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci1iZ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zcHJlYWRzaGVldC12YWx1ZS10cmVldmlldy13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEZWxldGUgYWZ0ZXIgbmV3IHJlbmRlcmluZyBhZG9wdGlvbiBSMyAyM1xuICAgIC5rLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2cge1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctYm9yZGVyO1xuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWhhcy1pbWFnZSB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1wcmV2aWV3LW92ZXJsYXktc2hhZG93O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIGRpdixcbiAgICAgICAgICAgICYuay1ob3ZlciBkaXYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1vdmVybGF5LWhvdmVyLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcmF3aW5nXG4gICAgLmstc3ByZWFkc2hlZXQtZHJhd2luZyB7XG4gICAgICAgICYuay1zcHJlYWRzaGVldC1hY3RpdmUtZHJhd2luZyB7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtb3V0bGluZS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1iZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LWRyYXdpbmctYW5jaG9yLWNlbGwge1xuICAgICAgICBiYWNrZ3JvdW5kOiAka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1hbmNob3ItYmc7XG4gICAgfVxuXG4gICAgLy8gRm9ybXVsYSBiYXJcbiAgICAuay1zcHJlYWRzaGVldC1mb3JtdWxhLWxpc3Qge31cbiAgICAuay1zeW50YXgtcmVmIHsgY29sb3I6ICNmZjg4MjI7IH1cbiAgICAuay1zeW50YXgtbnVtIHsgY29sb3I6ICMwMDk5ZmY7IH1cbiAgICAuay1zeW50YXgtc3RyIHsgY29sb3I6ICMzOGI3MTQ7IH1cbiAgICAuay1zeW50YXgtZXJyb3IgeyBjb2xvcjogcmVkOyB9XG4gICAgLmstc3ludGF4LWJvb2wgeyBjb2xvcjogI2E5MTY5YzsgfVxuICAgIC5rLXN5bnRheC1wYXJlbi1tYXRjaCB7IGJhY2tncm91bmQtY29sb3I6ICNjYWYyMDA7IH1cblxufVxuXG5AbWl4aW4ga2VuZG8tc3ByZWFkc2hlZXQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNwcmVhZHNoZWV0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tc3ByZWFkc2hlZXQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNwcmVhZHNoZWV0LS10aGVtZS1iYXNlKCk7XG5cbiAgICAvLyBTcHJlYWRzaGVldCBoZWFkZXJcbiAgICAuay1zcHJlYWRzaGVldCA+IC5rLXRhYnN0cmlwLXdyYXBwZXIge1xuXG4gICAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1jb2xvci1wcmltYXJ5LWNvbnRyYXN0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNvbG9yLXByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgICAgLmstdGFic3RyaXAtaXRlbXMgLmstaXRlbSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgICAuay10YWJzdHJpcC1pdGVtcyAuay1pdGVtLmstYWN0aXZlOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1jb2xvci1wcmltYXJ5LWNvbnRyYXN0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUXVpY2sgYWNjZXNzIHRvb2xiYXJcbiAgICAuay1zcHJlYWRzaGVldC1xdWljay1hY2Nlc3MtdG9vbGJhciB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tY29sb3ItcHJpbWFyeS1jb250cmFzdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNvbG9yLXByaW1hcnk7XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0aW9uXG4gICAgLmstc3ByZWFkc2hlZXQgLmstc2VsZWN0aW9uLWZ1bGwsXG4gICAgLmstc3ByZWFkc2hlZXQgLmstc2VsZWN0aW9uLXBhcnRpYWwge1xuICAgICAgICAmOjphZnRlciB7IGJvcmRlci1jb2xvcjogJGtlbmRvLWNvbG9yLXNlY29uZGFyeTsgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXNwcmVhZHNoZWV0LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJzcHJlYWRzaGVldFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1zcHJlYWRzaGVldC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNwcmVhZHNoZWV0LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tc3ByZWFkc2hlZXQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3Bpdm90Z3JpZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Bpdm90Z3JpZC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJwaXZvdGdyaWRcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJkaWFsb2dcIixcbiAgICAgICAgXCJncmlkXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgXCJ0cmVldmlld1wiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kaWFsb2cvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kaWFsb2cvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90cmVldmlldy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RyZWV2aWV3L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZ3JpZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2dyaWQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19zcGFjZXIuc2Nzc1wiO1xuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19mbGV4LnNjc3NcIjtcbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fZ3JpZC5zY3NzXCI7XG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX3Bvc2l0aW9uLnNjc3NcIjtcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9waXZvdGdyaWQvX3ZhcmlhYmxlcy5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90YWJsZS9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy90YWJsZS9fdmFyaWFibGVzLnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUGl2b3QgZ3JpZFxuXG4vLy8gVGhlIHNwYWNlciBvZiB0aGUgUGl2b3RHcmlkLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtc3BhY2VyOiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgUGl2b3RHcmlkLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtcGFkZGluZy14OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBvZiB0aGUgUGl2b3RHcmlkLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgUGl2b3RHcmlkLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFBpdm90R3JpZC5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgUGl2b3RHcmlkLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgUGl2b3RHcmlkLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGljb24gc3BhY2luZyBvZiB0aGUgUGl2b3RHcmlkLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtaWNvbi1zcGFjaW5nOiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZGVmYXVsdCB3aWR0aCBvZiB0aGUgUGl2b3RHcmlkIHJvdyBoZWFkZXIuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1yb3ctaGVhZGVyLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZGVmYXVsdCBoZWlnaHQgb2YgdGhlIFBpdm90R3JpZCBjb2x1bW4gaGVhZGVyLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtY29sdW1uLWhlYWRlci1oZWlnaHQ6IDc1cHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBQaXZvdEdyaWQgY2VsbC5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNlbGwtcGFkZGluZy14OiAka2VuZG8tdGFibGUtbWQtY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFBpdm90R3JpZCBjZWxsLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtY2VsbC1wYWRkaW5nLXk6ICRrZW5kby10YWJsZS1tZC1jZWxsLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBQaXZvdEdyaWQgY2VsbC5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNlbGwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUGl2b3RHcmlkLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBpdm90R3JpZC5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBQaXZvdEdyaWQuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFsdCBib3JkZXIgY29sb3Igb2YgdGhlIFBpdm90R3JpZC5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWFsdC1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGstdHJ5LXNoYWRlKCAka2VuZG8tcGl2b3RncmlkLWJvcmRlciwgMiApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQaXZvdEdyaWQgaGVhZGVyLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtaGVhZGVycy1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApIDIlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJnLCAuMDIgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBpdm90R3JpZCBoZWFkZXIuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLXRleHQ6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUGl2b3RHcmlkIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWhlYWRlcnMtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWhlYWRlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUGl2b3RHcmlkIHRvdGFsIGNlbGxzLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtdG90YWwtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLXBpdm90Z3JpZC1iZywgMSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUGl2b3RHcmlkIHRvdGFsIGNlbGxzLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtdG90YWwtdGV4dDogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBQaXZvdEdyaWQgdG90YWwgY2VsbHMuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC10b3RhbC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3ZlciBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQaXZvdEdyaWQuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtaG92ZXIgKSwgay1jb2xvci1kYXJrZW4oICRrZW5kby1waXZvdGdyaWQtYmcsIDclICkpICFkZWZhdWx0O1xuLy8vIFRoZSBob3ZlciB0ZXh0IGNvbG9yIG9mIHRoZSBQaXZvdEdyaWQuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBob3ZlciBib3JkZXIgY29sb3Igb2YgdGhlIFBpdm90R3JpZC5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBzZWxlY3RlZCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQaXZvdEdyaWQuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1zZWxlY3RlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApIDI1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tcGl2b3RncmlkLWJnICksIC4wNCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2VsZWN0ZWQgdGV4dCBjb2xvciBvZiB0aGUgUGl2b3RHcmlkLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtc2VsZWN0ZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgc2VsZWN0ZWQgYm9yZGVyIGNvbG9yIG9mIHRoZSBQaXZvdEdyaWQuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1zZWxlY3RlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9jdXMgc2hhZG93IG9mIHRoZSBQaXZvdEdyaWQuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1mb2N1cy1zaGFkb3c6ICRrZW5kby1saXN0LWl0ZW0tZm9jdXMtc2hhZG93ICFkZWZhdWx0O1xuXG4vLyBQaXZvdGdyaWQgQ29uZmlndXJhdG9yXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgUGl2b3RHcmlkIGNvbmZpZ3VyYXRvci5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFBpdm90R3JpZCBjb25maWd1cmF0b3IuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFBpdm90R3JpZCBjb25maWd1cmF0b3IuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBQaXZvdEdyaWQgY29uZmlndXJhdG9yIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tcGl2b3RncmlkLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgUGl2b3RHcmlkIGNvbmZpZ3VyYXRvciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLXBhZGRpbmcteTogY2FsYyggI3ska2VuZG8tcGl2b3RncmlkLXNwYWNlcn0gKiAuNzUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBQaXZvdEdyaWQgY29uZmlndXJhdG9yIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItZm9udC1zaXplOiAxOHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHdlaWdodCBvZiB0aGUgUGl2b3RHcmlkIGNvbmZpZ3VyYXRvciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLWZvbnQtd2VpZ2h0OiA1MDAgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBQaXZvdEdyaWQgY29uZmlndXJhdG9yIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudC1wYWRkaW5nLXg6ICRrZW5kby1waXZvdGdyaWQtc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBQaXZvdEdyaWQgY29uZmlndXJhdG9yIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudC1wYWRkaW5nLXk6IGstc3BhY2luZygwKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgUGl2b3RHcmlkIGNvbmZpZ3VyYXRvciBmaWVsZHMuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItZmllbGRzLW1hcmdpbi14OiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIG1hcmdpbiBvZiB0aGUgUGl2b3RHcmlkIGNvbmZpZ3VyYXRvciBmaWVsZHMuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItZmllbGRzLW1hcmdpbi15OiBjYWxjKCAjeyRrZW5kby1waXZvdGdyaWQtc3BhY2VyfSAvIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBkZWZhdWx0IHdpZHRoIG9mIHRoZSBQaXZvdEdyaWQgdmVydGljYWwgY29uZmlndXJhdG9yLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLXZlcnRpY2FsLXdpZHRoOiAzMjBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZGVmYXVsdCBoZWlnaHQgb2YgdGhlIFBpdm90R3JpZCBob3Jpem9udGFsIGNvbmZpZ3VyYXRvci5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1ob3Jpem9udGFsLWhlaWdodDogNDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUGl2b3RHcmlkIGNvbmZpZ3VyYXRvci5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUGl2b3RHcmlkIGNvbmZpZ3VyYXRvci5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUGl2b3RHcmlkIGNvbmZpZ3VyYXRvci5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFBpdm90R3JpZCBjb25maWd1cmF0b3IgaGVhZGVyLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhlYWRlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUGl2b3RHcmlkIGNvbmZpZ3VyYXRvciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUGl2b3RHcmlkIGNvbmZpZ3VyYXRvciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIFBpdm90R3JpZCBjb25maWd1cmF0b3IuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItZW5kLXNoYWRvdzogJGJveC1zaGFkb3ctZGVwdGgtMyAhZGVmYXVsdDtcbi8vLyBUaGUgZW5kIHNoYWRvdyBvZiB0aGUgUGl2b3RHcmlkIGNvbmZpZ3VyYXRvci5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1zdGFydC1zaGFkb3c6ICRib3gtc2hhZG93LWRlcHRoLTMgIWRlZmF1bHQ7XG4vLy8gVGhlIHN0YXJ0IHNoYWRvdyBvZiB0aGUgUGl2b3RHcmlkIGNvbmZpZ3VyYXRvci5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci10b3Atc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC0zICFkZWZhdWx0O1xuLy8vIFRoZSB0b3Agc2hhZG93IG9mIHRoZSBQaXZvdEdyaWQgY29uZmlndXJhdG9yLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJvdHRvbS1zaGFkb3c6ICRib3gtc2hhZG93LWRlcHRoLTMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBQaXZvdEdyaWQgY29uZmlndXJhdG9yIGJ1dHRvbi5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFBpdm90R3JpZCBjb25maWd1cmF0b3IgYnV0dG9uLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbi1wYWRkaW5nLXk6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBQaXZvdEdyaWQgY29uZmlndXJhdG9yIGJ1dHRvbi5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNpemUgb2YgdGhlIFBpdm90R3JpZCBjb25maWd1cmF0b3IgYnV0dG9uLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbi1zaXplOiBjYWxjKCBjYWxjKCAjeyRrZW5kby1waXZvdGdyaWQtbGluZS1oZWlnaHR9ICogMWVtICkgKyBjYWxjKCAjeyRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbi1wYWRkaW5nLXl9ICogMiApICsgY2FsYyggI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tYm9yZGVyLXdpZHRofSAqIDIgKSApICFkZWZhdWx0O1xuXG4vLyBDYWxjdWxhdGVkIGZpZWxkc1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFBpdm90R3JpZCBjYWxjdWxhdGVkIGZpZWxkLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1wYWRkaW5nLXg6ICRrZW5kby1waXZvdGdyaWQtc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBQaXZvdEdyaWQgY2FsY3VsYXRlZCBmaWVsZC5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtcGFkZGluZy15OiAka2VuZG8tcGl2b3RncmlkLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBQaXZvdEdyaWQgY2FsY3VsYXRlZCBmaWVsZC5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIFBpdm90R3JpZCBjYWxjdWxhdGVkIGZpZWxkLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobWQpICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBQaXZvdEdyaWQgY2FsY3VsYXRlZCBmaWVsZC5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtZ2FwOiAka2VuZG8tcGl2b3RncmlkLXNwYWNlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQaXZvdEdyaWQgY2FsY3VsYXRlZCBmaWVsZC5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBpdm90R3JpZCBjYWxjdWxhdGVkIGZpZWxkLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUGl2b3RHcmlkIGNhbGN1bGF0ZWQgZmllbGQuXG4vLy8gQGdyb3VwIHBpdm90Z3JpZFxuJGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUGl2b3RHcmlkIGNhbGN1bGF0ZWQgZmllbGQgaGVhZGVyLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1oZWFkZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBpdm90R3JpZCBjYWxjdWxhdGVkIGZpZWxkIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGl2b3RncmlkXG4ka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtaGVhZGVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUGl2b3RHcmlkIGNhbGN1bGF0ZWQgZmllbGQgaGVhZGVyLlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1oZWFkZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgUGl2b3RHcmlkIHRyZWV2aWV3LlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtdHJlZXZpZXctcGFkZGluZy14OiAka2VuZG8tcGl2b3RncmlkLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgUGl2b3RHcmlkIHRyZWV2aWV3LlxuLy8vIEBncm91cCBwaXZvdGdyaWRcbiRrZW5kby1waXZvdGdyaWQtdHJlZXZpZXctcGFkZGluZy15OiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG5cbi8vIExlZ2FjeSB2YXJpYWJsZXNcbiRrZW5kby1waXZvdGdyaWQtYWx0LWJnOiAka2VuZG8tZ3JpZC1oZWFkZXItYmcgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWFsdC10ZXh0OiAka2VuZG8tZ3JpZC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtY2hyb21lLWJvcmRlcjogJGtlbmRvLWdyaWQtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tcGl2b3RncmlkLWNvbnRhaW5lci1iZzogJGtlbmRvLWdyaWQtaGVhZGVyLWJnICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1yb3ctaGVhZGVycy1iZzogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLXBpdm90Z3JpZC1idXR0b24tYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLXRyeS1zaGFkZSgka2VuZG8tYnV0dG9uLWJnLCAxKSkgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWJ1dHRvbi10ZXh0OiAka2VuZG8tYnV0dG9uLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWJ1dHRvbi1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWhvdmVyICksIGstdHJ5LXNoYWRlKCRrZW5kby1idXR0b24tYmcsIDIpKSAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtYnV0dG9uLWhvdmVyLXRleHQ6ICRrZW5kby1idXR0b24tdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtYnV0dG9uLWFjdGl2ZS1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWFjdGl2ZSApLCBrLXRyeS1zaGFkZSgka2VuZG8tYnV0dG9uLWJnLCAyKSkgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWJ1dHRvbi1hY3RpdmUtdGV4dDogJGtlbmRvLWJ1dHRvbi10ZXh0ICFkZWZhdWx0O1xuXG4ka2VuZG8tcGl2b3RncmlkLXJlbW92ZS1iZzogJGtlbmRvLXBpdm90Z3JpZC1idXR0b24tdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtcmVtb3ZlLXRleHQ6ICRrZW5kby1waXZvdGdyaWQtYnV0dG9uLWJnICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3Bpdm90Z3JpZC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcGl2b3RncmlkL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Bpdm90Z3JpZC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1waXZvdGdyaWQtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gUGl2b3RncmlkXG4gICAgLmstcGl2b3RncmlkIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBpdm90Z3JpZC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcGl2b3RncmlkLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tcGl2b3RncmlkLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXBpdm90Z3JpZC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tcGl2b3RncmlkLWZvbnQtZmFtaWx5O1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXBpdm90Z3JpZC1saW5lLWhlaWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogJGtlbmRvLXBpdm90Z3JpZC1yb3ctaGVhZGVyLXdpZHRoIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogJGtlbmRvLXBpdm90Z3JpZC1jb2x1bW4taGVhZGVyLWhlaWdodCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgIGVtcHR5LWNlbGxzOiBzaG93O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhlYWQsXG4gICAgICAgIHRib2R5LFxuICAgICAgICB0aCxcbiAgICAgICAgdHIsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRhYmxlIExheW91dFxuICAgIC5rLXBpdm90Z3JpZC10YWJsZSB7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGl2b3RncmlkLWhlYWRlci1yb290IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBIZWFkZXIgZW1wdHkgY2VsbFxuICAgIC5rLXBpdm90Z3JpZC1lbXB0eS1jZWxsIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAka2VuZG8tcGl2b3RncmlkLWNlbGwtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aDtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENvbHVtbiBIZWFkZXJzXG4gICAgLmstcGl2b3RncmlkLWNvbHVtbi1oZWFkZXJzIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtY29sdW1uLWhlYWRlcnMgLmstcGl2b3RncmlkLXRhYmxlIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0ta2VuZG8tc2Nyb2xsYmFyLXdpZHRoLCAjeyRrZW5kby1zY3JvbGxiYXItd2lkdGh9KTtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtY29sdW1uLWhlYWRlcnMgLmstcGl2b3RncmlkLWNlbGwge1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZpcnN0IHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAka2VuZG8tcGl2b3RncmlkLWNlbGwtYm9yZGVyLXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSb3cgSGVhZGVyc1xuICAgIC5rLXBpdm90Z3JpZC1yb3ctaGVhZGVycyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLXJvdy1oZWFkZXJzIC5rLXBpdm90Z3JpZC10YWJsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1rZW5kby1zY3JvbGxiYXItd2lkdGgsICN7JGtlbmRvLXNjcm9sbGJhci13aWR0aH0pO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1yb3ctaGVhZGVycyAuay1waXZvdGdyaWQtY2VsbCB7XG4gICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1waXZvdGdyaWQtY2VsbC1ib3JkZXItd2lkdGg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG5cbiAgICAvLyBWYWx1ZXNcbiAgICAuay1waXZvdGdyaWQtdmFsdWVzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC12YWx1ZXMgLmstcGl2b3RncmlkLWNlbGwge1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNlbGwge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGl2b3RncmlkLWNlbGwtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBpdm90Z3JpZC1jZWxsLXBhZGRpbmcteDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNlbGwgLmstaWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAka2VuZG8tcGl2b3RncmlkLWljb24tc3BhY2luZztcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtdG90YWwge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC8vIENvbHVtbiBtZW51c1xuICAgIC5rLWNvbHVtbi1tZW51IC5rLXRyZWV2aWV3IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBpdm90Z3JpZC10cmVldmlldy1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcGl2b3RncmlkLXRyZWV2aWV3LXBhZGRpbmcteDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuXG5cbiAgICAvLyBQaXZvdGdyaWQgY29uZmlndXJhdG9yXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLy8gQ29uZmlndXJhdG9yIEJ1dHRvblxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbi1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAuay1mbGV4LXJvdyAmLFxuICAgICAgICAuay1mbGV4LXJvdy1yZXZlcnNlICYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG5cbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1mbGV4LXJvdy1yZXZlcnNlICYgPiBzcGFuIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmxleC1jb2wgJixcbiAgICAgICAgLmstZmxleC1jb2wtcmV2ZXJzZSAmIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTW9kZXNcbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLW92ZXJsYXkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgLmstZmxleC1yb3cgJiB7XG4gICAgICAgICAgICByaWdodDogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLXNpemU7XG4gICAgICAgIH1cbiAgICAgICAgLmstZmxleC1yb3ctcmV2ZXJzZSAmIHtcbiAgICAgICAgICAgIGxlZnQ6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbi1zaXplO1xuICAgICAgICB9XG4gICAgICAgIC5rLWZsZXgtY29sICYge1xuICAgICAgICAgICAgYm90dG9tOiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICAuay1mbGV4LWNvbC1yZXZlcnNlICYge1xuICAgICAgICAgICAgdG9wOiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUGFuZWwgQ29udGVudFxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhlYWRlci1mb250LXdlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhlYWRlci10ZXh0IHtcbiAgICAgICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1jb250ZW50LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWNvbnRlbnQtcGFkZGluZy14O1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgLmstZm9ybSB7XG4gICAgICAgICAgICAuay1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1kcm9wZG93bi1saXN0IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay10ZXh0Ym94IHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSb3dzLCBDb2xzIGFuZCBGaWx0ZXJzXG4gICAgICAgIC5rLXJvdy1maWVsZHMsXG4gICAgICAgIC5rLWNvbHVtbi1maWVsZHMsXG4gICAgICAgIC5rLWZpbHRlci1maWVsZHMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItZmllbGRzLW1hcmdpbi15O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVmFsdWVzXG4gICAgICAgIC5rLXZhbHVlLWZpZWxkcyB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWZpZWxkcy1tYXJnaW4teTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWZpZWxkcy1tYXJnaW4teDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiBjYWxjKCAjeyRrZW5kby1waXZvdGdyaWQtc3BhY2VyfSAvIDIgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlbGVjdC1hbGwgLmstY2hlY2tib3gge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGstc3BhY2luZygxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZpZWxkcy1saXN0LXdyYXBwZXIge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1zZXR0aW5ncy1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBrLXNwYWNpbmcoNCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay10cmVldmlldyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGl2b3RncmlkLXRyZWV2aWV3LXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcGl2b3RncmlkLXRyZWV2aWV3LXBhZGRpbmcteDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDYWxjdWxhdGVkIGZpZWxkXG4gICAgLmstY2FsY3VsYXRlZC1maWVsZCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6ICRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1nYXA7XG4gICAgfVxuICAgIC5rLWNhbGN1bGF0ZWQtZmllbGQtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay1jYWxjdWxhdGVkLWZpZWxkLWhlYWRlciAuay10ZXh0Ym94IHtcbiAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICB9XG5cbiAgICAuay1jYWxjdWxhdGVkLWZpZWxkLWhlYWRlci10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgfVxuXG4gICAgLmstY2FsY3VsYXRlZC1maWVsZC1oZWFkZXItYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5rLWNhbGN1bGF0ZWQtZmllbGQtY29udGVudCAuay10ZXh0Ym94IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmstY2FsY3VsYXRlZC1maWVsZC1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogay1zcGFjaW5nKDIpO1xuICAgICAgICB9XG4gICAgICAgIC5rLWRyb3Bkb3duLWxpc3Qge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZpbHRlci1tZW51IC5rLWNhbGN1bGF0ZWQtaXRlbSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgfVxuXG5cbiAgICAvLyBWZXJ0aWNhbCBMYXlvdXRcbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLXZlcnRpY2FsIHtcbiAgICAgICAgbWluLXdpZHRoOiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci12ZXJ0aWNhbC13aWR0aDtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLXZlcnRpY2FsLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wdXNoIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItcGFuZWwge1xuICAgICAgICAuay1mbGV4LXJvdyAmLFxuICAgICAgICAuay1mbGV4LXJvdy1yZXZlcnNlICYge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEhvcml6b250YWwgTGF5b3V0XG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1ob3Jpem9udGFsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaG9yaXpvbnRhbC1oZWlnaHQ7XG5cbiAgICAgICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1jb250ZW50IHtcbiAgICAgICAgICAgIC5rLWZvcm0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRrZW5kby1waXZvdGdyaWQtc3BhY2VyO1xuXG4gICAgICAgICAgICAgICAgJiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMzAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAzMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDEgNDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstcm93LWZpZWxkcyxcbiAgICAgICAgICAgIC5rLWNvbHVtbi1maWVsZHMsXG4gICAgICAgICAgICAuay1maWx0ZXItZmllbGRzIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXZhbHVlLWZpZWxkcyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLXB1c2ggLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYW5lbCB7XG4gICAgICAgICAgICAuay1mbGV4LWNvbCAmLFxuICAgICAgICAgICAgLmstZmxleC1jb2wtcmV2ZXJzZSAmIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy8gUGl2b3RncmlkIGV4cG9ydFxuICAgIC5rLXBkZi1leHBvcnQtc2hhZG93IHtcblxuICAgICAgICAuay1waXZvdGdyaWQge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cblxuICAgICAgICAuay1waXZvdGdyaWQtdmFsdWVzICB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBpdm90Z3JpZC1jb2x1bW4taGVhZGVycyAuay1waXZvdGdyaWQtdGFibGUge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIExlZ2FjeSBwaXZvdGdyaWRcbiAgICAvLyBUT0RPOiByZW1vdmVcbiAgICAuay1waXZvdCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuay1ncmlkIHRkIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1waXZvdC10b29sYmFyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXBpdm90LWxheW91dCB7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGF1dG87XG5cbiAgICAgICAgLmstZ3JpZC1mb290ZXIsXG4gICAgICAgIC5rLWdyaWQgLmstdGFibGUtYWx0LXJvdyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXBpdm90LWxheW91dCA+IHRib2R5LFxuICAgIC5rLXBpdm90IC5rLXRhYmxlLXRkLFxuICAgIC5rLXBpdm90IHRkIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAuay1waXZvdC1sYXlvdXQgPiB0Ym9keSA+IHRyID4gdGQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5rLXBpdm90LXJvd2hlYWRlcnMgPiAuay1ncmlkLFxuICAgIC5rLXBpdm90LXRhYmxlID4gLmstZ3JpZCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmstcGl2b3Qtcm93aGVhZGVycyA+IC5rLWdyaWQgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgLmstcGl2b3QtdGFibGUgLmstZ3JpZC1oZWFkZXIgLmstaGVhZGVyLmstZmlyc3Qge1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgIH1cblxuICAgIC5rLXBpdm90LXJvd2hlYWRlcnMgPiAuay1ncmlkIHRkLmstZmlyc3Qge1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuay1waXZvdC1yb3doZWFkZXJzID4gLmstZ3JpZCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstcGl2b3QtdGFibGUge1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgfVxuXG4gICAgLmstcGl2b3QtdGFibGUgLmstZ3JpZC1oZWFkZXItd3JhcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICB9XG5cbiAgICAuay1waXZvdC10YWJsZSAuay1ncmlkLWhlYWRlci13cmFwID4gdGFibGUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmstcGl2b3QgLmstZ3JpZC1oZWFkZXIgLmstaGVhZGVyIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAuay1waXZvdCAuay1ncmlkIHRyIHtcbiAgICAgICAgLmstZ3JpZC1mb290ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQ6bm90KC5rLWdyaWQtZm9vdGVyKSB7XG4gICAgICAgICAgICB0ZDpub3QoLmstZ3JpZC1mb290ZXIpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1waXZvdC1sYXlvdXQgLmstZ3JpZCB0ZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAuay1waXZvdC1sYXlvdXQgLmstZ3JpZC1mb290ZXIgPiB0ZCB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmstcGl2b3QtZmlsdGVyLXdpbmRvdyAuay10cmVldmlldyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuICAgIH1cblxuXG4gICAgLy8ganF1ZXJ5IHNwZWNpZmljIC0tIG9sZCBwaXZvdFxuICAgIC8vIFRPRE86IHJlbW92ZVxuICAgIC5rLXBpdm90Z3JpZC13cmFwcGVyIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiBrLXNwYWNpbmcoMik7XG5cbiAgICAgICAgPiAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLXBhbmVsIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICB9XG4gICAgICAgID4gLmstcGl2b3Qge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLXBhbmVsLmtlbmRvLWpxdWVyeSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3Ige1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGstc3BhY2luZyg0KTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgZ2FwOiBrLXNwYWNpbmcoNCk7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGl2b3RncmlkLXRhcmdldHMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIGdhcDogay1zcGFjaW5nKDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1zZWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgICAgICBnYXA6IGstc3BhY2luZygyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbHVtbi1maWVsZHMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogay1zcGFjaW5nKDEpO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGdhcDogay1zcGFjaW5nKDEpO1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQaXZvdEdyaWQgdG9nZ2xlIGljb25cbiAgICAuay1waXZvdGdyaWQtdG9nZ2xlIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiBjYWxjKCAjeyRrZW5kby1pY29uLXBhZGRpbmd9ICogLTEgKTtcbiAgICAgICAgcGFkZGluZzogJGtlbmRvLWljb24tcGFkZGluZztcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcGl2b3RncmlkLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGl2b3RncmlkLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXBpdm90Z3JpZC0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tcGl2b3RncmlkLS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLmstcGl2b3Qtcm93aGVhZGVycyAuay1ncmlkIHRyIC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuay1waXZvdCAuay1ncmlkIHRoLFxuICAgIC5rLXBpdm90IC5rLWdyaWQgdGQge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3Bpdm90Z3JpZC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9waXZvdGdyaWQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9waXZvdGdyaWQvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1waXZvdGdyaWQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBQaXZvdEdyaWRcbiAgICAuay1waXZvdGdyaWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtYmcsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jb2x1bW4taGVhZGVycyxcbiAgICAuay1waXZvdGdyaWQtcm93LWhlYWRlcnMsXG4gICAgLmstcGl2b3RncmlkLWVtcHR5LWNlbGwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtaGVhZGVycy10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1lbXB0eS1jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAkYm9yZGVyOiAka2VuZG8tcGl2b3RncmlkLWFsdC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtcm93LWhlYWRlcnMgLmstcGl2b3RncmlkLXJvdyAuay1waXZvdGdyaWQtY2VsbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAka2VuZG8tcGl2b3RncmlkLWFsdC1ib3JkZXI7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNvbHVtbi1oZWFkZXJzIC5rLXBpdm90Z3JpZC1jb2x1bW4tdG90YWw6bnRoLWxhc3Qtb2YtdHlwZSgyKSAuay1waXZvdGdyaWQtY2VsbDpub3QoLmstcGl2b3RncmlkLWV4cGFuZGVkKSxcbiAgICAuay1waXZvdGdyaWQtY29sdW1uLWhlYWRlcnMgLmstcGl2b3RncmlkLXJvdzpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGtlbmRvLXBpdm90Z3JpZC1hbHQtYm9yZGVyO1xuICAgIH1cblxuXG4gICAgLmstcGl2b3RncmlkLWhlYWRlci10b3RhbCxcbiAgICAuay1waXZvdGdyaWQtdG90YWwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtdG90YWwtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtdG90YWwtYmcsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLXRvdGFsLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gSG92ZXIgc3RhdGVcbiAgICAuay1waXZvdGdyaWQtcm93LWhlYWRlcnMgdGJvZHkgPiAuay1waXZvdGdyaWQtcm93OmhvdmVyLFxuICAgIC5rLXBpdm90Z3JpZC1yb3ctaGVhZGVycyB0Ym9keSA+IC5rLXBpdm90Z3JpZC1yb3cuay1ob3ZlcixcbiAgICAuay1waXZvdGdyaWQtY29sdW1uLWhlYWRlcnMgdGJvZHkgPiAuay1waXZvdGdyaWQtcm93OmhvdmVyLFxuICAgIC5rLXBpdm90Z3JpZC1jb2x1bW4taGVhZGVycyB0Ym9keSA+IC5rLXBpdm90Z3JpZC1yb3cuay1ob3ZlcixcbiAgICAuay1waXZvdGdyaWQtdmFsdWVzIHRib2R5ID4gLmstcGl2b3RncmlkLXJvdzpob3ZlcixcbiAgICAuay1waXZvdGdyaWQtdmFsdWVzIHRib2R5ID4gLmstcGl2b3RncmlkLXJvdy5rLWhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWhvdmVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1ob3Zlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBGb2N1cyBzdGF0ZVxuICAgIC5rLXBpdm90Z3JpZC1jZWxsOmZvY3VzLFxuICAgIC5rLXBpdm90Z3JpZC1jZWxsLmstZm9jdXMsXG4gICAgLmstcGl2b3RncmlkLWVtcHR5LWNlbGw6Zm9jdXMsXG4gICAgLmstcGl2b3RncmlkLWVtcHR5LWNlbGwuay1mb2N1cyxcbiAgICAuay1tYXN0ZXItcm93ID4gLmstcGl2b3RncmlkLWNlbGw6Zm9jdXMsXG4gICAgLmstZ3JvdXBpbmctcm93ID4gLmstcGl2b3RncmlkLWNlbGw6Zm9jdXMsXG4gICAgLmstZGV0YWlsLXJvdyA+IC5rLXBpdm90Z3JpZC1jZWxsOmZvY3VzLFxuICAgIC5rLWdyb3VwLWZvb3RlciA+IC5rLXBpdm90Z3JpZC1jZWxsOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tcGl2b3RncmlkLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuICAgIH1cblxuICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgLmstcGl2b3RncmlkLWNlbGwuay1zZWxlY3RlZCxcbiAgICAuay1waXZvdGdyaWQtcm93Lmstc2VsZWN0ZWQgPiAuay1waXZvdGdyaWQtY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1zZWxlY3RlZC1iZyxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtc2VsZWN0ZWQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBQaXZvdGdyaWQgY29uZmlndXJhdG9yXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24sXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1jb250ZW50IC5rLWZpZWxkcy1saXN0LXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJvcmRlcjogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBDYWxjdWxhdGVkIGZpZWxkXG4gICAgLmstY2FsY3VsYXRlZC1maWVsZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtYmcsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstY2FsY3VsYXRlZC1maWVsZC1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWhlYWRlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWhlYWRlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1oZWFkZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstZmlsdGVyLW1lbnUgLmstY2FsY3VsYXRlZC1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLXBvcHVwLWJvcmRlciApO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudCAuay1mb3JtLWZpZWxkLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciApO1xuICAgIH1cblxuXG4gICAgLy8gT3ZlcmxheSBtb2RlXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1vdmVybGF5IHtcbiAgICAgICAgLmstZmxleC1yb3cgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1lbmQtc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1mbGV4LXJvdy1yZXZlcnNlICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3Itc3RhcnQtc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1mbGV4LWNvbCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLXRvcC1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZsZXgtY29sLXJldmVyc2UgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1ib3R0b20tc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIExlZ2FjeSBwaXZvdGdyaWRcbiAgICAvLyBUT0RPOiByZW1vdmVcbiAgICAuay1waXZvdCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1iZyxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuICAgIC5rLXBpdm90LXRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tcGl2b3RncmlkLWJvcmRlcjtcbiAgICB9XG5cbiAgICAvLyBQaXZvdGdyaWQgaGVhZGVyXG4gICAgLmstcGl2b3Qtcm93aGVhZGVycyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWhlYWRlcnMtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtaGVhZGVycy1iZyxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtaGVhZGVycy1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIFBpdm90Z3JpZCB0b29sYmFyXG4gICAgLmstcGl2b3QtdG9vbGJhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWhlYWRlcnMtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtaGVhZGVycy1iZyxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtaGVhZGVycy1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAuay1lbXB0eSB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLXN1YnRsZS10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcGl2b3QgLmstYWx0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXBpdm90Z3JpZC1hbHQtYmc7XG4gICAgfVxuXG4gICAgLmstcGl2b3QtdG9vbGJhcixcbiAgICAuay1waXZvdC10YWJsZSxcbiAgICAuay1waXZvdC1yb3doZWFkZXJzID4gLmstZ3JpZCB0ZDpmaXJzdC1jaGlsZCxcbiAgICAuay1waXZvdC10YWJsZSAuay1ncmlkLWhlYWRlciAuay1oZWFkZXIuay1maXJzdCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXBpdm90Z3JpZC1jaHJvbWUtYm9yZGVyO1xuICAgIH1cblxuICAgIC5rLWhlYWRlci5rLWFsdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1waXZvdGdyaWQtcm93LWhlYWRlcnMtYmc7XG4gICAgfVxuXG4gICAgLmstcGl2b3QtbGF5b3V0IC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1waXZvdGdyaWQtYWx0LXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1waXZvdGdyaWQtYWx0LWJnO1xuICAgIH1cblxuICAgIC8vIEtQSSBpY29uc1xuICAgIC5rLWkta3BpLXRyZW5kLWluY3JlYXNlLFxuICAgIC5rLWkta3BpLXRyZW5kLWRlY3JlYXNlLFxuICAgIC5rLWkta3BpLXRyZW5kLWVxdWFsIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmstaS1rcGktc3RhdHVzLWhvbGQge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWNvbG9yLXdhcm5pbmc7XG4gICAgfVxuXG4gICAgLmstaS1rcGktc3RhdHVzLWRlbnkge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWNvbG9yLWVycm9yO1xuICAgIH1cblxuICAgIC5rLWkta3BpLXN0YXR1cy1vcGVuIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1jb2xvci1zdWNjZXNzO1xuICAgIH1cblxuXG4gICAgLy8gQ29uZmlndXJhdG9yXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYW5lbC5rZW5kby1qcXVlcnkge1xuXG4gICAgICAgIC5rLWNvbHVtbi1maWVsZHMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tY29tcG9uZW50LWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1waXZvdGdyaWQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBpdm90Z3JpZC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXBpdm90Z3JpZC0tdGhlbWUoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1waXZvdGdyaWQtLXRoZW1lLWJhc2UoKTtcblxuICAgIC8vIEhvdmVyIGFuZCBGb2N1cyBzdGF0ZSBoYXZlIHRoZSBzYW1lIGJnIGNvbG9yXG4gICAgLmstcGl2b3RncmlkLWNlbGw6Zm9jdXMsXG4gICAgLmstcGl2b3RncmlkLWNlbGwuay1mb2N1cyxcbiAgICAuay1tYXN0ZXItcm93ID4gLmstcGl2b3RncmlkLWNlbGw6Zm9jdXMsXG4gICAgLmstZ3JvdXBpbmctcm93ID4gLmstcGl2b3RncmlkLWNlbGw6Zm9jdXMsXG4gICAgLmstZGV0YWlsLXJvdyA+IC5rLXBpdm90Z3JpZC1jZWxsOmZvY3VzLFxuICAgIC5rLWdyb3VwLWZvb3RlciA+IC5rLXBpdm90Z3JpZC1jZWxsOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoICRiZzogJGtlbmRvLXBpdm90Z3JpZC1ob3Zlci1iZyApO1xuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXBpdm90Z3JpZC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwicGl2b3RncmlkXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXBpdm90Z3JpZC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXBpdm90Z3JpZC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBpdm90Z3JpZC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdHJlZWxpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90cmVlbGlzdC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0cmVlbGlzdFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImdyaWRcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fdGV4dC5zY3NzXCI7XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9ncmlkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZ3JpZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3RyZWVsaXN0L192YXJpYWJsZXMuc2Nzc1xuLy8gVHJlZWxpc3RcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBUcmVlTGlzdCBmb290ZXIgcm93LlxuLy8vIEBncm91cCB0cmVlbGlzdFxuJGtlbmRvLXRyZWVsaXN0LWZvb3Rlci1yb3ctYmc6ICRrZW5kby1ncmlkLXNlbGVjdGVkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFRyZWVMaXN0IGZvb3RlciByb3cuXG4vLy8gQGdyb3VwIHRyZWVsaXN0XG4ka2VuZG8tdHJlZWxpc3QtZm9vdGVyLXJvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy90cmVlbGlzdC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdHJlZWxpc3QvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdHJlZWxpc3QvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdHJlZWxpc3QtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQmFzZVxuICAgIC5rLXRyZWVsaXN0IHtcbiAgICAgICAgJi5rLWdyaWQtZGlzcGxheS1ibG9jay5rLWdyaWQtbG9ja2VkY29sdW1ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXN0YXR1cyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAuNGVtO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IC42ZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG5cbiAgICAgICAgICAgIC8vIFRPRE86IHNlZSB3aGF0IHRoaXMgZG9lcyBhbmQgdXNlIGEgYmV0dGVyIG5hbWVcbiAgICAgICAgICAgIC5rLWxvYWRpbmcge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgICAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHIuay1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRyZWVsaXN0LWRyYWdnaW5nLFxuICAgICAgICAuay10cmVlbGlzdC1kcmFnZ2luZyAuay1ob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcm9wLWhpbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS1yb3cuay1mb290ZXIgdGQsXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLWZvb3Rlci10ZW1wbGF0ZSB0ZCxcbiAgICAgICAgLmstdGFibGUtcm93LmstZm9vdGVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAuay10YWJsZS1yb3cuay1mb290ZXItdGVtcGxhdGUgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdHJlZWxpc3QtZm9vdGVyLXJvdy1ib3JkZXItd2lkdGggMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLWZvb3RlciArIC5rLXRhYmxlLXJvdy5rLWZvb3RlciB0ZCxcbiAgICAgICAgLmstdGFibGUtcm93LmstZm9vdGVyICsgLmstdGFibGUtcm93LmstZm9vdGVyIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFN0aWNreSBoZWFkZXJzXG4gICAgLmstdHJlZWxpc3Qtc2Nyb2xsYWJsZSB7XG4gICAgICAgID4gLmstdGFibGUsXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIC5rLXRhYmxlLXJvdyxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXIgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtdG9vbGJhciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWhlYWRlciAuay10YWJsZS10aCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIC5rLXRhYmxlLXRoLmstZ3JpZC1oZWFkZXItc3RpY2t5IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZC5rLWdyaWQtaGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS1yb3cuay1ncm91cC1mb290ZXIgKyAuay10YWJsZS1yb3cuay1ncm91cC1mb290ZXIgdGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZbZGlyID0gXCJydGxcIl0sXG4gICAgICAgIC5rLXJ0bCAmIHtcbiAgICAgICAgICAgIHRoZWFkLmstZ3JpZC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmstZHJhZy1zZXBhcmF0b3Ige1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAuNWVtO1xuICAgIH1cblxuICAgIC5rLXRyZWVsaXN0LXRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogY2FsYyggI3ska2VuZG8taWNvbi1wYWRkaW5nfSAqIC0xICk7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1pY29uLXBhZGRpbmc7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRyZWVsaXN0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdHJlZWxpc3QtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdHJlZWxpc3QtLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXRyZWVsaXN0LS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLmstdHJlZWxpc3Qge1xuICAgICAgICB0ci5rLWZvb3Rlci10ZW1wbGF0ZSB0ZCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10cmVlbGlzdC1mb290ZXItcm93LWJvcmRlci13aWR0aCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIuay1mb290ZXIgdGQsXG4gICAgICAgIHRyLmstZm9vdGVyLXRlbXBsYXRlICsgdHIuay1mb290ZXItdGVtcGxhdGUgdGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJGtlbmRvLXRyZWVsaXN0LWZvb3Rlci1yb3ctYm9yZGVyLXdpZHRoIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10cmVlbGlzdC1zY3JvbGxhYmxlIHtcbiAgICAgICAgdHIuay1ncm91cC1mb290ZXIgdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLXRyZWVsaXN0LWZvb3Rlci1yb3ctYm9yZGVyLXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90cmVlbGlzdC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90cmVlbGlzdC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RyZWVsaXN0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdHJlZWxpc3QtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBUaGVtZVxuICAgIC5rLXRyZWVsaXN0IHtcbiAgICAgICAgdHIuay1mb290ZXIsXG4gICAgICAgIHRyLmstZm9vdGVyLXRlbXBsYXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10cmVlbGlzdC1mb290ZXItcm93LWJnO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRyZWVsaXN0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10cmVlbGlzdC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBtaXhpbiBrZW5kby10cmVlbGlzdC0tdGhlbWUoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby10cmVlbGlzdC0tdGhlbWUtYmFzZSgpO1xuXG4gICAgLmstdHJlZWxpc3Qge1xuICAgICAgICB0ci5rLWZvb3RlcixcbiAgICAgICAgdHIuay1mb290ZXItdGVtcGxhdGUge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRyZWVsaXN0LWZvb3Rlci1yb3ctYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdGlja3kgaGVhZGVyc1xuICAgIC5rLXRyZWVsaXN0LXNjcm9sbGFibGUge1xuICAgICAgICAuay1ncmlkLXRvb2xiYXIsXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLFxuICAgICAgICAuay1ncmlkLWhlYWRlciB0cjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JvdXAtZm9vdGVyIHRkLFxuICAgICAgICAuay1ncm91cGluZy1yb3cgdGQsXG4gICAgICAgIHRib2R5IC5rLWdyb3VwLWNlbGwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRyZWVsaXN0LWZvb3Rlci1yb3ctYmc7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10cmVlbGlzdC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidHJlZWxpc3RcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdHJlZWxpc3QtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10cmVlbGlzdC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRyZWVsaXN0LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9maWx0ZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9maWx0ZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZmlsdGVyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiY2hlY2tib3hcIixcbiAgICAgICAgXCJkYXRlLXRpbWUtcGlja2VyXCIsXG4gICAgICAgIFwiZHJvcGRvd24tbGlzdFwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibnVtZXJpYy10ZXh0Ym94XCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2hlY2tib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jaGVja2JveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2RhdGV0aW1lcGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGF0ZXRpbWVwaWNrZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9udW1lcmljdGV4dGJveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL251bWVyaWN0ZXh0Ym94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbGJhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Rvb2xiYXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2ZpbHRlci9fdmFyaWFibGVzLnNjc3Ncbi8vIEZpbHRlciBleHByZXNzaW9uIGJ1aWxkZXJcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEZpbHRlci5cbi8vLyBAZ3JvdXAgZmlsdGVyXG4ka2VuZG8tZmlsdGVyLXBhZGRpbmcteDogJGtlbmRvLXBhZGRpbmctc20teCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgRmlsdGVyLlxuLy8vIEBncm91cCBmaWx0ZXJcbiRrZW5kby1maWx0ZXItcGFkZGluZy15OiAka2VuZG8tZmlsdGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBGaWx0ZXIuXG4vLy8gQGdyb3VwIGZpbHRlclxuJGtlbmRvLWZpbHRlci1ib3R0b20tbWFyZ2luOiAyLjFlbSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGxpbmUgdGhhdCBjb25uZWN0cyB0aGUgRmlsdGVyIGl0ZW1zLlxuLy8vIEBncm91cCBmaWx0ZXJcbiRrZW5kby1maWx0ZXItbGluZS1zaXplOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGRyb3Bkb3duIGVsZW1lbnRzIGluIHRoZSBGaWx0ZXIgaXRlbXMuXG4vLy8gQGdyb3VwIGZpbHRlclxuJGtlbmRvLWZpbHRlci1vcGVyYXRvci1kcm9wZG93bi13aWR0aDogMTVlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGaWx0ZXIgcHJldmlldyBmaWVsZC5cbi8vLyBAZ3JvdXAgZmlsdGVyXG4ka2VuZG8tZmlsdGVyLXByZXZpZXctZmllbGQtdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbHRlciBwcmV2aWV3IG9wZXJhdG9yLlxuLy8vIEBncm91cCBmaWx0ZXJcbiRrZW5kby1maWx0ZXItcHJldmlldy1vcGVyYXRvci10ZXh0OiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBGaWx0ZXIgdG9vbGJhci5cbi8vLyBAZ3JvdXAgZmlsdGVyXG4ka2VuZG8tZmlsdGVyLXRvb2xiYXItZm9jdXMtc2hhZG93OiAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIC4yKSwgMCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgLjE0KSwgMCAxcHggMTBweCByZ2JhKDAsIDAsIDAsIC4xMikgIWRlZmF1bHQ7XG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2ZpbHRlci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmlsdGVyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2ZpbHRlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1maWx0ZXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLmstZmlsdGVyIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWx0ZXItY29udGFpbmVyLFxuICAgICAgICAuay1maWx0ZXItcHJldmlldyB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAka2VuZG8tZmlsdGVyLWJvdHRvbS1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWx0ZXItbGluZXMsXG4gICAgICAgIC5rLWZpbHRlci1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAka2VuZG8tZmlsdGVyLXBhZGRpbmcteDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZpbHRlci10b29sYmFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWZpbHRlci1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGtlbmRvLWZpbHRlci1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tZmlsdGVyLWxpbmUtc2l6ZTtcbiAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogNTAlO1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyggI3ska2VuZG8tZmlsdGVyLXBhZGRpbmcteH0gKiAtMSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10b29sYmFyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLWZpbHRlci1vcGVyYXRvciAuay1kcm9wZG93bi1saXN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZmlsdGVyLW9wZXJhdG9yLWRyb3Bkb3duLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmlsdGVyLWl0ZW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZmlsdGVyLWxpbmUtc2l6ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IGNhbGMoICN7JGtlbmRvLWZpbHRlci1wYWRkaW5nLXl9ICogLTEgKTtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgc2Vjb25kIHNlbGVjdG9yIHRhcmdldHMgdGhlIEFuZ3VsYXIgcmVuZGVyaW5nXG4gICAgICAgIC5rLWZpbHRlci1saW5lcyAuay1maWx0ZXItaXRlbTpsYXN0LWNoaWxkID4gLmstZmlsdGVyLXRvb2xiYXI6OmFmdGVyLFxuICAgICAgICAuay1maWx0ZXItbGluZXMgLmstZmlsdGVyLWl0ZW06bGFzdC1jaGlsZCA+ICogPiAuay1maWx0ZXItdG9vbGJhcjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZmlsdGVyLWxpbmUtc2l6ZTtcbiAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKCBjYWxjKCAjeyRrZW5kby1maWx0ZXItcGFkZGluZy15fSAqIC0xICkgLSAjeyRrZW5kby1maWx0ZXItbGluZS1zaXplfSApO1xuICAgICAgICAgICAgaW5zZXQtYmxvY2stZW5kOiA1MCU7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoICN7JGtlbmRvLWZpbHRlci1wYWRkaW5nLXh9ICogLTEgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBmb3J0aCBhbmQgZmlmdGggc2VsZWN0b3JzIHRhcmdldHMgdGhlIEFuZ3VsYXIgcmVuZGVyaW5nXG4gICAgICAgIC5rLWZpbHRlci1ncm91cC1tYWluOjpiZWZvcmUsXG4gICAgICAgIC5rLWZpbHRlci1ncm91cC1tYWluID4gLmstZmlsdGVyLXRvb2xiYXI6OmJlZm9yZSxcbiAgICAgICAgLmstZmlsdGVyLWdyb3VwLW1haW4gPiAuay1maWx0ZXItdG9vbGJhcjo6YWZ0ZXIsXG4gICAgICAgIC5rLWZpbHRlci1ncm91cC1tYWluID4gKiA+IC5rLWZpbHRlci10b29sYmFyOjpiZWZvcmUsXG4gICAgICAgIC5rLWZpbHRlci1ncm91cC1tYWluID4gKiA+IC5rLWZpbHRlci10b29sYmFyOjphZnRlcixcbiAgICAgICAgLmstZmlsdGVyLWxpbmVzIC5rLWZpbHRlci1pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWZpbHRlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZpbHRlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1maWx0ZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1maWx0ZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9maWx0ZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmlsdGVyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmlsdGVyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tZmlsdGVyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLmstZmlsdGVyIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1jb21wb25lbnQtdGV4dDtcblxuICAgICAgICAuay1maWx0ZXItcHJldmlldy1maWVsZCB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWZpbHRlci1wcmV2aWV3LWZpZWxkLXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWx0ZXItcHJldmlldy1vcGVyYXRvciB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWZpbHRlci1wcmV2aWV3LW9wZXJhdG9yLXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgbGFzdCBzZWxlY3RvciB0YXJnZXRzIHRoZSBBbmd1bGFyIHJlbmRlcmluZ1xuICAgICAgICAuay1maWx0ZXItaXRlbTo6YmVmb3JlLFxuICAgICAgICAuay1maWx0ZXItdG9vbGJhcjo6YmVmb3JlLFxuICAgICAgICAuay1maWx0ZXItbGluZXMgLmstZmlsdGVyLWl0ZW06bGFzdC1jaGlsZCA+IC5rLWZpbHRlci10b29sYmFyOjphZnRlcixcbiAgICAgICAgLmstZmlsdGVyLWxpbmVzIC5rLWZpbHRlci1pdGVtOmxhc3QtY2hpbGQgPiAqID4gLmstZmlsdGVyLXRvb2xiYXI6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNcbiAgICAgICAgLmstdG9vbGJhcjpmb2N1cyxcbiAgICAgICAgLmstdG9vbGJhci5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWZpbHRlci10b29sYmFyLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWZpbHRlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZmlsdGVyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZmlsdGVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1maWx0ZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1maWx0ZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImZpbHRlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1maWx0ZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1maWx0ZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1maWx0ZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2ZpbGVtYW5hZ2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZmlsZW1hbmFnZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZmlsZS1tYW5hZ2VyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnJlYWRjcnVtYlwiLFxuICAgICAgICBcImRpYWxvZ1wiLFxuICAgICAgICBcImdyaWRcIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcImxpc3R2aWV3XCIsXG4gICAgICAgIFwibWVudVwiLFxuICAgICAgICBcInNwbGl0dGVyXCIsXG4gICAgICAgIFwic3dpdGNoXCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgICAgICBcInRyZWV2aWV3XCIsXG4gICAgICAgIFwidXBsb2FkXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90b29sYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbGJhci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3VwbG9hZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3VwbG9hZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3N3aXRjaC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3N3aXRjaC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL21lbnUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZW51L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZGlhbG9nL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGlhbG9nL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnJlYWRjcnVtYi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2JyZWFkY3J1bWIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90cmVldmlldy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RyZWV2aWV3L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vc3BsaXR0ZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zcGxpdHRlci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2dyaWQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9ncmlkL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdHZpZXcvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0dmlldy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBGaWxlTWFuYWdlclxuXG4vLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIEZpbGVNYW5hZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItc3BhY2VyOiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgRmlsZU1hbmFnZXIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIEZpbGVNYW5hZ2VyLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEZpbGVNYW5hZ2VyLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBGaWxlTWFuYWdlci5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlci5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlci5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlci5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBGaWxlTWFuYWdlciBUb29sYmFyLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci1ib3JkZXItd2lkdGg6ICRrZW5kby1maWxlLW1hbmFnZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBUb29sYmFyLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgay10cnktc2hhZGUoICRrZW5kby1idXR0b24tYmcsIC41ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBUb29sYmFyLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIFRvb2xiYXIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci10b29sYmFyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIEZpbGVNYW5hZ2VyIFRvb2xiYXIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci10b29sYmFyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgRmlsZU1hbmFnZXIgTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tcGFkZGluZy14OiAka2VuZG8tZmlsZS1tYW5hZ2VyLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgRmlsZU1hbmFnZXIgTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tcGFkZGluZy15OiAka2VuZG8tZmlsZS1tYW5hZ2VyLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIEZpbGVNYW5hZ2VyIE5hdmlnYXRpb24uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLXdpZHRoOiAyMCUgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgRmlsZU1hbmFnZXIgTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tYm9yZGVyLXdpZHRoOiAka2VuZG8tZmlsZS1tYW5hZ2VyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIE5hdmlnYXRpb24uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgRmlsZU1hbmFnZXIgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEZpbGVNYW5hZ2VyIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEZpbGVNYW5hZ2VyIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLWJvcmRlci13aWR0aDogJGtlbmRvLWZpbGUtbWFuYWdlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLWJnOiAka2VuZG8tZmlsZS1tYW5hZ2VyLXRvb2xiYXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3LlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3LlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3IGl0ZW0uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0VmlldyBpdGVtLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3IGl0ZW0uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLXdpZHRoOiAxMjBweCAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0VmlldyBpdGVtLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1oZWlnaHQ6IDEyMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0VmlldyBpdGVtLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgTGlzdFZpZXcgaXRlbS5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0tdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0VmlldyBpdGVtLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgTGlzdFZpZXcgaXRlbSBpY29uLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0VmlldyBpdGVtIGljb24uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1YnRsZSApLCBrLXRyeS10aW50KCRrZW5kby1maWxlLW1hbmFnZXItdGV4dCwgNCkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3IGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgc2VsZWN0ZWQgTGlzdFZpZXcgaXRlbSBpY29uLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLXNlbGVjdGVkLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIHNlbGVjdGVkIExpc3RWaWV3IGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1zZWxlY3RlZC10ZXh0OiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgc2VsZWN0ZWQgTGlzdFZpZXcgaXRlbSBpY29uLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLXNlbGVjdGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBHcmlkLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItZ3JpZC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgR3JpZC5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWdyaWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBHcmlkLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItZ3JpZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3LlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1wYWRkaW5nLXg6ICRrZW5kby1maWxlLW1hbmFnZXItc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3LlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1wYWRkaW5nLXk6ICRrZW5kby1maWxlLW1hbmFnZXItc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgRmlsZU1hbmFnZXIgcHJldmlldy5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctd2lkdGg6IDIwJSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3LlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1ib3JkZXItd2lkdGg6ICRrZW5kby1maWxlLW1hbmFnZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3LlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1zcGFjaW5nOiAka2VuZG8tZmlsZS1tYW5hZ2VyLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgZ2FwIGJldHdlZW4gdGhlIGNvbHVtbnMgaW4gdGhlIEZpbGVNYW5hZ2VyIHByZXZpZXcuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWNvbHVtbi1nYXA6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgcHJldmlldy5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIHByZXZpZXcuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgcHJldmlldy5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIHByZXZpZXcgaWNvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctaWNvbi1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgcHJldmlldyBpY29uLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1pY29uLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWJ0bGUgKSwgay10cnktdGludCgka2VuZG8tZmlsZS1tYW5hZ2VyLXRleHQsIDQpKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3IGljb24uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWljb24tYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2ZpbGVtYW5hZ2VyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9maWxlbWFuYWdlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9maWxlbWFuYWdlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1maWxlLW1hbmFnZXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gRmlsZSBNYW5hZ2VyXG4gICAgLmstZmlsZW1hbmFnZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1maWxlLW1hbmFnZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWZpbGUtbWFuYWdlci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZmlsZS1tYW5hZ2VyLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1maWxlLW1hbmFnZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICB9XG5cblxuICAgIC8vIFRvb2xiYXJcbiAgICAuay1maWxlbWFuYWdlci1oZWFkZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5rLWZpbGVtYW5hZ2VyLXRvb2xiYXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG5cbiAgICAvLyBDb250ZW50IFdyYXBwZXJcbiAgICAuay1maWxlbWFuYWdlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleDogMSAxIDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5rLWZpbGVtYW5hZ2VyLXNwbGl0dGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuXG4gICAgLy8gTmF2aWdhdGlvblxuICAgIC5rLWZpbGVtYW5hZ2VyLW5hdmlnYXRpb24ge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLXBhZGRpbmcteDtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi13aWR0aDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6ICRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgICAuay1maWxlbWFuYWdlci10cmVldmlldyB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLWZpbGVtYW5hZ2VyLWNvbnRlbnQge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAvLyBGaWxlbWFuYWdlciB2aWV3XG4gICAgLmstZmlsZW1hbmFnZXItdmlldyB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxuICAgIC8vIEJyZWFkY3J1bWJcbiAgICAuay1maWxlbWFuYWdlci1icmVhZGNydW1iIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAka2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItYm9yZGVyLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLXBhZGRpbmcteDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBGaWxlbWFuYWdlciBsaXN0dmlld1xuICAgIC5rLWZpbGVtYW5hZ2VyLWxpc3R2aWV3IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBmbGV4OiAxIDEgMCU7XG5cbiAgICAgICAgLy8gTGlzdHZpZXcgaXRlbVxuICAgICAgICAuay1saXN0dmlldy1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0td2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1oZWlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaWxlIHByZXZpZXdcbiAgICAgICAgLmstZmlsZS1wcmV2aWV3IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaWxlIG5hbWVcbiAgICAgICAgLmstZmlsZS1uYW1lIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoICN7JGtlbmRvLWZpbGUtbWFuYWdlci1zcGFjZXJ9IC8gMiApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRWRpdCBtb2RlXG4gICAgICAgIC5rLWZpbGUtZWRpdC1pbnB1dCBpbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRmlsZW1hbmFnZXIgZ3JpZFxuICAgIC5rLWZpbGVtYW5hZ2VyLWdyaWQge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGZsZXg6IDEgMSAwJTtcblxuICAgICAgICAvLyBGaWxlIHByZXZpZXdcbiAgICAgICAgLmstZmlsZS1wcmV2aWV3IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaWxlIGljb25cbiAgICAgICAgLmstZmlsZS1pY29uIHt9XG5cbiAgICAgICAgLy8gRmlsZSBuYW1lXG4gICAgICAgIC5rLWZpbGUtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBGaWxlbWFuYWdlciBwcmV2aWV3XG4gICAgLmstZmlsZW1hbmFnZXItcHJldmlldyB7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoICN7JGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXBhZGRpbmcteX0gKiAzKSAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctcGFkZGluZy14ICRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1wYWRkaW5nLXk7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctd2lkdGg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoIGNhbGMoICN7JGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXBhZGRpbmcteX0gKiA0ICkgKyBjYWxjKCAjeyRrZW5kby1pY29uLXNpemUteHh4bH0gKiAyICkgKyBjYWxjKCAjeyRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1zcGFjaW5nfSAqIDMgKSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgLy8gRmlsZSBwcmV2aWV3XG4gICAgICAgIC5rLWZpbGUtcHJldmlldyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmlsZSBuYW1lXG4gICAgICAgIC5rLWZpbGUtbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctc3BhY2luZztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC5rLW5vLWZpbGUtc2VsZWN0ZWQge31cbiAgICAgICAgLmstc2luZ2xlLWZpbGUtc2VsZWN0ZWQgeyBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgICAuay1tdWx0aXBsZS1maWxlcy1zZWxlY3RlZCB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbiAgICAgICAgLy8gRmlsZSBNZXRhXG4gICAgICAgIC5rLWZpbGUtbWV0YSB7XG4gICAgICAgICAgICBtYXJnaW46ICRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1zcGFjaW5nIDAgMDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctY29sdW1uLWdhcDtcbiAgICAgICAgfVxuICAgICAgICAuay1maWxlLW1ldGEtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC5rLWZpbGUtbWV0YS12YWx1ZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstZmlsZS10eXBlIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG4gICAgICAgIC5rLWxpbmUtYnJlYWsge1xuICAgICAgICAgICAgbWFyZ2luOiAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctc3BhY2luZyAwIDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSZXNpemluZyBIYW5kbGVcbiAgICAuay1maWxlbWFuYWdlciAuay1zcGxpdGJhciB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG5cbiAgICAvLyBVcGxvYWQgRGlhbG9nXG4gICAgLmstZmlsZW1hbmFnZXItdXBsb2FkLWRpYWxvZyAuay11cGxvYWQtZmlsZXMge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cblxuICAgIC8vIERyYWcgSGludFxuICAgIC8vIFRPRE86IHVzZSBkcmFnLWhpbnQgc3R5bGVzXG4gICAgLmstZmlsZW1hbmFnZXItZHJhZy1oaW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAka2VuZG8taWNvbi1zcGFjaW5nO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1maWxlLW1hbmFnZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1maWxlLW1hbmFnZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZmlsZS1tYW5hZ2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZmlsZS1tYW5hZ2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZmlsZW1hbmFnZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmlsZW1hbmFnZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9maWxlbWFuYWdlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWZpbGUtbWFuYWdlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIEZpbGVtYW5hZ2VyXG4gICAgLmstZmlsZW1hbmFnZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBGaWxlbWFuYWdlciB0b29sYmFyXG4gICAgLmstZmlsZW1hbmFnZXItdG9vbGJhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLXRvb2xiYXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci1iZyxcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLXRvb2xiYXItZ3JhZGllbnRcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEZpbGVtYW5hZ2VyIG5hdmlnYXRpb25cbiAgICAuay1maWxlbWFuYWdlci1uYXZpZ2F0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gRmlsZW1hbmFnZXIgYnJlYWRjcnVtYlxuICAgIC5rLWZpbGVtYW5hZ2VyLWJyZWFkY3J1bWIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItYmcsXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBGaWxlbWFuYWdlciBsaXN0dmlld1xuICAgIC5rLWZpbGVtYW5hZ2VyLWxpc3R2aWV3IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctYmcsXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC5rLWxpc3R2aWV3LWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0tdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0tYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWJvcmRlclxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLmstZmlsZS1pY29uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tYm9yZGVyXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkIC5rLWZpbGUtaWNvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBGaWxlbWFuYWdlciBncmlkXG4gICAgLmstZmlsZW1hbmFnZXItZ3JpZCB7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItZ3JpZC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1ncmlkLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1ncmlkLWJvcmRlclxuICAgICAgICApO1xuXG4gICAgfVxuXG5cbiAgICAvLyBGaWxlbWFuYWdlciBwcmV2aWV3XG4gICAgLmstZmlsZW1hbmFnZXItcHJldmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1iZyxcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAuay1maWxlLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctaWNvbi10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1pY29uLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1pY29uLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWZpbGUtbWFuYWdlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZmlsZS1tYW5hZ2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZmlsZS1tYW5hZ2VyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1maWxlLW1hbmFnZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1maWxlLW1hbmFnZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImZpbGUtbWFuYWdlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1maWxlLW1hbmFnZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1maWxlLW1hbmFnZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1maWxlLW1hbmFnZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3Rhc2tib2FyZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Rhc2tib2FyZC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0YXNrLWJvYXJkXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiY2FyZFwiLFxuICAgICAgICBcImZvcm1cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJzZWFyY2hib3hcIixcbiAgICAgICAgXCJ0ZXh0Ym94XCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjtcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mb3Jtcy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zvcm1zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RleHRib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90ZXh0Ym94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vc2VhcmNoYm94L19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc2VhcmNoYm94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbGJhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Rvb2xiYXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jYXJkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2FyZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvdGFza2JvYXJkL192YXJpYWJsZXMuc2Nzc1xuLy8gVGFza0JvYXJkXG5cbi8vLyBUaGUgc3BhY2luZyBpbmRleCBvZiB0aGUgVGFza0JvYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtc3BhY2VyOiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFRhc2tCb2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBvZiB0aGUgVGFza0JvYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFkZGluZy14OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgVGFza0JvYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFRhc2tCb2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVGFza0JvYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRhc2tCb2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBUYXNrQm9hcmQuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFRhc2tCb2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXRvb2xiYXItcGFkZGluZy15OiAka2VuZG8tdGFza2JvYXJkLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXRvb2xiYXItcGFkZGluZy14OiAka2VuZG8tdGFza2JvYXJkLXRvb2xiYXItcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBUYXNrQm9hcmQgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXRvb2xiYXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBUb29sYmFyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtdG9vbGJhci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBUb29sYmFyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtdG9vbGJhci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBUYXNrQm9hcmQgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXRvb2xiYXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb250ZW50LXBhZGRpbmcteTogJGtlbmRvLXRhc2tib2FyZC1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb250ZW50LXBhZGRpbmcteDogJGtlbmRvLXRhc2tib2FyZC1jb250ZW50LXBhZGRpbmcteSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBzcGFjaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1jb250YWluZXItc3BhY2luZy15OiBjYWxjKCAjeyRrZW5kby10YXNrYm9hcmQtc3BhY2VyfSAvIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIGNvbHVtbiBjb250YWluZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tY29udGFpbmVyLXBhZGRpbmcteTogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRhc2tCb2FyZCBjb2x1bW4gY29udGFpbmVyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY29sdW1uLWNvbnRhaW5lci1wYWRkaW5nLXg6IGNhbGMoICN7JGtlbmRvLXRhc2tib2FyZC1zcGFjZXJ9IC8gMiApICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1ucyBjb250YWluZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW5zLWNvbnRhaW5lci1nYXA6ICRrZW5kby10YXNrYm9hcmQtc3BhY2VyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGRlZmF1bHQgd2lkdGggb2YgdGhlIFRhc2tCb2FyZCBjb2x1bW4uXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4td2lkdGg6IDMyMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFRhc2tCb2FyZCBjb2x1bW4uXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIFRhc2tCb2FyZCBjb2x1bW4uXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVGFza0JvYXJkIGNvbHVtbi5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3ItZGFyaywgJGtlbmRvLWNvbG9yLWxpZ2h0KSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBjb2x1bW4uXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY29sdW1uLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBUYXNrQm9hcmQgY29sdW1uLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY29sdW1uLWZvY3VzLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIFRhc2tCb2FyZCBjb2x1bW4uXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tZm9jdXMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIFRhc2tCb2FyZCBjb2x1bW4uXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tZm9jdXMtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYm9yZGVyLWFsdCApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWJhc2UtYm9yZGVyLCAyLjUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIGNvbHVtbiBoZWFkZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLXBhZGRpbmcteTogY2FsYyggI3ska2VuZG8tdGFza2JvYXJkLXNwYWNlcn0gLyAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIGNvbHVtbiBoZWFkZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgVGFza0JvYXJkIGNvbHVtbiBoZWFkZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLWdhcDogY2FsYyggI3ska2VuZG8tdGFza2JvYXJkLXNwYWNlcn0gLyA0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIFRhc2tCb2FyZCBjb2x1bW4gaGVhZGVyIGFjdGlvbnMuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLWFjdGlvbnMtZ2FwOiBjYWxjKCAjeyRrZW5kby10YXNrYm9hcmQtc3BhY2VyfSAvIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIFRhc2tCb2FyZCBjb2x1bW4gaGVhZGVyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY29sdW1uLWhlYWRlci1mb250LXdlaWdodDogNTAwICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uIGhlYWRlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uIENhcmQgd3JhcHBlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1jYXJkcy1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIGNvbHVtbiBDYXJkIHdyYXBwZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tY2FyZHMtcGFkZGluZy14OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uIENhcmQgd3JhcHBlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1jYXJkcy1nYXA6IGNhbGMoICN7JGtlbmRvLXRhc2tib2FyZC1zcGFjZXJ9IC8gMiApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGRlZmF1bHQgd2lkdGggb2YgdGhlIFRhc2tCb2FyZCBwYW5lLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFuZS13aWR0aDogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4td2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFRhc2tCb2FyZCBwYW5lLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFuZS1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIHBhbmUuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1wYW5lLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBUYXNrQm9hcmQgcGFuZS5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXBhbmUtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBwYW5lLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFuZS1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgVGFza0JvYXJkIHBhbmUuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1wYW5lLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBUYXNrQm9hcmQgcGFuZS5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXBhbmUtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgcGFuZSBoZWFkZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1wYW5lLWhlYWRlci1wYWRkaW5nLXk6IGNhbGMoICN7JGtlbmRvLXRhc2tib2FyZC1zcGFjZXJ9ICogLjc1ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIHBhbmUgaGVhZGVyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFuZS1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tdGFza2JvYXJkLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIFRhc2tCb2FyZCBwYW5lIGhlYWRlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXBhbmUtaGVhZGVyLWZvbnQtd2VpZ2h0OiA1MDAgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBwYW5lIGhlYWRlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXBhbmUtaGVhZGVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIHBhbmUgY29udGVudC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXBhbmUtY29udGVudC1wYWRkaW5nLXk6IGstc3BhY2luZygwKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgcGFuZSBjb250ZW50LlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFuZS1jb250ZW50LXBhZGRpbmcteDogJGtlbmRvLXRhc2tib2FyZC1zcGFjZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIHBhbmUgYWN0aW9ucy5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXBhbmUtYWN0aW9ucy1wYWRkaW5nLXk6IGNhbGMoICN7JGtlbmRvLXRhc2tib2FyZC1zcGFjZXJ9ICogLjc1ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIHBhbmUgYWN0aW9ucy5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXBhbmUtYWN0aW9ucy1wYWRkaW5nLXg6ICRrZW5kby10YXNrYm9hcmQtc3BhY2VyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1wYWRkaW5nLXk6IGNhbGMoICN7JGtlbmRvLXRhc2tib2FyZC1zcGFjZXJ9IC8gMiApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1wYWRkaW5nLXg6ICRrZW5kby10YXNrYm9hcmQtY2FyZC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgVGFza0JvYXJkIENhcmQuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jYXJkLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBUYXNrQm9hcmQgQ2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNhcmQtYm9yZGVyLXJhZGl1czogJGtlbmRvLWNhcmQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVGFza0JvYXJkIENhcmQuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jYXJkLWJnOiAka2VuZG8tY2FyZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgVGFza0JvYXJkIENhcmQuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jYXJkLXRleHQ6ICRrZW5kby1jYXJkLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgVGFza0JvYXJkIENhcmQuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jYXJkLWJvcmRlcjogJGtlbmRvLWJhc2UtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBUYXNrQm9hcmQgQ2FyZCBjYXRlZ29yeS5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNhcmQtY2F0ZWdvcnktYm9yZGVyLXdpZHRoOiA0cHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1ob3Zlci1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGstdHJ5LXNoYWRlKCAka2VuZG8tdGFza2JvYXJkLWNhcmQtYm9yZGVyLCAxMCUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1mb2N1cy1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGstdHJ5LXNoYWRlKCAka2VuZG8tdGFza2JvYXJkLWNhcmQtYm9yZGVyLCA5JSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBmb2N1c2VkIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1mb2N1cy1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBib3JkZXIgb2YgdGhlIHNlbGVjdGVkIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1zZWxlY3RlZC1ib3JkZXI6ICRrZW5kby1jb2xvci1wcmltYXJ5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgc2VsZWN0ZWQgVGFza0JvYXJkIENhcmQuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jYXJkLXNlbGVjdGVkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBUYXNrQm9hcmQgQ2FyZCBoZWFkZXIgdGV4dC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNhcmQtaGVhZGVyLXRleHQ6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIFRhc2tCb2FyZCBDYXJkIGhlYWRlciB0ZXh0LlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1oZWFkZXItZm9jdXMtdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnktZGFya2VyICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIFRhc2tCb2FyZCBDYXJkIGhlYWRlciB0ZXh0LlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1oZWFkZXItaG92ZXItdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnktZGFya2VyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgVGFza0JvYXJkIENhcmQgcGxhY2Vob2xkZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBUYXNrQm9hcmQgQ2FyZCBwbGFjZWhvbGRlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWRyYWctcGxhY2Vob2xkZXItYm9yZGVyLXJhZGl1czogJGtlbmRvLXRhc2tib2FyZC1jYXJkLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBDYXJkIHBsYWNlaG9sZGVyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtZHJhZy1wbGFjZWhvbGRlci1iZzogcmdiYSggd2hpdGUsIC4yICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgVGFza0JvYXJkIENhcmQgcGxhY2Vob2xkZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvdGFza2JvYXJkL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90YXNrYm9hcmQvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGFza2JvYXJkL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXRhc2stYm9hcmQtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gVGFza0JvYXJkXG4gICAgLmstdGFza2JvYXJkIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRhc2tib2FyZC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdGFza2JvYXJkLXBhZGRpbmcteDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdGFza2JvYXJkLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby10YXNrYm9hcmQtZm9udC1mYW1pbHk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdGFza2JvYXJkLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVG9vbGJhclxuICAgIC5rLXRhc2tib2FyZC10b29sYmFyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRhc2tib2FyZC10b29sYmFyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10YXNrYm9hcmQtdG9vbGJhci1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBDb250ZW50XG4gICAgLmstdGFza2JvYXJkLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwICRrZW5kby10YXNrYm9hcmQtdG9vbGJhci1wYWRkaW5nLXggJGtlbmRvLXRhc2tib2FyZC1jb250ZW50LXBhZGRpbmcteTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBDb2x1bW5zXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbnMtY29udGFpbmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZ2FwOiAka2VuZG8tdGFza2JvYXJkLWNvbHVtbnMtY29udGFpbmVyLWdhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtY29sdW1uIHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby10YXNrYm9hcmQtY29sdW1uLXdpZHRoO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWhlYWRlci1mb250LXdlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItZ2FwO1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLWFjdGlvbnMtZ2FwO1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1jb2x1bW4tY2FyZHMtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tY29udGFpbmVyLXNwYWNpbmcteTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tY29udGFpbmVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWNvbnRhaW5lci1wYWRkaW5nLXg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtY29sdW1uLWNhcmRzIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tY2FyZHMtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tY2FyZHMtcGFkZGluZy14O1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6ICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWNhcmRzLWdhcCAwO1xuICAgIH1cblxuICAgIC8vIEVkaXQvTmV3IENvbHVtbnNcbiAgICAuay10YXNrYm9hcmQtY29sdW1uLW5ldyB7XG4gICAgICAgIC8vIFRPRE86IHdlIG5lZWQgYmV0dGVyIHdheVxuICAgICAgICAvLyBtYXgtaGVpZ2h0OiAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1uZXctY2FsYy1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbi1uZXcsXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbi1lZGl0IHtcbiAgICAgICAgLmstdGFza2JvYXJkLWNvbHVtbi1oZWFkZXIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YXNrYm9hcmQtY29sdW1uLWhlYWRlci10ZXh0IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJldmlldy9FZGl0IFBhbmVcbiAgICAuay10YXNrYm9hcmQtcGFuZSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10YXNrYm9hcmQtcGFuZS1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdGFza2JvYXJkLXBhbmUtcGFkZGluZy14O1xuICAgICAgICB3aWR0aDogJGtlbmRvLXRhc2tib2FyZC1wYW5lLXdpZHRoO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10YXNrYm9hcmQtcGFuZS1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1wYW5lLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10YXNrYm9hcmQtcGFuZS1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRhc2tib2FyZC1wYW5lLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAka2VuZG8tdGFza2JvYXJkLXBhbmUtaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1wYW5lLWhlYWRlci10ZXh0IHtcbiAgICAgICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtcGFuZS1oZWFkZXItYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1wYW5lLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGFza2JvYXJkLXBhbmUtY29udGVudC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdGFza2JvYXJkLXBhbmUtY29udGVudC1wYWRkaW5nLXg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtcGFuZS1hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRhc2tib2FyZC1wYW5lLWFjdGlvbnMtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRhc2tib2FyZC1wYW5lLWFjdGlvbnMtcGFkZGluZy14O1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1wYW5lLXN0YXJ0IHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gQ2FyZHNcbiAgICAuay10YXNrYm9hcmQtY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby10YXNrYm9hcmQtY2FyZC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXRhc2tib2FyZC1jYXJkLWJvcmRlci13aWR0aDtcblxuICAgICAgICAmLmstdGFza2JvYXJkLWNhcmQtY2F0ZWdvcnkge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogJGtlbmRvLXRhc2tib2FyZC1jYXJkLWNhdGVnb3J5LWJvcmRlci13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhcmQtaGVhZGVyXG4gICAgICAgIC5rLWNhcmQtYm9keSxcbiAgICAgICAgLmstY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRhc2tib2FyZC1jYXJkLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdGFza2JvYXJkLWNhcmQtcGFkZGluZy14O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhcmQtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyxcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FyZC1oZWFkZXItYWN0aW9ucyB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2FyZCBEcmFnIFBsYWNlaG9sZGVyXG4gICAgLmstdGFza2JvYXJkLWRyYWctcGxhY2Vob2xkZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tdGFza2JvYXJkLWRyYWctcGxhY2Vob2xkZXItYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10YXNrYm9hcmQtZHJhZy1wbGFjZWhvbGRlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdGFzay1ib2FyZC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRhc2stYm9hcmQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdGFzay1ib2FyZC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRhc2stYm9hcmQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90YXNrYm9hcmQvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGFza2JvYXJkL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGFza2JvYXJkL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdGFzay1ib2FyZC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFRhc2tCb2FyZFxuICAgIC5rLXRhc2tib2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tdGFza2JvYXJkLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tdGFza2JvYXJkLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBUb29sYmFyXG4gICAgLmstdGFza2JvYXJkLXRvb2xiYXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC10b29sYmFyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tdGFza2JvYXJkLXRvb2xiYXItYmcsXG4gICAgICAgICAgICAka2VuZG8tdGFza2JvYXJkLXRvb2xiYXItYm9yZGVyLFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC10b29sYmFyLWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ29sdW1uc1xuICAgIC5rLXRhc2tib2FyZC1jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuICAgIC5rLXRhc2tib2FyZC1jb2x1bW46Zm9jdXMsXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbi5rLWZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1mb2N1cy1iZyxcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWZvY3VzLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItdGV4dCApO1xuICAgIH1cblxuICAgIC8vIFByZXZpZXcvRWRpdCBQYW5lXG4gICAgLmstdGFza2JvYXJkLXBhbmUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtcGFuZS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC1wYW5lLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC1wYW5lLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1wYW5lLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLXRhc2tib2FyZC1wYW5lLWhlYWRlci10ZXh0ICk7XG4gICAgfVxuXG4gICAgLy8gQ2FyZHNcbiAgICAuay10YXNrYm9hcmQtY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tdGFza2JvYXJkLWNhcmQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtY2FyZC1iZyxcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtY2FyZC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXRhc2tib2FyZC1jYXJkLXNoYWRvdyApO1xuXG4gICAgICAgIC5rLWNhcmQtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tdGFza2JvYXJkLWNhcmQtaGVhZGVyLXRleHQgKTtcblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tdGFza2JvYXJkLWNhcmQtaGVhZGVyLWZvY3VzLXRleHQgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tdGFza2JvYXJkLWNhcmQtaGVhZGVyLWhvdmVyLXRleHQgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby10YXNrYm9hcmQtY2FyZC1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby10YXNrYm9hcmQtY2FyZC1mb2N1cy1ib3JkZXIgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tdGFza2JvYXJkLWNhcmQtaG92ZXItYm9yZGVyICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLXRhc2tib2FyZC1jYXJkLXNlbGVjdGVkLWJvcmRlciApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXRhc2tib2FyZC1jYXJkLXNlbGVjdGVkLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRpc2FibGVkKCAka2VuZG8tZGlzYWJsZWQtc3R5bGluZy4uLiApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2FyZCBEcmFnIFBsYWNlaG9sZGVyXG4gICAgLmstdGFza2JvYXJkLWRyYWctcGxhY2Vob2xkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiAka2VuZG8tdGFza2JvYXJkLWRyYWctcGxhY2Vob2xkZXItYmcsXG4gICAgICAgICAgICAkYm9yZGVyOiAka2VuZG8tdGFza2JvYXJkLWRyYWctcGxhY2Vob2xkZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRhc2stYm9hcmQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRhc2stYm9hcmQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10YXNrLWJvYXJkLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10YXNrLWJvYXJkLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tdGFzay1ib2FyZC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidGFzay1ib2FyZFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10YXNrLWJvYXJkLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdGFzay1ib2FyZC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRhc2stYm9hcmQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gRWRpdG9yc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9lZGl0b3IvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9lZGl0b3IvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZWRpdG9yXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiY2hlY2tib3hcIixcbiAgICAgICAgXCJjb2xvci1waWNrZXJcIixcbiAgICAgICAgXCJjb21ib2JveFwiLFxuICAgICAgICBcImRyb3Bkb3duLWxpc3RcIixcbiAgICAgICAgXCJmaWxlLW1hbmFnZXJcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgICAgICBcInVwbG9hZFwiLFxuICAgICAgICBcIndpbmRvd1wiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jaGVja2JveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NoZWNrYm94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29sb3JwaWNrZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb2xvcnBpY2tlci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbWJvYm94L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tYm9ib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90b29sYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbGJhci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3VwbG9hZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3VwbG9hZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3dpbmRvdy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3dpbmRvdy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvZWRpdG9yL192YXJpYWJsZXMuc2Nzc1xuLy8gRWRpdG9yXG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlINCVZGl0b3IuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlINCVZGl0b3IuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUg0JVkaXRvci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUg0JVkaXRvci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlINCVZGl0b3IgcGxhY2Vob2xkZXIuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1wbGFjZWhvbGRlci10ZXh0OiAka2VuZG8taW5wdXQtcGxhY2Vob2xkZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgb3BhY2l0eSBvZiB0aGUgRWRpdG9yIHBsYWNlaG9sZGVyLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3ItcGxhY2Vob2xkZXItb3BhY2l0eTogJGtlbmRvLWlucHV0LXBsYWNlaG9sZGVyLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2VsZWN0ZWQgdGV4dCBjb2xvciBvZiB0aGUgRWRpdG9yLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3Itc2VsZWN0ZWQtdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnktY29udHJhc3QgIWRlZmF1bHQ7XG4vLy8gVGhlIHNlbGVjdGVkIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEVkaXRvci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLXNlbGVjdGVkLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIFRoZSBoaWdobGlnaHRlZCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBFZGl0b3IuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1oaWdobGlnaHRlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktc3VidGxlICksIGstY29sb3ItbWl4KCRrZW5kby1jb2xvci1wcmltYXJ5LCAjZmZmZmZmLCAyMCUpKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgRWRpdG9yJ3MgZXhwb3J0IHRvb2wgaWNvbi5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLWV4cG9ydC10b29sLWljb24tbWFyZ2luLXg6IC41ZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZSBvZiB0aGUgRWRpdG9yJ3MgcmVzaXplIGhhbmRsZS5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtc2l6ZTogOHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEVkaXRvcidzIHJlc2l6ZSBoYW5kbGUuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1yZXNpemUtaGFuZGxlLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEVkaXRvcidzIHJlc2l6ZSBoYW5kbGUuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1yZXNpemUtaGFuZGxlLWJvcmRlcjogIzAwMDAwMCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRWRpdG9yJ3MgcmVzaXplIGhhbmRsZS5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtYmc6ICNmZmZmZmYgIWRlZmF1bHQ7XG5cbi8vLyAgVGhlIG91dGxpbmUgd2lkdGggb2YgdGhlIEVkaXRvcidzIHNlbGVjdGVkIG5vZGUuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1zZWxlY3RlZG5vZGUtb3V0bGluZS13aWR0aDogMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIGNvbG9yIG9mIHRoZSBFZGl0b3IncyBzZWxlY3RlZCBub2RlLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3Itc2VsZWN0ZWRub2RlLW91dGxpbmUtY29sb3I6ICM4OGNjZmYgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZWRpdG9yL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9lZGl0b3IvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZWRpdG9yL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWVkaXRvci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBCYXNlXG4gICAgLmstZWRpdG9yIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tZWRpdG9yLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1lZGl0b3ItZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWVkaXRvci1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZWRpdG9yLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICYuay1yZWFkb25seSB7XG4gICAgICAgICAgICAuay1lZGl0b3ItY29udGVudCB7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWVkaXRvci1jb250ZW50LmstZm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmUtd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLXN0eWxlOiBkYXNoZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbmxpbmUgZWRpdG9yXG4gICAgLmstZWRpdG9yLWlubGluZSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIGstYm9yZGVyLXJhZGl1cyhtZCkgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBhZGRpbmctc20teTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYWRkaW5nLXNtLXg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cblxuICAgIC8vIFJlc2l6YWJsZSBlZGl0b3JcbiAgICAuay1lZGl0b3ItcmVzaXphYmxlIHtcbiAgICAgICAgcmVzaXplOiBib3RoO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZXNpemFibGUgaW1hZ2VzXG4gICAgLmstZWRpdG9yLXJlc2l6ZS1oYW5kbGVzLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1lZGl0b3ItcmVzaXplLWhhbmRsZSB7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtc2l6ZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAmLm5vcnRod2VzdCB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBjdXJzb3I6IG53LXJlc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubm9ydGgge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBjdXJzb3I6IG4tcmVzaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ub3J0aGVhc3Qge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgICAgICAgICAgY3Vyc29yOiBuZS1yZXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNvdXRod2VzdCB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTtcbiAgICAgICAgICAgIGN1cnNvcjogc3ctcmVzaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zb3V0aCB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xuICAgICAgICAgICAgY3Vyc29yOiBzLXJlc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc291dGhlYXN0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCA1MCUpO1xuICAgICAgICAgICAgY3Vyc29yOiBzZS1yZXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAmLndlc3Qge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBjdXJzb3I6IHctcmVzaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5lYXN0IHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgICAgICAgICAgY3Vyc29yOiBlLXJlc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXZlbmRvci1wcmVmaXgsIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cbiAgICAuUHJvc2VNaXJyb3Itc2VsZWN0ZWRub2RlIHtcbiAgICAgICAgb3V0bGluZS13aWR0aDogJGtlbmRvLWVkaXRvci1zZWxlY3RlZG5vZGUtb3V0bGluZS13aWR0aDtcbiAgICAgICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG5cbiAgICB9XG4gICAgLlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24ge1xuICAgICAgICBjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKjo6c2VsZWN0aW9uLFxuICAgICAgICAqOjotbW96LXNlbGVjdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW5vLXZlbmRvci1wcmVmaXgsIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cblxuICAgIC8vIFRvb2xiYXJcbiAgICAuay1lZGl0b3ItdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwICRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aCAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAuay1lZGl0b3ItZXhwb3J0IHtcbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLWVkaXRvci1leHBvcnQtdG9vbC1pY29uLW1hcmdpbi14O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pY29uLFxuICAgICAgICAgICAgLmstZXhwb3J0LXRvb2wtdGV4dCB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVkaXRvciBjb250ZW50XG4gICAgLmstZWRpdG9yLWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICA+IC5rLWlmcmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuUHJvc2VNaXJyb3IgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICBwYWRkaW5nOiAka2VuZG8tcGFkZGluZy1tZC14O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1wbGFjZWhvbGRlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtcGxhY2Vob2xkZXIpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWVkaXRvci1wbGFjZWhvbGRlci10ZXh0O1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1lZGl0b3ItcGxhY2Vob2xkZXItb3BhY2l0eTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHRleHQ7XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIl0ge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogdW5zZXQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgICAgICAgIC5rLWVkaXRvci1yZXNpemUtaGFuZGxlcy13cmFwcGVyLFxuICAgICAgICAgICAgICAgIC5rLWVkaXRvci1yZXNpemUtaGFuZGxlLFxuICAgICAgICAgICAgICAgIC5yb3ctcmVzaXplLWhhbmRsZSxcbiAgICAgICAgICAgICAgICAuY29sdW1uLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyxcbiAgICAgICAgICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgLlByb3NlTWlycm9yLXNlbGVjdGVkbm9kZSB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUYWJsZSBzdHlsZXNcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQgcCxcbiAgICAgICAgdGggcCxcbiAgICAgICAgbGkgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDFlbTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogM3B4O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDVweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgfVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdpdmUgc2VsZWN0ZWQgY2VsbHMgYSBibHVlIG92ZXJsYXlcbiAgICAgICAgLnNlbGVjdGVkQ2VsbDo6YWZ0ZXIgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuay1lZGl0LWZvcm0tY29udGVudCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAoLSRrZW5kby13aW5kb3ctaW5uZXItcGFkZGluZy15KTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogKC0ka2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteCk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby13aW5kb3ctaW5uZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXg7XG4gICAgfVxuXG5cbiAgICAkY3QtY2VsbC1zaXplOiAyMHB4O1xuXG4gICAgLy8gSW5zZXJ0IHRhYmxlXG4gICAgLmstY3QtcG9wdXAge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogJGN0LWNlbGwtc2l6ZSAqIDEwIC0gay1tYXRoLWRpdiggJGN0LWNlbGwtc2l6ZSwgMiApO1xuICAgICAgICBwYWRkaW5nOiBrLW1hdGgtZGl2KCAkY3QtY2VsbC1zaXplLCA0ICk7XG5cbiAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY3QtY2VsbCB7XG4gICAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICAgIHdpZHRoOiAkY3QtY2VsbC1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkY3QtY2VsbC1zaXplO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBvcGFjaXR5OiAuNztcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1lZGl0b3IgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMTNweCAxM3B4O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjdXJzb3I6IHNlLXJlc2l6ZTtcblxuICAgICAgICAuay1pLWFycm93LTQ1LWRvd24tcmlnaHQsXG4gICAgICAgIC5rLWktY2FyZXQtYnIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRmluZCBhbmQgcmVwbGFjZSBkaWFsb2dcbiAgICAuay1lZGl0b3ItZmluZC1yZXBsYWNlIHtcbiAgICAgICAgLmstY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hY3Rpb25zIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zZWFyY2gtb3B0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWF0Y2hlcy1jb250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIFRleHQgYXJlYSBpbiBlZGl0b3IgZGlhbG9nXG4gICAgLmstdGV4dGFyZWEuay1lZGl0b3ItdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuXG5cblxuXG4gICAgLy8gRmlsZSBicm93c2VyXG4gICAgLy8gVE9ETzogcmVwbGFjZSB3aXRoIGZpbGUgbWFuYWdlciBjb21wb25lbnRcbiAgICAuay1maWxlYnJvd3NlciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAvLyBCcmVhZGNydW1icyBhbmQgc2VhcmNoXG4gICAgICAgIC5rLWZsb2F0d3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAmOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgICAgICAuay1icmVhZGNydW1icyB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNlYXJjaC13cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgay1zcGFjaW5nKDQpO1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5rLWlucHV0IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsgLy8gZml4IHdpZHRoIGZvciBFZGdlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpbGVicm93c2VyIHRvb2xiYXJcbiAgICAgICAgLmstZmlsZWJyb3dzZXItdG9vbGJhciB7XG4gICAgICAgICAgICBtYXJnaW46IGstc3BhY2luZyg0KSAwIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXVwbG9hZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgLmstdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay11cGxvYWQtc3RhdHVzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdXBsb2FkLWZpbGVzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaWxlc1xuICAgICAgICAuay10aWxlcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGhlaWdodDogMzkwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MHZoO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgay1zcGFjaW5nKDQpIDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFkZGluZy1tZC15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYWRkaW5nLW1kLXg7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay10aWxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFkZGluZy1tZC15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYWRkaW5nLW1kLXg7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCBrLWJvcmRlci1yYWRpdXMobWQpICk7XG5cbiAgICAgICAgICAgIC5rLWktZmlsZSxcbiAgICAgICAgICAgIC5rLWktZm9sZGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDRlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10aWxlLWVtcHR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10aHVtYiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLXBhZGRpbmctc20teDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWJyZWFkY3J1bWJzLXdyYXAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogJGtlbmRvLWlucHV0LXBhZGRpbmcteDtcbiAgICAgICAgICAgIHRvcDogJGtlbmRvLWlucHV0LXBhZGRpbmcteTtcblxuICAgICAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG4gICAgLy8gVGFibGUgd2l6YXJkIGRpYWxvZ1xuICAgIC5rLWVkaXRvci10YWJsZS13aXphcmQtd2luZG93IHtcblxuICAgICAgICAvLyBUYWJzdHJpcCB3cmFwcGVyXG4gICAgICAgIC5rLXRhYnN0cmlwLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgICAgIC5rLXRhYnN0cmlwLmstcm9vdC10YWJzIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZWRpdC1maWVsZCA+IC5rLWNoZWNrYm94IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gZml4IHNjcm9sbGluZ1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZWRpdG9yLWlubGluZSB7XG5cbiAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFlbTtcblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgICYgdGQge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFkZGluZy1zbS15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcGFkZGluZy1zbS14O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZWxlbWVudC1yZXNpemUtaGFuZGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgICAgICAuay1lbGVtZW50LXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgICYuay1yZXNpemUtZWFzdCB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZS1yZXNpemU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXJlc2l6ZS1ub3J0aCB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbi1yZXNpemU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXJlc2l6ZS1ub3J0aGVhc3Qge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG5lLXJlc2l6ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstcmVzaXplLW5vcnRod2VzdCB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbnctcmVzaXplO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1yZXNpemUtc291dGgge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHMtcmVzaXplO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1yZXNpemUtc291dGhlYXN0IHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBzZS1yZXNpemU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXJlc2l6ZS1zb3V0aHdlc3Qge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHN3LXJlc2l6ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstcmVzaXplLXdlc3Qge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHctcmVzaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbHVtbi1yZXNpemUtaGFuZGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICAuay1jb2x1bW4tcmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgLmstY29sdW1uLXJlc2l6ZS1tYXJrZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstcm93LXJlc2l6ZS1oYW5kbGUtd3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgY3Vyc29yOiByb3ctcmVzaXplO1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG5cbiAgICAgICAgICAgIC5rLXJvdy1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXJvdy1yZXNpemUtbWFya2VyLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXJvdy1yZXNpemUtbWFya2VyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWVkaXRvci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWVkaXRvci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1lZGl0b3ItLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLWVkaXRvci0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC8vIEluc2VydCB0YWJsZVxuICAgIC5rLWN0LXBvcHVwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAuay1zdGF0dXMge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgaW5oZXJpdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1lZGl0b3ItZXhwb3J0IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICk7XG5cbiAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGtlbmRvLWVkaXRvci1leHBvcnQtdG9vbC1pY29uLW1hcmdpbi14O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZWRpdG9yL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2VkaXRvci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2VkaXRvci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWVkaXRvci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLWVkaXRvciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNvbXBvbmVudC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAmLmstcmVhZG9ubHkge1xuICAgICAgICAgICAgLmstZWRpdG9yLWNvbnRlbnQuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogJGtlbmRvLWJvZHktdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIElubGluZSBFZGl0b3JcbiAgICAuay1lZGl0b3ItaW5saW5lIHtcblxuICAgICAgICAuay10YWJsZSB7XG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJiB0ZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZWxlbWVudC1yZXNpemUtaGFuZGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbHVtbi1yZXNpemUtaGFuZGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgLmstY29sdW1uLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgICAgIC5rLWNvbHVtbi1yZXNpemUtbWFya2VyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjBmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1yb3ctcmVzaXplLWhhbmRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIC5rLXJvdy1yZXNpemUtbWFya2VyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiMGZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXIgJiBBY3RpdmUgc3RhdGVcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyLFxuICAgICAgICAmLmstYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNpemFibGUgaW1hZ2VzXG4gICAgLmstZWRpdG9yLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtYmc7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWVkaXRvci1yZXNpemUtaGFuZGxlLWJvcmRlcjtcbiAgICB9XG4gICAgLlByb3NlTWlycm9yLXNlbGVjdGVkbm9kZSB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgb3V0bGluZS1jb2xvcjogJGtlbmRvLWVkaXRvci1zZWxlY3RlZG5vZGUtb3V0bGluZS1jb2xvcjtcbiAgICB9XG5cblxuICAgIC8vIEluc2VydCB0YWJsZVxuICAgIC5rLWN0LXBvcHVwIHtcbiAgICAgICAgLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGtlbmRvLXNlbGVjdGVkLXRleHQsICRrZW5kby1zZWxlY3RlZC1iZywgJGtlbmRvLXNlbGVjdGVkLWJvcmRlciwgbm9uZSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLWVkaXRvci1jb250ZW50IHtcblxuICAgICAgICAvLyBTZWxlY3Rpb25cbiAgICAgICAgLmstdGV4dC1zZWxlY3RlZCxcbiAgICAgICAgJjo6c2VsZWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRjb2xvcjogJGtlbmRvLWVkaXRvci1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgICAgICRiZzogJGtlbmRvLWVkaXRvci1zZWxlY3RlZC1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRleHQtaGlnaGxpZ2h0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tZWRpdG9yLWhpZ2hsaWdodGVkLWJnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGFibGUgc3R5bGVzXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNkZGRkZGQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0ZWRDZWxsOjphZnRlciB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDI1NSwgLjQpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWVkaXRvci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZWRpdG9yLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZWRpdG9yLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1lZGl0b3ItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1lZGl0b3ItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImVkaXRvclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1lZGl0b3ItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1lZGl0b3ItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1lZGl0b3ItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2ltYWdlZWRpdG9yL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW1hZ2VlZGl0b3IvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiaW1hZ2UtZWRpdG9yXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiY2hlY2tib3hcIixcbiAgICAgICAgXCJkcm9wZG93bi1saXN0XCIsXG4gICAgICAgIFwiZm9ybVwiLFxuICAgICAgICBcIm51bWVyaWMtdGV4dGJveFwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbGJhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Rvb2xiYXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mb3Jtcy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zvcm1zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZHJvcGRvd25saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd25saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbnVtZXJpY3RleHRib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9udW1lcmljdGV4dGJveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NoZWNrYm94L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2hlY2tib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2ltYWdlZWRpdG9yL192YXJpYWJsZXMuc2Nzc1xuLy8gSW1hZ2VlZGl0b3JcbiRrZW5kby1pbWFnZS1lZGl0b3ItbWFyZ2luLXk6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLW1hcmdpbi14OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWltYWdlLWVkaXRvci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1pbWFnZS1lZGl0b3ItY29udGVudC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuJGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS1wYWRkaW5nLXk6IGstc3BhY2luZyg4KSAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItYWN0aW9uLXBhbmUtcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLWFjdGlvbi1wYW5lLXdpZHRoOiBpZiggJGtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LWJvcmRlci13aWR0aCA9PSBudWxsLCAyNDBweCwgY2FsYygyNDBweCArICN7JGtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LWJvcmRlci13aWR0aH0pICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1ib3JkZXItc3R5bGU6IGRhc2hlZCAhZGVmYXVsdDtcblxuJGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLW1hcmdpbi14OiBrLXNwYWNpbmcoMXB4KSAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1tYXJnaW4teTogay1zcGFjaW5nKDFweCkgIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLXJlc2l6ZS1oYW5kbGUtYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMCAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplOiAxNXB4ICFkZWZhdWx0O1xuXG4ka2VuZG8taW1hZ2UtZWRpdG9yLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRrZW5kby1pbWFnZS1lZGl0b3ItY29udGVudC1iZzogI2M2YzZjNiAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItY29udGVudC10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItYWN0aW9uLXBhbmUtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItYWN0aW9uLXBhbmUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8taW1hZ2UtZWRpdG9yLWNyb3AtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLWNyb3AtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1ib3JkZXI6IHdoaXRlICFkZWZhdWx0O1xuXG4ka2VuZG8taW1hZ2UtZWRpdG9yLWNyb3Atb3ZlcmxheS1iZzogcmdiYSggYmxhY2ssIC4zICkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvaW1hZ2VlZGl0b3IvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2ltYWdlZWRpdG9yL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2ltYWdlZWRpdG9yL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWltYWdlLWVkaXRvci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBJbWFnZSBFZGl0b3JcbiAgICAuay1pbWFnZWVkaXRvciB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogJGtlbmRvLWltYWdlLWVkaXRvci1tYXJnaW4teTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogJGtlbmRvLWltYWdlLWVkaXRvci1tYXJnaW4teDtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWltYWdlLWVkaXRvci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8taW1hZ2UtZWRpdG9yLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8taW1hZ2UtZWRpdG9yLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1pbWFnZS1lZGl0b3ItZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWltYWdlLWVkaXRvci1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8taW1hZ2UtZWRpdG9yLWxpbmUtaGVpZ2h0O1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBJbWFnZSBlZGl0b3IgdG9vbGJhclxuICAgIC5rLWltYWdlZWRpdG9yLXRvb2xiYXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aDtcbiAgICB9XG5cblxuICAgIC8vIENvbnRlbnRcbiAgICAuay1pbWFnZWVkaXRvci1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICB9XG5cblxuICAgIC8vIENhbnZhc1xuICAgIC5rLWltYWdlZWRpdG9yLWNhbnZhcy1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gICAgLmstaW1hZ2VlZGl0b3ItY2FudmFzIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb24gUGFuZVxuICAgIC5rLWltYWdlZWRpdG9yLWFjdGlvbi1wYW5lIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8taW1hZ2UtZWRpdG9yLWFjdGlvbi1wYW5lLXBhZGRpbmcteDtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1pbWFnZS1lZGl0b3ItYWN0aW9uLXBhbmUtd2lkdGg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRrZW5kby1pbWFnZS1lZGl0b3ItY29udGVudC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICAuay1pbnB1dC1pbm5lcixcbiAgICAgICAgLmstaW5wdXQtdmFsdWUtdGV4dCB7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDcm9wIFRvb2xcbiAgICAuay1pbWFnZWVkaXRvci1jcm9wLW92ZXJsYXkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuay1pbWFnZWVkaXRvci1jcm9wIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8taW1hZ2UtZWRpdG9yLWNyb3AtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6ICRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1ib3JkZXItc3R5bGU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAuay1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogJGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLW1hcmdpbi15O1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogJGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLW1hcmdpbi14O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLWJvcmRlci13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1zdyxcbiAgICAgICAgLmstcmVzaXplLXNlLFxuICAgICAgICAuay1yZXNpemUtbncsXG4gICAgICAgIC5rLXJlc2l6ZS1uZSB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLW4sXG4gICAgICAgIC5rLXJlc2l6ZS1zIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoIDUwJSAtICgje2stbWF0aC1kaXYoICRrZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplLCAyICl9KSApO1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLXcsXG4gICAgICAgIC5rLXJlc2l6ZS1lIHtcbiAgICAgICAgICAgIHRvcDogY2FsYyggNTAlIC0gKCN7ay1tYXRoLWRpdiggJGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLXNpemUsIDIgKX0pICk7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtbmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1udyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmstcmVzaXplLXN3IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1uIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1zIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS13IHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtZSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1pbWFnZS1lZGl0b3ItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1pbWFnZS1lZGl0b3ItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8taW1hZ2UtZWRpdG9yLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8taW1hZ2UtZWRpdG9yLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvaW1hZ2VlZGl0b3IvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvaW1hZ2VlZGl0b3IvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9pbWFnZWVkaXRvci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWltYWdlLWVkaXRvci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIEltYWdlIEVkaXRvclxuICAgIC5rLWltYWdlZWRpdG9yIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1pbWFnZS1lZGl0b3ItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1pbWFnZS1lZGl0b3ItYmcsXG4gICAgICAgICAgICAka2VuZG8taW1hZ2UtZWRpdG9yLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIENvbnRlbnRcbiAgICAuay1pbWFnZWVkaXRvci1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1pbWFnZS1lZGl0b3ItY29udGVudC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIENhbnZhc1xuICAgIC5rLWltYWdlZWRpdG9yLWNhbnZhcyB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrZXJib2FyZC1ncmFkaWVudCgpO1xuICAgIH1cblxuICAgIC8vIEFjdGlvbiBQYW5lXG4gICAgLmstaW1hZ2VlZGl0b3ItYWN0aW9uLXBhbmUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS1iZyxcbiAgICAgICAgICAgICRrZW5kby1pbWFnZS1lZGl0b3ItYWN0aW9uLXBhbmUtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ3JvcCBUb29sXG4gICAgLmstaW1hZ2VlZGl0b3ItY3JvcCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8taW1hZ2UtZWRpdG9yLWNyb3AtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1iZyxcbiAgICAgICAgICAgICRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDcm9wIE92ZXJsYXlcbiAgICAuay1pbWFnZWVkaXRvci1jcm9wLW92ZXJsYXkge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRiZzogJGtlbmRvLWltYWdlLWVkaXRvci1jcm9wLW92ZXJsYXktYmdcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8taW1hZ2UtZWRpdG9yLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1pbWFnZS1lZGl0b3ItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1pbWFnZS1lZGl0b3ItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWltYWdlLWVkaXRvci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWltYWdlLWVkaXRvci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiaW1hZ2UtZWRpdG9yXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWltYWdlLWVkaXRvci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWltYWdlLWVkaXRvci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWltYWdlLWVkaXRvci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBTY2hlZHVsaW5nXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2dhbnR0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZ2FudHQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZ2FudHRcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJkYXRlLXRpbWUtcGlja2VyXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibnVtZXJpYy10ZXh0Ym94XCIsXG4gICAgICAgIFwic3BsaXR0ZXJcIixcbiAgICAgICAgXCJ0cmVlbGlzdFwiLFxuICAgICAgICBcInZhbGlkYXRvclwiLFxuICAgICAgICBcIndpbmRvd1wiLFxuICAgICAgICBcInRpbWUtbWFya2VyXCJcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3ZhbGlkYXRvci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3ZhbGlkYXRvci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2RhdGV0aW1lcGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGF0ZXRpbWVwaWNrZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9udW1lcmljdGV4dGJveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL251bWVyaWN0ZXh0Ym94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vd2luZG93L19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvd2luZG93L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vc3BsaXR0ZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zcGxpdHRlci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RyZWVsaXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdHJlZWxpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2dhbnR0L192YXJpYWJsZXMuc2Nzc1xuLy8gR2FudHRcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEdhbnR0LlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgR2FudHQuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEdhbnR0LlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgR2FudHQuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgR2FudHQuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEdhbnR0LlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBHYW50dC5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEdhbnR0IFRyZWVMaXN0LlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXRyZWVsaXN0LWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBHYW50dCBUcmVlTGlzdC5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC10cmVlbGlzdC10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEdhbnR0IFRyZWVMaXN0LlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXRyZWVsaXN0LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBHYW50dCBub24td29ya2luZyBkYXlzLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LW5vbndvcmstYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYmFzZSApIDMlLCB0cmFuc3BhcmVudCksIHJnYmEoIGstY29udHJhc3QtY29sb3IoICRrZW5kby1nYW50dC1iZyApLCAuMDI1ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBHYW50dCBub24td29ya2luZyBkYXlzLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LW5vbndvcmstdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBHYW50dCBub24td29ya2luZyBkYXlzLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LW5vbndvcmstYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIEdhbnR0IGNvbm5lY3RpbmcgbGluZXMuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtbGluZS1zaXplOiAycHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZmlsbCBjb2xvciBvZiB0aGUgR2FudHQgY29ubmVjdGluZyBsaW5lcy5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1saW5lLWZpbGw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWJ0bGUgKSwgay1jb2xvci1taXgoICRrZW5kby1nYW50dC10ZXh0LCAka2VuZG8tZ2FudHQtYmcgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZmlsbCBvZiB0aGUgc2VsZWN0ZWQgR2FudHQgY29ubmVjdGluZyBsaW5lcy5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1saW5lLXNlbGVjdGVkLWZpbGw6ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplIG9mIHRoZSBHYW50dCB0YXNrIGRvdC5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1kb3Qtc2l6ZTogOHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBHYW50dCB0YXNrIGRvdC5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1kb3Qtc3BhY2luZzogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBHYW50dCB0YXNrIGRvdC5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1kb3QtYmc6ICRrZW5kby1nYW50dC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEdhbnR0IHRhc2sgZG90LlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LWRvdC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgR2FudHQgdGFzayBkb3QuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtZG90LWhvdmVyLWJnOiAka2VuZG8tZ2FudHQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBHYW50dCB0YXNrIGRvdC5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1kb3QtaG92ZXItYm9yZGVyOiAka2VuZG8tZ2FudHQtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBHYW50dCBtaWxlc3RvbmUuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtbWlsZXN0b25lLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBHYW50dCBtaWxlc3RvbmUuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtbWlsZXN0b25lLWJvcmRlcjogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIEdhbnR0IG1pbGVzdG9uZS5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1taWxlc3RvbmUtc2VsZWN0ZWQtYmc6ICRrZW5kby1jb2xvci1zZWNvbmRhcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgR2FudHQgbWlsZXN0b25lLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LW1pbGVzdG9uZS1zZWxlY3RlZC1ib3JkZXI6ICRrZW5kby1jb2xvci1zZWNvbmRhcnkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgR2FudHQgc3VtbWFyeS5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1zdW1tYXJ5LWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1lbXBoYXNpcyApLCBrLWNvbG9yLW1peCggJGtlbmRvLWNvbG9yLXByaW1hcnksICRrZW5kby1nYW50dC1iZyApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgR2FudHQgc3VtbWFyeSBwcm9ncmVzcy5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1zdW1tYXJ5LXByb2dyZXNzLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgR2FudHQgc3VtbWFyeS5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1zdW1tYXJ5LXNlbGVjdGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2Vjb25kYXJ5LXN1YnRsZS1hY3RpdmUgKSwgay1jb2xvci1taXgoICRrZW5kby1jb2xvci1zZWNvbmRhcnksICRrZW5kby1nYW50dC1iZyApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgR2FudHQgc3VtbWFyeSBwcm9ncmVzcy5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1zdW1tYXJ5LXByb2dyZXNzLXNlbGVjdGVkLWJnOiAka2VuZG8tY29sb3Itc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgR2FudHQgdGFzay5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC10YXNrLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBHYW50dCB0YXNrLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXRhc2stcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgR2FudHQgdGFzay5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC10YXNrLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBHYW50dCB0YXNrLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXRhc2stYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5LWVtcGhhc2lzICksIGstY29sb3ItbWl4KCAka2VuZG8tY29sb3ItcHJpbWFyeSwgJGtlbmRvLWdhbnR0LWJnICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBHYW50dCB0YXNrLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXRhc2stdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnktY29udHJhc3QgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgR2FudHQgdGFzay5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC10YXNrLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgR2FudHQgdGFzayBwcm9ncmVzcy5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC10YXNrLXByb2dyZXNzLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiBzZWxlY3RlZCB0aGUgR2FudHQgdGFzay5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC10YXNrLXNlbGVjdGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2Vjb25kYXJ5LXN1YnRsZS1hY3RpdmUgKSwgay1jb2xvci1taXgoICRrZW5kby1jb2xvci1zZWNvbmRhcnksICRrZW5kby1nYW50dC1iZyApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgR2FudHQgdGFzay5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC10YXNrLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1jb2xvci1zZWNvbmRhcnktY29udHJhc3QgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgR2FudHQgdGFzay5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC10YXNrLXNlbGVjdGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgR2FudHQgdGFzayBwcm9ncmVzcy5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC10YXNrLXByb2dyZXNzLXNlbGVjdGVkLWJnOiAka2VuZG8tY29sb3Itc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIG1hcmdpbiBvZiB0aGUgR2FudHQgdGFzayBwbGFubmVkIGxpbmUuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1tYXJnaW4teTogLjM1ZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgR2FudHQgdGFzayBwbGFubmVkIGxpbmUuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIEdhbnR0IHRhc2sgcGxhbm5lZCBsaW5lLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXBsYW5uZWQtbGluZS1oZWlnaHQ6IC43NWVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIG1hcmdpbiBvZiB0aGUgR2FudHQgcGxhbm5lZCBkZXBlbmRlbmNpZXMuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1kZXBlbmRlbmN5LW1hcmdpbi15OiAuN2VtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGRlZmF1bHQgd2lkdGggb2YgdGhlIEdhbnR0IHBsYW5uZWQgbGluZSBkb3QuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtd2lkdGg6IDZweCAhZGVmYXVsdDtcbi8vLyBUaGUgZGVmYXVsdCBoZWlnaHQgb2YgdGhlIEdhbnR0IHBsYW5uZWQgbGluZSBkb3QuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtaGVpZ2h0OiAka2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIEdhbnR0IHBsYW5uZWQgbGluZSBkb3QuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtYm9yZGVyLXJhZGl1czogY2FsYyggKCAjeyRrZW5kby1nYW50dC1wbGFubmVkLWJvcmRlci13aWR0aCAqIDJ9ICsgI3ska2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtd2lkdGh9ICkgLyAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBHYW50dCBwbGFubmVkIGxpbmUgZG90LlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXBsYW5uZWQtbW9tZW50LWxlZnQtbWFyZ2luLXg6IGNhbGMoICN7ay1tYXRoLWRpdiggJGtlbmRvLWdhbnR0LXBsYW5uZWQtYm9yZGVyLXdpZHRoLCAyICl9IC0gI3ska2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtYm9yZGVyLXJhZGl1c30gKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gb2YgdGhlIEdhbnR0IG1pbGVzdG9uZSBwbGFubmVkIGxpbmUgZG90LlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXBsYW5uZWQtbWlsZXN0b25lLW1vbWVudC1tYXJnaW4teDogay1tYXRoLWRpdiggJGtlbmRvLWdhbnR0LXBsYW5uZWQtbW9tZW50LXdpZHRoLCAyICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZGVmYXVsdCBoZWlnaHQgb2YgdGhlIEdhbnR0IHBsYW5uZWQgbGluZS5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1wbGFubmVkLWR1cmF0aW9uLWhlaWdodDogJGtlbmRvLWdhbnR0LXBsYW5uZWQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIGhvdmVyZWQgR2FudHQgcGxhbm5lZCBsaW5lLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXBsYW5uZWQtZHVyYXRpb24taG92ZXItaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1nYW50dC1wbGFubmVkLWJvcmRlci13aWR0aH0gKyAxcHggKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0b3AgcG9zaXRpb24gb2YgdGhlIEdhbnR0IGRyYWcgaGludC5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1wbGFubmVkLXNpbmdsZS1kcmFnLWhpbnQtdG9wOiAuODVlbSAhZGVmYXVsdDtcbi8vLyBUaGUgdG9wIHBvc2l0aW9uIG9mIHRoZSBHYW50dCBzdW1tYXJ5IGRyYWcgaGludC5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1wbGFubmVkLXN1bW1hcnktZHJhZy1oaW50LXRvcDogMS4zNWVtICFkZWZhdWx0O1xuLy8vIFRoZSB0b3AgcG9zaXRpb24gb2YgdGhlIEdhbnR0IHBsYW5uZWQgbWlsZXN0b25lIGRyYWcgaGludC5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1wbGFubmVkLW1pbGVzdG9uZS1kcmFnLWhpbnQtdG9wOiAxLjE1ZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gb2YgdGhlIEdhbnR0IG1pbGVzdG9uZSB3cmFwLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXJ0bC1taWxlc3RvbmUtd3JhcC1tYXJnaW4teDogLTIuNGVtICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgR2FudHQgbWlsZXN0b25lIGxpbmUgZG90LlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXJ0bC1taWxlc3RvbmUtcGxhbm5lZC1tb21lbnQtbWFyZ2luLXg6IC4yZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBHYW50dCBtaWxlc3RvbmUgdGFzayBkb3QuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtcnRsLW1pbGVzdG9uZS1kb3Qtc3RhcnQtbWFyZ2luLXg6IC0uMWVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgb2Zmc2V0IG9mIHRoZSBHYW50dCBkZWxheWVkIHRhc2sgcmVzaXplIGhhbmRsZXIuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1vZmZzZXQtcmVzaXplLWhhbmRsZXItbWFyZ2luLXg6IDEuNGVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEdhbnR0IHBsYW5uZWQgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1wbGFubmVkLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBHYW50dCBwbGFubmVkIFRvb2x0aXAuXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1ib3JkZXI6ICRrZW5kby1nYW50dC1wbGFubmVkLWJnICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEdhbnR0IGRlbGF5ZWQgdGFzay5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1kZWxheWVkLWJnOiAka2VuZG8tY29sb3ItZXJyb3IgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbXBsZW1lbnQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgR2FudHQgZGVsYXllZCB0YXNrLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmctbGlnaHRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGVycm9yLWVtcGhhc2lzICksIGstY29sb3ItdGludCgka2VuZG8tZ2FudHQtZGVsYXllZC1iZywgNSkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEdhbnR0IGFkdmFuY2VkIHRhc2suXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtYWR2YW5jZWQtYmc6ICRrZW5kby1jb2xvci1zdWNjZXNzICFkZWZhdWx0O1xuLy8vIFRoZSBjb21wbGVtZW50IGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEdhbnR0IGFkdmFuY2VkIHRhc2suXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtYWR2YW5jZWQtYmctbGlnaHRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1Y2Nlc3MtZW1waGFzaXMgKSwgay1jb2xvci10aW50KCRrZW5kby1nYW50dC1hZHZhbmNlZC1iZywgNSkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEdhbnR0IGRlbGF5ZWQgdGFzayBhY3Rpb24uXG4vLy8gQGdyb3VwIGdhbnR0XG4ka2VuZG8tZ2FudHQtYWN0aW9uLW9uLW9mZnNldC10ZXh0OiAjMDAwMDAwICFkZWZhdWx0O1xuLy8vIFRoZSB0b3AgcG9zaXRpb24gb2YgdGhlIEdhbnR0IGRlbGF5ZWQgdGFzayByZXNpemUgaGFuZGxlci5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC1vZmZzZXQtcmVzaXplLWhhbmRsZXItdG9wOiA1MCUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZGVmYXVsdCB3aWR0aCBvZiB0aGUgR2FudHQgdmFsaWRhdGlvbiBUb29sdGlwLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGRlZmF1bHQgd2lkdGggb2YgdGhlIEdhbnR0IHZhbGlkYXRpb24gVG9vbHRpcCBsYWJlbC5cbi8vLyBAZ3JvdXAgZ2FudHRcbiRrZW5kby1nYW50dC12YWxpZGF0aW9uLXRvb2x0aXAtbGFiZWwtd2lkdGg6IDUwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgR2FudHQgdmFsaWRhdGlvbiBUb29sdGlwLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC1ib3JkZXI6ICM2NTY1NjUgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdmFsaWQgR2FudHQgdmFsaWRhdGlvbiBUb29sdGlwLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC12YWxpZC1ib3JkZXI6ICRrZW5kby1jb2xvci1zdWNjZXNzICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGludmFsaWQgR2FudHQgdmFsaWRhdGlvbiBUb29sdGlwLlxuLy8vIEBncm91cCBnYW50dFxuJGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC1pbnZhbGlkLWJvcmRlcjogJGtlbmRvLWNvbG9yLWVycm9yICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2dhbnR0L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9nYW50dC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9nYW50dC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1nYW50dC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAkcm93LWhlaWdodDogI3ska2VuZG8tbGluZS1oZWlnaHQtZW19ICsgY2FsYyggMiAqICN7JGtlbmRvLXRhYmxlLW1kLWNlbGwtcGFkZGluZy15fSApICsgI3ska2VuZG8tZ3JpZC1jZWxsLWhvcml6b250YWwtYm9yZGVyLXdpZHRofTtcblxuICAgIC5rLWdhbnR0IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tZ2FudHQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWdhbnR0LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1nYW50dC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZ2FudHQtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG90aGVyXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgICAgICAuay1ncmlkLWhlYWRlciB0ciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoICN7JGtlbmRvLWxpbmUtaGVpZ2h0LWVtfSArIGNhbGMoICN7JGtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteX0gKiAyICkgKyAxcHggKTtcbiAgICAgICAgfVxuICAgICAgICAuay1ncmlkLWhlYWRlciAuay1oZWFkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgfVxuICAgICAgICAuay10cmVlbGlzdCAuay1ncmlkLWhlYWRlciAuay1oZWFkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIC5rLWdyaWQtY29udGVudCB0ciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoICN7JGtlbmRvLWxpbmUtaGVpZ2h0LWVtfSArIGNhbGMoICN7JGtlbmRvLWdyaWQtY2VsbC1wYWRkaW5nLXl9ICogMiApICsgI3ska2VuZG8tZ3JpZC1jZWxsLWhvcml6b250YWwtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWdhbnR0LXBsYW5uZWQgLmstZ3JpZC1jb250ZW50IHRyIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyggI3ska2VuZG8tbGluZS1oZWlnaHQtZW19ICogMS43ICsgY2FsYyggI3ska2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteX0gKiAyICkgKyAjeyRrZW5kby1ncmlkLWNlbGwtaG9yaXpvbnRhbC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMYXlvdXRcbiAgICAgICAgLmstZ2FudHQtbGF5b3V0IHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTcGxpdGJhclxuICAgICAgICAuay1zcGxpdGJhciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNwbGl0dGVyXG4gICAgICAgIC5rLWdhbnR0LXNwbGl0dGVyIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlYWN0IGdhbnR0XG4gICAgICAgIC5rLXRyZWVsaXN0LXNjcm9sbGFibGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAgICAgLmstZ3JpZC1oZWFkZXIgLmstaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstZ3JpZC1oZWFkZXIgdGgsXG4gICAgICAgICAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstZ3JpZC1oZWFkZXIgdGguay1ncmlkLWhlYWRlci1zdGlja3kge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1ncmlkLWhlYWRlciB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuICAgICAgICAgICAgdGJvZHkgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstZ3JpZC1oZWFkZXIgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgLmstaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAka2VuZG8tZ3JpZC1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyLmstc2VsZWN0ZWQgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVGFza1xuICAgICAgICAgICAgLmstdGFzayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICAgICAgICAgICY6aG92ZXIgLmstdGFzay1zdGFydCxcbiAgICAgICAgICAgICAgICAmOmhvdmVyIC5rLXRhc2stZW5kIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciAuay10YXNrLWRyYWdoYW5kbGUge1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXRhc2stY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWdhbnR0LXRhc2stcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZ2FudHQtdGFzay1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay10YXNrLWFjdGlvbnMge1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBNaWxlc3RvbmVcbiAgICAgICAgICAgIC5rLXRhc2stbWlsZXN0b25lIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAuay10YXNrLW1pbGVzdG9uZS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFN1bW1hcnlcbiAgICAgICAgICAgIC5rLXRhc2stc3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigtMjBweCAwLCBjYWxjKDEwMCUgKyAyMHB4KSAwLCBjYWxjKDEwMCUgKyAyMHB4KSAxMDAlLCAxMDAlIDEwMCUsIGNhbGMoMTAwJSAtIDhweCkgY2FsYygxMDAlIC0gNXB4KSwgOHB4IGNhbGMoMTAwJSAtIDVweCksIDAgMTAwJSwgLTIwcHggMTAwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay10YXNrLXN1bW1hcnktY29tcGxldGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRG90c1xuICAgICAgICAgICAgLmstdGFzay1zdGFydCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNDAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstdGFzay1lbmQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNDAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstbWFzdGVyLXJvdzpob3ZlciAuay10YXNrLWRvdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRhYmxlIHdpdGggY29sdW1ucyBib3JkZXJzXG4gICAgICAgICAgICAuay1nYW50dC1jb2x1bW5zIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGVwZW5kZW5jeSBsaW5lcyBTVkdcbiAgICAgICAgLmstZ2FudHQtZGVwZW5kZW5jaWVzLXN2ZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgIHBvbHlsaW5lIHtcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6ICRrZW5kby1nYW50dC1saW5lLXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIZWFkZXIgYW5kIGZvb3RlclxuICAgIC5rLWdhbnR0LWhlYWRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwICRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgfVxuICAgIC5rLWdhbnR0LWZvb3RlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXRvb2xiYXItYm9yZGVyLXdpZHRoIDAgMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBUb29sYmFyXG4gICAgLmstZ2FudHQtdG9vbGJhciB7fVxuXG4gICAgLmstZ2FudHQtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmstZ2FudHQtYWRkIHt9XG4gICAgLmstZ2FudHQtY3JlYXRlIHt9XG4gICAgLmstZ2FudHQtdmlld3Mge31cblxuXG4gICAgLy8gR2FudHQgdmlld3NcbiAgICAuay1nYW50dC12aWV3cy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICAgICAgLmstdmlld3MtZHJvcGRvd24ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSZXNwb25zaXZlIGdhbnR0IHRvb2xiYXJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuXG4gICAgICAgIC5rLWdhbnR0LXRvb2xiYXIge1xuICAgICAgICAgICAgLmstZ2FudHQtdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWdhbnR0LXBkZixcbiAgICAgICAgICAgIC5rLWdhbnR0LWNyZWF0ZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLWJ1dHRvbi1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1idXR0b24tY2FsYy1zaXplO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWJ1dHRvbi1jYWxjLXNpemU7XG5cbiAgICAgICAgICAgICAgICAuay1idXR0b24taWNvbiB7fVxuICAgICAgICAgICAgICAgIC5rLWJ1dHRvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICAuay1nYW50dC12aWV3cy13cmFwcGVyIC5rLWdhbnR0LXZpZXdzIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuay1nYW50dC12aWV3cy13cmFwcGVyIC5rLXZpZXdzLWRyb3Bkb3duIHsgZGlzcGxheTogZmxleDsgfVxuICAgIH1cblxuXG4gICAgLy8gR2FudHQgY29udGVudFxuICAgIC5rLWdhbnR0LWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cblxuICAgIC8vIFRyZWVsaXN0XG4gICAgLmstZ2FudHQtdHJlZWxpc3Qge1xuXG4gICAgICAgIC5rLXRyZWVsaXN0IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgICAgICAuay1ncmlkLWhlYWRlcixcbiAgICAgICAgLmstZ3JpZC1mb290ZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIHRyIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyggI3ska2VuZG8tbGluZS1oZWlnaHQtZW19ICogMiArIGNhbGMoICN7JGtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteX0gKiA0ICkgKyAycHggKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIH1cbiAgICAgICAgLmstZ3JpZC1jb250ZW50IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgIH1cbiAgICAgICAgLmstZ3JpZC1jb250ZW50IHRkIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICAgICAgLmstZ2FudHQtdHJlZWxpc3QtbmVzdGVkLWNvbHVtbnMgLmstZ3JpZC1oZWFkZXIgdHIge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1saW5lLWhlaWdodC1lbX0gKyBjYWxjKCAjeyRrZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXl9ICogMiApICsgMXB4ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZ2FudHQtdHJlZWxpc3Qtc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRpbWVsaW5lXG4gICAgLmstZ2FudHQtdGltZWxpbmUtcGFuZSB7XG5cbiAgICAgICAgLmstZ2FudHQtdGltZWxpbmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgKixcbiAgICAgICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgICAgICo6OmFmdGVyLFxuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmstZ3JpZC1oZWFkZXIge31cbiAgICAgICAgLmstZ3JpZC1jb250ZW50IHtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICAgICAgfVxuICAgICAgICAuay1oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4ICRrZW5kby1ncmlkLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBUYWJsZXNcbiAgICAuay1nYW50dC10YWJsZXMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmstZ2FudHQtcm93cyxcbiAgICAuay1nYW50dC1jb2x1bW5zIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLmstZ2FudHQtcm93cyB7fVxuXG5cbiAgICAvLyBEZXBzXG4gICAgLmstZ2FudHQtZGVwZW5kZW5jaWVzIHtcbiAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIC8vIEFycm93c1xuICAgICAgICAuay1hcnJvdy1lLFxuICAgICAgICAuay1hcnJvdy13IHtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmstYXJyb3ctZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmstYXJyb3ctdyB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIGxlZnQ6IC02cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEZXBlbmRlbmN5IExpbmVzXG4gICAgLmstZ2FudHQtbGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLmstZ2FudHQtbGluZS5rLXNlbGVjdGVkIHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAuay1nYW50dC1saW5lLWgge1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1nYW50dC1saW5lLXNpemU7XG4gICAgfVxuXG4gICAgLmstZ2FudHQtbGluZS12IHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1nYW50dC1saW5lLXNpemU7XG4gICAgfVxuXG4gICAgLmstZ2FudHQtZGVwZW5kZW5jeS1oaW50IHtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICB9XG5cblxuICAgIC8vIFRhc2tzXG4gICAgLmstZ2FudHQtdGFza3Mge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgdGQsXG4gICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICAgIHRkOjphZnRlciB7IGNvbnRlbnQ6IFwiXFwyMDBiXCI7IH1cbiAgICB9XG5cbiAgICAuay10YXNrLXdyYXAge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IC0yMXB4O1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiA1cHg7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAyMXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICAuay10YXNrLXdyYXAuay1kcmFnLWhpbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5rLXRhc2sge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cbiAgICAuay10YXNrLWRvdCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAjeyRrZW5kby1nYW50dC1kb3Qtc2l6ZX0gKyBjYWxjKCAjeyRrZW5kby1nYW50dC1kb3Qtc3BhY2luZ30gKiAyICkgKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1nYW50dC1kb3Qtc2l6ZX0gKyBjYWxjKCAjeyRrZW5kby1nYW50dC1kb3Qtc3BhY2luZ30gKiAyICkgKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgICAuay10YXNrLXdyYXA6aG92ZXIgLmstdGFzay1kb3QsXG4gICAgLmstdGFzay13cmFwLmstb3JpZ2luIC5rLXRhc2stZG90IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5rLXRhc2stZG90OjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogJGtlbmRvLWdhbnR0LWRvdC1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1nYW50dC1kb3Qtc2l6ZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuICAgIC5rLXRhc2stZG90OmhvdmVyOjpiZWZvcmUsXG4gICAgLmstdGFzay1kb3Quay1ob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgfVxuICAgIC5rLXRhc2stc3RhcnQgeyBsZWZ0OiAwOyB9XG4gICAgLmstdGFzay1lbmQgeyByaWdodDogMDsgfVxuICAgIC5rLXRhc2stZHJhZ2hhbmRsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogZS1yZXNpemU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgLmstdGFzay13cmFwOmhvdmVyIC5rLXRhc2stZHJhZ2hhbmRsZSB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG5cbiAgICAvLyBNaWxlc3RvbmVcbiAgICAuay1taWxlc3RvbmUtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogLTJlbTtcbiAgICB9XG4gICAgLmstdGFzay1taWxlc3RvbmUge1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG5cblxuICAgIC8vIFN1bW1hcnlcbiAgICAuay1zdW1tYXJ5LXdyYXAge31cbiAgICAuay10YXNrLXN1bW1hcnkge1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gICAgLmstdGFzay1zdW1tYXJ5LFxuICAgIC5rLXRhc2stc3VtbWFyeS1jb21wbGV0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXRhc2stc3VtbWFyeS1jb21wbGV0ZSB7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICAuay10YXNrLXN1bW1hcnktcHJvZ3Jlc3Mge1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG5cbiAgICAvLyBTaW5nbGUgdGFza1xuICAgIC5rLXNpbmdsZS13cmFwIHt9XG4gICAgLmstdGFzay1zaW5nbGUge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCBrLWJvcmRlci1yYWRpdXMobWQpICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWdhbnR0LXRhc2stYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgLmstcmVzaXplLWhhbmRsZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgIH1cbiAgICAgICAgLmstcmVzaXplLXcgeyBsZWZ0OiAwOyB9XG4gICAgICAgIC5rLXJlc2l6ZS13OjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgfVxuICAgICAgICAuay1yZXNpemUtZSB7IHJpZ2h0OiAwOyB9XG4gICAgICAgIC5rLXJlc2l6ZS1lOjpiZWZvcmUge1xuICAgICAgICAgICAgcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIC5rLXJlc2l6ZS1oYW5kbGUsXG4gICAgICAgICY6aG92ZXIgLmstdGFzay1hY3Rpb25zIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstdGFzay1jb21wbGV0ZSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIGstYm9yZGVyLXJhZGl1cyhtZCkgKTtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLmstdGFzay1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAuay10YXNrLXRlbXBsYXRlIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWdhbnR0LXRhc2stcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWdhbnR0LXRhc2stcGFkZGluZy14O1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG4gICAgLmstdGFzay1hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZzogJGtlbmRvLXBhZGRpbmctc20teTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAuay10YXNrLWFjdGlvbnMgPiAuay1saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuXG4gICAgLmstcmVzb3VyY2VzLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIC5rLXJlc291cmNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDVweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGFzayB0b29sdGlwXG4gICAgLmstdGFzay1kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBhZGRpbmctbWQteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYWRkaW5nLW1kLXg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1sZywgaW5oZXJpdCApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRhc2stcGN0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWljb24tc2l6ZS14eGw7XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBsYW5uZWQgcG9zaXRpb25cbiAgICAuay1nYW50dC1wbGFubmVkIHtcbiAgICAgICAgLmstZ2FudHQtZGVwZW5kZW5jaWVzLFxuICAgICAgICAuay10YXNrLWRvdCxcbiAgICAgICAgLmstcmVzb3VyY2VzLXdyYXAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGtlbmRvLWdhbnR0LXBsYW5uZWQtZGVwZW5kZW5jeS1tYXJnaW4teTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2std3JhcCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YXNrLWlubmVyLXdyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YXNrLXdyYXAuay1kcmFnLWhpbnQge1xuICAgICAgICAgICAgdG9wOiAka2VuZG8tZ2FudHQtcGxhbm5lZC1zaW5nbGUtZHJhZy1oaW50LXRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXN1bW1hcnktd3JhcC5rLWRyYWctaGludCB7XG4gICAgICAgICAgICB0b3A6ICRrZW5kby1nYW50dC1wbGFubmVkLXN1bW1hcnktZHJhZy1oaW50LXRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1pbGVzdG9uZS13cmFwLmstZHJhZy1oaW50IHtcbiAgICAgICAgICAgIHRvcDogJGtlbmRvLWdhbnR0LXBsYW5uZWQtbWlsZXN0b25lLWRyYWctaGludC10b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQbGFubmVkIGVsZW1lbnRcbiAgICAuay10YXNrLXBsYW5uZWQge1xuICAgICAgICBtYXJnaW46IDAgMCAka2VuZG8tZ2FudHQtcGxhbm5lZC1tYXJnaW4teTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1nYW50dC1wbGFubmVkLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC5rLXRhc2stbW9tZW50IHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWdhbnR0LXBsYW5uZWQtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLWdhbnR0LXBsYW5uZWQtbW9tZW50LWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtaGVpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1nYW50dC1wbGFubmVkLW1vbWVudC13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2stZHVyYXRpb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tZ2FudHQtcGxhbm5lZC1kdXJhdGlvbi1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YXNrLW1vbWVudC5rLW1vbWVudC1sZWZ0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtbGVmdC1tYXJnaW4teDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgLmstdGFzay1kdXJhdGlvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1nYW50dC1wbGFubmVkLWR1cmF0aW9uLWhvdmVyLWhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLW1pbGVzdG9uZS13cmFwIC5rLXRhc2stbW9tZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1nYW50dC1wbGFubmVkLW1pbGVzdG9uZS1tb21lbnQtbWFyZ2luLXg7XG4gICAgfVxuXG4gICAgLy8gUGxhbm5lZCBUb29sdGlwXG4gICAgLmstcGxhbm5lZC10b29sdGlwIHtcbiAgICAgICAgLmstdGFzay1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGVsYXkgb2Zmc2V0XG4gICAgLmstdGFzay1vZmZzZXQtd3JhcCAuay10YXNrLWNvbnRlbnQgLmstcmVzaXplLWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5rLXRhc2stb2Zmc2V0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8tZ2FudHQtcGxhbm5lZC1vZmZzZXQtcmVzaXplLWhhbmRsZXItbWFyZ2luLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtaGFuZGxlOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogJGtlbmRvLWdhbnR0LW9mZnNldC1yZXNpemUtaGFuZGxlci10b3A7XG4gICAgICAgICAgICBib3R0b206IC41ZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRhc2stc2luZ2xlOmhvdmVyICsgLmstdGFzay1vZmZzZXQgLmstdGFzay1hY3Rpb25zLFxuICAgIC5rLXRhc2stb2Zmc2V0OmhvdmVyIC5rLXRhc2stYWN0aW9ucyxcbiAgICAuay10YXNrLXNpbmdsZTpob3ZlciArIC5rLXRhc2stb2Zmc2V0IC5rLXJlc2l6ZS1oYW5kbGUsXG4gICAgLmstdGFzay1vZmZzZXQ6aG92ZXIgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG5cbiAgICAvLyBEZXBlbmRlbmN5IFZhbGlkYXRpb24gVG9vbHRpcFxuICAgIC5rLWdhbnR0LXRvb2x0aXAtdmFsaWRhdGlvbiB7XG4gICAgICAgIG1heC13aWR0aDogJGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC13aWR0aDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1nYW50dC10b29sdGlwLXZhbGlkYXRpb24tcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICAuay1nYW50dC10b29sdGlwLXZhbGlkYXRpb24tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgbWluLXdpZHRoOiAka2VuZG8tZ2FudHQtdmFsaWRhdGlvbi10b29sdGlwLWxhYmVsLXdpZHRoO1xuICAgIH1cbiAgICAuay1nYW50dC10b29sdGlwLXZhbGlkYXRpb24tdmFsdWUge1xuICAgICAgICAvLyBUT0RPOiBleHRyYWN0IHRvIHZhcmlhYmxlXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZm9udC13ZWlnaHQtYm9sZCwgbm9ybWFsICk7XG4gICAgfVxuICAgIC5rLWdhbnR0LXRvb2x0aXAtdmFsaWRhdGlvbi1sYWJlbCxcbiAgICAuay1nYW50dC10b29sdGlwLXZhbGlkYXRpb24tdmFsdWUge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cblxuXG5cbiAgICAvLyBHYW50dCBleHBvcnRcbiAgICAuay1wZGYtZXhwb3J0LXNoYWRvdyB7XG4gICAgICAgIC5rLWdhbnR0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ2FudHQsXG4gICAgICAgIC5rLWdhbnR0LXRpbWVsaW5lLXBhbmUsXG4gICAgICAgIC5rLWdhbnR0LWRlcGVuZGVuY2llcyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ2FudHQtdHJlZWxpc3QgLmstdHJlZWxpc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuay1nYW50dC1sYXlvdXQuay1zcGxpdGJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8vIEdhbnR0IGVkaXQgZm9ybVxuICAgIC5rLWdhbnR0LWVkaXQtZm9ybSB7fVxuXG4gICAgLmstZ2FudHQtZWRpdC1mb3JtIC5rLWdhbnR0LXVwZGF0ZSB7fVxuICAgIC5rLWdhbnR0LWVkaXQtZm9ybSAuay1nYW50dC1jYW5jZWwge31cbiAgICAuay1nYW50dC1lZGl0LWZvcm0gLmstZ2FudHQtZGVsZXRlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG5cblxuXG4gICAgLy8gR2FudHQgUlRMXG4gICAgLmstcnRsLFxuICAgIFtkaXI9XCJydGxcIl0ge1xuXG4gICAgICAgIC5rLWdhbnR0LXJvd3MsXG4gICAgICAgIC5rLWdhbnR0LWNvbHVtbnMge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFzay13cmFwOm5vdCguay1taWxlc3RvbmUtd3JhcCkge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogLTI2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1nYW50dC10aW1lbGluZS1wYW5lIHtcbiAgICAgICAgICAgIC5rLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwICRrZW5kby1ncmlkLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoIDFweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRhc2stc3RhcnQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRhc2stZW5kIHtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFzay1jb250ZW50IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2stY29tcGxldGUge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFzay1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ2FudHQtZGVwZW5kZW5jaWVzIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdhbnR0LWRlbGV0ZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YXNrLW9mZnNldC13cmFwIC5rLXRhc2stY29udGVudCB7XG4gICAgICAgICAgICAuay1yZXNpemUtZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXJlc2l6ZS13IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstbWlsZXN0b25lLXdyYXAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1nYW50dC1ydGwtbWlsZXN0b25lLXdyYXAtbWFyZ2luLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1taWxlc3RvbmUtd3JhcCAuay10YXNrLW1vbWVudCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRrZW5kby1nYW50dC1ydGwtbWlsZXN0b25lLXBsYW5uZWQtbW9tZW50LW1hcmdpbi14O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ2FudHQtdGltZWxpbmUtcGFuZSAuay1taWxlc3RvbmUtd3JhcCAuay10YXNrLXN0YXJ0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAka2VuZG8tZ2FudHQtcnRsLW1pbGVzdG9uZS1kb3Qtc3RhcnQtbWFyZ2luLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1nYW50dC10b29sdGlwLXZhbGlkYXRpb246OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZ2FudHQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1nYW50dC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1nYW50dC0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tZ2FudHQtLWxheW91dC1iYXNlKCk7XG5cbiAgICAvLyBUaW1lbGluZVxuICAgIC5rLWdhbnR0LXRpbWVsaW5lLXBhbmUge1xuICAgICAgICAuay1ydGwgJiB7XG5cbiAgICAgICAgICAgIC5rLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwICRrZW5kby1ncmlkLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoIDFweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9nYW50dC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9nYW50dC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2dhbnR0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tZ2FudHQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBHYW50dFxuICAgIC5rLWdhbnR0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1nYW50dC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWdhbnR0LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWdhbnR0LWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlYWN0IGdhbnR0XG4gICAgICAgIC5rLXRyZWVsaXN0LXNjcm9sbGFibGUge1xuICAgICAgICAgICAgLmstdGFzay1taWxlc3RvbmUgLmstdGFzay1taWxlc3RvbmUtY29udGVudCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tZ2FudHQtbWlsZXN0b25lLWJnLFxuICAgICAgICAgICAgICAgICAgICAkYm9yZGVyOiAka2VuZG8tZ2FudHQtbWlsZXN0b25lLWJvcmRlclxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay10YXNrLW1pbGVzdG9uZS5rLXNlbGVjdGVkIC5rLXRhc2stbWlsZXN0b25lLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRiZzogJGtlbmRvLWdhbnR0LW1pbGVzdG9uZS1zZWxlY3RlZC1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGJvcmRlcjogJGtlbmRvLWdhbnR0LW1pbGVzdG9uZS1zZWxlY3RlZC1ib3JkZXJcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ2FudHQtZGVwZW5kZW5jaWVzLXN2ZyB7XG4gICAgICAgICAgICBwb2x5bGluZSB7XG4gICAgICAgICAgICAgICAgZmlsbDogbm9uZTtcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRrZW5kby1nYW50dC1saW5lLWZpbGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBvbHlsaW5lLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogJGtlbmRvLWdhbnR0LWxpbmUtc2VsZWN0ZWQtZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhlYWRlciBhbmQgZm9vdGVyXG4gICAgLmstZ2FudHQtaGVhZGVyIHt9XG4gICAgLmstZ2FudHQtZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgIH1cbiAgICAuay1nYW50dC10b29sYmFyIHt9XG5cblxuICAgIC8vIFRyZWVsaXN0XG4gICAgLmstZ2FudHQtdHJlZWxpc3Qge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWdhbnR0LXRyZWVsaXN0LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtdHJlZWxpc3QtYmcsXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtdHJlZWxpc3QtYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgLmstdHJlZWxpc3QsXG4gICAgICAgIC5rLWdyaWQtY29udGVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUm93cyBhbmQgY29sbHNcbiAgICAuay1nYW50dC1yb3dzIHt9XG4gICAgLmstZ2FudHQtY29sdW1ucyB7fVxuXG5cbiAgICAvLyBOb24gd29yayBob3Vyc1xuICAgIC5rLWdhbnR0IC5rLW5vbndvcmstaG91ciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtbm9ud29yay10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWdhbnR0LW5vbndvcmstYmcsXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtbm9ud29yay1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIFRhc2sgZG90XG4gICAgLmstdGFzay1kb3Qge31cbiAgICAuay10YXNrLWRvdDo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogJGtlbmRvLWdhbnR0LWRvdC1iZyxcbiAgICAgICAgICAgICRib3JkZXI6ICRrZW5kby1nYW50dC1kb3QtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuICAgIC5rLXRhc2stZG90OmhvdmVyOjpiZWZvcmUsXG4gICAgLmstdGFzay1kb3Quay1ob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogJGtlbmRvLWdhbnR0LWRvdC1ob3Zlci1iZyxcbiAgICAgICAgICAgICRib3JkZXI6ICRrZW5kby1nYW50dC1kb3QtaG92ZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBNaWxlc3RvbmVcbiAgICAuay10YXNrLW1pbGVzdG9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6ICRrZW5kby1nYW50dC1taWxlc3RvbmUtYmcsXG4gICAgICAgICAgICAkYm9yZGVyOiAka2VuZG8tZ2FudHQtbWlsZXN0b25lLWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgICYuay10YXNrLWRlbGF5ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVwZWF0aW5nLXN0cmlwZWQtZ3JhZGllbnQoJGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmcsICRrZW5kby1ib2R5LWJnLCA5MGRlZywgNHB4LCAycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXRhc2stYWR2YW5jZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6ICRrZW5kby1nYW50dC1hZHZhbmNlZC1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay10YXNrLW1pbGVzdG9uZS5rLXNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogJGtlbmRvLWdhbnR0LW1pbGVzdG9uZS1zZWxlY3RlZC1iZyxcbiAgICAgICAgICAgICRib3JkZXI6ICRrZW5kby1nYW50dC1taWxlc3RvbmUtc2VsZWN0ZWQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBTdW1tYXJ5XG4gICAgLmstdGFzay1zdW1tYXJ5IHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1nYW50dC1zdW1tYXJ5LWJnO1xuXG4gICAgICAgICYuay10YXNrLWRlbGF5ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1nYW50dC1kZWxheWVkLWJnLWxpZ2h0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGFzay1hZHZhbmNlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWdhbnR0LWFkdmFuY2VkLWJnLWxpZ2h0ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstdGFzay1zdW1tYXJ5LWNvbXBsZXRlIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1nYW50dC1zdW1tYXJ5LXByb2dyZXNzLWJnO1xuICAgIH1cbiAgICAuay10YXNrLWRlbGF5ZWQgLmstdGFzay1zdW1tYXJ5LWNvbXBsZXRlIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1nYW50dC1kZWxheWVkLWJnO1xuICAgIH1cbiAgICAuay10YXNrLWFkdmFuY2VkIC5rLXRhc2stc3VtbWFyeS1jb21wbGV0ZSB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tZ2FudHQtYWR2YW5jZWQtYmc7XG4gICAgfVxuICAgIC5rLXRhc2stc3VtbWFyeS5rLXNlbGVjdGVkIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1nYW50dC1zdW1tYXJ5LXNlbGVjdGVkLWJnO1xuXG4gICAgICAgIC5rLXRhc2stc3VtbWFyeS1jb21wbGV0ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWdhbnR0LXN1bW1hcnktcHJvZ3Jlc3Mtc2VsZWN0ZWQtYmc7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRhc2tzXG4gICAgLmstdGFzay1zaW5nbGUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWdhbnR0LXRhc2stdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1nYW50dC10YXNrLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWdhbnR0LXRhc2stYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgJi5rLXRhc2stZGVsYXllZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRiZzogJGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmctbGlnaHRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay10YXNrLWFkdmFuY2VkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tZ2FudHQtYWR2YW5jZWQtYmctbGlnaHRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2stY29tcGxldGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdhbnR0LXRhc2stcHJvZ3Jlc3MtYmc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstdGFzay1kZWxheWVkIC5rLXRhc2stY29tcGxldGUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiAka2VuZG8tZ2FudHQtZGVsYXllZC1iZ1xuICAgICAgICApO1xuICAgIH1cbiAgICAuay10YXNrLWFkdmFuY2VkIC5rLXRhc2stY29tcGxldGUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiAka2VuZG8tZ2FudHQtYWR2YW5jZWQtYmdcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstdGFzay1zaW5nbGUuay1zZWxlY3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtdGFzay1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWdhbnR0LXRhc2stc2VsZWN0ZWQtYmcsXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtdGFzay1zZWxlY3RlZC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAuay10YXNrLWNvbXBsZXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1nYW50dC10YXNrLXByb2dyZXNzLXNlbGVjdGVkLWJnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGVwZW5kZW5jeSBMaW5lc1xuICAgIC5rLWdhbnR0LWxpbmUge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWdhbnR0LWxpbmUtZmlsbDtcbiAgICB9XG4gICAgLmstZ2FudHQtbGluZS5rLXNlbGVjdGVkIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1nYW50dC1saW5lLXNlbGVjdGVkLWZpbGw7XG4gICAgfVxuXG4gICAgLy8gUGxhbm5lZCBlbGVtZW50XG4gICAgLmstdGFzay1wbGFubmVkIHtcbiAgICAgICAgLmstdGFzay1tb21lbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6IHRyYW5zcGFyZW50LFxuICAgICAgICAgICAgICAgICRib3JkZXI6ICRrZW5kby1nYW50dC1wbGFubmVkLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay10YXNrLWR1cmF0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tZ2FudHQtcGxhbm5lZC1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIC5rLXRhc2stbW9tZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tZ2FudHQtcGxhbm5lZC1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERlbGF5IG9mZnNldFxuICAgIC5rLXRhc2stb2Zmc2V0IHtcbiAgICAgICAgQGluY2x1ZGUgcmVwZWF0aW5nLXN0cmlwZWQtZ3JhZGllbnQoJGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmcsICRrZW5kby1ib2R5LWJnLCAxMzVkZWcsIDRweCwgMnB4KTtcblxuICAgICAgICAuay1yZXNpemUtZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGJvcmRlcjogJGtlbmRvLWdhbnR0LWFjdGlvbi1vbi1vZmZzZXQtdGV4dFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2stYWN0aW9ucyB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWdhbnR0LWFjdGlvbi1vbi1vZmZzZXQtdGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRhc2stb2Zmc2V0OmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgcmVwZWF0aW5nLXN0cmlwZWQtZ3JhZGllbnQoJGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmctbGlnaHRlciwgJGtlbmRvLWJvZHktYmcsIDEzNWRlZywgNHB4LCAycHgpO1xuICAgIH1cblxuICAgIC5rLXBkZi1leHBvcnQgLmstdGFzay1vZmZzZXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ2FudHQtZGVsYXllZC1iZztcbiAgICB9XG5cbiAgICAvLyBUb29sdGlwc1xuICAgIC5rLW9mZnNldC10b29sdGlwLWRlbGF5ZWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiAka2VuZG8tZ2FudHQtZGVsYXllZC1iZ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXBsYW5uZWQtdG9vbHRpcCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6ICRrZW5kby1nYW50dC1wbGFubmVkLWJnXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstZ2FudHQtdG9vbHRpcC12YWxpZGF0aW9uIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1nYW50dC12YWxpZGF0aW9uLXRvb2x0aXAtYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWdhbnR0LXRvb2x0aXAtdmFsaWQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC12YWxpZC1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstZ2FudHQtdG9vbHRpcC1pbnZhbGlkIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1nYW50dC12YWxpZGF0aW9uLXRvb2x0aXAtaW52YWxpZC1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZ2FudHQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWdhbnR0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZ2FudHQtLXRoZW1lKCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tZ2FudHQtLXRoZW1lLWJhc2UoKTtcblxuICAgIC8vIFRpbWVsaW5lXG4gICAgLmstZ2FudHQtdGltZWxpbmUtcGFuZSB7XG5cbiAgICAgICAgdGJvZHkgPiB0cjpub3QoOm9ubHktY2hpbGQpID4gLmstaGVhZGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAka2VuZG8tZ3JpZC1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmstcnRsICYge1xuXG4gICAgICAgICAgICAuay1ncmlkLWhlYWRlciB7XG5cbiAgICAgICAgICAgICAgICB0Ym9keSA+IHRyOm5vdCg6b25seS1jaGlsZCkgPiAuay1oZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRrZW5kby1ncmlkLWJvcmRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1nYW50dC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZ2FudHRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZ2FudHQtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1nYW50dC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWdhbnR0LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9zY2hlZHVsZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zY2hlZHVsZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwic2NoZWR1bGVyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYWRhcHRpdmVcIixcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJkYXRlLXRpbWUtcGlja2VyXCIsXG4gICAgICAgIFwiZGlhbG9nXCIsXG4gICAgICAgIFwiZHJvcGRvd24tbGlzdFwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJ0b29sdGlwXCIsXG4gICAgICAgIFwidGltZS1tYXJrZXJcIlxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYWRhcHRpdmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hZGFwdGl2ZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2RhdGV0aW1lcGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGF0ZXRpbWVwaWNrZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kaWFsb2cvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kaWFsb2cvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90b29sdGlwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbHRpcC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3Mvc2NoZWR1bGVyL192YXJpYWJsZXMuc2Nzc1xuLy8gU2NoZWR1bGVyXG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFNjaGVkdWxlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFNjaGVkdWxlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFNjaGVkdWxlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBUb29sQmFyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbGJhci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgay10cnktc2hhZGUoICRrZW5kby1idXR0b24tYmcsIC41ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTY2hlZHVsZXIgVG9vbEJhci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2xiYXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTY2hlZHVsZXIgVG9vbEJhci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2xiYXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgU2NoZWR1bGVyIFRvb2xCYXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci10b29sYmFyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBmb290ZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1mb290ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdXJmYWNlICksIGstdHJ5LXNoYWRlKCAka2VuZG8tYnV0dG9uLWJnLCAuNSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU2NoZWR1bGVyIGZvb3Rlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWZvb3Rlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBmb290ZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1mb290ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgU2NoZWR1bGVyIGZvb3Rlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWZvb3Rlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBtaW5pbXVtIGhlaWdodCBvZiB0aGUgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtbWluLWhlaWdodDogMjVweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWxpbmUtaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1zY2hlZHVsZXItZXZlbnQtbWluLWhlaWdodH0gLSAoMiAqICN7JGtlbmRvLXBhZGRpbmctc20teX0pICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTY2hlZHVsZXIgZXZlbnQuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1ldmVudC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tcHJpbWFyeSApLCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWJnICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBTY2hlZHVsZXIgZXZlbnQuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBob3ZlcmVkIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGhvdmVyZWQgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtaG92ZXItc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1hY3RpdmUgKSwgay10cnktdGludCggJGtlbmRvLWNvbG9yLXByaW1hcnksIDEgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1wcmltYXJ5ICksIGstY29udHJhc3QtY29sb3IoICRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2VsZWN0ZWQtYmcgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2VsZWN0ZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgc2VsZWN0ZWQgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2VsZWN0ZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgc2VsZWN0ZWQgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2VsZWN0ZWQtc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC0zICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgb25nb2luZyBTY2hlZHVsZXIgZXZlbnQuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1ldmVudC1vbmdvaW5nLXNoYWRvdzogaW5zZXQgMHB4IDBweCAwcHggMXB4ICNmZjAwMDAgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBTY2hlZHVsZXIgY2VsbC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWNlbGwtcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFNjaGVkdWxlciBjZWxsLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItY2VsbC1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBTY2hlZHVsZXIgY2VsbC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWNlbGwtaGVpZ2h0OiBjYWxjKCB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCkgKiAxcmVtKSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIFNjaGVkdWxlciBkYXRlIGNvbHVtbi5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWRhdGVjb2x1bW4td2lkdGg6IDEycmVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBTY2hlZHVsZXIgdGltZSBjb2x1bW4uXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci10aW1lY29sdW1uLXdpZHRoOiAxMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBub24td29ya2luZyBob3VycyBpbiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItbm9ud29yay1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgay10cnktc2hhZGUoICRrZW5kby1zY2hlZHVsZXItYmcsIC41ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBub24td29ya2luZyBob3VycyBpbiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItbm9ud29yay10ZXh0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHdlZWtlbmRzIGluIHRoZSBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci13ZWVrZW5kLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB3ZWVrZW5kcyBpbiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItd2Vla2VuZC10ZXh0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHByZWNlZGluZy9zdWJzZXF1ZW50IG1vbnRoIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLW90aGVybW9udGgtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdXJmYWNlICksIGstdHJ5LXNoYWRlKCAka2VuZG8tc2NoZWR1bGVyLWJnLCAuNSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgcHJlY2VkaW5nL3N1YnNlcXVlbnQgbW9udGggY2VsbHMgaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItb3RoZXJtb250aC10ZXh0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgeWVhciB2aWV3IGluIHRoZSBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1wYWRkaW5nLXg6IGstc3BhY2luZyg1KSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgeWVhciB2aWV3IGluIHRoZSBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1wYWRkaW5nLXk6ICRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctcGFkZGluZy14ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgY2FsZW5kYXJzIG9mIHRoZSB5ZWFyIHZpZXcgaW4gdGhlIFNjaGVkdWxlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWNhbGVuZGFyLWdhcDogay1zcGFjaW5nKDUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGRheXMgd2l0aCBldmVudHMgaW5kaWNhdG9yIHNpemUgb2YgdGhlIHllYXIgdmlldyBpbiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLXNpemU6IDNweCAhZGVmYXVsdDtcbi8vLyBUaGUgdG9wIHBvc2l0aW9uIG9mIHRoZSBkYXlzIHdpdGggZXZlbnRzIGluZGljYXRvciBvZiB0aGUgeWVhciB2aWV3IGluIHRoZSBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3ItY2FsYy1vZmZzZXQtdG9wOiBjYWxjKCAjeyRrZW5kby1jYWxlbmRhci1jZWxsLXNpemV9IC0gKCN7JGtlbmRvLWNhbGVuZGFyLWNlbGwtcGFkZGluZy15fSAqIDIpKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGVmdCBwb3NpdGlvbiBvZiB0aGUgZGF5cyB3aXRoIGV2ZW50cyBpbmRpY2F0b3Igb2YgdGhlIHllYXIgdmlldyBpbiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLWNhbGMtb2Zmc2V0LWxlZnQ6IGNhbGMoIDUwJSAtICN7ay1tYXRoLWRpdiggJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3Itc2l6ZSwgMiApfSApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBkYXlzIHdpdGggZXZlbnRzIGluZGljYXRvciBvZiB0aGUgeWVhciB2aWV3IGluIHRoZSBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkYXlzIHdpdGggZXZlbnRzIGluZGljYXRvciBvZiB0aGUgeWVhciB2aWV3IGluIHRoZSBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3ItYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBkYXlzIHdpdGggZXZlbnRzIGluZGljYXRvciBvZiB0aGUgeWVhciB2aWV3IGluIHRoZSBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3Itc2VsZWN0ZWQtYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5LWNvbnRyYXN0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgU2NoZWR1bGVyIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBTY2hlZHVsZXIgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgb2YgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1iZzogJGtlbmRvLWNvbG9yLXByaW1hcnktY29udHJhc3QgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC10ZXh0OiAka2VuZG8tYmFzZS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgU2NoZWR1bGVyIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLXNoYWRvdzogJGJveC1zaGFkb3ctZGVwdGgtMiAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBtYXJnaW4gb2YgdGhlIFNjaGVkdWxlciBUb29sdGlwIHRpdGxlLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC10aXRsZS1tYXJnaW4teTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIG1vbnRoIGluc2lkZSB0aGUgU2NoZWR1bGVyIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLW1vbnRoLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGRheSBpbnNpZGUgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1kYXktZm9udC1zaXplOiBjYWxjKCB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCAuNzVyZW0gKSAqIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXggaGVpZ2h0IG9mIHRoZSBldmVudHMgaW5zaWRlIHRoZSBTY2hlZHVsZXIgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnRzLW1heC1oZWlnaHQ6IDI1MHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIGV2ZW50cyBpbnNpZGUgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudHMtZ2FwOiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBldmVudHMgaW5zaWRlIHRoZSBTY2hlZHVsZXIgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnQtcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGV2ZW50cyBpbnNpZGUgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudC1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgZXZlbnRzIGluc2lkZSB0aGUgU2NoZWR1bGVyIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LWJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhtZCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgZXZlbnRzIGl0ZW1zIGluc2lkZSB0aGUgU2NoZWR1bGVyIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LWdhcDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBTY2hlZHVsZXIgVG9vbHRpcCBjYWxsb3V0LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1jYWxsb3V0LXRleHQ6ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9zY2hlZHVsZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NjaGVkdWxlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zY2hlZHVsZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tc2NoZWR1bGVyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIExheW91dFxuICAgIC5rLXNjaGVkdWxlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXNjaGVkdWxlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tc2NoZWR1bGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1zY2hlZHVsZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXNjaGVkdWxlci1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgdGFibGUsXG4gICAgICAgIHRoZWFkLFxuICAgICAgICB0Zm9vdCxcbiAgICAgICAgdGJvZHksXG4gICAgICAgIHRyLFxuICAgICAgICB0aCxcbiAgICAgICAgdGQsXG4gICAgICAgIGRpdixcbiAgICAgICAgLmstc2NoZWR1bGVyLWVkaXQtZGlhbG9nLFxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAga2VuZG8tc2NoZWR1bGVyLmstc2NoZWR1bGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmLmstcmVhZG9ubHktc2NoZWR1bGVyIC5rLWV2ZW50LWRlbGV0ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29tbW9uXG4gICAgLmstc2NoZWR1bGVyLXRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG5cbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1zY2hlZHVsZXItY2VsbC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXNjaGVkdWxlci1jZWxsLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLXNjaGVkdWxlci1jZWxsLWhlaWdodDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAxcHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIH1cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLW1pZGRsZS1yb3cgdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItbGF5b3V0LWZsZXgge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAuay1zY2hlZHVsZXItaGVhZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuICAgICAgICAuay1zY2hlZHVsZXItYm9keSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItaGVhZCxcbiAgICAgICAgLmstc2NoZWR1bGVyLWJvZHkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDEwMCU7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItcm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWdyb3VwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAuay1ncm91cC1jZWxsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZ3JvdXAtY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1ncm91cC1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgICAgICAuay1ncm91cC1jZWxsIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1zY2hlZHVsZXItdGltZWxpbmUtdmlldyAuay1zY2hlZHVsZXItYm9keSAuay1zY2hlZHVsZXItY2VsbCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cblxuICAgICAgICAuay1tb3JlLWV2ZW50cyB7XG4gICAgICAgICAgICBib3R0b206IDJweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1jZWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1zY2hlZHVsZXItY2VsbC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXNjaGVkdWxlci1jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAgICAgICAgICAgJi5rLXNsb3QtY2VsbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstaGVhZGluZy1jZWxsIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLXNpZGUtY2VsbCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLW1ham9yLWNlbGwge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1taWRkbGUtcm93IC5rLXNjaGVkdWxlci1jZWxsIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc291cmNlLWNlbGwge1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc291cmNlLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zdGlja3ktY2VsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gSGVhZGVyIGFuZCBmb290ZXJcbiAgICAuay1zY2hlZHVsZXItdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLXRvb2xiYXItYm9yZGVyLXdpZHRoO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgIC5rLXdpZGdldCB7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDdXJyZW50IGRhdGVcbiAgICAgICAgLmstbmF2LWN1cnJlbnQge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAka2VuZG8taWNvbi1zcGFjaW5nO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTY2hlZHVsZXIgc2VhcmNoXG4gICAgICAgIC5rLXNjaGVkdWxlci1zZWFyY2gge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNjaGVkdWxlciBuYXZpZ2F0aW9uXG4gICAgLmstc2NoZWR1bGVyLW5hdmlnYXRpb24ge31cblxuICAgIC5rLXNjaGVkdWxlci10b29sYmFyIC5rLXZpZXdzLWRyb3Bkb3duIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gU2NoZWR1bGVyIGZvb3RlclxuICAgIC5rLXNjaGVkdWxlci1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCBub25lICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGtlbmRvLXRvb2xiYXItYm9yZGVyLXdpZHRoO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gTGF5b3V0XG4gICAgLmstc2NoZWR1bGVyLWxheW91dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICA+IHRib2R5ID4gdHIgPiB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jZWxsLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92ZSBib3R0b20gYm9yZGVyIGZyb20gZmlyc3QgY2VsbCBvZiBob3VycyBjZWxscyBzcGFuaW5nIG9uIHR3byByb3dzXG4gICAgICAgIHRyICsgdHIsXG4gICAgICAgIC5rLXNjaGVkdWxlci1wYW5lICsgLmstc2NoZWR1bGVyLXBhbmUge1xuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRpbWVzIHRyIHtcbiAgICAgICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLXNsb3QtY2VsbCxcbiAgICAgICAgICAgICAgICAuay1zY2hlZHVsZXItdGltZXMtYWxsLWRheSxcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQgdGgge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1zY2hlZHVsZXItbGF5b3V0Lmstc2NoZWR1bGVyLWZsZXgtbGF5b3V0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAmLmstc2NoZWR1bGVyLXdlZWt2aWV3LFxuICAgICAgICAmLmstc2NoZWR1bGVyLWRheXZpZXcge1xuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXBhbmU6Zmlyc3QtY2hpbGQgLmstc2NoZWR1bGVyLXRhYmxlIHtcbiAgICAgICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTY2hlZHVsZXIgdmlldyBoZWFkZXJcbiAgICAuay1zY2hlZHVsZXItaGVhZGVyLFxuICAgIC5rLXNjaGVkdWxlci12aWV3LWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0ta2VuZG8tc2Nyb2xsYmFyLXdpZHRoLCAjeyRrZW5kby1zY3JvbGxiYXItd2lkdGh9KTtcbiAgICB9XG4gICAgLmstc2NoZWR1bGVyLWhlYWRlciB0aCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItaGVhZGVyLFxuICAgIC5rLXNjaGVkdWxlci1oZWFkZXItd3JhcCxcbiAgICAuay1zY2hlZHVsZXItaGVhZGVyLXdyYXAgPiBkaXYge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5rLXNjaGVkdWxlci1oZWFkZXItd3JhcCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuay1zY2hlZHVsZXItdGltZXMge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAuay1zY2hlZHVsZXItdGFibGUgeyB0YWJsZS1sYXlvdXQ6IGF1dG87IH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xvdC1jZWxsLFxuICAgICAgICAuay1zY2hlZHVsZXItdGltZXMtYWxsLWRheSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xvdC1jZWxsLmstbGFzdC1yZXNvdXJjZSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2xvdC1jZWxsLmstZW1wdHktc2xvdCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLWRhdGVjb2x1bW4ge1xuICAgICAgICB3aWR0aDogJGtlbmRvLXNjaGVkdWxlci1kYXRlY29sdW1uLXdpZHRoO1xuICAgIH1cbiAgICAuay1zY2hlZHVsZXItdGltZWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tc2NoZWR1bGVyLXRpbWVjb2x1bW4td2lkdGg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG5cbiAgICAvLyBTY2hlZHVsZXIgY29udGVudFxuICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQXBwb2ludG1lbnRzXG4gICAga2VuZG8tc2NoZWR1bGVyIC5rLWV2ZW50LFxuICAgIC5rLWV2ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggay1ib3JkZXItcmFkaXVzKG1kKSApO1xuICAgICAgICBtaW4taGVpZ2h0OiAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LW1pbi1oZWlnaHQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ib3JkZXItcmFkaXVzO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRrZW5kby1wYWRkaW5nLW1kLXg7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRlbXBsYXRlXG4gICAgICAgIC5rLWV2ZW50LXRlbXBsYXRlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBhZGRpbmctbWQteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcGFkZGluZy1tZC14O1xuICAgICAgICAgICAgLy8gVE9ETzogaW5jb21wYXRpYmxlIHVuaXRzXG4gICAgICAgICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAka2VuZG8tcGFkZGluZy1zbS14ICsgay1zcGFjaW5nKDQpO1xuICAgICAgICB9XG4gICAgICAgIC5rLWV2ZW50LXRpbWUge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IC44NzVlbTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBBY3Rpb25zXG4gICAgICAgIC5rLWV2ZW50LWFjdGlvbnMge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAka2VuZG8tcGFkZGluZy1tZC14O1xuICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgLmstZXZlbnQtZGVsZXRlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIC5rLWV2ZW50LWRlbGV0ZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHsgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gSW5kaWNhdG9yc1xuICAgICAgICAuay1ldmVudC1hY3Rpb25zOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGtlbmRvLXBhZGRpbmctc20teSAuNGV4IDAgJGtlbmRvLXBhZGRpbmctc20teDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFJlc2l6ZSBoYW5kbGVzXG4gICAgICAgIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5rLXJlc2l6ZS1oYW5kbGU6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yOyB9XG4gICAgICAgIC5rLXJlc2l6ZS1uIHtcbiAgICAgICAgICAgIGhlaWdodDogLjVlbTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICAuay1yZXNpemUtcyB7XG4gICAgICAgICAgICBoZWlnaHQ6IC41ZW07XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstcmVzaXplLW46OmJlZm9yZSxcbiAgICAgICAgLmstcmVzaXplLXM6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogay1zcGFjaW5nKDgpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgICB9XG4gICAgICAgIC5rLXJlc2l6ZS13IHtcbiAgICAgICAgICAgIHdpZHRoOiAuNWVtO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAuay1yZXNpemUtZSB7XG4gICAgICAgICAgICB3aWR0aDogLjVlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXJlc2l6ZS13OjpiZWZvcmUsXG4gICAgICAgIC5rLXJlc2l6ZS1lOjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiBrLXNwYWNpbmcoOCk7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBIb3ZlclxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgLmstZXZlbnQtYWN0aW9ucyAuay1ldmVudC1kZWxldGUsXG4gICAgICAgICAgICAuay1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWV2ZW50LWRyYWctaGludCAuay1ldmVudC10aW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZXZlbnQtdG9wLWFjdGlvbnMsXG4gICAgICAgIC5rLWV2ZW50LWJvdHRvbS1hY3Rpb25zIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWV2ZW50LWJvdHRvbS1hY3Rpb25zIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGFza3NcbiAgICAuay1zY2hlZHVsZXItbWFyayB7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG5cbiAgICAvLyBNb3JlIGV2ZW50cyBpbmRpY2F0b3JcbiAgICAuay1tb3JlLWV2ZW50cyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgPiAuay1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcmFnaW5nIGhpbnRcbiAgICAuay1ldmVudC1kcmFnLWhpbnQge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICAuay1ldmVudC1hY3Rpb25zLFxuICAgICAgICAuay1ldmVudC10b3AtYWN0aW9ucyxcbiAgICAgICAgLmstZXZlbnQtYm90dG9tLWFjdGlvbnMsXG4gICAgICAgIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWV2ZW50LXRpbWUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFJlc2l6aW5nXG4gICAgLmstc2NoZWR1bGVyLW1hcnF1ZWUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG5cbiAgICAgICAgLy8gbGFiZWxcbiAgICAgICAgLmstbGFiZWwtdG9wLFxuICAgICAgICAuay1sYWJlbC1ib3R0b20ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgICAuay1sYWJlbC10b3Age1xuICAgICAgICAgICAgbGVmdDogJGtlbmRvLXBhZGRpbmctc20teDtcbiAgICAgICAgICAgIHRvcDogJGtlbmRvLXBhZGRpbmctc20teTtcbiAgICAgICAgfVxuICAgICAgICAuay1sYWJlbC1ib3R0b20ge1xuICAgICAgICAgICAgcmlnaHQ6ICRrZW5kby1wYWRkaW5nLXNtLXg7XG4gICAgICAgICAgICBib3R0b206ICRrZW5kby1wYWRkaW5nLXNtLXk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbmdsZSB0aW5naWVcbiAgICAgICAgJi5rLWZpcnN0OjpiZWZvcmUsXG4gICAgICAgICYuay1sYXN0OjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWZpcnN0OjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmLmstbGFzdDo6YWZ0ZXIge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHJlbW92ZSBzY3JvbGxiYXJzIGR1cmluZyBQREYgZXhwb3J0XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgLmstcGRmLWV4cG9ydC1zaGFkb3cgLmstc2NoZWR1bGVyLFxuICAgIC5rLXNjaGVkdWxlci1wZGYtZXhwb3J0IC5rLXNjaGVkdWxlci1jb250ZW50LFxuICAgIC5rLXNjaGVkdWxlci1wZGYtZXhwb3J0IC5rLXNjaGVkdWxlci10aW1lcyB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1wZGYtZXhwb3J0IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAuay1zY2hlZHVsZXItaGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1oZWFkZXItd3JhcCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1oZWFkZXIgLmstc2NoZWR1bGVyLXRhYmxlLFxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCAuay1zY2hlZHVsZXItdGFibGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5cbiAgICAvLyBUT0RPOiBhZGQgdGhpcyBjbGFzcyB0byBqUXVlcnkgcmVuZGVyaW5nXG4gICAgLy8gYWZ0ZXIgcmVmYWN0b3JpbmcgalF1ZXJ5IHNjaGVkdWxlciBsYXlvdXQgdG8gYmUgZmxleFxuICAgIC5rLXJlY3VycmVuY2UtZWRpdG9yIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAga2VuZG8tc2NoZWR1bGVyIC5rLXJlY3VycmVuY2UtZWRpdG9yIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG5cbiAgICAvLyBEYXkgdmlld1xuICAgIC5rLXNjaGVkdWxlci1kYXl2aWV3IHt9XG5cblxuICAgIC8vIFdvcmt3ZWVrIHZpZXdcbiAgICAuay1zY2hlZHVsZXItd29ya1dlZWt2aWV3IHt9IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcblxuXG4gICAgLy8gV2VlayB2aWV3XG4gICAgLmstc2NoZWR1bGVyLXdlZWt2aWV3IHt9XG5cblxuICAgIC8vIE1vbnRoIHZpZXdcbiAgICAuay1zY2hlZHVsZXItbW9udGh2aWV3IHtcblxuICAgICAgICAuay1zY2hlZHVsZXItdGFibGUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB0ZCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2NoZWR1bGVyLWJvZHkgLmstc2NoZWR1bGVyLWNlbGwge1xuICAgICAgICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhpZGRlbiBjZWxscyBtdXN0IGhhdmUgbm8gbGF5b3V0XG4gICAgICAgIC5rLWhpZGRlbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlLWF1dG8sXG4gICAgICAgIC5rLXNjaGVkdWxlci10YWJsZS1hdXRvIHRkLFxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCAuay1zY2hlZHVsZXItdGFibGUtYXV0byB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JjZSB2ZXJ0aWNhbCBzY3JvbGwgaW4gbW9udGh2aWV3IGZvciBqcXVlcnlcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICB9XG4gICAgICAgICYuay1zY2hlZHVsZXItZmxleC1sYXlvdXQgLmstc2NoZWR1bGVyLWNvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQWdlbmRhIHZpZXdcbiAgICAuay1zY2hlZHVsZXItYWdlbmRhdmlldyB7XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLW1hcmsge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xuICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB7XG4gICAgICAgICAgICB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZC5rLWZpcnN0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2sgPiAuay1ldmVudC1kZWxldGUge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6ICRrZW5kby1wYWRkaW5nLXNtLXk7XG4gICAgICAgICAgICByaWdodDogJGtlbmRvLXBhZGRpbmctc20teTtcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5rLWhvdmVyIC5rLXRhc2sgPiAuay1ldmVudC1kZWxldGUsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHRyOmhvdmVyIC5rLWV2ZW50LWRlbGV0ZSxcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgLmstc2NoZWR1bGVyLXJvdzpob3ZlciAuay1ldmVudC1kZWxldGUsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IC5rLXNjaGVkdWxlci1yb3cuay1ob3ZlciAuay1ldmVudC1kZWxldGUge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1zY2hlZHVsZXItYWdlbmRhZGF5IHtcbiAgICAgICAgbWFyZ2luOiAwIC4yZW0gMCAwO1xuICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAuay1zY2hlZHVsZXItYWdlbmRhd2VlayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IC40ZW0gMCAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbiAgICAuay1zY2hlZHVsZXItYWdlbmRhZGF0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lbGluZSB2aWV3XG4gICAgLmstc2NoZWR1bGVyLXRpbWVsaW5ldmlldyB7XG4gICAgICAgIC5rLXNsb3QtY2VsbCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLXBhbmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICAuay1zY2hlZHVsZXItcGFuZSAuay1zY2hlZHVsZXItdGltZXMge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgLmstc2NoZWR1bGVyLXBhbmUgLmstc2NoZWR1bGVyLXRpbWVzIC5rLXNjaGVkdWxlci10YWJsZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgLmstc2NoZWR1bGVyLXBhbmUgLmstc2NoZWR1bGVyLWhlYWRlcixcbiAgICAuay1zY2hlZHVsZXItcGFuZSAuay1zY2hlZHVsZXItY29udGVudCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuXG4gICAgLy8gWWVhciB2aWV3XG4gICAgLmstc2NoZWR1bGVyLXllYXJ2aWV3IHtcbiAgICAgICAgLmstc2NoZWR1bGVyLWJvZHkge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1wYWRkaW5nLXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhbGVuZGFyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuXG4gICAgICAgICAgICAuay1jYWxlbmRhci12aWV3IHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWNhbGVuZGFyLWdhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstY29udGVudCB7XG4gICAgICAgICAgICAgICAgZmxleDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZC5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZGF5LWluZGljYXRvciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1jYWxjLW9mZnNldC10b3A7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1jYWxjLW9mZnNldC1sZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8vIFNjaGVkdWxlciB0b29sdGlwXG4gICAgLmstc2NoZWR1bGVyLXRvb2x0aXAge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgICAuay10b29sdGlwLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC10aXRsZS1tYXJnaW4teTtcblxuICAgICAgICAgICAgLmstbW9udGgge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLW1vbnRoLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1kYXkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWRheS1mb250LXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10b29sdGlwLWV2ZW50cy1jb250YWluZXIge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay10b29sdGlwLWV2ZW50cyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnRzLW1heC1oZWlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50cy1nYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuay10b29sdGlwLWV2ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LXBhZGRpbmcteDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZ2FwOiAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnQtZ2FwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRvb2x0aXAtZXZlbnQgLmstZXZlbnQtdGltZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1uby1kYXRhIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICAvLyBTY2hlZHVsZXIgZWRpdCBkaWFsb2dcbiAgICAuay1zY2hlZHVsZXItZWRpdC1kaWFsb2cge1xuICAgICAgICAuay1kaWFsb2cge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItZWRpdC1mb3JtIHtcblxuICAgICAgICAuay1lZGl0LWZvcm0tY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmstZWRpdC1sYWJlbCB7IHdpZHRoOiAxNyU7IH1cbiAgICAgICAgLmstZWRpdC1maWVsZCB7IHdpZHRoOiA3NyU7IH1cblxuICAgICAgICAuay1lZGl0LWZpZWxkID4gdWwgPiBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAuay1yZWN1cnJlbmNlLWVkaXRvciB7XG4gICAgICAgICAgICAuay1yYWRpby1saXN0IC5rLXJhZGlvLXdyYXAsXG4gICAgICAgICAgICAuay1jaGVja2JveC1saXN0IC5rLWNoZWNrYm94LXdyYXAge1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlY3VyLWludGVydmFsLFxuICAgICAgICAuay1yZWN1ci1jb3VudCxcbiAgICAgICAgLmstcmVjdXItbW9udGhkYXkge1xuICAgICAgICAgICAgd2lkdGg6IDVlbTtcbiAgICAgICAgfVxuICAgICAgICAuay1yZWN1ci11bnRpbCxcbiAgICAgICAgLmstcmVjdXItbW9udGgsXG4gICAgICAgIC5rLXJlY3VyLXdlZWtkYXksXG4gICAgICAgIC5rLXJlY3VyLXdlZWtkYXktb2Zmc2V0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWRhdGV0aW1lLXBpY2tlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgZ2FwOiBrLXNwYWNpbmcoMik7XG4gICAgICAgIH1cblxuICAgIH1cblxuXG5cbiAgICAvLyBTY2hlZHVsZXIgcnRsXG4gICAgLmstcnRsIHtcbiAgICAgICAgLmstc2NoZWR1bGVyLWhlYWRlciB0aCxcbiAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlIHRkIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItdGFibGUge1xuICAgICAgICAgICAgdGQsXG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItdGltZXMgdGgge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlciAuay1zY3JvbGxiYXItdiAuay1zY2hlZHVsZXItaGVhZGVyLXdyYXAge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWV2ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRrZW5kby1wYWRkaW5nLW1kLXg7XG5cbiAgICAgICAgICAgIC5rLXJlc2l6ZS13IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1yZXNpemUtZSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZXZlbnQtYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1ldmVudC1hY3Rpb25zOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRrZW5kby1wYWRkaW5nLXNtLXkgJGtlbmRvLXBhZGRpbmctc20teCAwIC40ZXg7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLXNjaGVkdWxlci1hZ2VuZGF2aWV3IC5rLXRhc2sge1xuXG4gICAgICAgICAgICA+IC5rLWV2ZW50LWRlbGV0ZSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItbWFyayB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItbWFycXVlZSAuay1sYWJlbC10b3Age1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItbWFycXVlZSAuay1sYWJlbC1ib3R0b20ge1xuICAgICAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItZWRpdC1mb3JtIC5rLXNjaGVkdWxlci1kZWxldGUge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLFxuICAgICAgICAmLmstc2NoZWR1bGVyIHtcblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWhlYWRlci13cmFwIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1hZ2VuZGFkYXkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIC4yZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1hZ2VuZGF2aWV3IC5rLXNjaGVkdWxlci10YWJsZSB7XG4gICAgICAgICAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ciArIHRyIHtcbiAgICAgICAgICAgICAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAgICAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2FmYXJpIHtcbiAgICAgICAgLmstc2NoZWR1bGVyLXRvb2x0aXAgLmstdG9vbHRpcC1ldmVudDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudC1nYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXIteWVhcnZpZXcgLmstY2FsZW5kYXItdmlldyAuay1tb250aCB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBrLW1hdGgtZGl2KCAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWNhbGVuZGFyLWdhcCwgMiApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXNjaGVkdWxlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNjaGVkdWxlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zY2hlZHVsZXItLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXNjaGVkdWxlci0tbGF5b3V0LWJhc2UoKTtcblxuXG4gICAgLmstc2NoZWR1bGVyLWZvb3RlciB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICB9XG5cblxuICAgIC8vIFNjaGVkdWxlciBuYXZpZ2F0aW9uXG4gICAgLmstc2NoZWR1bGVyLW5hdmlnYXRpb24ge31cblxuXG4gICAgLy8gVmlldyBzd2l0Y2hlclxuICAgIC5rLXNjaGVkdWxlci12aWV3cyB7fVxuXG5cbiAgICAvLyBWaWV3IGhlYWRlclxuICAgIC5rLXNjaGVkdWxlci1oZWFkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcblxuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRpbWVzIGhlYWRlclxuICAgIC5rLXNjaGVkdWxlci10aW1lcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgaW5oZXJpdCApO1xuICAgIH1cblxuXG4gICAgLy8gQXBwb2ludG1lbnRzXG4gICAga2VuZG8tc2NoZWR1bGVyIC5rLWV2ZW50LFxuICAgIC5rLWV2ZW50IHtcblxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFuZ3VsYXIgZml4IGZvciBzdHJvbmdlciBzZWxlY3RvciBhbmQgc21hbGxlciBwYWRkaW5nXG4gICAgICAgIC5rLWV2ZW50LXRlbXBsYXRlIHtcbiAgICAgICAgICAgICYgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBhZGRpbmctc20teTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBhZGRpbmctc20teDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWV2ZW50LWFjdGlvbnMge1xuICAgICAgICAgICAgcmlnaHQ6ICRrZW5kby1wYWRkaW5nLXNtLXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAkaGFuZGxlLXNpemU6IDJweDtcbiAgICAkaGFuZGxlLWhhbGYtc2l6ZTogay1tYXRoLWRpdiggJGhhbmRsZS1zaXplLCAyICk7XG5cbiAgICAuay1ldmVudCB7XG4gICAgICAgIC5rLWV2ZW50LWRlbGV0ZSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGNhbGMoIHZhciggLS1rZW5kby1mb250LXNpemUsIC44NzVyZW0pIC0gdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgLjc1cmVtKSApO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogJGhhbmRsZS1zaXplO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkaGFuZGxlLWhhbGYtc2l6ZSAkaGFuZGxlLWhhbGYtc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICAuay1yZXNpemUtczo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogJGhhbmRsZS1zaXplO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkaGFuZGxlLWhhbGYtc2l6ZSAkaGFuZGxlLWhhbGYtc2l6ZSAwIDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstcmVzaXplLWU6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogJGhhbmRsZS1zaXplO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAkaGFuZGxlLWhhbGYtc2l6ZSAkaGFuZGxlLWhhbGYtc2l6ZSAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXJlc2l6ZS13OjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6ICRoYW5kbGUtc2l6ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRoYW5kbGUtaGFsZi1zaXplIDAgMCAkaGFuZGxlLWhhbGYtc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLW1vcmUtZXZlbnRzIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1sYXlvdXQtZmxleCAuay1zY2hlZHVsZXItY2VsbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1lbTtcbiAgICB9XG5cbiAgICAvLyBNb250aCB2aWV3XG4gICAgLmstc2NoZWR1bGVyLW1vbnRodmlldyB7XG4gICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB0ZCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5rLXNjaGVkdWxlci1lZGl0LWZvcm0ge1xuXG4gICAgICAgIC5rLWVkaXQtbGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuXG4gICAgICAgICAgICBsYWJlbCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWVkaXQtZmllbGQge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuay1lZGl0LWZpZWxkIC5rLXJlc2V0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5rLWVkaXQtZmllbGQgLmstd2lkZ2V0IHtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIH1cbiAgICAuay1lZGl0LWZpZWxkIC5rLXJlc2V0IC5rLXdpZGdldCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItdGltZXpvbmVzIC5rLWVkaXQtZmllbGQgPiBkaXYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmstc2NoZWR1bGVyLXRpbWV6b25lcyAuay1lZGl0LWZpZWxkIC5rLXdpZGdldCB7XG4gICAgICAgIHdpZHRoOiA0NSU7XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9zY2hlZHVsZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2NoZWR1bGVyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2NoZWR1bGVyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tc2NoZWR1bGVyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gQXBwZWFyYW5jZVxuICAgIC5rLXNjaGVkdWxlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBIZWFkZXIgYW5kIGZvb3RlclxuICAgIC5rLXNjaGVkdWxlci10b29sYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItdG9vbGJhci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci10b29sYmFyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci10b29sYmFyLWJvcmRlcixcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItdG9vbGJhci1ncmFkaWVudFxuICAgICAgICApO1xuICAgIH1cbiAgICAuay1zY2hlZHVsZXItZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItZm9vdGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWZvb3Rlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItZm9vdGVyLWJvcmRlcixcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItZm9vdGVyLWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1iYXNlLWJnO1xuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1oZWFkZXItd3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zY2hlZHVsZXItYmc7XG4gICAgfVxuXG5cbiAgICAvLyBTY2hlZHVsZXIgbmF2aWdhdGlvblxuICAgIC5rLXNjaGVkdWxlci1uYXZpZ2F0aW9uIHt9XG5cblxuICAgIC8vIFZpZXcgc3dpdGNoZXJcbiAgICAuay1zY2hlZHVsZXItdmlld3Mge31cblxuXG4gICAgLy8gU2NoZWR1bGVyIGZvb3RlclxuICAgIC5rLXNjaGVkdWxlci1mb290ZXIge31cblxuXG4gICAgLy8gU2NoZWR1bGVyIGNvbnRlbnRcbiAgICAuay1zY2hlZHVsZXItY29udGVudCB7fVxuICAgIC5rLXNjaGVkdWxlci1ub253b3JrLFxuICAgIC5rLXNjaGVkdWxlciAuay1ub253b3JrLWhvdXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ub253b3JrLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLW5vbndvcmstYmdcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstc2NoZWR1bGVyLW90aGVyLW1vbnRoLFxuICAgIC5rLXNjaGVkdWxlciAuay1vdGhlci1tb250aCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLW90aGVybW9udGgtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItb3RoZXJtb250aC1iZ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1sYXlvdXQgdGQuay1zZWxlY3RlZCxcbiAgICAuay1zY2hlZHVsZXItbGF5b3V0IC5rLXNjaGVkdWxlci1jZWxsLmstc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSgka2VuZG8tc2VsZWN0ZWQtYmcsIC4yNSkpO1xuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1sYXlvdXQtZmxleCB7XG4gICAgICAgIC5rLXNjaGVkdWxlci1oZWFkLFxuICAgICAgICAuay1zdGlja3ktY2VsbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc2NoZWR1bGVyLWJnO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBFdmVudHNcbiAgICAuay1ldmVudCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2hhZG93ICk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItZXZlbnQtaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1zY2hlZHVsZXItZXZlbnQtaG92ZXItc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ldmVudC1zZWxlY3RlZC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXNjaGVkdWxlci1ldmVudC1zZWxlY3RlZC1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1ldmVudC1pbnZlcnNlIHtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgaWYoJGtlbmRvLWVuYWJsZS1mb2N1cy1jb250cmFzdCwgYmxhY2ssIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkpLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGtlbmRvLXNjaGVkdWxlci1ldmVudC10ZXh0ICkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWV2ZW50LW9uZ29pbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXNjaGVkdWxlci1ldmVudC1vbmdvaW5nLXNoYWRvdyApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBEcmFnIGhpbnRcbiAgICAuay1ldmVudC1kcmFnLWhpbnQge31cblxuXG4gICAgLy8gUmVzaXppbmdcbiAgICAuay1zY2hlZHVsZXItbWFycXVlZSB7fVxuICAgIC5rLXNjaGVkdWxlci1tYXJxdWVlOjpiZWZvcmUsXG4gICAgLmstc2NoZWR1bGVyLW1hcnF1ZWU6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tY29sb3ItcHJpbWFyeTtcbiAgICB9XG5cbiAgICAvLyBFZGl0IGRpYWxvZ1xuICAgIC5rLXNjaGVkdWxlci1lZGl0LWRpYWxvZyB7XG4gICAgICAgIC5rLWRpYWxvZy1hY3Rpb25zIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXNjaGVkdWxlci1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy8gRGF5IHZpZXdcbiAgICAuay1zY2hlZHVsZXItZGF5dmlldyB7fVxuXG5cbiAgICAvLyBXb3Jrd2VlayB2aWV3XG4gICAgLmstc2NoZWR1bGVyLXdvcmtXZWVrdmlldyB7fSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG5cblxuICAgIC8vIFdlZWsgdmlld1xuICAgIC5rLXNjaGVkdWxlci13ZWVrdmlldyB7fVxuXG5cbiAgICAvLyBNb250aCB2aWV3XG4gICAgLmstc2NoZWR1bGVyLW1vbnRodmlldyB7fVxuXG5cbiAgICAvLyBBZ2VuZGEgdmlld1xuICAgIC5rLXNjaGVkdWxlci1hZ2VuZGF2aWV3IHtcblxuICAgICAgICAvLyBIb3ZlclxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCB0cjpob3ZlcixcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHIuay1ob3ZlcixcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgLmstc2NoZWR1bGVyLXJvdzpob3ZlcixcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgLmstc2NoZWR1bGVyLXJvdy5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWhvdmVyLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHI6aG92ZXIgLmstc2NoZWR1bGVyLWRhdGVjb2x1bW4sXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHRyOmhvdmVyIC5rLXNjaGVkdWxlci1ncm91cGNvbHVtbixcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHIuay1ob3ZlciAuay1zY2hlZHVsZXItZGF0ZWNvbHVtbixcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHIuay1ob3ZlciAuay1zY2hlZHVsZXItZ3JvdXBjb2x1bW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlbGVjdGVkXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHRyLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBwcmltYXJ5ICkgMjUlLCB0cmFuc3BhcmVudCksIHJnYmEoJGtlbmRvLXNlbGVjdGVkLWJnLCAuMjUpKTtcbiAgICAgICAgfVxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCB0ci5rLXNlbGVjdGVkIC5rLXNjaGVkdWxlci1kYXRlY29sdW1uLFxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCB0ci5rLXNlbGVjdGVkIC5rLXNjaGVkdWxlci1ncm91cGNvbHVtbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc2NoZWR1bGVyLWJnO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lbGluZSB2aWV3XG4gICAgLmstc2NoZWR1bGVyLXRpbWVsaW5ldmlldyB7fVxuXG5cbiAgICAvLyBZZWFyIHZpZXdcbiAgICAuay1zY2hlZHVsZXIteWVhcnZpZXcge1xuXG4gICAgICAgIC5rLWRheS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1iZyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2VsZWN0ZWQgLmstZGF5LWluZGljYXRvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLXNlbGVjdGVkLWJnICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy8gU2NoZWR1bGVyIHRvb2x0aXBcbiAgICAuay10b29sdGlwLmstc2NoZWR1bGVyLXRvb2x0aXAge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtYmcsXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1zaGFkb3cgKTtcblxuICAgICAgICAuay1jYWxsb3V0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWNhbGxvdXQtdGV4dCApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTY2hlZHVsZXIgZWRpdCBmb3JtXG4gICAgLmstc2NoZWR1bGVyLWVkaXQtZm9ybSB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLXNjaGVkdWxlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2NoZWR1bGVyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tc2NoZWR1bGVyLS10aGVtZSgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXNjaGVkdWxlci0tdGhlbWUtYmFzZSgpO1xuXG4gICAgLmstc2NoZWR1bGVyLWxheW91dCB0ZC5rLXNlbGVjdGVkLFxuICAgIC5rLXNjaGVkdWxlci1sYXlvdXQgLmstc2NoZWR1bGVyLWNlbGwuay1zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggc2Vjb25kYXJ5ICkgMjUlLCB0cmFuc3BhcmVudCksIHJnYmEoJGtlbmRvLXNlbGVjdGVkLWJnLCAuMjUpKTtcbiAgICB9XG5cbiAgICAvLyBBZ2VuZGEgdmlld1xuICAgIC5rLXNjaGVkdWxlci1hZ2VuZGF2aWV3IHtcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHIuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHNlY29uZGFyeSApIDI1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCRrZW5kby1zZWxlY3RlZC1iZywgLjI1KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVudHNcbiAgICAuay1ldmVudCB7XG5cbiAgICAgICAgLmstZXZlbnQtYWN0aW9ucyB7XG4gICAgICAgICAgICAuay1saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLXNjaGVkdWxlci1ldmVudC1iZztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtaGFuZGxlOjpiZWZvcmUge1xuICAgICAgICAgICAgLy8gVE9ETzogJGtlbmRvLXNjaGVkdWxlci1jb250ZW50LWFyZWEtYmdcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jb2xvci1wcmltYXJ5LWNvbnRyYXN0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLWVkaXQtZm9ybSB7XG4gICAgICAgIC5rLWVkaXQtbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1mbG9hdGluZy1sYWJlbC10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tc2NoZWR1bGVyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJzY2hlZHVsZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2NoZWR1bGVyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2NoZWR1bGVyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2NoZWR1bGVyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1pc2Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vYWRhcHRpdmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hZGFwdGl2ZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vY2hhdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NoYXQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiY2hhdFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImNhcmRcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jYXJkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2FyZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90b29sYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbGJhci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvY2hhdC9fdmFyaWFibGVzLnNjc3Ncbi8vIENoYXRcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1wYWRkaW5nLXk6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXdpZHRoOiA1MDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1oZWlnaHQ6IDYwMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgQ2hhdC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgc3BhY2luZyBiZXR3ZWVuIHRoZSBpdGVtcyBvZiB0aGUgQ2hhdC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtaXRlbS1zcGFjaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgc3BhY2luZyBiZXR3ZWVuIHRoZSBpdGVtcyBvZiB0aGUgQ2hhdC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtaXRlbS1zcGFjaW5nLXk6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENoYXQgbWVzc2FnZSBsaXN0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy14OiAka2VuZG8tY2hhdC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENoYXQgbWVzc2FnZSBsaXN0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15OiAka2VuZG8tY2hhdC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIENoYXQgbWVzc2FnZSBsaXN0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3Qtc3BhY2luZzogJGtlbmRvLWNoYXQtaXRlbS1zcGFjaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDaGF0IHRpbWVzdGFtcC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtdGltZXN0YW1wLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgQ2hhdCB0aW1lc3RhbXAuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRpbWVzdGFtcC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LWxnLCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCB0cmFuc2Zvcm0gb2YgdGhlIENoYXQgdGltZXN0YW1wLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC10aW1lc3RhbXAtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENoYXQgdGltZXN0YW1wLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC10aW1lc3RhbXAtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBDaGF0IHRpbWVzdGFtcC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtdGltZXN0YW1wLWJnOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgQ2hhdCBtZXNzYWdlIG1ldGEgdGV4dC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtbWVzc2FnZS1tZXRhLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgQ2hhdCBtZXNzYWdlIG1ldGEgdGV4dC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtbWVzc2FnZS1tZXRhLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQtbGcsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgQ2hhdCBhdXRob3IgdGV4dC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYXV0aG9yLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgQ2hhdCBhdXRob3IgdGV4dC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYXV0aG9yLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQtbGcsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2hhdCBidWJibGUgbWVzc2FnZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYnViYmxlLXBhZGRpbmcteDogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBDaGF0IGJ1YmJsZSBtZXNzYWdlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1idWJibGUtcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIENoYXQgYnViYmxlIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1zcGFjaW5nOiBrLXNwYWNpbmcoMC41KSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENoYXQgYnViYmxlIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgQ2hhdCBidWJibGUgbWVzc2FnZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYnViYmxlLWJvcmRlci1yYWRpdXM6IDEycHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIENoYXQgc21hbGwgYnViYmxlIG1lc3NhZ2Vcbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYnViYmxlLWJvcmRlci1yYWRpdXMtc206IDJweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplIG9mIHRoZSBDaGF0IEF2YXRhci5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYXZhdGFyLXNpemU6IDMycHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIENoYXQgQXZhdGFyLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1hdmF0YXItc3BhY2luZzogJGtlbmRvLWNoYXQtaXRlbS1zcGFjaW5nLXggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBDaGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRvb2xiYXItcGFkZGluZy14OiAka2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENoYXQgVG9vbGJhci5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtdG9vbGJhci1wYWRkaW5nLXk6ICRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgQ2hhdCBUb29sYmFyLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC10b29sYmFyLXNwYWNpbmc6ICRrZW5kby10b29sYmFyLW1kLXNwYWNpbmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENoYXQgVG9vbGJhci5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtdG9vbGJhci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgay10cnktc2hhZGUoICRrZW5kby1idXR0b24tYmcsIC41ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDaGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRvb2xiYXItdGV4dDogJGtlbmRvLXRvb2xiYXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDaGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRvb2xiYXItYm9yZGVyOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktcGFkZGluZy14OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBDaGF0IHF1aWNrIHJlcGx5LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1xdWljay1yZXBseS1zcGFjaW5nOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBDaGF0IHF1aWNrIHJlcGx5LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1xdWljay1yZXBseS1saW5lLWhlaWdodDogJGtlbmRvLWNoYXQtYnViYmxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2hhdC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYmc6ICRrZW5kby1hcHAtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENoYXQgYnViYmxlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1idWJibGUtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENoYXQgYnViYmxlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1idWJibGUtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIENoYXQgYnViYmxlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1idWJibGUtYm9yZGVyOiAka2VuZG8tY2hhdC1idWJibGUtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIENoYXQgYnViYmxlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1idWJibGUtc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC0xICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGhvdmVyZWQgQ2hhdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1ob3Zlci1zaGFkb3c6ICRib3gtc2hhZG93LWRlcHRoLTIgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgc2VsZWN0ZWQgQ2hhdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1zZWxlY3RlZC1zaGFkb3c6ICRib3gtc2hhZG93LWRlcHRoLTMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2hhdCBhbHQgYnViYmxlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1hbHQtYnViYmxlLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2hhdCBhbHQgYnViYmxlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1hbHQtYnViYmxlLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1wcmltYXJ5ICksIGstY29udHJhc3QtY29sb3IoICRrZW5kby1jaGF0LWFsdC1idWJibGUtYmcgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQ2hhdCBhbHQgYnViYmxlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1hbHQtYnViYmxlLWJvcmRlcjogJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBDaGF0IGFsdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWFsdC1idWJibGUtc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC0xICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGhvdmVyZWQgQ2hhdCBhbHQgYnViYmxlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1hbHQtYnViYmxlLWhvdmVyLXNoYWRvdzogJGJveC1zaGFkb3ctZGVwdGgtMiAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBzZWxlY3RlZCBDaGF0IGFsdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWFsdC1idWJibGUtc2VsZWN0ZWQtc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC0zICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktYm9yZGVyOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWhvdmVyLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBDaGF0IHF1aWNrIHJlcGx5LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1xdWljay1yZXBseS1ob3Zlci10ZXh0OiAka2VuZG8tY29sb3ItcHJpbWFyeS1jb250cmFzdCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWhvdmVyLWJvcmRlcjogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2hhZG93IGJsdXIgb2YgdGhlIGZvY3VzZWQgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktc2hhZG93LWJsdXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBzcHJlYWQgb2YgdGhlIGZvY3VzZWQgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktc2hhZG93LXNwcmVhZDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9wYWNpdHkgb2YgdGhlIGZvY3VzZWQgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktc2hhZG93LW9wYWNpdHk6IDAgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvY2hhdC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2hhdC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jaGF0L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWNoYXQtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQ2hhdFxuICAgIC5rLWNoYXQge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogJGtlbmRvLWNoYXQtd2lkdGg7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWNoYXQtaGVpZ2h0O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1jaGF0LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1jaGF0LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jaGF0LWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jaGF0LWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cblxuICAgICAgICAvLyBNZXNzYWdlIGxpc3RcbiAgICAgICAgLmstbWVzc2FnZS1saXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICAgICAgfVxuICAgICAgICAuay1tZXNzYWdlLWxpc3QtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICA+ICogKyAqIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3Qtc3BhY2luZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1lc3NhZ2UgZ3JvdXBcbiAgICAgICAgLmstbWVzc2FnZS1ncm91cCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAuay1tZXNzYWdlLWdyb3VwOm5vdCguay1hbHQpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG5cbiAgICAgICAgICAgIC5rLW1lc3NhZ2UtdGltZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJGtlbmRvLWNoYXQtaXRlbS1zcGFjaW5nLXg7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstbWVzc2FnZS1zdGF0dXMge1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlyc3QgLmstY2hhdC1idWJibGUsXG4gICAgICAgICAgICAuay1vbmx5IC5rLWNoYXQtYnViYmxlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAka2VuZG8tY2hhdC1idWJibGUtYm9yZGVyLXJhZGl1cy1zbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLW1pZGRsZSAuay1jaGF0LWJ1YmJsZSxcbiAgICAgICAgICAgIC5rLWxhc3QgLmstY2hhdC1idWJibGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cyggJGtlbmRvLWNoYXQtYnViYmxlLWJvcmRlci1yYWRpdXMtc20gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1tZXNzYWdlLWdyb3VwLmstYWx0IHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuXG4gICAgICAgICAgICAuay1tZXNzYWdlLXRpbWUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAka2VuZG8tY2hhdC1pdGVtLXNwYWNpbmcteDtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstbWVzc2FnZS1zdGF0dXMge1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZpcnN0IC5rLWNoYXQtYnViYmxlLFxuICAgICAgICAgICAgLmstb25seSAuay1jaGF0LWJ1YmJsZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRrZW5kby1jaGF0LWJ1YmJsZS1ib3JkZXItcmFkaXVzLXNtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstbWlkZGxlIC5rLWNoYXQtYnViYmxlLFxuICAgICAgICAgICAgLmstbGFzdCAuay1jaGF0LWJ1YmJsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cyggJGtlbmRvLWNoYXQtYnViYmxlLWJvcmRlci1yYWRpdXMtc20gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gTWVzc2FnZVxuICAgICAgICAuay1tZXNzYWdlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogJGtlbmRvLWNoYXQtYnViYmxlLXNwYWNpbmcgMCAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIE1lc3NhZ2UgbWV0YVxuICAgICAgICAuay1tZXNzYWdlLXRpbWUsXG4gICAgICAgIC5rLW1lc3NhZ2Utc3RhdHVzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNoYXQtbWVzc2FnZS1tZXRhLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2hhdC1tZXNzYWdlLW1ldGEtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgICAgLmstbWVzc2FnZS10aW1lIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgICAgIC5rLW1lc3NhZ2Utc3RhdHVzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1jaGF0LWJ1YmJsZS1zcGFjaW5nO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEJ1YmJsZVxuICAgICAgICAuay1jaGF0LWJ1YmJsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tY2hhdC1idWJibGUtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNoYXQtYnViYmxlLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY2hhdC1idWJibGUtcGFkZGluZy14O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jaGF0LWJ1YmJsZS1saW5lLWhlaWdodDtcbiAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIE1lc3NhZ2Ugc3RhdGVzXG4gICAgICAgIC5rLW1lc3NhZ2Uuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAka2VuZG8tY2hhdC1pdGVtLXNwYWNpbmcteTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgLmstbWVzc2FnZS10aW1lIHsgb3BhY2l0eTogMTsgfVxuICAgICAgICAgICAgLmstbWVzc2FnZS1zdGF0dXMgeyBoZWlnaHQ6IDEuMmVtOyB9XG4gICAgICAgIH1cbiAgICAgICAgLmstbWVzc2FnZS1lcnJvcixcbiAgICAgICAgLmstbWVzc2FnZS1zZW5kaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRrZW5kby1jaGF0LWl0ZW0tc3BhY2luZy15O1xuXG4gICAgICAgICAgICAuay1tZXNzYWdlLXN0YXR1cyB7IGhlaWdodDogMS4yZW07IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEF2YXRhclxuICAgICAgICAuay1hdmF0YXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICBAYXQtcm9vdCAuay1tZXNzYWdlLWdyb3VwOm5vdCguay1hbHQpID4gLmstYXZhdGFyIHtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGF0LXJvb3QgLmstbWVzc2FnZS1ncm91cC5rLWFsdCA+IC5rLWF2YXRhciB7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmstYXZhdGFycyB7XG4gICAgICAgICAgICAuay1tZXNzYWdlLWdyb3VwOm5vdCguay1uby1hdmF0YXIpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyggI3ska2VuZG8tY2hhdC1hdmF0YXItc2l6ZX0gKyAjeyRrZW5kby1jaGF0LWF2YXRhci1zcGFjaW5nfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstbWVzc2FnZS1ncm91cC5rLWFsdDpub3QoLmstbm8tYXZhdGFyKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKCAjeyRrZW5kby1jaGF0LWF2YXRhci1zaXplfSArICN7JGtlbmRvLWNoYXQtYXZhdGFyLXNwYWNpbmd9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBdXRob3JcbiAgICAuay1hdXRob3Ige1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNoYXQtYXV0aG9yLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jaGF0LWF1dGhvci1saW5lLWhlaWdodDtcbiAgICB9XG4gICAgLmstY2hhdCAuay1hdXRob3Ige1xuICAgICAgICBtYXJnaW46IDA7IC8vIER1cGxpY2F0ZSBzdHlsZXMgYmVjYXVzZSBvZiB0eXBvZ3JhcGh5IG1vZHVsZVxuICAgIH1cblxuXG4gICAgLy8gVGltZXN0YW1wXG4gICAgLmstY2hhdCAuay10aW1lc3RhbXAge1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jaGF0LXRpbWVzdGFtcC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2hhdC10aW1lc3RhbXAtbGluZS1oZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAka2VuZG8tY2hhdC10aW1lc3RhbXAtdHJhbnNmb3JtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgfVxuXG5cbiAgICAvLyBRdWljayByZXBseVxuICAgIC5rLXF1aWNrLXJlcGxpZXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBJRSBmaXhcbiAgICB9XG4gICAgLmstcXVpY2stcmVwbHkge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAxMDBweCApO1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktc3BhY2luZztcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogY2FsYyggI3ska2VuZG8tY2hhdC1xdWljay1yZXBseS1zcGFjaW5nfSAvIDIgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWxpbmUtaGVpZ2h0O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIFNjcm9sbGFibGUgcXVpY2sgcmVwbGllc1xuICAgIC5rLXNjcm9sbGFibGUtcXVpY2stcmVwbGllcyB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0ka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15O1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogLSRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcXVpY2stcmVwbHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXF1aWNrLXJlcGx5ICsgLmstcXVpY2stcmVwbHkge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktc3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTWVzc2FnZSBib3hcbiAgICAuay1tZXNzYWdlLWJveCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyxcbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnB1dFxuICAgICAgICAuay1pbnB1dCB7fVxuXG4gICAgICAgIC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstcnRsICYsXG4gICAgICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIENhcmQgbGlzdFxuICAgIC5rLWNoYXQgLmstY2FyZC1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAka2VuZG8tY2hhdC1idWJibGUtc3BhY2luZyAwIDA7XG4gICAgfVxuXG4gICAgLmstbWVzc2FnZS1ncm91cC5rLWFsdCArIC5rLWNhcmQtbGlzdCxcbiAgICAuay1tZXNzYWdlLWdyb3VwLmstYWx0ICsga2VuZG8tY2hhdC1tZXNzYWdlLWF0dGFjaG1lbnRzLmstY2FyZC1saXN0IHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLmstY2hhdCAuay1jYXJkLWRlY2sge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIGNhbGMoICN7JGtlbmRvLWNoYXQtbWVzc2FnZS1saXN0LXBhZGRpbmcteX0gKiAyICkpOyAvLyBwcmV2ZW50IG92ZXJmbG93aW5nIGluIHRoZSBwYXJlbnQgZWxlbWVudFxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKCAjeyRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXl9ICogLTEgKTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoICN7JGtlbmRvLWNoYXQtbWVzc2FnZS1saXN0LXBhZGRpbmcteX0gKiAtMSApO1xuICAgICAgICBwYWRkaW5nOiAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXkgJGtlbmRvLWNoYXQtbWVzc2FnZS1saXN0LXBhZGRpbmcteDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgfVxuICAgIC5rLWNoYXQgLmstY2FyZC1kZWNrIC5rLWNhcmQge1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgfVxuXG4gICAgLmstY2hhdCAuay1jYXJkLWRlY2stc2Nyb2xsd3JhcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyggI3ska2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15fSAqIC0xICk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAjeyRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXl9ICogLTEgKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15O1xuICAgIH1cblxuICAgIC5rLWNoYXQgLmstY2FyZC1kZWNrLXNjcm9sbHdyYXAgPiAuay1jYXJkLWRlY2sge1xuICAgICAgICAvLyBoaWRlIHNjcm9sbGJhciBpbiBjaGF0XG4gICAgICAgICRzY3JvbGxiYXItc2l6ZTogMjBweDtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtJHNjcm9sbGJhci1zaXplO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNjcm9sbGJhci1zaXplO1xuICAgIH1cblxuICAgIC8vIERlY2tcbiAgICAuay1jaGF0IC5rLWNhcmQtZGVjayAuay1jYXJkLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDsgLy8gYWNjb21tb2RhdGUgZm9yIGZvY3VzZWQgYm94IHNoYWRvdyBvbiBPU1hcblxuICAgICAgICAuay1jYXJkIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIExvY2FsIHZhcmlhYmxlc1xuICAgICRrZW5kby1jaGF0LXR5cGluZy1pbmRpY2F0b3ItZG90LXNpemU6IDhweCAhZGVmYXVsdDtcbiAgICAka2VuZG8tY2hhdC10eXBpbmctaW5kaWNhdG9yLWRvdC1zcGFjaW5nOiA1cHggIWRlZmF1bHQ7XG5cbiAgICAvLyBUeXBpbmcgaW5kaWNhdG9yXG4gICAgLmstdHlwaW5nLWluZGljYXRvciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWNoYXQtdHlwaW5nLWluZGljYXRvci1kb3Qtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWNoYXQtdHlwaW5nLWluZGljYXRvci1kb3Qtc2l6ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAka2VuZG8tY2hhdC10eXBpbmctaW5kaWNhdG9yLWRvdC1zaXplO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoI3skaX0pIHtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAxcyBrLWFuaW1hdGlvbi1ibGluayBpbmZpbml0ZSAoJGkgKiAuMzMzM3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzcGFuICsgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGtlbmRvLWNoYXQtdHlwaW5nLWluZGljYXRvci1kb3Qtc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIEBrZXlmcmFtZXMgay1hbmltYXRpb24tYmxpbmsge1xuICAgICAgICAgICAgNTAlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIENoYXQgdG9vbGJhclxuICAgIC5rLWNoYXQtdG9vbGJhcixcbiAgICAuay1jaGF0IC5rLXRvb2xiYXItYm94IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNoYXQtdG9vbGJhci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY2hhdC10b29sYmFyLXBhZGRpbmcteDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBnYXA6ICRrZW5kby10b29sYmFyLW1kLXNwYWNpbmc7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1idXR0b24tbGlzdCB7XG4gICAgICAgICAgICAvLyBOZWVkZWQgZm9yIG5hdGl2ZSBzY3JvbGxpbmcuIFdpbGwgdW5jb21lbnQgd2hlbiBpdCdzIGltcGxlbWVudGVkLlxuICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogLTIwcHg7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgLy8gb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5rLXNjcm9sbC1idXR0b24ge1xuICAgICAgICAgICAgLy8gSU1QT1JUQU5UOiBpZiB3ZSBkb24ndCBzZXQgcGFkZGluZywgdGhlIGJyb3dzZXIgd2lsbCBzZXQgZm9yIHVzXG4gICAgICAgICAgICBwYWRkaW5nOiAwIGstc3BhY2luZygxKTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgIC5rLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1zY3JvbGwtYnV0dG9uLWxlZnQge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAuay1zY3JvbGwtYnV0dG9uLXJpZ2h0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cblxuICAgIH1cbn1cblxuXG5AbWl4aW4ga2VuZG8tY2hhdC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNoYXQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY2hhdC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNoYXQtLWxheW91dC1iYXNlKCk7XG5cbiAgICAuay1jaGF0IHtcbiAgICAgICAgLmstcXVpY2stcmVwbHkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIGluaGVyaXQgKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtJGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgICAgICB0b3A6IC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgICAgICBib3R0b206IC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGb2N1c2VkIHN0YXRlXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tZmxhdC1idXR0b24tZm9jdXMtb3BhY2l0eTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9jaGF0L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoYXQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jaGF0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tY2hhdC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIENoYXRcbiAgICAuay1jaGF0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jaGF0LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tY2hhdC1iZyxcbiAgICAgICAgICAgICRrZW5kby1jaGF0LWJvcmRlclxuICAgICAgICApO1xuXG5cbiAgICAgICAgLy8gTWVzc2FnZSBtZXRhXG4gICAgICAgIC5rLXRpbWVzdGFtcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jaGF0LXRpbWVzdGFtcC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jaGF0LXRpbWVzdGFtcC1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1hdXRob3Ige1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEJ1YmJsZXNcbiAgICAgICAgLmstY2hhdC1idWJibGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tY2hhdC1idWJibGUtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2hhdC1idWJibGUtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNoYXQtYnViYmxlLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1jaGF0LWJ1YmJsZS1zaGFkb3cgKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRrZW5kby10cmFuc2l0aW9uO1xuICAgICAgICAgICAgb3JkZXI6IC0xO1xuXG4gICAgICAgICAgICBhIHsgY29sb3I6ICRrZW5kby1saW5rLXRleHQ7IH1cbiAgICAgICAgICAgIGE6aG92ZXIgeyBjb2xvcjogJGtlbmRvLWxpbmstaG92ZXItdGV4dDsgfVxuICAgICAgICB9XG4gICAgICAgIC5rLWNoYXQtYnViYmxlOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1jaGF0LWJ1YmJsZS1ob3Zlci1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1zZWxlY3RlZCAuay1jaGF0LWJ1YmJsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tY2hhdC1idWJibGUtc2VsZWN0ZWQtc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hbHQgLmstY2hhdC1idWJibGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tY2hhdC1hbHQtYnViYmxlLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2hhdC1hbHQtYnViYmxlLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1jaGF0LWFsdC1idWJibGUtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstYWx0IC5rLWNoYXQtYnViYmxlOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1jaGF0LWFsdC1idWJibGUtaG92ZXItc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstYWx0IC5rLXNlbGVjdGVkIC5rLWNoYXQtYnViYmxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1jaGF0LWFsdC1idWJibGUtc2VsZWN0ZWQtc2hhZG93ICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFF1aWNrIHJlcGxpZXNcbiAgICAgICAgLmstcXVpY2stcmVwbHkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tY2hhdC1xdWljay1yZXBseS10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWJvcmRlclxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWhvdmVyLWJvcmRlclxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggMCAwICRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LXNoYWRvdy1ibHVyICRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LXNoYWRvdy1zcHJlYWQgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCAncHJpbWFyeScgKSAoICRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LXNoYWRvdy1vcGFjaXR5ICogMTAwJSApLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1jb2xvci1wcmltYXJ5LCAka2VuZG8tY2hhdC1xdWljay1yZXBseS1zaGFkb3ctb3BhY2l0eSApKSwgdHJ1ZSwgdHJ1ZSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUb29sYmFyXG4gICAgLmstY2hhdC10b29sYmFyLFxuICAgIC5rLWNoYXQgLmstdG9vbGJhci1ib3gge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNoYXQtdG9vbGJhci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWNoYXQtdG9vbGJhci1iZyxcbiAgICAgICAgICAgICRrZW5kby1jaGF0LXRvb2xiYXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNoYXQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNoYXQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jaGF0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jaGF0LS10aGVtZS1iYXNlKCk7XG5cbiAgICAuay1jaGF0IC5rLXF1aWNrLXJlcGx5IHtcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1vbi1zdXJmYWNlICksICRrZW5kby1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1jaGF0LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJjaGF0XCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNoYXQtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jaGF0LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hhdC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vbWVkaWFwbGF5ZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZWRpYXBsYXllci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJtZWRpYS1wbGF5ZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwic2xpZGVyXCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9zbGlkZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zbGlkZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90b29sYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbGJhci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL21lZGlhcGxheWVyL192YXJpYWJsZXMuc2Nzc1xuLy8gTWVkaWEgcGxheWVyXG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBNZWRpYVBsYXllci5cbi8vLyBAZ3JvdXAgbWVkaWFwbGF5ZXJcbiRrZW5kby1tZWRpYS1wbGF5ZXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBNZWRpYVBsYXllci5cbi8vLyBAZ3JvdXAgbWVkaWFwbGF5ZXJcbiRrZW5kby1tZWRpYS1wbGF5ZXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIE1lZGlhUGxheWVyLlxuLy8vIEBncm91cCBtZWRpYXBsYXllclxuJGtlbmRvLW1lZGlhLXBsYXllci1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIE1lZGlhUGxheWVyLlxuLy8vIEBncm91cCBtZWRpYXBsYXllclxuJGtlbmRvLW1lZGlhLXBsYXllci1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBNZWRpYVBsYXllci5cbi8vLyBAZ3JvdXAgbWVkaWFwbGF5ZXJcbiRrZW5kby1tZWRpYS1wbGF5ZXItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIE1lZGlhUGxheWVyLlxuLy8vIEBncm91cCBtZWRpYXBsYXllclxuJGtlbmRvLW1lZGlhLXBsYXllci10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgTWVkaWFQbGF5ZXIuXG4vLy8gQGdyb3VwIG1lZGlhcGxheWVyXG4ka2VuZG8tbWVkaWEtcGxheWVyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBNZWRpYVBsYXllciB0aXRsZS5cbi8vLyBAZ3JvdXAgbWVkaWFwbGF5ZXJcbiRrZW5kby1tZWRpYS1wbGF5ZXItdGl0bGViYXItcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIE1lZGlhUGxheWVyIHRpdGxlLlxuLy8vIEBncm91cCBtZWRpYXBsYXllclxuJGtlbmRvLW1lZGlhLXBsYXllci10aXRsZWJhci1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgTWVkaWFQbGF5ZXIgdGl0bGUuXG4vLy8gQGdyb3VwIG1lZGlhcGxheWVyXG4ka2VuZG8tbWVkaWEtcGxheWVyLXRpdGxlYmFyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBNZWRpYVBsYXllciB0aXRsZS5cbi8vLyBAZ3JvdXAgbWVkaWFwbGF5ZXJcbiRrZW5kby1tZWRpYS1wbGF5ZXItdGl0bGViYXItdGV4dDogJGtlbmRvLW1lZGlhLXBsYXllci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBNZWRpYVBsYXllciB0aXRsZS5cbi8vLyBAZ3JvdXAgbWVkaWFwbGF5ZXJcbiRrZW5kby1tZWRpYS1wbGF5ZXItdGl0bGViYXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgTWVkaWFQbGF5ZXIgdGl0bGUuXG4vLy8gQGdyb3VwIG1lZGlhcGxheWVyXG4ka2VuZG8tbWVkaWEtcGxheWVyLXRpdGxlYmFyLWdyYWRpZW50OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA3MCUsIHRyYW5zcGFyZW50KSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMCUsIHRyYW5zcGFyZW50KSApLCAoIHJnYmEoICRrZW5kby1tZWRpYS1wbGF5ZXItdGV4dCwgLjcgKSwgcmdiYSggJGtlbmRvLW1lZGlhLXBsYXllci10ZXh0LCAwICkgKSkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvbWVkaWFwbGF5ZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lZGlhcGxheWVyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lZGlhcGxheWVyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLW1lZGlhLXBsYXllci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBCYXNlXG4gICAgLmstbWVkaWFwbGF5ZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1tZWRpYS1wbGF5ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLW1lZGlhLXBsYXllci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbWVkaWEtcGxheWVyLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1tZWRpYS1wbGF5ZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICA+IGlmcmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRpdGxlIGJhclxuICAgIC5rLW1lZGlhcGxheWVyLXRpdGxlYmFyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW1lZGlhLXBsYXllci10aXRsZWJhci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbWVkaWEtcGxheWVyLXRpdGxlYmFyLXBhZGRpbmcteDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuXG4gICAgLy8gVG9vbGJhclxuICAgIC5rLW1lZGlhcGxheWVyLXRvb2xiYXItd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG4gICAgLmstbWVkaWFwbGF5ZXItdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuXG4gICAgICAgIC5rLWRyb3Bkb3duLWxpc3Qge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbWVkaWFwbGF5ZXItdGltZS13cmFwIHtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG4gICAgLmstbWVkaWFwbGF5ZXItdm9sdW1lLXdyYXAge1xuICAgICAgICAvLyBUT0RPOiBXaGVuIHNsaWRlciBkcmFnaGFuZGxlIHNpemUgaXMgZXhwb3NlZCwgdXNlIGl0IGluc3RlYWRcbiAgICAgICAgcGFkZGluZzogMCBrLW1hdGgtZGl2KCAxNHB4LCAyICk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIC5rLW1lZGlhcGxheWVyLXZvbHVtZSB7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICB9XG5cblxuICAgIC8vIFNlZWtiYXJcbiAgICAuay1zbGlkZXIuay1tZWRpYXBsYXllci1zZWVrYmFyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC01MCUgKTtcbiAgICB9XG4gICAgLmstbWVkaWFwbGF5ZXItc2Vla2JhciAuay1zbGlkZXItdHJhY2sge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAuay1tZWRpYXBsYXllci1zZWVrYmFyIC5rLXNsaWRlci1zZWxlY3Rpb24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC5rLW1lZGlhcGxheWVyLWZ1bGxzY3JlZW4ge1xuICAgICAgICB6LWluZGV4OiAxMDAwMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1tZWRpYS1wbGF5ZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZWRpYS1wbGF5ZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbWVkaWEtcGxheWVyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVkaWEtcGxheWVyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvbWVkaWFwbGF5ZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWVkaWFwbGF5ZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tZWRpYXBsYXllci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLW1lZGlhLXBsYXllci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFRoZW1lXG4gICAgLmstbWVkaWFwbGF5ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLW1lZGlhLXBsYXllci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLW1lZGlhLXBsYXllci1iZyxcbiAgICAgICAgICAgICRrZW5kby1tZWRpYS1wbGF5ZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBUaXRsZSBiYXJcbiAgICAuay1tZWRpYXBsYXllci10aXRsZWJhciB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tbWVkaWEtcGxheWVyLXRpdGxlYmFyLXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCggJGtlbmRvLW1lZGlhLXBsYXllci10aXRsZWJhci1ncmFkaWVudCApO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDJweCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNTAlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1tZWRpYS1wbGF5ZXItdGV4dCwgLjUgKSk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLW1lZGlhLXBsYXllci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVkaWEtcGxheWVyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbWVkaWEtcGxheWVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZWRpYS1wbGF5ZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1tZWRpYS1wbGF5ZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcIm1lZGlhLXBsYXllclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1tZWRpYS1wbGF5ZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1tZWRpYS1wbGF5ZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZWRpYS1wbGF5ZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3RpbWVsaW5lL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdGltZWxpbmUvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwidGltZWxpbmVcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjYXJkXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jYXJkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2FyZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3RpbWVsaW5lL192YXJpYWJsZXMuc2Nzc1xuLy8gVGltZWxpbmVcblxuLy8vIFRoZSBob3Jpem9udGFsIHNwYWNpbmcgb2YgdGhlIFRpbWVsaW5lLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXNwYWNpbmcteDogay1zcGFjaW5nKDEwKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgc3BhY2luZyBvZiB0aGUgVGltZWxpbmUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtc3BhY2luZy15OiBrLXNwYWNpbmcoMTApICFkZWZhdWx0O1xuLy8vIFRoZSBwYWRkaW5nIGJldHdlZW4gdGhlIFRpbWVsaW5lJ3MgdHJhY2sgaXRlbXMuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZzogJGtlbmRvLXBhZGRpbmctbWQteCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgVGltZWxpbmUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFRpbWVsaW5lLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVGltZWxpbmUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBzcGFjaW5nIG9mIHRoZSBtb2JpbGUgVGltZWxpbmUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtbW9iaWxlLXNwYWNpbmcteDogJGtlbmRvLXBhZGRpbmctbWQteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgc3BhY2luZyBvZiB0aGUgbW9iaWxlIFRpbWVsaW5lLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLW1vYmlsZS1zcGFjaW5nLXk6ICRrZW5kby1wYWRkaW5nLW1kLXggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIFRpbWVsaW5lIHRyYWNrIGFycm93LlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LXdpZHRoOiAzNnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFRpbWVsaW5lIHRyYWNrIGFycm93LlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LWhlaWdodDogMzZweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBUaW1lbGluZSB0cmFjayBhcnJvdy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy1kaXNhYmxlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDklLCB0cmFuc3BhcmVudCksIGstdHJ1ZS1taXgoIzAwMDAwMCwgJGtlbmRvLWJvZHktYmcsIDglKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIFRpbWVsaW5lIHRyYWNrIGFycm93LlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LWRpc2FibGVkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAzMiUsIHRyYW5zcGFyZW50KSwgay10cnVlLW1peCgka2VuZG8tYnV0dG9uLXRleHQsICRrZW5kby1ib2R5LWJnLCA2NSUpKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBUaW1lbGluZSB0cmFjayBhcnJvdy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy1kaXNhYmxlZC1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCB0cmFuc3BhcmVudCwgay10cnVlLW1peCgka2VuZG8tYnV0dG9uLWJvcmRlciwgJGtlbmRvLWJvZHktYmcsIDY1JSkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIFRpbWVsaW5lIHRyYWNrLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXRyYWNrLXNpemU6IDZweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm90dG9tIHBhZGRpbmcgb2YgdGhlIFRpbWVsaW5lJ3MgdHJhY2sgd3JhcHBlci5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS10cmFjay13cmFwLXBhZGRpbmctYm90dG9tOiBrLW1hdGgtZGl2KCAka2VuZG8tdGltZWxpbmUtdHJhY2stc2l6ZSwgMiApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFRpbWVsaW5lIHRyYWNrLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBUaW1lbGluZSB0cmFjay5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS10cmFjay1tYXJnaW4tYm90dG9tOiBrLXNwYWNpbmcoNC41KSAhZGVmYXVsdDtcbi8vLyBUaGUgYm90dG9tIG9mZnNldCBvZiB0aGUgVGltZWxpbmUgdHJhY2suXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtdHJhY2stYm90dG9tLWNhbGM6IGNhbGMoI3trLW1hdGgtZGl2KCAka2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctaGVpZ2h0LCAyICl9ICsgI3ska2VuZG8tdGltZWxpbmUtdHJhY2std3JhcC1wYWRkaW5nLWJvdHRvbX0pICFkZWZhdWx0O1xuLy8vIFRoZSBsZWZ0IG9mZnNldCBvZiB0aGUgVGltZWxpbmUgdHJhY2suXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtdHJhY2stc3RhcnQtY2FsYzogY2FsYygjeyRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy13aWR0aH0gLSAyICogI3ska2VuZG8tdGltZWxpbmUtdHJhY2stYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHJpZ2h0IG9mZnNldCBvZiB0aGUgVGltZWxpbmUgdHJhY2suXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtdHJhY2stZW5kLWNhbGM6IGNhbGMoI3ska2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctd2lkdGh9IC0gMiAqICN7JGtlbmRvLXRpbWVsaW5lLXRyYWNrLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBUaW1lbGluZSB0cmFjay5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS10cmFjay1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlICksICNlMGUwZTApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFRpbWVsaW5lIHRyYWNrLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWJvcmRlci1jb2xvcjogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWJnICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgVGltZWxpbmUncyBmb2N1c2VkIHRyYWNrIGl0ZW1zLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWl0ZW0tZm9jdXMtc2hhZG93OiAkYm94LXNoYWRvdy1kZXB0aC0yICFkZWZhdWx0O1xuXG4vLy8gVGhlIG9mZnNldCBvZiB0aGUgVGltZWxpbmUgdHJhY2sgZXZlbnQuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtdHJhY2stZXZlbnQtb2Zmc2V0OiAzNnB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGltZWxpbmUgZmxhZy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1mbGFnLXBhZGRpbmcteDogJGtlbmRvLWJ1dHRvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFRpbWVsaW5lIGZsYWcuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtZmxhZy1wYWRkaW5nLXk6ICRrZW5kby1idXR0b24tcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVGltZWxpbmUgZmxhZy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1mbGFnLWxpbmUtaGVpZ2h0OiAka2VuZG8tYnV0dG9uLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBtaW5pbXVtIHdpZHRoIG9mIHRoZSBUaW1lbGluZSBmbGFnLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWZsYWctbWluLXdpZHRoOiA4MHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBUaW1lbGluZSBmbGFnLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWZsYWctbWF4LXdpZHRoOiBjYWxjKCN7JGtlbmRvLXRpbWVsaW5lLWZsYWctbWluLXdpZHRofSArIDIgKiAjeyRrZW5kby10aW1lbGluZS1zcGFjaW5nLXh9KSAhZGVmYXVsdDtcbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgbW9iaWxlIFRpbWVsaW5lIGZsYWcuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtbW9iaWxlLWZsYWctbWF4LXdpZHRoOiBjYWxjKCN7JGtlbmRvLXRpbWVsaW5lLWZsYWctbWluLXdpZHRofSArIDIgKiAjeyRrZW5kby10aW1lbGluZS1tb2JpbGUtc3BhY2luZy14fSkgIWRlZmF1bHQ7XG4vLy8gVGhlIG1pbmltdW0gd2lkdGggb2YgdGhlIGhvcml6b250YWwgVGltZWxpbmUgZmxhZy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1ob3Jpem9udGFsLWZsYWctbWluLXdpZHRoOiA2MHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBUaW1lbGluZSBmbGFnLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWZsYWctYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBUaW1lbGluZSBmbGFnLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWZsYWctdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLXByaW1hcnkgKSwgay1jb250cmFzdC1jb2xvciggJGtlbmRvLXRpbWVsaW5lLWZsYWctYmcgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIFRpbWVsaW5lJ3MgZmxhZyBjYWxsb3V0LlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWZsYWctY2FsbG91dC13aWR0aDogMTBweCAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBUaW1lbGluZSdzIGZsYWcgY2FsbG91dC5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1mbGFnLWNhbGxvdXQtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvdHRvbSBvZmZzZXQgb2YgdGhlIFRpbWVsaW5lIGZsYWcuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtZmxhZy1vZmZzZXQtYm90dG9tOiA0cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIFRpbWVsaW5lIGZsYWcuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtZmxhZy1tYXJnaW4tYm90dG9tLWNhbGM6IGNhbGMoI3ska2VuZG8tdGltZWxpbmUtdHJhY2stc2l6ZX0gKyAyICogI3ska2VuZG8tdGltZWxpbmUtdHJhY2stYm9yZGVyLXdpZHRofSArICN7JGtlbmRvLXRpbWVsaW5lLWZsYWctb2Zmc2V0LWJvdHRvbX0gKyAjeyRrZW5kby10aW1lbGluZS1mbGFnLWNhbGxvdXQtaGVpZ2h0fSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIFRpbWVsaW5lIGRhdGUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtZGF0ZS13aWR0aDogNTBweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgVGltZWxpbmUgZGF0ZS5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1kYXRlLW1hcmdpbi1ib3R0b206IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBwYWRkaW5nIG9mIHRoZSB2ZXJ0aWNhbCBUaW1lbGluZS5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS12ZXJ0aWNhbC1wYWRkaW5nLWNhbGM6IGNhbGMoI3ska2VuZG8tdGltZWxpbmUtc3BhY2luZy14fSArICgjeyRrZW5kby10aW1lbGluZS1mbGFnLW1pbi13aWR0aH0gLSAjeyRrZW5kby10aW1lbGluZS10cmFjay1zaXplfSkgLyAyKSAhZGVmYXVsdDtcbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgdmVydGljYWwgVGltZWxpbmUgZGF0ZS5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS12ZXJ0aWNhbC1wYWRkaW5nLXdpdGgtZGF0ZXMtY2FsYzogY2FsYygjeyRrZW5kby10aW1lbGluZS12ZXJ0aWNhbC1wYWRkaW5nLWNhbGN9ICsgI3ska2VuZG8tdGltZWxpbmUtZGF0ZS13aWR0aH0pICFkZWZhdWx0O1xuLy8vIFRoZSBwYWRkaW5nIG9mIHRoZSB2ZXJ0aWNhbCBtb2JpbGUgVGltZWxpbmUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtbW9iaWxlLXZlcnRpY2FsLXBhZGRpbmctY2FsYzogY2FsYygjeyRrZW5kby10aW1lbGluZS1tb2JpbGUtc3BhY2luZy14fSArICgjeyRrZW5kby10aW1lbGluZS1mbGFnLW1pbi13aWR0aH0gLSAjeyRrZW5kby10aW1lbGluZS10cmFjay1zaXplfSkgLyAyKSAhZGVmYXVsdDtcbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgdmVydGljYWwgbW9iaWxlIFRpbWVsaW5lIGRhdGUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtbW9iaWxlLXZlcnRpY2FsLXBhZGRpbmctd2l0aC1kYXRlcy1jYWxjOiBjYWxjKCN7JGtlbmRvLXRpbWVsaW5lLW1vYmlsZS12ZXJ0aWNhbC1wYWRkaW5nLWNhbGN9ICsgI3ska2VuZG8tdGltZWxpbmUtZGF0ZS13aWR0aH0pICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBUaW1lbGluZSBjaXJjbGUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtY2lyY2xlLXdpZHRoOiAxNnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFRpbWVsaW5lIGNpcmNsZS5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1jaXJjbGUtaGVpZ2h0OiAxNnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBUaW1lbGluZSBjaXJjbGUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtY2lyY2xlLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRpbWVsaW5lIGNvbGxhcHNlIGFycm93LlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWNvbGxhcHNlLWFycm93LXBhZGRpbmcteDogJGtlbmRvLXBhZGRpbmctc20teCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgVGltZWxpbmUgZXZlbnQuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtZXZlbnQtd2lkdGg6IDQwMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFRpbWVsaW5lIGV2ZW50LlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWV2ZW50LWhlaWdodDogNjAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIG1pbmltdW0gaGVpZ2h0IG9mIHRoZSBUaW1lbGluZSBldmVudC5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1ldmVudC1taW4taGVpZ2h0LWNhbGM6IGNhbGMoMiAqICgjeyRrZW5kby10aW1lbGluZS10cmFjay1ldmVudC1vZmZzZXR9IC0gI3ska2VuZG8tY2FyZC1ib3JkZXItd2lkdGh9KSkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvdGltZWxpbmUvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVsaW5lL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVsaW5lL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXRpbWVsaW5lLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLXRpbWVsaW5lIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby10aW1lbGluZS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdGltZWxpbmUtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXRpbWVsaW5lLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyLFxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtZmxhZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGltZWxpbmUtZmxhZy1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRpbWVsaW5lLWZsYWctcGFkZGluZy14O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdGltZWxpbmUtZmxhZy1saW5lLWhlaWdodDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogJGtlbmRvLXRpbWVsaW5lLWZsYWctbWluLXdpZHRoO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAka2VuZG8tdGltZWxpbmUtZmxhZy1tYXgtd2lkdGg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtY2lyY2xlIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tdGltZWxpbmUtY2lyY2xlLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tdGltZWxpbmUtY2lyY2xlLWhlaWdodDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay10aW1lbGluZS1kYXRlcy1oaWRkZW4ge1xuICAgICAgICAgICAgLmstdGltZWxpbmUtZGF0ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay10aW1lbGluZS1jb2xsYXBzaWJsZSB7XG4gICAgICAgICAgICAuay1jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1ldmVudC1jb2xsYXBzZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRpbWVsaW5lLWNhcmQge1xuICAgICAgICAuay1jYXJkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICAuay1jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstY2FyZC1oZWFkZXIgKyAuay1jYXJkLWJvZHkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1jYXJkLWJvZHkge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAvLyBTY3JvbGxiYXIgc3R5bGVzIGZvciBNb3ppbGxhXG4gICAgICAgICAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuXG4gICAgICAgICAgICAgICAgLy8gU2Nyb2xsYmFyIHN0eWxlcyBmb3IgQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1jYXJkLWNhbGxvdXQge1xuICAgICAgICAgICAgJi5rLWNhbGxvdXQtdyxcbiAgICAgICAgICAgICYuay1jYWxsb3V0LWUge1xuICAgICAgICAgICAgICAgIHRvcDogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWV2ZW50LW9mZnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRpbWVsaW5lLXZlcnRpY2FsLFxuICAgIC5rLXRpbWVsaW5lLWhvcml6b250YWwge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRpbWVsaW5lLXNwYWNpbmcteDtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAka2VuZG8tdGltZWxpbmUtc3BhY2luZy15O1xuICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtdmVydGljYWwsXG4gICAgLmstdGltZWxpbmUtaG9yaXpvbnRhbCAuay10aW1lbGluZS10cmFjay13cmFwIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10aW1lbGluZS12ZXJ0aWNhbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGtlbmRvLXRpbWVsaW5lLXZlcnRpY2FsLXBhZGRpbmctd2l0aC1kYXRlcy1jYWxjO1xuXG4gICAgICAgICYuay10aW1lbGluZS1kYXRlcy1oaWRkZW4ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAka2VuZG8tdGltZWxpbmUtdmVydGljYWwtcGFkZGluZy1jYWxjO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby10aW1lbGluZS10cmFjay1zaXplO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKGxnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWZsYWctd3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRrZW5kby10aW1lbGluZS1zcGFjaW5nLXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1mbGFnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWRhdGUtd3JhcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAka2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby10aW1lbGluZS10cmFjay1ldmVudC1vZmZzZXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTUwJSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1ldmVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGltZWxpbmUtc3BhY2luZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1jYXJkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGtlbmRvLXRpbWVsaW5lLWl0ZW1zLXBhZGRpbmc7XG5cbiAgICAgICAgICAgIC5rLWNhcmQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAka2VuZG8tdGltZWxpbmUtZXZlbnQtbWluLWhlaWdodC1jYWxjO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tdGltZWxpbmUtZXZlbnQtd2lkdGg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgLmstY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tY2FyZC1ib3JkZXItcmFkaXVzOyAvLyBJbiB2ZXJ0aWNhbCBjb2xsYXBzZWQgbW9kZSB0aGVyZSBzaG9sZCBiZSBhIGJvdHRvbSBib3JkZXIgcmFkaXVzXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstY2FyZC10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgICAgICAuay1ldmVudC10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWV2ZW50LWNvbGxhcHNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IGNhbGMoICN7JGtlbmRvLWljb24tc3BhY2luZ30gKiAtMSApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1jb2xsYXBzZWQge1xuICAgICAgICAgICAgICAgIC5rLWNhcmQtYm9keSxcbiAgICAgICAgICAgICAgICAuay1jYXJkLWFjdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLWV2ZW50LWNvbGxhcHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1jaXJjbGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWV2ZW50LW9mZnNldDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtIGstbWF0aC1kaXYoICRrZW5kby10aW1lbGluZS1jaXJjbGUtd2lkdGgsIDIgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay10aW1lbGluZS1hbHRlcm5hdGluZyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRrZW5kby10aW1lbGluZS1zcGFjaW5nLXg7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWZsYWctd3JhcCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWZsYWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGltZWxpbmUtZXZlbnQge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgICYuay1yZXZlcnNlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgICAgICAgICAgICAgIC5rLXRpbWVsaW5lLWRhdGUtd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRrZW5kby10aW1lbGluZS1pdGVtcy1wYWRkaW5nO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmstdGltZWxpbmUtY2FyZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAka2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgLmstY2FyZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGltZWxpbmUtY2FyZCxcbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWRhdGUtd3JhcCB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGltZWxpbmUtZGF0ZS13cmFwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGltZWxpbmUtY2lyY2xlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtaG9yaXpvbnRhbCB7XG5cbiAgICAgICAgLmstdGltZWxpbmUtdHJhY2staXRlbSB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgMjAlOyAvLyAyMCUgYXJlIGRlZmF1bHQsIHRoaXMgd2lsbCBiZSBjYWxjdWxhdGVkIHdoZW4gcmVuZGVyZWRcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstdGltZWxpbmUtZmxhZy13cmFwOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1kYXRlLXdyYXAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRrZW5kby10aW1lbGluZS1kYXRlLW1hcmdpbi1ib3R0b207XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1jYXJkIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhcmQge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWV2ZW50cy1saXN0IHtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAka2VuZG8tdGltZWxpbmUtdHJhY2stbWFyZ2luLWJvdHRvbTtcblxuICAgICAgICAgICAgLmstdGltZWxpbmUtc2Nyb2xsYWJsZS13cmFwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tdGltZWxpbmUtZXZlbnQtaGVpZ2h0O1xuXG4gICAgICAgICAgICAgICAgLmstdGltZWxpbmUtZXZlbnQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS10cmFjay13cmFwIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGstbWF0aC1kaXYoICRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy1oZWlnaHQsIDIgKSAwO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWJvdHRvbS1jYWxjO1xuICAgICAgICAgICAgICAgIGxlZnQ6ICRrZW5kby10aW1lbGluZS10cmFjay1zdGFydC1jYWxjO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAka2VuZG8tdGltZWxpbmUtdHJhY2stZW5kLWNhbGM7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLXNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLXRyYWNrIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiAka2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctd2lkdGg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgICAgICAuay10aW1lbGluZS1zY3JvbGxhYmxlLXdyYXAge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10aW1lbGluZS1mbGFnIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAka2VuZG8tdGltZWxpbmUtZmxhZy1tYXJnaW4tYm90dG9tLWNhbGM7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogJGtlbmRvLXRpbWVsaW5lLWhvcml6b250YWwtZmxhZy1taW4td2lkdGg7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tdGltZWxpbmUtZmxhZy1jYWxsb3V0LXdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby10aW1lbGluZS1mbGFnLWNhbGxvdXQtaGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtc2Nyb2xsYWJsZS13cmFwIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAka2VuZG8tdGltZWxpbmUtdHJhY2std3JhcC1wYWRkaW5nLWJvdHRvbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtYXJyb3cge1xuICAgICAgICB3aWR0aDogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IGNhbGMoI3ska2VuZG8tdGltZWxpbmUtdHJhY2stc2l6ZX0gKyAjeyRrZW5kby10aW1lbGluZS10cmFjay13cmFwLXBhZGRpbmctYm90dG9tfSArIDIgKiAjeyRrZW5kby10aW1lbGluZS10cmFjay1ib3JkZXItd2lkdGh9KTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtYXJyb3ctbGVmdCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtYXJyb3ctcmlnaHQge1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAuay10aW1lbGluZS1tb2JpbGUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRpbWVsaW5lLW1vYmlsZS1zcGFjaW5nLXg7XG4gICAgICAgIG1hcmdpbi1ibG9jazogJGtlbmRvLXRpbWVsaW5lLW1vYmlsZS1zcGFjaW5nLXk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG5cbiAgICAgICAgLmstdGltZWxpbmUtZmxhZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRrZW5kby10aW1lbGluZS1tb2JpbGUtZmxhZy1tYXgtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGltZWxpbmUtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAuay10aW1lbGluZS1mbGFnLXdyYXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGltZWxpbmUtdmVydGljYWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAka2VuZG8tdGltZWxpbmUtbW9iaWxlLXZlcnRpY2FsLXBhZGRpbmctd2l0aC1kYXRlcy1jYWxjO1xuXG4gICAgICAgICAgICAmLmstdGltZWxpbmUtZGF0ZXMtaGlkZGVuIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRrZW5kby10aW1lbGluZS1tb2JpbGUtdmVydGljYWwtcGFkZGluZy1jYWxjO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstdGltZWxpbmUtYWx0ZXJuYXRpbmcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGtlbmRvLXRpbWVsaW5lLW1vYmlsZS1zcGFjaW5nLXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWNhcmQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG5cbiAgICAgICAgICAgICAgICAuay1jYXJkIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRpbWVsaW5lLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZWxpbmUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdGltZWxpbmUtLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWVsaW5lLS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLmstdGltZWxpbmUtaG9yaXpvbnRhbCAuay10aW1lbGluZS1jYXJkIHtcbiAgICAgICAgcGFkZGluZzogMCA1cHggNXB4O1xuICAgIH1cblxuICAgIC5rLXRpbWVsaW5lLWNhcmQgLmstdGltZWxpbmUtY2FyZC1jYWxsb3V0LmstY2FsbG91dC1zIHtcbiAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtdHJhY2staXRlbTpob3ZlciAuay10aW1lbGluZS1jaXJjbGU6OmJlZm9yZSxcbiAgICAuay10aW1lbGluZS10cmFjay1pdGVtLmstaG92ZXIgLmstdGltZWxpbmUtY2lyY2xlOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8tZmxhdC1idXR0b24taG92ZXItb3BhY2l0eTtcbiAgICB9XG5cbiAgICAuay10aW1lbGluZS10cmFjay1pdGVtLmstZm9jdXMgLmstdGltZWxpbmUtY2lyY2xlOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8tZmxhdC1idXR0b24tZm9jdXMtb3BhY2l0eTtcbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3RpbWVsaW5lL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVsaW5lL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGltZWxpbmUvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby10aW1lbGluZS0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLXRpbWVsaW5lIHtcbiAgICAgICAgLmstdGltZWxpbmUtZmxhZyB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLXRpbWVsaW5lLWZsYWctdGV4dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10aW1lbGluZS1mbGFnLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtY2lyY2xlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10aW1lbGluZS1jaXJjbGUtYmc7XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1jYXJkIHtcbiAgICAgICAgICAgIC5rLWNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tY2FyZC1iZztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWNhcmQtdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstY2FyZC1ib2R5IHtcblxuICAgICAgICAgICAgICAgIC8vIFNjcm9sbGJhciBzdHlsZXMgZm9yIE1vemlsbGFcbiAgICAgICAgICAgICAgICBzY3JvbGxiYXItY29sb3I6ICRrZW5kby1jYXJkLWJvcmRlciAka2VuZG8tY2FyZC1iZztcblxuICAgICAgICAgICAgICAgIC8vIFNjcm9sbGJhciBzdHlsZXMgZm9yIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLWNhcmQtYmc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAka2VuZG8tY2FyZC1ib3JkZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAka2VuZG8taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRPRE86IHJlbW92ZVxuICAgICAgICAuay10aW1lbGluZS1kYXRlIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tYm9keS10ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtYXJyb3cuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyAvLyBUaGUgYXJyb3cgYnV0dG9uIGluIGRpc2FibGVkIG1vZGUgc2hvdWxkIGhhdmUgYSBzb2xpZCBiYWNrZ3JvdW5kXG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LWRpc2FibGVkLXRleHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctZGlzYWJsZWQtYmc7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy1kaXNhYmxlZC1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10aW1lbGluZS12ZXJ0aWNhbCxcbiAgICAuay10aW1lbGluZS1ob3Jpem9udGFsIC5rLXRpbWVsaW5lLXRyYWNrLXdyYXAge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tdGltZWxpbmUtdHJhY2stYmc7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby10aW1lbGluZS10cmFjay1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10aW1lbGluZS1ob3Jpem9udGFsIC5rLXRpbWVsaW5lLWZsYWc6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRpbWVsaW5lLWZsYWctYmc7XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtdHJhY2staXRlbS5rLWZvY3VzIC5rLXRpbWVsaW5lLWNpcmNsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWl0ZW0tZm9jdXMtc2hhZG93ICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRpbWVsaW5lLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lbGluZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRpbWVsaW5lLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lbGluZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXRpbWVsaW5lLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0aW1lbGluZVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10aW1lbGluZS0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRpbWVsaW5lLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZWxpbmUtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3BkZi12aWV3ZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wZGYtdmlld2VyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInBkZi12aWV3ZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJjb21ib2JveFwiLFxuICAgICAgICBcImRpYWxvZ1wiLFxuICAgICAgICBcImRyb3B6b25lXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcInBhZ2VyXCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgICAgICBcIndpbmRvd1wiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjtcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbWJvYm94L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tYm9ib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90b29sYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbGJhci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2RpYWxvZy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RpYWxvZy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BhZ2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcGFnZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZHJvcHpvbmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wem9uZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3dpbmRvdy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3dpbmRvdy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvcGRmLXZpZXdlci9fdmFyaWFibGVzLnNjc3Ncbi8vIFBERlZpZXdlclxuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgUERGVmlld2VyLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFBERlZpZXdlci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFBERlZpZXdlci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBQREZWaWV3ZXIuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFBERlZpZXdlci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBERlZpZXdlci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFBERlZpZXdlci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgVG9vbGJhci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItdG9vbGJhci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgay10cnktc2hhZGUoICRrZW5kby1idXR0b24tYmcsIC4yNSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUERGVmlld2VyIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXRvb2xiYXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgVG9vbGJhci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItdG9vbGJhci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBQREZWaWV3ZXIgVG9vbGJhci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItdG9vbGJhci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgY2FudmFzLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1jYW52YXMtYmc6ICRrZW5kby1hcHAtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBERlZpZXdlciBjYW52YXMuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLWNhbnZhcy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFBERlZpZXdlciBjYW52YXMuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLWNhbnZhcy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgUERGVmlld2VyIHBhZ2UuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXBhZ2Utc3BhY2luZzogay1zcGFjaW5nKDcuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUERGVmlld2VyIHBhZ2UuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXBhZ2UtYmc6IHdoaXRlICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgcGFnZS5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItcGFnZS10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUERGVmlld2VyIHBhZ2UuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXBhZ2UtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBQREZWaWV3ZXIgcGFnZS5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItcGFnZS1zaGFkb3c6ICRib3gtc2hhZG93LWRlcHRoLTMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBQREZWaWV3ZXIgc2VhcmNoIHBhbmVsLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtcGFkZGluZy14OiAka2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFBERlZpZXdlciBzZWFyY2ggcGFuZWwuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1wYWRkaW5nLXk6IGNhbGMoICN7JGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy14fSAqIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgUERGVmlld2VyIHNlYXJjaCBwYW5lbC5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLXNwYWNpbmc6ICRrZW5kby10b29sYmFyLW1kLXNwYWNpbmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgUERGVmlld2VyIHNlYXJjaCBwYW5lbC5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBQREZWaWV3ZXIgc2VhcmNoIHBhbmVsLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtYm9yZGVyLXJhZGl1czogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgc2VhcmNoIHBhbmVsLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBERlZpZXdlciBzZWFyY2ggcGFuZWwuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUERGVmlld2VyIHNlYXJjaCBwYW5lbC5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgUERGVmlld2VyIHNlYXJjaCBwYW5lbC5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLXNoYWRvdzogJGtlbmRvLXdpbmRvdy1zaGFkb3cgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIG1hdGNoZXMgY29udGFpbmVyIGluIHRoZSBQREZWaWV3ZXIgc2VhcmNoIHBhbmVsLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtbWF0Y2hlcy1zcGFjaW5nOiAka2VuZG8tcGFkZGluZy1zbS14ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBQREZWaWV3ZXIgc2VsZWN0aW9uLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1zZWxlY3Rpb24tbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgaGlnaGxpZ2h0LlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtaGlnaGxpZ2h0LWJnOiAka2VuZG8tYm9keS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgaGlnaGxpZ2h0IG1hcmsuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1oaWdobGlnaHQtbWFyay1iZzogeWVsbG93ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBERlZpZXdlciBpY29uLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1pY29uLXRleHQ6ICRrZW5kby1kcm9wem9uZS1pY29uLXRleHQgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvcGRmLXZpZXdlci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcGRmLXZpZXdlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wZGYtdmlld2VyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXBkZi12aWV3ZXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gUERGIFZpZXdlclxuICAgIC5rLXBkZi12aWV3ZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1wZGYtdmlld2VyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXBkZi12aWV3ZXItZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXBkZi12aWV3ZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXBkZi12aWV3ZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAvLyBUb29sYmFyXG4gICAgICAgIC5rLXRvb2xiYXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRvb2xiYXIgLmstcGFnZXItd3JhcCxcbiAgICAgICAgLmstdG9vbGJhciAuay1wYWdlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIENhbnZhc1xuICAgICAgICAuay1jYW52YXMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgICAgICYuay1lbmFibGUtdGV4dC1zZWxlY3Qge1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiB0ZXh0O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWVuYWJsZS1wYW5uaW5nIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGdyYWI7XG5cbiAgICAgICAgICAgICAgICBzcGFuOjpzZWxlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFBhZ2VzXG4gICAgICAgIC5rLXBkZi12aWV3ZXItcGFnZXMge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1wYWdlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogJGtlbmRvLXBkZi12aWV3ZXItcGFnZS1zcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcblxuICAgICAgICAgICAgY2FudmFzIHtcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGV4dC1sYXllciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4yO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tcGRmLXZpZXdlci1zZWxlY3Rpb24tbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstc2VhcmNoLWhpZ2hsaWdodC1tYXJrIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWJsYW5rLXBhZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgICAuay11cGxvYWQsXG4gICAgICAgICAgICAuay1kcm9wem9uZSxcbiAgICAgICAgICAgIC5rLWRyb3B6b25lLWlubmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gU2VhcmNoXG4gICAgLmstcGRmLXZpZXdlci1jYW52YXMgPiAuay1zZWFyY2gtcGFuZWwge1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoICgjeyRrZW5kby1idXR0b24tY2FsYy1zaXplfSArICggMiAqICN7JGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLWJvcmRlci13aWR0aH0gKSArICggMiAqICN7JGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLXBhZGRpbmcteX0gKSkgKiAtMSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtc3BhY2luZztcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgIC5rLXNlYXJjaC1kaWFsb2ctZHJhZ2hhbmRsZSB7XG4gICAgICAgICAgICBjdXJzb3I6IG1vdmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRleHRib3gge1xuICAgICAgICAgICAgd2lkdGg6IDEwZW07XG4gICAgICAgICAgICBmbGV4OiBub25lO1xuXG4gICAgICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlYXJjaC1tYXRjaGVzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZ2FwOiAka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtbWF0Y2hlcy1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXBkZi12aWV3ZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wZGYtdmlld2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXBkZi12aWV3ZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wZGYtdmlld2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvcGRmLXZpZXdlci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wZGYtdmlld2VyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcGRmLXZpZXdlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXBkZi12aWV3ZXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBQREYgVmlld2VyXG4gICAgLmstcGRmLXZpZXdlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcGRmLXZpZXdlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXBkZi12aWV3ZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tcGRmLXZpZXdlci1ib3JkZXJcbiAgICAgICAgKTtcblxuXG4gICAgICAgIC8vIFRvb2xiYXJcbiAgICAgICAgLmstdG9vbGJhciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1wZGYtdmlld2VyLXRvb2xiYXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGRmLXZpZXdlci10b29sYmFyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1wZGYtdmlld2VyLXRvb2xiYXItYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1wZGYtdmlld2VyLXRvb2xiYXItZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIENhbnZhc1xuICAgICAgICAuay1jYW52YXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tcGRmLXZpZXdlci1jYW52YXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGRmLXZpZXdlci1jYW52YXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBkZi12aWV3ZXItY2FudmFzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gUGFnZVxuICAgICAgICAuay1wYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBkZi12aWV3ZXItcGFnZS10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1wZGYtdmlld2VyLXBhZ2UtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBkZi12aWV3ZXItcGFnZS1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tcGRmLXZpZXdlci1wYWdlLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYmxhbmstcGFnZSA+IC5rLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tcGRmLXZpZXdlci1pY29uLXRleHQgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU2VhcmNoXG4gICAgICAgIC5rLXNlYXJjaC1oaWdobGlnaHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLWhpZ2hsaWdodC1iZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlYXJjaC1oaWdobGlnaHQtbWFyayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1oaWdobGlnaHQtbWFyay1iZyApO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuay1wZGYtdmlld2VyLWNhbnZhcyA+IC5rLXNlYXJjaC1wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1iZyxcbiAgICAgICAgICAgICRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1ib3JkZXIsXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1zaGFkb3cgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcGRmLXZpZXdlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGRmLXZpZXdlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXBkZi12aWV3ZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBkZi12aWV3ZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1wZGYtdmlld2VyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJwZGYtdmlld2VyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXBkZi12aWV3ZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1wZGYtdmlld2VyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGRmLXZpZXdlci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc2Nyb2xsZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zY3JvbGxlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJzY3JvbGxlclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3Mvc2Nyb2xsZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBTY3JvbGxlclxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3Njcm9sbGVyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zY3JvbGxlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zY3JvbGxlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1zY3JvbGxlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBMYXlvdXRcbiAgICAua20tc2Nyb2xsdmlldyxcbiAgICAua20tc2Nyb2xsLWNvbnRhaW5lciB7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIH1cbiAgICAua20tc2Nyb2xsLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5rbS1zY3JvbGwtaGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuXG4gICAgLy8gUHVsbCB0byByZWZyZXNoXG4gICAgLmttLXNjcm9sbGVyLXB1bGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDNlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zZW0sIDApO1xuICAgIH1cbiAgICAua20tc2Nyb2xsZXItcHVsbCAua20tdGVtcGxhdGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cbiAgICAua20tbG9hZC1tb3JlIC5rbS1pY29uLFxuICAgIC5rbS13aWRnZXQgLmttLXNjcm9sbGVyLXB1bGwgLmttLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGxpbmVhcjtcbiAgICB9XG4gICAgLmttLXdpZGdldCAua20tc2Nyb2xsZXItcmVsZWFzZSAua20taWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICAgIC5rbS13aWRnZXQgLmttLXNjcm9sbGVyLXJlZnJlc2ggLmttLWljb24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gU2Nyb2xsYmFyXG4gICAgLmttLXRvdWNoLXNjcm9sbGJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiAyMDAwMDA7XG4gICAgICAgIGhlaWdodDogLjRlbTtcbiAgICAgICAgd2lkdGg6IC40ZW07XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgbGluZWFyO1xuXG4gICAgICAgIC5rLW1hcCAmLFxuICAgICAgICAuay1kaWFncmFtICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAua20tdmVydGljYWwtc2Nyb2xsYmFyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByaWdodDogMnB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuICAgIC5rbS1ob3Jpem9udGFsLXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDJweDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc2Nyb2xsZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zY3JvbGxlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zY3JvbGxlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNjcm9sbGVyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3Mvc2Nyb2xsZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2Nyb2xsZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zY3JvbGxlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXNjcm9sbGVyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLmttLXRvdWNoLXNjcm9sbGJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXNjcm9sbGVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zY3JvbGxlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXNjcm9sbGVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zY3JvbGxlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXNjcm9sbGVyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJzY3JvbGxlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1zY3JvbGxlci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNjcm9sbGVyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2Nyb2xsZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3Njcm9sbHZpZXcvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zY3JvbGx2aWV3L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInNjcm9sbHZpZXdcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3Njcm9sbHZpZXcvX3ZhcmlhYmxlcy5zY3NzXG4vLyBTY3JvbGxWaWV3XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFNjcm9sbFZpZXcuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgU2Nyb2xsVmlldy5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFNjcm9sbFZpZXcuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgU2Nyb2xsVmlldy5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU2Nyb2xsVmlldy5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTY3JvbGxWaWV3LlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTY3JvbGxWaWV3LlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIFNjcm9sbFZpZXcgcGFnZSBidXR0b24uXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2l6ZTogMTBweCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2Nyb2xsVmlldyBwYWdlIGJ1dHRvbi5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1iZzogJGtlbmRvLWJ1dHRvbi1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTY3JvbGxWaWV3IHBhZ2UgYnV0dG9uLlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLWJvcmRlcjogJGtlbmRvLWJ1dHRvbi1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHByaW1hcnkgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2Nyb2xsVmlldyBwYWdlIGJ1dHRvbi5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1wcmltYXJ5LWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgcHJpbWFyeSBib3JkZXIgY29sb3Igb2YgdGhlIFNjcm9sbFZpZXcgcGFnZSBidXR0b24uXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tcHJpbWFyeS1ib3JkZXI6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBTY3JvbGxWaWV3IHBhZ2UgYnV0dG9uLlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoIGJsYWNrLCAuMTMgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBvZmZzZXQgb2YgdGhlIFNjcm9sbFZpZXcgcGFnZXIuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLW9mZnNldDogMCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBTY3JvbGxWaWV3IHBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1wYWdlci1pdGVtLXNwYWNpbmc6IGstc3BhY2luZyg1KSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBTY3JvbGxWaWV3IHBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1wYWdlci1pdGVtLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFNjcm9sbFZpZXcgcGFnZXIuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLWhlaWdodDogY2FsYyggI3ska2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXNpemV9ICsgI3ska2VuZG8tc2Nyb2xsdmlldy1wYWdlci1pdGVtLWJvcmRlci13aWR0aCAqIDJ9ICsgY2FsYyggI3ska2VuZG8tc2Nyb2xsdmlldy1wYWdlci1pdGVtLXNwYWNpbmd9ICogMiApICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaGlnaGxpZ2h0IG92ZXIgdGhlIHRhcHBlZCBTY3JvbGxWaWV3IG5hdmlnYXRpb24gYXJyb3dzLlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1hcnJvdy10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIFNjcm9sbFZpZXcgbmF2aWdhdGlvbiBhcnJvd3MuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBTY3JvbGxWaWV3IG5hdmlnYXRpb24gYXJyb3dzLlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWljb24tc2hhZG93OiByZ2JhKCBibGFjaywgLjMgKSAwIDAgMTVweCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2Nyb2xsVmlldyBuYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWJnOiByZ2JhKCBibGFjaywgMCApICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBTY3JvbGxWaWV3IG5hdmlnYXRpb24uXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tZGVmYXVsdC1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcbi8vLyBUaGUgaG92ZXIgb3BhY2l0eSBvZiB0aGUgU2Nyb2xsVmlldyBuYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWhvdmVyLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvdmVyIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNjcm9sbFZpZXcgbmF2aWdhdGlvbiBhcnJvd3MuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24taG92ZXItc3Bhbi1iZzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTY3JvbGxWaWV3IHBhZ2VyIGluIGxpZ2h0IG1vZGUuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LWxpZ2h0LWJnOiByZ2JhKCB3aGl0ZSwgLjQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2Nyb2xsVmlldyBwYWdlciBpbiBkYXJrIG1vZGUuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LWRhcmstYmc6IHJnYmEoIGJsYWNrLCAuNCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGR1cmF0aW9uIG9mIHRoZSBTY3JvbGxWaWV3IHRyYW5zaXRpb24uXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LXRyYW5zaXRpb24tZHVyYXRpb246IC4zcyAhZGVmYXVsdDtcbi8vLyBUaGUgdGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBTY3JvbGxWaWV3IHRyYW5zaXRpb24uXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9zY3JvbGx2aWV3L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zY3JvbGx2aWV3L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Njcm9sbHZpZXcvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tc2Nyb2xsdmlldy0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay1zY3JvbGx2aWV3IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tc2Nyb2xsdmlldy1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tc2Nyb2xsdmlldy1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tc2Nyb2xsdmlldy1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tc2Nyb2xsdmlldy1saW5lLWhlaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5rLXNjcm9sbHZpZXctd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICA+IC5rLXNjcm9sbHZpZXctdmlldyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5rLXNjcm9sbHZpZXctd3JhcC5rLXNjcm9sbHZpZXctYW5pbWF0ZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCB2YXIoLS1rZW5kby1zY3JvbGx2aWV3LXZpZXdzLCAxKSAqIDEwMCUgKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGtlbmRvLXNjcm9sbHZpZXctdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRrZW5kby1zY3JvbGx2aWV3LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIGNhbGMoIC0xMDAlIC8gdmFyKC0ta2VuZG8tc2Nyb2xsdmlldy12aWV3cywgMSkgKiAoIHZhcigtLWtlbmRvLXNjcm9sbHZpZXctY3VycmVudCwgMSkgLSAxKSApICk7XG5cbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmLFxuICAgICAgICAuay1ydGwgJiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIGNhbGMoIDEwMCUgLyB2YXIoLS1rZW5kby1zY3JvbGx2aWV3LXZpZXdzLCAxKSAqICggdmFyKC0ta2VuZG8tc2Nyb2xsdmlldy1jdXJyZW50LCAxKSAtIDEpICkgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjcm9sbHZpZXctdmlldyB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAvIHZhcigtLWtlbmRvLXNjcm9sbHZpZXctdmlld3MsIDEpICk7XG4gICAgICAgICAgICBmbGV4OiAwIDAgY2FsYyggMTAwJSAvIHZhcigtLWtlbmRvLXNjcm9sbHZpZXctdmlld3MsIDEpICk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5rLXNjcm9sbHZpZXctbmF2LXdyYXAge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogJGtlbmRvLXNjcm9sbHZpZXctcGFnZXItb2Zmc2V0O1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLWhlaWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGtlbmRvLXNjcm9sbHZpZXcuay1zY3JvbGx2aWV3IGtlbmRvLXNjcm9sbHZpZXctcGFnZXIge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICBrZW5kby1zY3JvbGx2aWV3Lmstc2Nyb2xsdmlldyAuay1zY3JvbGx2aWV3LW5hdiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5rLXNjcm9sbHZpZXctbmF2IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAka2VuZG8tc2Nyb2xsdmlldy1wYWdlci1pdGVtLXNwYWNpbmc7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY3JvbGx2aWV3LW5hdiA+IC5rLWxpbmsge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoICN7JGtlbmRvLXNjcm9sbHZpZXctcGFnZXItaXRlbS1zcGFjaW5nfSAvIDIgKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXNpemU7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXNjcm9sbHZpZXctcGFnZXItaXRlbS1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoICN7JGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1zaXplfSArICN7JGtlbmRvLXNjcm9sbHZpZXctcGFnZXItaXRlbS1zcGFjaW5nfSApO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2l6ZX0gKyAjeyRrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLWl0ZW0tc3BhY2luZ30gKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNjcm9sbHZpZXctbmV4dCxcbiAgICAuay1zY3JvbGx2aWV3LXByZXYge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDYwJTtcbiAgICAgICAgdG9wOiAyMCU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNjcm9sbHZpZXctcHJldiB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICB9XG5cbiAgICAuay1zY3JvbGx2aWV3LW5leHQge1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgIH1cblxuXG4gICAgLmstc2Nyb2xsdmlldy1hbmltYXRpb24ge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuM3M7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICB9XG59XG5cblxuQG1peGluIGtlbmRvLXNjcm9sbHZpZXctLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zY3JvbGx2aWV3LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXNjcm9sbHZpZXctLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zY3JvbGx2aWV3LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3Mvc2Nyb2xsdmlldy9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zY3JvbGx2aWV3L190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2Nyb2xsdmlldy9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXNjcm9sbHZpZXctLXRoZW1lLWJhc2UoKSB7XG5cbiAgIC5rLXNjcm9sbHZpZXcge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXNjcm9sbHZpZXctdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1zY3JvbGx2aWV3LWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNjcm9sbHZpZXctYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgJi5rLXNjcm9sbHZpZXctZGFyayB7XG4gICAgICAgICAgICBrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLFxuICAgICAgICAgICAgLmstc2Nyb2xsdmlldy1uYXYtd3JhcCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXNjcm9sbHZpZXctZGFyay1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXNjcm9sbHZpZXctbmV4dCxcbiAgICAgICAgICAgIC5rLXNjcm9sbHZpZXctcHJldiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LWRhcmstYmc7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1zY3JvbGx2aWV3LWxpZ2h0IHtcbiAgICAgICAgICAgIGtlbmRvLXNjcm9sbHZpZXctcGFnZXIsXG4gICAgICAgICAgICAuay1zY3JvbGx2aWV3LW5hdi13cmFwIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc2Nyb2xsdmlldy1saWdodC1iZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2Nyb2xsdmlldzpmb2N1cyxcbiAgICAuay1zY3JvbGx2aWV3LXdyYXA6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgfVxuICAgIC5rLXNjcm9sbHZpZXctZWxlbWVudHMge1xuICAgICAgICBjb2xvcjogJGtlbmRvLXNjcm9sbHZpZXctbmF2aWdhdGlvbi1jb2xvcjtcbiAgICB9XG5cbiAgICAuay1zY3JvbGx2aWV3LW5leHQsXG4gICAgLmstc2Nyb2xsdmlldy1wcmV2IHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tYmc7XG4gICAgICAgIHRleHQtc2hhZG93OiAka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWljb24tc2hhZG93O1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWRlZmF1bHQtb3BhY2l0eTtcbiAgICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tc2Nyb2xsdmlldy1hcnJvdy10YXAtaGlnaGxpZ2h0LWNvbG9yO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLXNjcm9sbHZpZXctbmF2aWdhdGlvbi1jb2xvcjtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24taG92ZXItb3BhY2l0eTtcblxuICAgICAgICAgICAgLmstaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2hhZG93ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tY29sb3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWhvdmVyLW9wYWNpdHk7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHJlZmFjdG9yIHdoZW4gaHR0cHM6Ly9naXRodWIuY29tL3RlbGVyaWsva2VuZG8tYW5ndWxhci1zY3JvbGx2aWV3L2lzc3Vlcy8xMzAgaXMgZG9uZVxuICAgIC5rLXNjcm9sbHZpZXctbmF2ID4gLmstbGluayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tYmc7XG4gICAgICAgIGJvcmRlcjogJGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1ib3JkZXI7XG5cbiAgICAgICAgJi5rLXByaW1hcnkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1wcmltYXJ5LWJnO1xuICAgICAgICAgICAgYm9yZGVyOiAka2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXByaW1hcnktYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAka2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zY3JvbGx2aWV3LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zY3JvbGx2aWV3LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tc2Nyb2xsdmlldy0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2Nyb2xsdmlldy0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXNjcm9sbHZpZXctLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInNjcm9sbHZpZXdcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2Nyb2xsdmlldy0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNjcm9sbHZpZXctLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zY3JvbGx2aWV3LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9wcm9tcHQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wcm9tcHQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwicHJvbXB0XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3Byb21wdC9fdmFyaWFibGVzLnNjc3Ncbi8vIEFJUHJvbXB0XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQUlQcm9tcHQuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEFJUHJvbXB0LlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQUlQcm9tcHQuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEFJUHJvbXB0IGhlYWRlci5cbi8vLyBAZ3JvdXAgcHJvbXB0XG4ka2VuZG8tcHJvbXB0LWhlYWRlci10ZXh0OiAka2VuZG8tY29tcG9uZW50LWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBBSVByb21wdCBoZWFkZXIuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1oZWFkZXItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQUlQcm9tcHQgaGVhZGVyLlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtaGVhZGVyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEFJUHJvbXB0IGNvbnRlbnQuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1jb250ZW50LXBhZGRpbmcteTogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEFJUHJvbXB0IGNvbnRlbnQuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1jb250ZW50LXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIGl0ZW1zIG9mIHRoZSBBSVByb21wdCBjb250ZW50LlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtY29udGVudC1zcGFjaW5nOiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEFJUHJvbXB0IGNvbnRlbnQuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1jb250ZW50LXRleHQ6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEFJUHJvbXB0IGNvbnRlbnQuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1jb250ZW50LWJnOiAka2VuZG8tY29tcG9uZW50LWhlYWRlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBib3JkZXIgb2YgdGhlIEFJUHJvbXB0IGNvbnRlbnQuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1jb250ZW50LWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgaXRlbXMgb2YgdGhlIEFJUHJvbXB0IGNvbnRlbnQgZXhwYW5kZXIuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1leHBhbmRlci1zcGFjaW5nOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQUlQcm9tcHQgc3VnZ2VzdGlvbiBjb250YWluZXIuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEFJUHJvbXB0IHN1Z2dlc3Rpb24gY29udGFpbmVyLlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgQUlQcm9tcHQgc3VnZ2VzdGlvbiBjb250YWluZXIuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLWJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhtZCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEFJUHJvbXB0IHN1Z2dlc3Rpb24gY29udGFpbmVyLlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEFJUHJvbXB0IHN1Z2dlc3Rpb24gY29udGFpbmVyLlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1iZzogJGtlbmRvLWJvZHktYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQUlQcm9tcHQgc3VnZ2VzdGlvbiBjb250YWluZXIuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGVsZXZhdGlvbiBvZiB0aGUgQUlQcm9tcHQgc3VnZ2VzdGlvbiBjb250YWluZXIuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLXNoYWRvdzogay1lbGV2YXRpb24oMSkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvcHJvbXB0L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wcm9tcHQvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcHJvbXB0L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXByb21wdC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBQcm9tcHRcbiAgICAuay1wcm9tcHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLXByb21wdC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXByb21wdC1jb250ZW50LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wcm9tcHQtY29udGVudC1wYWRkaW5nLXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGdhcDogJGtlbmRvLXByb21wdC1jb250ZW50LXNwYWNpbmc7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxuICAgIC5rLXByb21wdC12aWV3IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGdhcDogJGtlbmRvLXByb21wdC1jb250ZW50LXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLy8gUHJvbXB0IEV4cGFuZGVyXG4gICAgLmstcHJvbXB0LWV4cGFuZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogJGtlbmRvLXByb21wdC1leHBhbmRlci1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5rLXByb21wdC1leHBhbmRlci1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBnYXA6ICRrZW5kby1wcm9tcHQtZXhwYW5kZXItc3BhY2luZztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAuay1wcm9tcHQtc3VnZ2VzdGlvbiB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tcHJvbXB0LXN1Z2dlc3Rpb24tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1wYWRkaW5nLXg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuay1wcm9tcHQtc2V0dGluZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLy8gQWN0aW9uc1xuICAgIC5rLXByb21wdC1hY3Rpb25zLmstYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcHJvbXB0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcHJvbXB0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXByb21wdC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXByb21wdC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3Byb21wdC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wcm9tcHQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wcm9tcHQvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1wcm9tcHQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1wcm9tcHQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXByb21wdC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXByb21wdC1iZyxcbiAgICAgICAgICAgICRrZW5kby1wcm9tcHQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcHJvbXB0LWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcHJvbXB0LWhlYWRlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXByb21wdC1oZWFkZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tcHJvbXB0LWhlYWRlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1wcm9tcHQtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcHJvbXB0LWNvbnRlbnQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1wcm9tcHQtY29udGVudC1iZyxcbiAgICAgICAgICAgICRrZW5kby1wcm9tcHQtY29udGVudC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1wcm9tcHQtc3VnZ2VzdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcHJvbXB0LXN1Z2dlc3Rpb24tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1iZyxcbiAgICAgICAgICAgICRrZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLXNoYWRvdyApO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1wcm9tcHQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXByb21wdC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXByb21wdC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcHJvbXB0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tcHJvbXB0LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJwcm9tcHRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcHJvbXB0LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcHJvbXB0LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tcHJvbXB0LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIERhdGF2aXpcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZGF0YXZpei9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RhdGF2aXovX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL21hcC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL21hcC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJtYXBcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJzY3JvbGxlclwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgLy8gXCJ1dGlscy9sYXlvdXQvcG9zaXRpb25cIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19wb3NpdGlvbi5zY3NzXCI7XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9zY3JvbGxlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Njcm9sbGVyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvbWFwL192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9pbWFnZXMvbWFya2Vycy5zY3NzXCI7IC0+IHNjc3MvbWFwL2ltYWdlcy9tYXJrZXJzLnNjc3NcbkBpbmNsdWRlIGV4cG9ydHMoXCJtYXJrZXJzLnBuZ1wiKSB7XG4gICAgQGluY2x1ZGUgcmVnaXN0ZXItZGF0YS11cmkoXCJtYXJrZXJzLnBuZ1wiLCBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQndBQUFCUUNBWUFBQUFLbHhXREFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBMzVKUkVGVWVOcnNXRjFJVkVFVVB1N2FtaEtVbXFVVWtoRVlZbjlQYW1nYlJPS1RFRVJCMUhOUDBwTXZKVVZoWlFoQ0VFUVBRaUFJa2lRSVFTaEVabWc5OVNkTGdpUkpwYkdtR0l1L2FaMnp6SlhydldmMnp0eTdQZ1R6d1FkM1o4Nlo3OTZ6NTh3TUorUHJ1WHhRd0NIa0dlUnBaRGJ5cUJoL2oxeEE5aU43a0orOEZzcndFQ1NSdThoU1VNTW9zZ25aTFRNSVNjYUxrVVBJcHhwaUlHeWZDTjlpVmNFbzhoMnlDdnlqU3F3UjlSSWtnejVrSGdSSG5saHJnMmltN2JsRWhDUENlVzg5ZkJKeUt1b2hzdjhJUlBhVjQ2dUdZZm5MaHlUbjMvYkM0c2VYbkZ0RXJGbUJISGNtelNDeTJ1bVJXVmdDK1pmdlExYlo4WlNmc3hRYmdsK1Byc0NmcVhGdStqV3l4aDdTczV4WTFzRktLTHpkNXltV3RFV2JwQzM2TUtnV0d1dUN6ZHlYRlRSMlFHaGJydktmUnJia1E3NE1taTNCS0pmNkZFWWRNYnNvK1VwS0prcEpVK2RLa1BJYU5veXJNNU13MjNFZGxqNi9XUTk1N3FWYkVNNHJjb1dYMWxnY0dYUXVVUmZpNm8yeTBZbVZIMk13MlhnQzVvZDZrc0pFZXFheGxXK2pvTElHYVpGZ0dWY0NUc3gxM1lHMXhLeHJuTVpvVG1VTjBpTEI3YzdSOE00OUxrdEpuU1d4d014eGE1QVd1NWYrWFY2RXpRSUp6bkhKd1NXU0RObE0rRmFudjNPbWN5UVk0M1lOVnl6T1gyWExoTVpvVHZFdmlKSGdzSE9VOWtZbnR1d3RoYUxXVjVCVFdRL2hIYnVTcEdjYW96bVZOVWlMOWxJcWZOZnI3TDdScTdTbHlmYlZuemZac2poRlh6Z2dUdW9Ob0kxNGJmNjN0aGo1a0sva052REN5dEltNXl6dCt2RjdGOWphazRxaGJiejFvdXpFYUxKdjN0M2lDTmtZR3R6Q3BxN1ZybTlsS2NObzJUSUpKL0trMjNrZUhoQjNrUUxQQXhoSlVEaUFDWEVrSmNNWWQydXpyaGlSTk5YNU1ySlc1QWw3cHhrUUJqTnBFSnR4aXNsdWJXUndqS3RQRFF5TE5RWlU3NlVUSXU0TlBzUWFoTytFemtYWXdnTnU2MHVCbVBBQjNadTNIUzBhZ3A2MktvSmRzdkF3ZjBOWE9nUXB0ZHNVN05xRWJXQkJRcnNvNEZRbDBLNTZBS3NnZ1h6b2tWeUpkQXFtV2pUaGxabCtCZU9Tc0QzMkNMZHZRU3N4VnUxWEYyU3I3aVZLQjVUNm5iYmZuWW9sNDF2UVdkd3R1czZaUGdScCszcG1lOTUwUVY5ZnBpdG8ralNtVDJQNk5LWlA0NzlQRTlMcDA2akM2dE13VU8vVDZDSnduMFlYZ2ZzMHV2ai8ralM2Q055bjBVWGdQbzB1WkgwYUVuenVlcnVSd1VCZlNiNU1yNVRRYi9vMHBrOWoralNtVDJQNk5LWlBZL28wcGs5aitqUSs4RStBQVFEcGJOSEV5VzdEVEFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNYXBcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBNYXAuXG4vLy8gQGdyb3VwIG1hcFxuJGtlbmRvLW1hcC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIE1hcC5cbi8vLyBAZ3JvdXAgbWFwXG4ka2VuZG8tbWFwLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgTWFwLlxuLy8vIEBncm91cCBtYXBcbiRrZW5kby1tYXAtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBNYXAuXG4vLy8gQGdyb3VwIG1hcFxuJGtlbmRvLW1hcC1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgTWFwLlxuLy8vIEBncm91cCBtYXBcbiRrZW5kby1tYXAtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIE1hcC5cbi8vLyBAZ3JvdXAgbWFwXG4ka2VuZG8tbWFwLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBNYXAuXG4vLy8gQGdyb3VwIG1hcFxuJGtlbmRvLW1hcC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1hcmdpbiBvZiB0aGUgTWFwIG5hdmlnYXRvci5cbi8vLyBAZ3JvdXAgbWFwXG4ka2VuZG8tbWFwLW5hdmlnYXRvci1tYXJnaW46IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgTWFwIG5hdmlnYXRvci5cbi8vLyBAZ3JvdXAgbWFwXG4ka2VuZG8tbWFwLW5hdmlnYXRvci1wYWRkaW5nOiBrLXNwYWNpbmcoMC41KSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIE1hcCBuYXZpZ2F0b3IuXG4vLy8gQGdyb3VwIG1hcFxuJGtlbmRvLW1hcC1uYXZpZ2F0b3Itd2lkdGg6IGNhbGMoIGNhbGMoICN7JGtlbmRvLWljb24tc2l6ZX0gKiAzKSArIGNhbGMoICN7JGtlbmRvLW1hcC1uYXZpZ2F0b3ItcGFkZGluZ30gKiAyICkgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBNYXAgbmF2aWdhdG9yLlxuLy8vIEBncm91cCBtYXBcbiRrZW5kby1tYXAtbmF2aWdhdG9yLWhlaWdodDogJGtlbmRvLW1hcC1uYXZpZ2F0b3Itd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgTWFwIG5hdmlnYXRvci5cbi8vLyBAZ3JvdXAgbWFwXG4ka2VuZG8tbWFwLW5hdmlnYXRvci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXJnaW4gb2YgdGhlIE1hcCB6b29tIGNvbnRyb2wuXG4vLy8gQGdyb3VwIG1hcFxuJGtlbmRvLW1hcC16b29tLWNvbnRyb2wtbWFyZ2luOiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgTWFwIHpvb20gY29udHJvbC5cbi8vLyBAZ3JvdXAgbWFwXG4ka2VuZG8tbWFwLXpvb20tY29udHJvbC1idXR0b24tcGFkZGluZy14OiAka2VuZG8tYnV0dG9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgTWFwIHpvb20gY29udHJvbC5cbi8vLyBAZ3JvdXAgbWFwXG4ka2VuZG8tbWFwLXpvb20tY29udHJvbC1idXR0b24tcGFkZGluZy15OiAka2VuZG8tbWFwLXpvb20tY29udHJvbC1idXR0b24tcGFkZGluZy14ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgTWFwIGF0dHJpYnV0aW9uLlxuLy8vIEBncm91cCBtYXBcbiRrZW5kby1tYXAtYXR0cmlidXRpb24tcGFkZGluZy14OiAka2VuZG8tcGFkZGluZy1zbS14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBNYXAgYXR0cmlidXRpb24uXG4vLy8gQGdyb3VwIG1hcFxuJGtlbmRvLW1hcC1hdHRyaWJ1dGlvbi1wYWRkaW5nLXk6ICRrZW5kby1wYWRkaW5nLXNtLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgTWFwIGF0dHJpYnV0aW9uLlxuLy8vIEBncm91cCBtYXBcbiRrZW5kby1tYXAtYXR0cmlidXRpb24tZm9udC1zaXplOiBjYWxjKCAjeyRrZW5kby1tYXAtZm9udC1zaXplfSAqIC43NSApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBNYXAgYXR0cmlidXRpb24uXG4vLy8gQGdyb3VwIG1hcFxuJGtlbmRvLW1hcC1hdHRyaWJ1dGlvbi1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApIDgwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tbWFwLWJnLCAuOCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmaWxsIGNvbG9yIG9mIHRoZSBNYXAgbWFya2VyLlxuLy8vIEBncm91cCBtYXBcbiRrZW5kby1tYXAtbWFya2VyLWZpbGw6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL21hcC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWFwL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21hcC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1tYXAtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gTWFwXG4gICAgLmstbWFwIHtcbiAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tbWFwLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbWFwLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1tYXAtbGluZS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tbWFwLWZvbnQtZmFtaWx5O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU2Nyb2xsXG4gICAgICAgIC5rbS1zY3JvbGwtd3JhcHBlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICAgIC5rbS1zY3JvbGwtY29udGFpbmVyIHsgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgIC5rLXRvdWNoLXNjcm9sbGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICAvLyBMYXllcnNcbiAgICAgICAgLmstbGF5ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1hcmtlclxuICAgICAgICAuay1tYXJrZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEF0dHJpYnV0aW9uXG4gICAgICAgIC5rLWF0dHJpYnV0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1tYXAtYXR0cmlidXRpb24tcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1tYXAtYXR0cmlidXRpb24tcGFkZGluZy14O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbWFwLWF0dHJpYnV0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgIH1cblxuXG4gICAgfVxuXG5cbiAgICAvLyBDb250cm9sc1xuICAgIC5rLW1hcC1jb250cm9scyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cblxuICAgIC8vIE5hdmlnYXRvclxuICAgIC5rLW5hdmlnYXRvciB7XG4gICAgICAgIG1hcmdpbjogJGtlbmRvLW1hcC1uYXZpZ2F0b3ItbWFyZ2luO1xuICAgICAgICB3aWR0aDogJGtlbmRvLW1hcC1uYXZpZ2F0b3Itd2lkdGg7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLW1hcC1uYXZpZ2F0b3Itd2lkdGg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLW1hcC1uYXZpZ2F0b3ItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuay1wZGYtZXhwb3J0ICYgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuICAgICAgICAvLyBCdXR0b25zXG4gICAgICAgIC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLW5hdmlnYXRvci1uLFxuICAgICAgICAuay1uYXZpZ2F0b3ItdXAge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdG9wOiAka2VuZG8tbWFwLW5hdmlnYXRvci1wYWRkaW5nO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB9XG4gICAgICAgIC5rLW5hdmlnYXRvci1lLFxuICAgICAgICAuay1uYXZpZ2F0b3ItcmlnaHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgcmlnaHQ6ICRrZW5kby1tYXAtbmF2aWdhdG9yLXBhZGRpbmc7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAuay1uYXZpZ2F0b3ItcyxcbiAgICAgICAgLmstbmF2aWdhdG9yLWRvd24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgYm90dG9tOiAka2VuZG8tbWFwLW5hdmlnYXRvci1wYWRkaW5nO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB9XG4gICAgICAgIC5rLW5hdmlnYXRvci13LFxuICAgICAgICAuay1uYXZpZ2F0b3ItbGVmdCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICBsZWZ0OiAka2VuZG8tbWFwLW5hdmlnYXRvci1wYWRkaW5nO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFpvb20gY29udHJvbFxuICAgIC5rLXpvb20tY29udHJvbCB7XG4gICAgICAgIG1hcmdpbjogay1zcGFjaW5nKDQpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgLmstcGRmLWV4cG9ydCAmIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1tYXAtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tYXAtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbWFwLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWFwLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvbWFwL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21hcC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21hcC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLW1hcC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIE1hcCB0aGVtZVxuICAgIC5rLW1hcCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tbWFwLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tbWFwLWJnLFxuICAgICAgICAgICAgJGtlbmRvLW1hcC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAuay1uYXZpZ2F0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWJ1dHRvbi1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1hcmtlciB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLW1hcC1tYXJrZXItZmlsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWF0dHJpYnV0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1tYXAtYXR0cmlidXRpb24tYmc7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbWFwLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tYXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1tYXAtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1hcC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW1hcC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwibWFwXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW1hcC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW1hcC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1hcC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vb3JnY2hhcnQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9vcmdjaGFydC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJvcmdjaGFydFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImNhcmRcIixcbiAgICAgICAgXCJkcm9wZG93bi1saXN0XCIsXG4gICAgICAgIFwiZm9ybVwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJtZW51XCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICBcInVwbG9hZFwiLFxuICAgICAgICBcIndpbmRvd1wiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjtcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mb3Jtcy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zvcm1zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdGV4dGJveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RleHRib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91cGxvYWQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91cGxvYWQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9tZW51L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbWVudS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NhcmQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jYXJkL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vd2luZG93L19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvd2luZG93L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9vcmdjaGFydC9fdmFyaWFibGVzLnNjc3Ncbi8vIE9yZ2NoYXJ0XG5cbi8vLyBUaGUgc3BhY2luZyBpbmRleCBvZiB0aGUgT3JnQ2hhcnQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtc3BhY2VyOiBrLXNwYWNpbmcoNikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIE9yZ0NoYXJ0LlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LXBhZGRpbmcteTogJGtlbmRvLW9yZ2NoYXJ0LXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBPcmdDaGFydC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1wYWRkaW5nLXg6ICRrZW5kby1vcmdjaGFydC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBPcmdDaGFydC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgT3JnQ2hhcnQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBPcmdDaGFydC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgT3JnQ2hhcnQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIE9yZ0NoYXJ0LlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBPcmdDaGFydC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIE9yZ0NoYXJ0IG5vZGUuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1nYXA6ICRrZW5kby1vcmdjaGFydC1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIE9yZ0NoYXJ0IGdyb3VwLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWdyb3VwLWdhcDogJGtlbmRvLW9yZ2NoYXJ0LXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgT3JnQ2hhcnQgbm9kZSBjb250YWluZXIuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1jb250YWluZXItZ2FwOiAka2VuZG8tb3JnY2hhcnQtc3BhY2VyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1wYWRkaW5nLXk6ICRrZW5kby1vcmdjaGFydC1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgT3JnQ2hhcnQgbm9kZSBncm91cC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXBhZGRpbmcteDogJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgT3JnQ2hhcnQgbm9kZSBncm91cC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLWJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhtZCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3ItZGFyaywgJGtlbmRvLWNvbG9yLWxpZ2h0KSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC10ZXh0OiAka2VuZG8tYmFzZS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1ib3JkZXI6ICRrZW5kby1iYXNlLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgT3JnQ2hhcnQgbm9kZSBncm91cC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLWZvY3VzLWJvcmRlcjogJGtlbmRvLWNhcmQtZm9jdXMtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgT3JnQ2hhcnQgbm9kZSBncm91cC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLWZvY3VzLXNoYWRvdzogMCAycHggNHB4IC0xcHggaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDIwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAkZWxldmF0aW9uLCAuMiApKSwgMCA0cHggNXB4IDAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDE0JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAkZWxldmF0aW9uLCAuMTQgKSksIDAgMXB4IDEwcHggMCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMTIlLCB0cmFuc3BhcmVudCksIHJnYmEoICRlbGV2YXRpb24sIC4xMiApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAgdGl0bGUuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC10aXRsZS1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUteGwsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgT3JnQ2hhcnQgbm9kZSBncm91cCB0aXRsZS5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXRpdGxlLW1hcmdpbi1ib3R0b206IGNhbGMoICN7JGtlbmRvLW9yZ2NoYXJ0LXNwYWNlcn0gLyA0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBPcmdDaGFydCBub2RlIGdyb3VwIHRpdGxlLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtdGl0bGUtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodC1zbSwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBPcmdDaGFydCBub2RlIGdyb3VwIHN1YnRpdGxlLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtc3VidGl0bGUtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAgc3VidGl0bGUuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1zdWJ0aXRsZS1tYXJnaW4tYm90dG9tOiAka2VuZG8tb3JnY2hhcnQtc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgT3JnQ2hhcnQgbm9kZSBncm91cCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXN1YnRpdGxlLXRleHQ6IHJnYmEoIGJsYWNrLCAuNTQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgT3JnQ2hhcnQgQ2FyZC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1jYXJkLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgT3JnQ2hhcnQgQ2FyZC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1jYXJkLXBhZGRpbmcteTogJGtlbmRvLWNhcmQtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIE9yZ0NoYXJ0IENhcmQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtY2FyZC1wYWRkaW5nLXg6ICRrZW5kby1vcmdjaGFydC1jYXJkLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBPcmdDaGFydCBDYXJkLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgT3JnQ2hhcnQgQ2FyZC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1jYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBmb2N1c2VkIE9yZ0NoYXJ0IENhcmQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtY2FyZC1mb2N1cy1zaGFkb3c6ICRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBPcmdDaGFydCBDYXJkIHRpdGxlLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtdGl0bGUtbWFyZ2luLWJvdHRvbTogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIE9yZ0NoYXJ0IENhcmQgdGl0bGUuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtY2FyZC10aXRsZS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgT3JnQ2hhcnQgQ2FyZCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1jYXJkLXN1YnRpdGxlLW1hcmdpbi1ib3R0b206IGstc3BhY2luZygwKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBPcmdDaGFydCBDYXJkIHN1YnRpdGxlLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtc3VidGl0bGUtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgT3JnQ2hhcnQgQ2FyZCBib2R5LlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9keS1ib3JkZXItd2lkdGg6IDJweCAwIDAgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgT3JnQ2hhcnQgQ2FyZCBib2R5LlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9keS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHJpZ2h0IG1hcmdpbiBvZiB0aGUgT3JnQ2hhcnQgQ2FyZCBib2R5IHRpdGxlIHdyYXAuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtY2FyZC1ib2R5LXZib3gtbWFyZ2luLXJpZ2h0OiBrLW1hdGgtZGl2KCAka2VuZG8tb3JnY2hhcnQtc3BhY2VyLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIG1pbiBoZWlnaHQgb2YgdGhlIE9yZ0NoYXJ0IENhcmQgYm9keSB0aXRsZSB3cmFwLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9keS12Ym94LW1pbi1oZWlnaHQ6ICRrZW5kby1jYXJkLWF2YXRhci1zaXplICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIE9yZ0NoYXJ0IGNvbm5lY3RpbmcgbGluZS5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1saW5lLXNpemU6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgZmlsbCBjb2xvciBvZiB0aGUgT3JnQ2hhcnQgY29ubmVjdGluZyBsaW5lLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWxpbmUtZmlsbDogJGtlbmRvLWJhc2UtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgT3JnQ2hhcnQgY29ubmVjdGluZyBsaW5lLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWxpbmUtdi1oZWlnaHQ6IDI1cHggIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3Mvb3JnY2hhcnQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL29yZ2NoYXJ0L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL29yZ2NoYXJ0L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLW9yZ2NoYXJ0LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIE9yZ0NoYXJ0XG4gICAgLmstb3JnY2hhcnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW9yZ2NoYXJ0LXBhZGRpbmcteDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1vcmdjaGFydC1wYWRkaW5nLXk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW9yZ2NoYXJ0LWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1vcmdjaGFydC1mb250LWZhbWlseTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1vcmdjaGFydC1saW5lLWhlaWdodDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstb3JnY2hhcnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy8gTm9kZXNcbiAgICAuay1vcmdjaGFydC1ncm91cCB7XG4gICAgICAgIGdhcDogJGtlbmRvLW9yZ2NoYXJ0LWdyb3VwLWdhcDtcbiAgICB9XG5cbiAgICAuay1vcmdjaGFydC1ncm91cC5rLXZzdGFjayA+IC5rLW9yZ2NoYXJ0LW5vZGUtY29udGFpbmVyIHtcbiAgICAgICAgZ2FwOiAwO1xuICAgIH1cblxuICAgIC5rLW9yZ2NoYXJ0LW5vZGUtY29udGFpbmVyIHtcbiAgICAgICAgZ2FwOiAka2VuZG8tb3JnY2hhcnQtbm9kZS1nYXA7XG4gICAgfVxuXG4gICAgLmstb3JnY2hhcnQtbm9kZS1ncm91cC1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgLmstb3JnY2hhcnQtbm9kZS1ncm91cC10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwICRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXRpdGxlLW1hcmdpbi1ib3R0b207XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtdGl0bGUtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLmstb3JnY2hhcnQtbm9kZS1ncm91cC1zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwICRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXN1YnRpdGxlLW1hcmdpbi1ib3R0b207XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtc3VidGl0bGUtZm9udC1zaXplO1xuICAgIH1cblxuICAgIC8vIENhcmRcbiAgICAuay1vcmdjaGFydC1jYXJkIHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1vcmdjaGFydC1jYXJkLXdpZHRoO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1vcmdjaGFydC1jYXJkLWJvcmRlci13aWR0aDtcblxuICAgICAgICAuay1jYXJkLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRrZW5kby1vcmdjaGFydC1jYXJkLXRpdGxlLW1hcmdpbi1ib3R0b207XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1vcmdjaGFydC1jYXJkLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhcmQtc3VidGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtc3VidGl0bGUtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtc3VidGl0bGUtZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FyZC1ib2R5IHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9keS1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLWNhcmQtYm9keSAuay1jYXJkLXRpdGxlLXdyYXAge1xuICAgICAgICAgICAgbWFyZ2luOiAwICRrZW5kby1vcmdjaGFydC1jYXJkLWJvZHktdmJveC1tYXJnaW4tcmlnaHQgMCAwO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9keS12Ym94LW1pbi1oZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaW5lc1xuICAgIC5rLW9yZ2NoYXJ0LWxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgLmstb3JnY2hhcnQtbGluZS1oIHtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tb3JnY2hhcnQtbGluZS1zaXplO1xuICAgIH1cblxuICAgIC5rLW9yZ2NoYXJ0LWxpbmUtdiB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgd2lkdGg6ICRrZW5kby1vcmdjaGFydC1saW5lLXNpemU7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLW9yZ2NoYXJ0LWxpbmUtdi1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uc1xuICAgIC5rLW9yZ2NoYXJ0LWJ1dHRvbiB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG5cbkBtaXhpbiBrZW5kby1vcmdjaGFydC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW9yZ2NoYXJ0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW9yZ2NoYXJ0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tb3JnY2hhcnQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9vcmdjaGFydC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9vcmdjaGFydC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL29yZ2NoYXJ0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tb3JnY2hhcnQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBPcmdDaGFydFxuICAgIC5rLW9yZ2NoYXJ0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAka2VuZG8tb3JnY2hhcnQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1vcmdjaGFydC1iZyxcbiAgICAgICAgICAgICRrZW5kby1vcmdjaGFydC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDYXJkXG4gICAgLmstb3JnY2hhcnQtY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1vcmdjaGFydC1jYXJkLXNoYWRvdyApO1xuXG4gICAgICAgIC5rLWNhcmQtYm9keSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tb3JnY2hhcnQtY2FyZC1ib2R5LWJvcmRlci1jb2xvciApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHcm91cFxuICAgIC5rLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtYmcsXG4gICAgICAgICAgICAka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstb3JnY2hhcnQtbm9kZS1ncm91cC1jb250YWluZXI6Zm9jdXMsXG4gICAgLmstb3JnY2hhcnQtbm9kZS1ncm91cC1jb250YWluZXIuay1mb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKCAkYm9yZGVyOiAka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1mb2N1cy1ib3JkZXIgKTtcbiAgICB9XG5cbiAgICAuay1vcmdjaGFydC1ub2RlLWdyb3VwLXN1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1zdWJ0aXRsZS10ZXh0ICk7XG4gICAgfVxuXG4gICAgLy8gTGluZXNcbiAgICAuay1vcmdjaGFydC1saW5lLWgsXG4gICAgLmstb3JnY2hhcnQtbGluZS12IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tb3JnY2hhcnQtbGluZS1maWxsICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLW9yZ2NoYXJ0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1vcmdjaGFydC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW9yZ2NoYXJ0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1vcmdjaGFydC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW9yZ2NoYXJ0LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJvcmdjaGFydFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1vcmdjaGFydC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW9yZ2NoYXJ0LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tb3JnY2hhcnQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3NpZ25hdHVyZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3NpZ25hdHVyZS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJzaWduYXR1cmVcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9zaWduYXR1cmUvX3ZhcmlhYmxlcy5zY3NzXG4ka2VuZG8tc2lnbmF0dXJlLXdpZHRoOiAyNDZweCAhZGVmYXVsdDtcbiRrZW5kby1zaWduYXR1cmUtaGVpZ2h0OiAxMDhweCAhZGVmYXVsdDtcblxuJGtlbmRvLXNpZ25hdHVyZS1sZy1taW4taGVpZ2h0OiAxMTBweCAhZGVmYXVsdDtcblxuJGtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtd2lkdGg6IDc1MHB4ICFkZWZhdWx0O1xuJGtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtaGVpZ2h0OiAyNTJweCAhZGVmYXVsdDtcblxuJGtlbmRvLXNpZ25hdHVyZS1wYWRkaW5nLXg6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbiRrZW5kby1zaWduYXR1cmUtc20tcGFkZGluZy14OiBrLXNwYWNpbmcoMC41KSAhZGVmYXVsdDtcbiRrZW5kby1zaWduYXR1cmUtbWQtcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2lnbmF0dXJlLWxnLXBhZGRpbmcteDogay1zcGFjaW5nKDEuNSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1zaWduYXR1cmUtcGFkZGluZy15OiAka2VuZG8tc2lnbmF0dXJlLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1zaWduYXR1cmUtc20tcGFkZGluZy15OiAka2VuZG8tc2lnbmF0dXJlLXNtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1zaWduYXR1cmUtbWQtcGFkZGluZy15OiAka2VuZG8tc2lnbmF0dXJlLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1zaWduYXR1cmUtbGctcGFkZGluZy15OiAka2VuZG8tc2lnbmF0dXJlLWxnLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJGtlbmRvLXNpZ25hdHVyZS1saW5lLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tc2lnbmF0dXJlLWxpbmUtc3R5bGU6IGRhc2hlZCAhZGVmYXVsdDtcbiRrZW5kby1zaWduYXR1cmUtbGluZS1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBpbmZvICkgMjQlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1jb2xvci1pbmZvLCAuMjQgKSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1zaWduYXR1cmUtbGluZS1zaXplOiBjYWxjKCAxMDAlIC0gMiAqICN7JGtlbmRvLXNpZ25hdHVyZS1wYWRkaW5nLXh9ICkgIWRlZmF1bHQ7XG4ka2VuZG8tc2lnbmF0dXJlLXNtLWxpbmUtc2l6ZTogY2FsYyggMTAwJSAtIDIgKiAjeyRrZW5kby1zaWduYXR1cmUtc20tcGFkZGluZy14fSApICFkZWZhdWx0O1xuJGtlbmRvLXNpZ25hdHVyZS1tZC1saW5lLXNpemU6IGNhbGMoIDEwMCUgLSAyICogI3ska2VuZG8tc2lnbmF0dXJlLW1kLXBhZGRpbmcteH0gKSAhZGVmYXVsdDtcbiRrZW5kby1zaWduYXR1cmUtbGctbGluZS1zaXplOiBjYWxjKCAxMDAlIC0gMiAqICN7JGtlbmRvLXNpZ25hdHVyZS1sZy1wYWRkaW5nLXh9ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1zaWduYXR1cmUtbGluZS1ib3R0b20tb2Zmc2V0OiAzMyUgIWRlZmF1bHQ7XG5cbiRrZW5kby1zaWduYXR1cmUtc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1zaWduYXR1cmUtc20tcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1zaWduYXR1cmUtc20tcGFkZGluZy15LFxuICAgICAgICBsaW5lLXNpemU6ICRrZW5kby1zaWduYXR1cmUtc20tbGluZS1zaXplXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1zaWduYXR1cmUtbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1zaWduYXR1cmUtbWQtcGFkZGluZy15LFxuICAgICAgICBsaW5lLXNpemU6ICRrZW5kby1zaWduYXR1cmUtbWQtbGluZS1zaXplXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1zaWduYXR1cmUtbGctcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1zaWduYXR1cmUtbGctcGFkZGluZy15LFxuICAgICAgICBsaW5lLXNpemU6ICRrZW5kby1zaWduYXR1cmUtbGctbGluZS1zaXplXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuJGtlbmRvLXNpZ25hdHVyZS1hY3Rpb25zLWdhcDogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuJGtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtbGluZS13aWR0aDogM3B4ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3NpZ25hdHVyZS9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2lnbmF0dXJlL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NpZ25hdHVyZS9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1zaWduYXR1cmUtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLmstc2lnbmF0dXJlIHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1zaWduYXR1cmUtd2lkdGg7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRrZW5kby1zaWduYXR1cmUtaGVpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAmLmstc2lnbmF0dXJlLW1heGltaXplZCB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1zaWduYXR1cmUtbWF4aW1pemVkLWhlaWdodDtcblxuICAgICAgICAgICAgPiAuay1zaWduYXR1cmUtbGluZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtbGluZS13aWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNpZ25hdHVyZS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICBnYXA6ICRrZW5kby1zaWduYXR1cmUtYWN0aW9ucy1nYXA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmstc2lnbmF0dXJlLWNhbnZhcyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAuay1zaWduYXR1cmUtbGluZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAka2VuZG8tc2lnbmF0dXJlLWxpbmUtYm90dG9tLW9mZnNldDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1zaWduYXR1cmUtbGluZS13aWR0aDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogJGtlbmRvLXNpZ25hdHVyZS1saW5lLXN0eWxlO1xuICAgIH1cblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1zaWduYXR1cmUtc2l6ZXMge1xuICAgICAgICAkX3BhZGRpbmcteDogay1tYXAtZ2V0KCRzaXplLXByb3BzLCBwYWRkaW5nLXgpO1xuICAgICAgICAkX3BhZGRpbmcteTogay1tYXAtZ2V0KCRzaXplLXByb3BzLCBwYWRkaW5nLXkpO1xuICAgICAgICAkX2xpbmUtc2l6ZTogay1tYXAtZ2V0KCRzaXplLXByb3BzLCBsaW5lLXNpemUpO1xuICAgICAgICAkX2xpbmUtb2Zmc2V0OiBrLW1hcC1nZXQoJHNpemUtcHJvcHMsIGxpbmUtb2Zmc2V0KTtcblxuICAgICAgICAuay1zaWduYXR1cmUtI3skc2l6ZX0ge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9wYWRkaW5nLXk7XG5cbiAgICAgICAgICAgIC5rLXNpZ25hdHVyZS1saW5lIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJF9saW5lLXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zaWduYXR1cmUtbGcge1xuICAgICAgICBtaW4taGVpZ2h0OiAka2VuZG8tc2lnbmF0dXJlLWxnLW1pbi1oZWlnaHQ7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXNpZ25hdHVyZS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNpZ25hdHVyZS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zaWduYXR1cmUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zaWduYXR1cmUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9zaWduYXR1cmUvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2lnbmF0dXJlL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2lnbmF0dXJlL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tc2lnbmF0dXJlLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gU29saWQgc2lnbmF0dXJlXG4gICAgLmstc2lnbmF0dXJlIHtcblxuICAgICAgICAuay1zaWduYXR1cmUtbGluZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAka2VuZG8tc2lnbmF0dXJlLWxpbmUtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc2lnbmF0dXJlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zaWduYXR1cmUtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zaWduYXR1cmUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNpZ25hdHVyZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXNpZ25hdHVyZS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwic2lnbmF0dXJlXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNpZ25hdHVyZS0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNpZ25hdHVyZS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNpZ25hdHVyZS0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb25maWd1cmF0aW9uXG5AbWl4aW4ga2VuZG8tdGhlbWUtLWNvbmZpZyggJGNvbmZpZzogbnVsbCApIHtcbn1cblxuXG4vLyBTdHlsZXNcbkBtaXhpbiBrZW5kby10aGVtZS0tc3R5bGVzKCkge1xuICAgIC8vIENvcmVcbiAgICBAaW5jbHVkZSBrZW5kby1jb3JlLS1zdHlsZXMoKTtcblxuICAgIC8vIENvbG9yIHN5c3RlbVxuXG4gICAgLy8gVHlwb2dyYXBoeSBhbmQgdXRpbHNcbiAgICBAaW5jbHVkZSBrZW5kby10eXBvZ3JhcGh5LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tc3R5bGVzKCk7XG5cblxuICAgIC8vIEdlbmVyaWMgY29udGVudFxuICAgIEBpbmNsdWRlIGtlbmRvLWljb24tLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lc3NhZ2Vib3gtLXN0eWxlcygpO1xuXG5cbiAgICAvLyBQcmltaXRpdmUgY29tcG9uZW50c1xuICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbnMtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3QtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rncm91cC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tb3ZlcmxheS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tcG9wdXAtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXJpcHBsZS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdGFibGUtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLXN0eWxlcygpO1xuXG5cbiAgICAvLyBJbmRpY2F0b3JzXG4gICAgQGluY2x1ZGUga2VuZG8tYXZhdGFyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1iYWRnZS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hpcC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcHJldmlldy0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tbG9hZGVyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1za2VsZXRvbi0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdG9vbHRpcC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1tYXJrZXItLXN0eWxlcygpO1xuXG5cbiAgICAvLyBGb3JtIGhlbHBlcnNcbiAgICBAaW5jbHVkZSBrZW5kby1mb3JtLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby12YWxpZGF0b3ItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWZsb2F0aW5nLWxhYmVsLS1zdHlsZXMoKTtcblxuXG4gICAgLy8gTmF0aXZlIGZvcm1zXG4gICAgQGluY2x1ZGUga2VuZG8tYnV0dG9uLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1zcGxpdC1idXR0b24tLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lbnUtYnV0dG9uLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1pbnB1dC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdGV4dGJveC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdGV4dGFyZWEtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNoZWNrYm94LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0Ym94LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1wcm9ncmVzc2Jhci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tcmFkaW8tLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXNsaWRlci0tc3R5bGVzKCk7XG5cblxuICAgIC8vIEZvcm0gcmVxdWlyZW1lbnRzXG4gICAgQGluY2x1ZGUga2VuZG8tY2FsZW5kYXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtc2VsZWN0b3ItLXN0eWxlcygpO1xuXG5cbiAgICAvLyBBdWdtZW50ZWQgZm9ybXNcbiAgICBAaW5jbHVkZSBrZW5kby1hdXRvY29tcGxldGUtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNhcHRjaGEtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLXBhbGV0dGUtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLWdyYWRpZW50LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1lZGl0b3ItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLXBpY2tlci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY29tYm9ib3gtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtaW5wdXQtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcGlja2VyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLXBpY2tlci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1kdXJhdGlvbi1waWNrZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtdGltZS1waWNrZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcmFuZ2UtcGlja2VyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1ncmlkLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1saXN0LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi10cmVlLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1tYXNrZWQtdGV4dGJveC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tbXVsdGlzZWxlY3QtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLW51bWVyaWMtdGV4dGJveC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tcmF0aW5nLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1zZWFyY2hib3gtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXN3aXRjaC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXBsb2FkLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wem9uZS0tc3R5bGVzKCk7XG5cblxuICAgIC8vIENvbW1hbmQgaW50ZXJmYWNlc1xuICAgIEBpbmNsdWRlIGtlbmRvLWFwcGJhci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZmFiLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1tZW51LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby10b29sYmFyLS1zdHlsZXMoKTtcblxuXG4gICAgLy8gUG9wdXBzIGFuZCBtb2RhbHNcbiAgICBAaW5jbHVkZSBrZW5kby13aW5kb3ctLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbi1zaGVldC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZGlhbG9nLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1kcmF3ZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLW5vdGlmaWNhdGlvbi0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tcG9wb3Zlci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tcmVzcG9uc2l2ZS1wYW5lbC0tc3R5bGVzKCk7XG5cblxuICAgIC8vIE5hdmlnYXRpb25cbiAgICBAaW5jbHVkZSBrZW5kby1ib3R0b20tbmF2aWdhdGlvbi0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tYnJlYWRjcnVtYi0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tcGFnZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXN0ZXBwZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXRhYnN0cmlwLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby10cmVldmlldy0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8td2l6YXJkLS1zdHlsZXMoKTtcblxuXG4gICAgLy8gTGF5b3V0ICYgY29udGFpbmVyc1xuICAgIEBpbmNsdWRlIGtlbmRvLWNhcmQtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWV4cGFuZGVyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1wYW5lbGJhci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tc3BsaXR0ZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbGUtbGF5b3V0LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1kb2NrLW1hbmFnZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNoYXJ0LXdpemFyZC0tc3R5bGVzKCk7XG5cblxuICAgIC8vIERhdGEgbWFuYWdlbWVudFxuICAgIEBpbmNsdWRlIGtlbmRvLWdyaWQtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3R2aWV3LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1zcHJlYWRzaGVldC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tcGl2b3RncmlkLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby10cmVlbGlzdC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZmlsdGVyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1maWxlLW1hbmFnZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXRhc2stYm9hcmQtLXN0eWxlcygpO1xuXG5cbiAgICAvLyBFZGl0b3JzXG4gICAgQGluY2x1ZGUga2VuZG8tZWRpdG9yLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1pbWFnZS1lZGl0b3ItLXN0eWxlcygpO1xuXG5cbiAgICAvLyBTY2hlZHVsaW5nXG4gICAgQGluY2x1ZGUga2VuZG8tZ2FudHQtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXNjaGVkdWxlci0tc3R5bGVzKCk7XG5cblxuICAgIC8vIE1pc2NcbiAgICBAaW5jbHVkZSBrZW5kby1hZGFwdGl2ZS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hhdC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVkaWEtcGxheWVyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lbGluZS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tcGRmLXZpZXdlci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tc2Nyb2xsZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXNjcm9sbHZpZXctLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXByb21wdC0tc3R5bGVzKCk7XG5cblxuICAgIC8vIERhdGF2aXpcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRhdml6LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1tYXAtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLW9yZ2NoYXJ0LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1zaWduYXR1cmUtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQGlmIG5vdCAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRoZW1lLS1jb25maWcoKTtcbiAgICBAaW5jbHVkZSBrZW5kby10aGVtZS0tc3R5bGVzKCk7XG59XG4iLCJAaW1wb3J0IFwiLi9jb3JlL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1wiO1xuXG4vLyBPcHRpb25zXG4ka2VuZG8tZW5hYmxlLXJvdW5kZWQ6IHRydWUgIWRlZmF1bHQ7XG4ka2VuZG8tZW5hYmxlLXNoYWRvd3M6IHRydWUgIWRlZmF1bHQ7XG4ka2VuZG8tZW5hYmxlLWdyYWRpZW50czogZmFsc2UgIWRlZmF1bHQ7XG4ka2VuZG8tZW5hYmxlLXRyYW5zaXRpb25zOiB0cnVlICFkZWZhdWx0O1xuJGtlbmRvLWVuYWJsZS1mb2N1cy1jb250cmFzdDogZmFsc2UgIWRlZmF1bHQ7XG4ka2VuZG8tZW5hYmxlLXR5cG9ncmFwaHk6IGZhbHNlICFkZWZhdWx0O1xuXG4ka2VuZG8tdXNlLWlucHV0LWJ1dHRvbi13aWR0aDogZmFsc2UgIWRlZmF1bHQ7XG4ka2VuZG8tdXNlLWlucHV0LXNwaW5uZXItd2lkdGg6IGZhbHNlICFkZWZhdWx0O1xuJGtlbmRvLXVzZS1pbnB1dC1zcGlubmVyLWljb24tb2Zmc2V0OiBmYWxzZSAhZGVmYXVsdDtcblxuJGtlbmRvLWF1dG8tYm9vdHN0cmFwOiB0cnVlICFkZWZhdWx0O1xuXG4ka2VuZG8tbmVzdGVkLWRpc2FibGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBTaGFkb3dzXG5cbi8vLyBTaGFkb3cgZm9yIHN3aXRjaC5cbi8vLyBFcXVpdmFsZW50IHRvIG1hdGVyaWFsIGVsZXZhdGlvbiAxLlxuLy8vIEBncm91cCBzaGFkb3dzXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIHRoZSBgJGtlbmRvLWVsZXZhdGlvbmAgbWFwIGluc3RlYWQuXG4kYm94LXNoYWRvdy1kZXB0aC0xOiBrLWVsZXZhdGlvbigxKSAhZGVmYXVsdDtcbi8vLyBTaGFkb3cgZm9yIHJlc3Rpbmcgc3RhdGUgb2YgYnV0dG9uLCBjYXJkIGFuZCBvdGhlciB3aWRnZXRzLlxuLy8vIEVxdWl2YWxlbnQgdG8gbWF0ZXJpYWwgZWxldmF0aW9uIDIuXG4vLy8gQGdyb3VwIHNoYWRvd3Ncbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIGAka2VuZG8tZWxldmF0aW9uYCBtYXAgaW5zdGVhZC5cbiRib3gtc2hhZG93LWRlcHRoLTI6IGstZWxldmF0aW9uKDIpICFkZWZhdWx0O1xuLy8vIFNoYWRvdyBmb3IgbWVudSwgcG9wdXBzIGFuZCByYWlzZWQgc3RhdGUgb2YgYnV0dG9uIGFuZCBjYXJkLlxuLy8vIEVxdWl2YWxlbnQgdG8gbWF0ZXJpYWwgZWxldmF0aW9uIDMuXG4vLy8gQGdyb3VwIHNoYWRvd3Ncbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIGAka2VuZG8tZWxldmF0aW9uYCBtYXAgaW5zdGVhZC5cbiRib3gtc2hhZG93LWRlcHRoLTM6IGstZWxldmF0aW9uKDMpICFkZWZhdWx0O1xuLy8vIFNoYWRvdyBmb3IgZHJhd2VycyBhbmQgb3RoZXIgb3ZlcmxheWluZyBlbGVtZW50cy5cbi8vLyBFcXVpdmFsZW50IHRvIG1hdGVyaWFsIGVsZXZhdGlvbiA0LlxuLy8vIEBncm91cCBzaGFkb3dzXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIHRoZSBgJGtlbmRvLWVsZXZhdGlvbmAgbWFwIGluc3RlYWQuXG4kYm94LXNoYWRvdy1kZXB0aC00OiBrLWVsZXZhdGlvbig0KSAhZGVmYXVsdDtcbi8vLyBTaGFkb3cgZm9yIHdpbmRvdyBhbmQgZGlhbG9nLlxuLy8vIEVxdWl2YWxlbnQgdG8gbWF0ZXJpYWwgZWxldmF0aW9uIDYuXG4vLy8gQGdyb3VwIHNoYWRvd3Ncbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIGAka2VuZG8tZWxldmF0aW9uYCBtYXAgaW5zdGVhZC5cbiRib3gtc2hhZG93LWRlcHRoLTU6IGstZWxldmF0aW9uKDUpICFkZWZhdWx0O1xuLy8vIFNoYWRvdyBmb3Igd2luZG93IGFuZCBkaWFsb2cuXG4vLy8gRXF1aXZhbGVudCB0byBtYXRlcmlhbCBlbGV2YXRpb24gOC5cbi8vLyBAZ3JvdXAgc2hhZG93c1xuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgYCRrZW5kby1lbGV2YXRpb25gIG1hcCBpbnN0ZWFkLlxuJGJveC1zaGFkb3ctZGVwdGgtNjogay1lbGV2YXRpb24oNikgIWRlZmF1bHQ7XG4vLy8gU2hhZG93IGZvciB3aW5kb3cgYW5kIGRpYWxvZy5cbi8vLyBFcXVpdmFsZW50IHRvIG1hdGVyaWFsIGVsZXZhdGlvbiAxMi5cbi8vLyBAZ3JvdXAgc2hhZG93c1xuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgYCRrZW5kby1lbGV2YXRpb25gIG1hcCBpbnN0ZWFkLlxuJGJveC1zaGFkb3ctZGVwdGgtNzogay1lbGV2YXRpb24oNykgIWRlZmF1bHQ7XG4vLy8gU2hhZG93IGZvciB3aW5kb3cgYW5kIGRpYWxvZy5cbi8vLyBFcXVpdmFsZW50IHRvIG1hdGVyaWFsIGVsZXZhdGlvbiAxNi5cbi8vLyBAZ3JvdXAgc2hhZG93c1xuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgYCRrZW5kby1lbGV2YXRpb25gIG1hcCBpbnN0ZWFkLlxuJGJveC1zaGFkb3ctZGVwdGgtODogay1lbGV2YXRpb24oOCkgIWRlZmF1bHQ7XG4vLy8gU2hhZG93IGZvciB3aW5kb3cgYW5kIGRpYWxvZy5cbi8vLyBFcXVpdmFsZW50IHRvIG1hdGVyaWFsIGVsZXZhdGlvbiAyNC5cbi8vLyBAZ3JvdXAgc2hhZG93c1xuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgYCRrZW5kby1lbGV2YXRpb25gIG1hcCBpbnN0ZWFkLlxuJGJveC1zaGFkb3ctZGVwdGgtOTogay1lbGV2YXRpb24oOSkgIWRlZmF1bHQ7XG5cblxuLy8gSWNvbnNcbiRrZW5kby1pY29uLXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbiRrZW5kby1pY29uLXNpemUteHM6IGNhbGMoICN7JGtlbmRvLWljb24tc2l6ZX0gKiAuNzUgKSAhZGVmYXVsdDtcbiRrZW5kby1pY29uLXNpemUtc206IGNhbGMoICN7JGtlbmRvLWljb24tc2l6ZX0gKiAuODc1ICkgIWRlZmF1bHQ7XG4ka2VuZG8taWNvbi1zaXplLW1kOiAka2VuZG8taWNvbi1zaXplICFkZWZhdWx0O1xuJGtlbmRvLWljb24tc2l6ZS1sZzogY2FsYyggI3ska2VuZG8taWNvbi1zaXplfSAqIDEuMjUgKSAhZGVmYXVsdDtcbiRrZW5kby1pY29uLXNpemUteGw6IGNhbGMoICN7JGtlbmRvLWljb24tc2l6ZX0gKiAxLjUgKSAhZGVmYXVsdDtcbiRrZW5kby1pY29uLXNpemUteHhsOiBjYWxjKCAjeyRrZW5kby1pY29uLXNpemV9ICogMiApICFkZWZhdWx0O1xuJGtlbmRvLWljb24tc2l6ZS14eHhsOiBjYWxjKCAjeyRrZW5kby1pY29uLXNpemV9ICogMyApICFkZWZhdWx0O1xuXG4ka2VuZG8temluZGV4LXBvcHVwOiAxICFkZWZhdWx0O1xuJGtlbmRvLXppbmRleC13aW5kb3c6IDIgIWRlZmF1bHQ7XG5cbiRrZW5kby10cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjJzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiIsIi8qKiBBZGQgU1ZHIEljb25zIFN0eWxpbmcgKiovXG5AbWl4aW4gaWNvbigkd2lkdGgsICRoZWlnaHQsICRzdmcpIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiB1cmwoJHN2Zyk7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cbn1cbi8qKiBSZWdpc3RlciBTVkcgSWNvbnMgKiovXG5AbWl4aW4gcmVnaXN0ZXJJY29uKCRuYW1lLCAkd2lkdGgsICRoZWlnaHQsICRzdmcpIHtcbiAgLnNpcy1pY28tI3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGljb24oJHdpZHRoLCAkaGVpZ2h0LCAkc3ZnKTtcbiAgfVxufVxuXG4vKiogQmFkZ2UgQ29sb3IgTWl4aW5nICoqL1xuQG1peGluIGJhZGdlQ29sb3IoJGN1cnJlbnRTdGF0dXMsICRuZXh0U3RhdHVzLCAkY3VycmVudENvbG9yLCAkbmV4dENvbG9yKSB7XG4gICYuI3skY3VycmVudFN0YXR1c30tI3skbmV4dFN0YXR1c30ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50XG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjdXJyZW50Q29sb3IgMTQlLCAkbmV4dENvbG9yIDI4JSk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL2Fic3RyYWN0cy9taXhpbnMnO1xuJGdhdWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgYXJpYS1oaWRkZW49J3RydWUnIGZvY3VzYWJsZT0nZmFsc2UnIGRhdGEtcHJlZml4PSdmYXMnIGRhdGEtaWNvbj0nZ2F1Z2UnIGNsYXNzPSdzdmctaW5saW5lLS1mYSBmYS1nYXVnZSAnIHJvbGU9J2ltZycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM0UlM0NwYXRoIGZpbGw9J2N1cnJlbnRDb2xvcicgZD0nTTUxMiAyNTZDNTEyIDM5Ny40IDM5Ny40IDUxMiAyNTYgNTEyQzExNC42IDUxMiAwIDM5Ny40IDAgMjU2QzAgMTE0LjYgMTE0LjYgMCAyNTYgMEMzOTcuNCAwIDUxMiAxMTQuNiA1MTIgMjU2ek0yODAgMjkyLjdWODhDMjgwIDc0Ljc1IDI2OS4zIDY0IDI1NiA2NEMyNDIuNyA2NCAyMzIgNzQuNzUgMjMyIDg4VjI5Mi43QzIwOC41IDMwMi4xIDE5MiAzMjUuMSAxOTIgMzUyQzE5MiAzODcuMyAyMjAuNyA0MTYgMjU2IDQxNkMyOTEuMyA0MTYgMzIwIDM4Ny4zIDMyMCAzNTJDMzIwIDMyNS4xIDMwMy41IDMwMi4xIDI4MCAyOTIuN3pNMTQ0IDE3NkMxNjEuNyAxNzYgMTc2IDE2MS43IDE3NiAxNDRDMTc2IDEyNi4zIDE2MS43IDExMiAxNDQgMTEyQzEyNi4zIDExMiAxMTIgMTI2LjMgMTEyIDE0NEMxMTIgMTYxLjcgMTI2LjMgMTc2IDE0NCAxNzZ6TTk2IDIyNEM3OC4zMyAyMjQgNjQgMjM4LjMgNjQgMjU2QzY0IDI3My43IDc4LjMzIDI4OCA5NiAyODhDMTEzLjcgMjg4IDEyOCAyNzMuNyAxMjggMjU2QzEyOCAyMzguMyAxMTMuNyAyMjQgOTYgMjI0ek00MTYgMjg4QzQzMy43IDI4OCA0NDggMjczLjcgNDQ4IDI1NkM0NDggMjM4LjMgNDMzLjcgMjI0IDQxNiAyMjRDMzk4LjMgMjI0IDM4NCAyMzguMyAzODQgMjU2QzM4NCAyNzMuNyAzOTguMyAyODggNDE2IDI4OHpNMzY4IDExMkMzNTAuMyAxMTIgMzM2IDEyNi4zIDMzNiAxNDRDMzM2IDE2MS43IDM1MC4zIDE3NiAzNjggMTc2QzM4NS43IDE3NiA0MDAgMTYxLjcgNDAwIDE0NEM0MDAgMTI2LjMgMzg1LjcgMTEyIDM2OCAxMTJ6JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRVwiO1xuJHR1bmU6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBpZD0ndHVuZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGlkPSdQYXRoXzMxJyBkYXRhLW5hbWU9J1BhdGggMzEnIGQ9J00wLDBIMjRWMjRIMFonIGZpbGw9J25vbmUnLyUzRSUzQ3BhdGggaWQ9J1BhdGhfMzInIGRhdGEtbmFtZT0nUGF0aCAzMicgZD0nTTMsMTd2Mkg5VjE3Wk0zLDVWN0gxM1Y1Wk0xMywyMVYxOWg4VjE3SDEzVjE1SDExdjZaTTcsOXYySDN2Mkg3djJIOVY5Wm0xNCw0VjExSDExdjJaTTE1LDloMlY3aDRWNUgxN1YzSDE1WicgZmlsbD0nJTIzMzYzNjM2Jy8lM0UlM0Mvc3ZnJTNFJTBBXCI7XG4kZGFzaGJvYXJkOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgaWQ9J2Rhc2hib2FyZF9ibGFja18yNGRwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggaWQ9J1BhdGhfNDEnIGRhdGEtbmFtZT0nUGF0aCA0MScgZD0nTTAsMEgyNFYyNEgwWicgZmlsbD0nbm9uZScvJTNFJTNDcGF0aCBpZD0nUGF0aF80MicgZGF0YS1uYW1lPSdQYXRoIDQyJyBkPSdNMywxM2g4VjNIM1ptMCw4aDhWMTVIM1ptMTAsMGg4VjExSDEzWk0xMywzVjloOFYzWicgZmlsbD0nJTIzMzYzNjM2Jy8lM0UlM0Mvc3ZnJTNFJTBBXCI7XG4kcmVxdWlzaXRpb246IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ2cgaWQ9J21vdmVfZG93bl9ibGFja18yNGRwJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgyNCAyNCkgcm90YXRlKDE4MCknJTNFJTNDZyBpZD0nR3JvdXBfMTQnIGRhdGEtbmFtZT0nR3JvdXAgMTQnJTNFJTNDcmVjdCBpZD0nUmVjdGFuZ2xlXzE2JyBkYXRhLW5hbWU9J1JlY3RhbmdsZSAxNicgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJy8lM0UlM0MvZyUzRSUzQ2cgaWQ9J0dyb3VwXzE2JyBkYXRhLW5hbWU9J0dyb3VwIDE2JyUzRSUzQ2cgaWQ9J0dyb3VwXzE1JyBkYXRhLW5hbWU9J0dyb3VwIDE1JyUzRSUzQ3BhdGggaWQ9J1BhdGhfMTAnIGRhdGEtbmFtZT0nUGF0aCAxMCcgZD0nTTMsMTFhNSw1LDAsMCwwLDQuMDgsNC45MUw1LjU5LDE0LjQyLDcsMTNsNCw0LjAxTDcsMjEsNS41OSwxOS41OWwxLjU4LTEuNTh2LS4wNkE3LDcsMCwwLDEsOCw0aDNWNkg4QTUsNSwwLDAsMCwzLDExWicgZmlsbD0nJTIzMzYzNjM2Jy8lM0UlM0NwYXRoIGlkPSdQYXRoXzExJyBkYXRhLW5hbWU9J1BhdGggMTEnIGQ9J00yMiwxMVY0SDEzdjdaTTIwLDlIMTVWNmg1WicgZmlsbD0nJTIzMzYzNjM2Jy8lM0UlM0NyZWN0IGlkPSdSZWN0YW5nbGVfMTcnIGRhdGEtbmFtZT0nUmVjdGFuZ2xlIDE3JyB3aWR0aD0nOScgaGVpZ2h0PSc3JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxMyAxMyknIGZpbGw9JyUyMzM2MzYzNicvJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSUwQVwiO1xuJHdvcms6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBpZD0nd29ya19vdXRsaW5lJyBkYXRhLW5hbWU9J3dvcmsgb3V0bGluZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGlkPSdQYXRoXzQzJyBkYXRhLW5hbWU9J1BhdGggNDMnIGQ9J00wLDBIMjRWMjRIMFonIGZpbGw9J25vbmUnLyUzRSUzQ3BhdGggaWQ9J1BhdGhfNDQnIGRhdGEtbmFtZT0nUGF0aCA0NCcgZD0nTTE0LDZWNEgxMFY2Wk00LDhWMTlIMjBWOFpNMjAsNmExLjk5MywxLjk5MywwLDAsMSwyLDJWMTlhMS45OTMsMS45OTMsMCwwLDEtMiwySDRhMS45OTMsMS45OTMsMCwwLDEtMi0yTDIuMDEsOEExLjk4NSwxLjk4NSwwLDAsMSw0LDZIOFY0YTEuOTkzLDEuOTkzLDAsMCwxLDItMmg0YTEuOTkzLDEuOTkzLDAsMCwxLDIsMlY2WicgZmlsbD0nJTIzMzYzNjM2Jy8lM0UlM0Mvc3ZnJTNFJTBBXCI7XG4kbm90aWZpY2F0aW9ucy1kYXJrOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgaWQ9J25vdGlmaWNhdGlvbnMnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyB2aWV3Qm94PScwIDAgMzIgMzInJTNFJTNDcGF0aCBpZD0nUGF0aF8zNTY2JyBkYXRhLW5hbWU9J1BhdGggMzU2NicgZD0nTTAsMEgzMlYzMkgwWicgZmlsbD0nbm9uZScvJTNFJTNDcGF0aCBpZD0nUGF0aF8zNTY3JyBkYXRhLW5hbWU9J1BhdGggMzU2NycgZD0nTTE0LjU0NCwyOC4zNjJhMi42NTIsMi42NTIsMCwwLDAsMi42MzYtMi42NTNIMTEuOTA4QTIuNjUyLDIuNjUyLDAsMCwwLDE0LjU0NCwyOC4zNjJaTTIyLjQ1MywyMC40VjEzLjc3M2MwLTQuMDcyLTIuMTQ4LTcuNDgtNS45MzEtOC4zODJ2LS45YTEuOTc3LDEuOTc3LDAsMSwwLTMuOTU0LDB2LjljLTMuNzcuOS01LjkzMSw0LjMtNS45MzEsOC4zODJWMjAuNEw0LDIzLjA1N3YxLjMyNkgyNS4wODlWMjMuMDU3Wm0tMi42MzYsMS4zMjZIOS4yNzJWMTMuNzczYzAtMy4yODksMS45OS01Ljk2OCw1LjI3Mi01Ljk2OHM1LjI3MiwyLjY3OSw1LjI3Miw1Ljk2OFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDEuNDU2IDAuOTEpJy8lM0UlM0Mvc3ZnJTNFJTBBXCI7XG4kbm90aWZpY2F0aW9uczogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIGlkPSdub3RpZmljYXRpb25zX3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMicgaGVpZ2h0PSczMicgdmlld0JveD0nMCAwIDMyIDMyJyUzRSUzQ3BhdGggaWQ9J1BhdGhfMjI1JyBkYXRhLW5hbWU9J1BhdGggMjI1JyBkPSdNMCwwSDM4VjM4SDBaJyBmaWxsPSdub25lJy8lM0UlM0NwYXRoIGlkPSdQYXRoXzIyNicgZGF0YS1uYW1lPSdQYXRoIDIyNicgZD0nTTE2LjY2NywzMy4zNzVhMy4xNzYsMy4xNzYsMCwwLDAsMy4xNjctMy4xNjdIMTMuNUEzLjE3NiwzLjE3NiwwLDAsMCwxNi42NjcsMzMuMzc1Wm05LjUtOS41VjE1Ljk1OGMwLTQuODYxLTIuNTgxLTguOTMtNy4xMjUtMTAuMDA3VjQuODc1YTIuMzc1LDIuMzc1LDAsMCwwLTQuNzUsMFY1Ljk1MmMtNC41MjgsMS4wNzctNy4xMjUsNS4xMy03LjEyNSwxMC4wMDd2Ny45MTdMNCwyNy4wNDJ2MS41ODNIMjkuMzMzVjI3LjA0MlpNMjMsMjUuNDU4SDEwLjMzM3YtOS41YzAtMy45MjcsMi4zOTEtNy4xMjUsNi4zMzMtNy4xMjVTMjMsMTIuMDMyLDIzLDE1Ljk1OFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDIuMzMzIDEuNDU4KScgZmlsbD0nJTIzZmZmJy8lM0UlM0Mvc3ZnJTNFJTBBXCI7XG4kdXNlcjogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgaGVpZ2h0PScyNHB4JyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPScyNHB4JyBmaWxsPSclMjMwMDAwMDAnJTNFJTNDcGF0aCBkPSdNMCAwaDI0djI0SDBWMHonIGZpbGw9J25vbmUnLyUzRSUzQ3BhdGggZD0nTTEyIDZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyLTItLjktMi0yIC45LTIgMi0ybTAgMTBjMi43IDAgNS44IDEuMjkgNiAySDZjLjIzLS43MiAzLjMxLTIgNi0ybTAtMTJDOS43OSA0IDggNS43OSA4IDhzMS43OSA0IDQgNCA0LTEuNzkgNC00LTEuNzktNC00LTR6bTAgMTBjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Jy8lM0UlM0Mvc3ZnJTNFXCI7XG4kd2lmaS1kYXJrOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyB2aWV3Qm94PScwIDAgMzIgMzInJTNFJTNDZGVmcyUzRSUzQ2NsaXBQYXRoIGlkPSdjbGlwLXBhdGgnJTNFJTNDcmVjdCBpZD0nUmVjdGFuZ2xlXzIwMycgZGF0YS1uYW1lPSdSZWN0YW5nbGUgMjAzJyB3aWR0aD0nMzAnIGhlaWdodD0nMjEuMjA4JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPSclMjMzMzk5MzMnLyUzRSUzQy9jbGlwUGF0aCUzRSUzQ2NsaXBQYXRoIGlkPSdjbGlwLUFydGJvYXJkXzInJTNFJTNDcmVjdCB3aWR0aD0nMzInIGhlaWdodD0nMzInLyUzRSUzQy9jbGlwUGF0aCUzRSUzQy9kZWZzJTNFJTNDZyBpZD0nQXJ0Ym9hcmRfMicgZGF0YS1uYW1lPSdBcnRib2FyZCDigJMgMicgY2xpcC1wYXRoPSd1cmwoJTIzY2xpcC1BcnRib2FyZF8yKSclM0UlM0NnIGlkPSdHcm91cF80NzUnIGRhdGEtbmFtZT0nR3JvdXAgNDc1JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxIDUpJyUzRSUzQ2cgaWQ9J0dyb3VwXzQ3NCcgZGF0YS1uYW1lPSdHcm91cCA0NzQnIGNsaXAtcGF0aD0ndXJsKCUyM2NsaXAtcGF0aCknJTNFJTNDcGF0aCBpZD0nUGF0aF8yMTYnIGRhdGEtbmFtZT0nUGF0aCAyMTYnIGQ9J00wLDYuMjA4LDIuNzI3LDguOTM1YTE3LjM1OSwxNy4zNTksMCwwLDEsMjQuNTQ2LDBMMzAsNi4yMDhhMjEuMjI2LDIxLjIyNiwwLDAsMC0zMCwwJyBmaWxsPSclMjMzMzk5MzMnLyUzRSUzQ3BhdGggaWQ9J1BhdGhfMjE3JyBkYXRhLW5hbWU9J1BhdGggMjE3JyBkPSdNMTAuOTA5LDE3LjExNywxNSwyMS4yMDhsNC4wOTEtNC4wOTFhNS43NzcsNS43NzcsMCwwLDAtOC4xODIsMCcgZmlsbD0nJTIzMzM5OTMzJy8lM0UlM0NwYXRoIGlkPSdQYXRoXzIxOCcgZGF0YS1uYW1lPSdQYXRoIDIxOCcgZD0nTTUuNDU1LDExLjY2MmwyLjcyNiwyLjcyN2E5LjY0OSw5LjY0OSwwLDAsMSwxMy42MzgsMGwyLjcyNi0yLjcyN2ExMy41MTIsMTMuNTEyLDAsMCwwLTE5LjA5LDAnIGZpbGw9JyUyMzMzOTkzMycvJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSUwQVwiO1xuJG5vd2lmaS1kYXJrOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyB2aWV3Qm94PScwIDAgMzIgMzInJTNFJTNDZGVmcyUzRSUzQ2NsaXBQYXRoIGlkPSdjbGlwLUFydGJvYXJkXzMnJTNFJTNDcmVjdCB3aWR0aD0nMzInIGhlaWdodD0nMzInLyUzRSUzQy9jbGlwUGF0aCUzRSUzQy9kZWZzJTNFJTNDZyBpZD0nQXJ0Ym9hcmRfMycgZGF0YS1uYW1lPSdBcnRib2FyZCDigJMgMycgY2xpcC1wYXRoPSd1cmwoJTIzY2xpcC1BcnRib2FyZF8zKSclM0UlM0NnIGlkPSd3aWZpX29mZl9ibGFja18yNGRwJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxIDEpJyUzRSUzQ3BhdGggaWQ9J1BhdGhfMjE5JyBkYXRhLW5hbWU9J1BhdGggMjE5JyBkPSdNMCwwSDMwVjMwSDBaJyBmaWxsPSdub25lJy8lM0UlM0NwYXRoIGlkPSdQYXRoXzIyMCcgZGF0YS1uYW1lPSdQYXRoIDIyMCcgZD0nTTI2LDEzLjM0bDIuNS0yLjVBMTkuNDIyLDE5LjQyMiwwLDAsMCwxMS4zNzUsNS40NTNMMTQuNiw4LjY3N0ExNS45MzMsMTUuOTMzLDAsMCwxLDI2LDEzLjM0Wm0tMi41LDIuNWExMi4zNjksMTIuMzY5LDAsMCwwLTQuNjUtMi45MTNMMjIuNjI1LDE2LjdsLjg3NS0uODYyWm0tMTIuNSw1LDMuNzUsMy43NSwzLjc1LTMuNzVBNS4zLDUuMywwLDAsMCwxMSwyMC44NFpNNC4wMTMsMS42NCwyLjI1LDMuNCw2LjA2Myw3LjIxNUExOS42MjgsMTkuNjI4LDAsMCwwLDEsMTAuODRsMi41LDIuNUExNS44MTEsMTUuODExLDAsMCwxLDguNzEyLDkuODY1bDIuOCwyLjhBMTIuMjc5LDEyLjI3OSwwLDAsMCw2LDE1Ljg0bDIuNSwyLjVhOC43NDgsOC43NDgsMCwwLDEsNi4xMTItMi41NzVsOC44NSw4Ljg1LDEuNzYyLTEuNzYzWicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMC4yNSAwLjQxKScgZmlsbD0nJTIzQ0MwMDAwJy8lM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSUwQVwiO1xuJHdpZmktbGlnaHQ6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB3aWR0aD0nMzInIGhlaWdodD0nMzInIHZpZXdCb3g9JzAgMCAzMiAzMiclM0UlM0NkZWZzJTNFJTNDY2xpcFBhdGggaWQ9J2NsaXAtcGF0aCclM0UlM0NyZWN0IGlkPSdSZWN0YW5nbGVfMjAzJyBkYXRhLW5hbWU9J1JlY3RhbmdsZSAyMDMnIHdpZHRoPSczMCcgaGVpZ2h0PScyMS4yMDgnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyUyMzMzOTkzMycvJTNFJTNDL2NsaXBQYXRoJTNFJTNDY2xpcFBhdGggaWQ9J2NsaXAtQXJ0Ym9hcmRfMiclM0UlM0NyZWN0IHdpZHRoPSczMicgaGVpZ2h0PSczMicvJTNFJTNDL2NsaXBQYXRoJTNFJTNDL2RlZnMlM0UlM0NnIGlkPSdBcnRib2FyZF8yJyBkYXRhLW5hbWU9J0FydGJvYXJkIOKAkyAyJyBjbGlwLXBhdGg9J3VybCglMjNjbGlwLUFydGJvYXJkXzIpJyUzRSUzQ2cgaWQ9J0dyb3VwXzQ3NScgZGF0YS1uYW1lPSdHcm91cCA0NzUnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDEgNSknJTNFJTNDZyBpZD0nR3JvdXBfNDc0JyBkYXRhLW5hbWU9J0dyb3VwIDQ3NCcgY2xpcC1wYXRoPSd1cmwoJTIzY2xpcC1wYXRoKSclM0UlM0NwYXRoIGlkPSdQYXRoXzIxNicgZGF0YS1uYW1lPSdQYXRoIDIxNicgZD0nTTAsNi4yMDgsMi43MjcsOC45MzVhMTcuMzU5LDE3LjM1OSwwLDAsMSwyNC41NDYsMEwzMCw2LjIwOGEyMS4yMjYsMjEuMjI2LDAsMCwwLTMwLDAnIGZpbGw9JyUyMzMzOTkzMycvJTNFJTNDcGF0aCBpZD0nUGF0aF8yMTcnIGRhdGEtbmFtZT0nUGF0aCAyMTcnIGQ9J00xMC45MDksMTcuMTE3LDE1LDIxLjIwOGw0LjA5MS00LjA5MWE1Ljc3Nyw1Ljc3NywwLDAsMC04LjE4MiwwJyBmaWxsPSclMjMzMzk5MzMnLyUzRSUzQ3BhdGggaWQ9J1BhdGhfMjE4JyBkYXRhLW5hbWU9J1BhdGggMjE4JyBkPSdNNS40NTUsMTEuNjYybDIuNzI2LDIuNzI3YTkuNjQ5LDkuNjQ5LDAsMCwxLDEzLjYzOCwwbDIuNzI2LTIuNzI3YTEzLjUxMiwxMy41MTIsMCwwLDAtMTkuMDksMCcgZmlsbD0nJTIzMzM5OTMzJy8lM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFJTBBXCI7XG4kbm93aWZpLWxpZ2h0OiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyB2aWV3Qm94PScwIDAgMzIgMzInJTNFJTNDZGVmcyUzRSUzQ2NsaXBQYXRoIGlkPSdjbGlwLUFydGJvYXJkXzMnJTNFJTNDcmVjdCB3aWR0aD0nMzInIGhlaWdodD0nMzInLyUzRSUzQy9jbGlwUGF0aCUzRSUzQy9kZWZzJTNFJTNDZyBpZD0nQXJ0Ym9hcmRfMycgZGF0YS1uYW1lPSdBcnRib2FyZCDigJMgMycgY2xpcC1wYXRoPSd1cmwoJTIzY2xpcC1BcnRib2FyZF8zKSclM0UlM0NnIGlkPSd3aWZpX29mZl9ibGFja18yNGRwJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxIDEpJyUzRSUzQ3BhdGggaWQ9J1BhdGhfMjE5JyBkYXRhLW5hbWU9J1BhdGggMjE5JyBkPSdNMCwwSDMwVjMwSDBaJyBmaWxsPSdub25lJy8lM0UlM0NwYXRoIGlkPSdQYXRoXzIyMCcgZGF0YS1uYW1lPSdQYXRoIDIyMCcgZD0nTTI2LDEzLjM0bDIuNS0yLjVBMTkuNDIyLDE5LjQyMiwwLDAsMCwxMS4zNzUsNS40NTNMMTQuNiw4LjY3N0ExNS45MzMsMTUuOTMzLDAsMCwxLDI2LDEzLjM0Wm0tMi41LDIuNWExMi4zNjksMTIuMzY5LDAsMCwwLTQuNjUtMi45MTNMMjIuNjI1LDE2LjdsLjg3NS0uODYyWm0tMTIuNSw1LDMuNzUsMy43NSwzLjc1LTMuNzVBNS4zLDUuMywwLDAsMCwxMSwyMC44NFpNNC4wMTMsMS42NCwyLjI1LDMuNCw2LjA2Myw3LjIxNUExOS42MjgsMTkuNjI4LDAsMCwwLDEsMTAuODRsMi41LDIuNUExNS44MTEsMTUuODExLDAsMCwxLDguNzEyLDkuODY1bDIuOCwyLjhBMTIuMjc5LDEyLjI3OSwwLDAsMCw2LDE1Ljg0bDIuNSwyLjVhOC43NDgsOC43NDgsMCwwLDEsNi4xMTItMi41NzVsOC44NSw4Ljg1LDEuNzYyLTEuNzYzWicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMC4yNSAwLjQxKScgZmlsbD0nJTIzQ0MwMDAwJy8lM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSUwQVwiO1xuJGFycm93TGVmdDogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyBpZD0nYXJyb3dfYmFja19ibGFja18yNGRwXzFfJyBkYXRhLW5hbWU9J2Fycm93X2JhY2tfYmxhY2tfMjRkcCAoMSknIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBpZD0nUGF0aF8yNDcnIGRhdGEtbmFtZT0nUGF0aCAyNDcnIGQ9J00wLDBIMjRWMjRIMFonIGZpbGw9J25vbmUnLyUzRSUzQ3BhdGggaWQ9J1BhdGhfMjQ4JyBkYXRhLW5hbWU9J1BhdGggMjQ4JyBkPSdNMjAsMTFINy44M2w1LjU5LTUuNTlMMTIsNCw0LDEybDgsOCwxLjQxLTEuNDFMNy44MywxM0gyMFonLyUzRSUzQy9zdmclM0VcIjtcbiRhdmF0YXItZGFyazogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyBpZD0nYXJyb3dfYmFja19ibGFja18yNGRwXzFfJyBkYXRhLW5hbWU9J2Fycm93X2JhY2tfYmxhY2tfMjRkcCAoMSknIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBpZD0nUGF0aF8yNDcnIGRhdGEtbmFtZT0nUGF0aCAyNDcnIGQ9J00wLDBIMjRWMjRIMFonIGZpbGw9J25vbmUnLyUzRSUzQ3BhdGggaWQ9J1BhdGhfMjQ4JyBkYXRhLW5hbWU9J1BhdGggMjQ4JyBkPSdNMjAsMTFINy44M2w1LjU5LTUuNTlMMTIsNCw0LDEybDgsOCwxLjQxLTEuNDFMNy44MywxM0gyMFonLyUzRSUzQy9zdmclM0VcIjtcbiRhdmF0YXItbGlnaHQ6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgaWQ9J2Fycm93X2JhY2tfYmxhY2tfMjRkcF8xXycgZGF0YS1uYW1lPSdhcnJvd19iYWNrX2JsYWNrXzI0ZHAgKDEpJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggaWQ9J1BhdGhfMjQ3JyBkYXRhLW5hbWU9J1BhdGggMjQ3JyBkPSdNMCwwSDI0VjI0SDBaJyBmaWxsPSdub25lJy8lM0UlM0NwYXRoIGlkPSdQYXRoXzI0OCcgZGF0YS1uYW1lPSdQYXRoIDI0OCcgZD0nTTIwLDExSDcuODNsNS41OS01LjU5TDEyLDQsNCwxMmw4LDgsMS40MS0xLjQxTDcuODMsMTNIMjBaJy8lM0UlM0Mvc3ZnJTNFXCI7XG4kbG9nby1kYXJrOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgd2lkdGg9JzQzLjInIGhlaWdodD0nNDEuNTczJyB2aWV3Qm94PScwIDAgNDMuMiA0MS41NzMnJTNFJTNDZGVmcyUzRSUzQ2NsaXBQYXRoIGlkPSdjbGlwLXBhdGgnJTNFJTNDcGF0aCBpZD0nUGF0aF8yMjcnIGRhdGEtbmFtZT0nUGF0aCAyMjcnIGQ9J00yOS4yOCwwbC0uMDMzLDcuNDMzYTIuMiwyLjIsMCwwLDEsLjYyMy4zMjMsMTUuMjY0LDE1LjI2NCwwLDAsMSwuMTE0LDI1LjU4MmMtLjIuMTMyLS43NDQuNDU5LS43NDQuNDU5VjIwLjY1NkwyMS42LDI0LjIxNmwtNy42NDEtMy41NlYzMy44cy0uNTQzLS4zMjctLjc0NC0uNDU5QTE1LjI2NCwxNS4yNjQsMCwwLDEsMTMuMzMsNy43NTVhMi4yLDIuMiwwLDAsMSwuNjIzLS4zMjNMMTMuOTIsMGE1LjEzNSw1LjEzNSwwLDAsMC0uNTU0LjE2M0MxLjc1NCw1LjIzNi4wMDcsMTQuODcyLDAsMjAuMjIydi4wNjhBMjEuNjQ0LDIxLjY0NCwwLDAsMCwuMywyNCwyMS44LDIxLjgsMCwwLDAsMTguMDc3LDQxLjU3MlYyNy40MTJsMy41MjMsMi40LDMuNTIzLTIuNHYxNC4xNkEyMS44LDIxLjgsMCwwLDAsNDIuOSwyNGEyMS42NTcsMjEuNjU3LDAsMCwwLC4zLTMuNzEydi0uMDY2QzQzLjE5MywxNC44NzMsNDEuNDQ3LDUuMjM2LDI5LjgzNC4xNjJBNS4xMzYsNS4xMzYsMCwwLDAsMjkuMjgsMFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMC4wMDEpJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9jbGlwUGF0aCUzRSUzQy9kZWZzJTNFJTNDZyBpZD0nR3JvdXBfNTY4JyBkYXRhLW5hbWU9J0dyb3VwIDU2OCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAwLjAwMSknJTNFJTNDZyBpZD0nR3JvdXBfNTY3JyBkYXRhLW5hbWU9J0dyb3VwIDU2NycgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAtMC4wMDEpJyBjbGlwLXBhdGg9J3VybCglMjNjbGlwLXBhdGgpJyUzRSUzQ3JlY3QgaWQ9J1JlY3RhbmdsZV8yMzAnIGRhdGEtbmFtZT0nUmVjdGFuZ2xlIDIzMCcgd2lkdGg9JzQzLjInIGhlaWdodD0nNDEuNTczJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFJTBBXCI7XG4kbG9nby1saWdodDogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHdpZHRoPSc0My4yJyBoZWlnaHQ9JzQxLjU3Mycgdmlld0JveD0nMCAwIDQzLjIgNDEuNTczJyUzRSUzQ2RlZnMlM0UlM0NjbGlwUGF0aCBpZD0nY2xpcC1wYXRoJyUzRSUzQ3BhdGggaWQ9J1BhdGhfMjI3JyBkYXRhLW5hbWU9J1BhdGggMjI3JyBkPSdNMjkuMjgsMGwtLjAzMyw3LjQzM2EyLjIsMi4yLDAsMCwxLC42MjMuMzIzLDE1LjI2NCwxNS4yNjQsMCwwLDEsLjExNCwyNS41ODJjLS4yLjEzMi0uNzQ0LjQ1OS0uNzQ0LjQ1OVYyMC42NTZMMjEuNiwyNC4yMTZsLTcuNjQxLTMuNTZWMzMuOHMtLjU0My0uMzI3LS43NDQtLjQ1OUExNS4yNjQsMTUuMjY0LDAsMCwxLDEzLjMzLDcuNzU1YTIuMiwyLjIsMCwwLDEsLjYyMy0uMzIzTDEzLjkyLDBhNS4xMzUsNS4xMzUsMCwwLDAtLjU1NC4xNjNDMS43NTQsNS4yMzYuMDA3LDE0Ljg3MiwwLDIwLjIyMnYuMDY4QTIxLjY0NCwyMS42NDQsMCwwLDAsLjMsMjQsMjEuOCwyMS44LDAsMCwwLDE4LjA3Nyw0MS41NzJWMjcuNDEybDMuNTIzLDIuNCwzLjUyMy0yLjR2MTQuMTZBMjEuOCwyMS44LDAsMCwwLDQyLjksMjRhMjEuNjU3LDIxLjY1NywwLDAsMCwuMy0zLjcxMnYtLjA2NkM0My4xOTMsMTQuODczLDQxLjQ0Nyw1LjIzNiwyOS44MzQuMTYyQTUuMTM2LDUuMTM2LDAsMCwwLDI5LjI4LDBaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDAuMDAxKScgZmlsbD0nJTIzZmZmJy8lM0UlM0MvY2xpcFBhdGglM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J0dyb3VwXzU2OCcgZGF0YS1uYW1lPSdHcm91cCA1NjgnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMC4wMDEpJyUzRSUzQ2cgaWQ9J0dyb3VwXzU2NycgZGF0YS1uYW1lPSdHcm91cCA1NjcnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgLTAuMDAxKScgY2xpcC1wYXRoPSd1cmwoJTIzY2xpcC1wYXRoKSclM0UlM0NyZWN0IGlkPSdSZWN0YW5nbGVfMjMwJyBkYXRhLW5hbWU9J1JlY3RhbmdsZSAyMzAnIHdpZHRoPSc0My4yJyBoZWlnaHQ9JzQxLjU3MycgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAwKScgZmlsbD0nJTIzZmZmJy8lM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSUwQVwiO1xuJG1lbnUtbGlnaHQ6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBpZD0nbWVudV9ibGFja18yNGRwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggaWQ9J1BhdGhfMjIzJyBkYXRhLW5hbWU9J1BhdGggMjIzJyBkPSdNMCwwSDI0VjI0SDBaJyBmaWxsPSdub25lJy8lM0UlM0NwYXRoIGlkPSdQYXRoXzIyNCcgZGF0YS1uYW1lPSdQYXRoIDIyNCcgZD0nTTMsMThIMjFWMTZIM1ptMC01SDIxVjExSDNaTTMsNlY4SDIxVjZaJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0UlMEFcIjtcbiRuZXc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdMYXllcl8xJyB3aWR0aD0nMThweCcgaGVpZ2h0PScxOHB4JyB2aWV3Qm94PScwIDAgMjQgMjQnIHN0eWxlPSdlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI0IDI0OycgeG1sOnNwYWNlPSdwcmVzZXJ2ZSclM0UlM0NzdHlsZSB0eXBlPSd0ZXh0L2NzcyclM0UgLnN0MCU3QmZpbGw6JTIzY2NjY2M7JTdEJTBBJTNDL3N0eWxlJTNFJTNDZyUzRSUzQ3BhdGggY2xhc3M9J3N0MCcgZD0nTTE4LDJoLThMNCw4djEyYzAsMS4xLDAuOSwyLDIsMmgxMmMxLjEsMCwyLTAuOSwyLTJWNEMyMCwyLjksMTkuMSwyLDE4LDJ6IE05LjgsNXYyLjhIN0w5LjgsNXogTTE4LDIwSDZWOS45IGg1LjhWNEgxOFYyMHonLyUzRSUzQ3BhdGggY2xhc3M9J3N0MCcgZD0nTTE1LjksMTMuOWwtMS43LTAuMmMwLDAtMC4xLDAtMC4xLTAuMWMwLDAsMC0wLjEsMC0wLjFsMC4zLTEuN2wtMS40LDAuOGMwLDAtMC4xLDAtMC4xLDBjMCwwLTAuMSwwLTAuMS0wLjEgTDEyLDExbC0wLjcsMS41YzAsMC0wLjEsMC4xLTAuMSwwLjFjMCwwLTAuMSwwLTAuMSwwbC0xLjUtMC44bDAuMywxLjZjMCwwLDAsMC4xLDAsMC4xYzAsMC0wLjEsMC4xLTAuMSwwLjFsLTEuNiwwLjJMOS4yLDE1IGMwLDAsMC4xLDAuMSwwLjEsMC4xczAsMC4xLTAuMSwwLjFsLTEuMiwxLjJsMS42LDAuMmMwLDAsMC4xLDAsMC4xLDAuMWMwLDAsMCwwLjEsMCwwLjFsLTAuMywxLjZsMS41LTAuOGMwLDAsMC4xLDAsMC4xLDAgYzAsMCwwLDAsMC4xLDBjMCwwLDAuMSwwLDAuMSwwLjFsMC43LDEuNGwwLjctMS40YzAsMCwwLjEtMC4xLDAuMS0wLjFjMCwwLDAuMSwwLDAuMSwwbDEuNSwwLjhsLTAuMy0xLjdjMCwwLDAtMC4xLDAtMC4xIGMwLDAsMC4xLTAuMSwwLjEtMC4xbDEuNi0wLjNsLTEuMS0xLjFjMCwwLTAuMS0wLjEtMC4xLTAuMXMwLTAuMSwwLjEtMC4xTDE1LjksMTMuOXonLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiO1xuJGFkZDogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgaGVpZ2h0PScxOHB4JyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPScxOHB4JyBmaWxsPSclMjMwMDAwMDAnJTNFJTNDcGF0aCBkPSdNMCAwaDI0djI0SDBWMHonIGZpbGw9J25vbmUnLyUzRSUzQ3BhdGggZD0nTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnonLyUzRSUzQy9zdmclM0VcIjtcbiRob2xkLW9wOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBoZWlnaHQ9JzE4cHgnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzE4cHgnIGZpbGw9JyUyMzAwMDAwMCclM0UlM0NwYXRoIGQ9J00wIDBoMjR2MjRIMHonIGZpbGw9J25vbmUnLyUzRSUzQ3BhdGggZD0nTTE4IDI0aC02LjU1Yy0xLjA4IDAtMi4xNC0uNDUtMi44OS0xLjIzbC03LjMtNy42MSAyLjA3LTEuODNjLjYyLS41NSAxLjUzLS42NiAyLjI2LS4yN0w4IDE0LjM0VjQuNzljMC0xLjM4IDEuMTItMi41IDIuNS0yLjUuMTcgMCAuMzQuMDIuNTEuMDUuMDktMS4zIDEuMTctMi4zMyAyLjQ5LTIuMzMuODYgMCAxLjYxLjQzIDIuMDYgMS4wOS4yOS0uMTIuNjEtLjE4Ljk0LS4xOCAxLjM4IDAgMi41IDEuMTIgMi41IDIuNXYuMjhjLjE2LS4wMy4zMy0uMDUuNS0uMDUgMS4zOCAwIDIuNSAxLjEyIDIuNSAyLjVWMjBjMCAyLjIxLTEuNzkgNC00IDR6TTQuMTQgMTUuMjhsNS44NiA2LjFjLjM4LjM5LjkuNjIgMS40NC42MkgxOGMxLjEgMCAyLS45IDItMlY2LjE1YzAtLjI4LS4yMi0uNS0uNS0uNXMtLjUuMjItLjUuNVYxMmgtMlYzLjQyYzAtLjI4LS4yMi0uNS0uNS0uNXMtLjUuMjItLjUuNVYxMmgtMlYyLjUxYzAtLjI4LS4yMi0uNS0uNS0uNXMtLjUuMjItLjUuNVYxMmgtMlY0Ljc5YzAtLjI4LS4yMi0uNS0uNS0uNXMtLjUuMjMtLjUuNXYxMi44N2wtNS4zNS0yLjgzLS41MS40NXonLyUzRSUzQy9zdmclM0VcIjtcbiRyZWplY3Q6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGhlaWdodD0nMThweCcgdmlld0JveD0nMCAwIDI0IDI0JyB3aWR0aD0nMThweCcgZmlsbD0nJTIzZmZmZiclM0UlM0NwYXRoIGQ9J00wIDBoMjR2MjRIMFYweicgZmlsbD0nbm9uZScvJTNFJTNDcGF0aCBkPSdNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyIDE5IDYuNDF6Jy8lM0UlM0Mvc3ZnJTNFXCI7XG4kcmVhZHktZm9yLWFwcHJvdmFsOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCAyNCAyNCcgaGVpZ2h0PScxOHB4JyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPScxOHB4JyBmaWxsPSclMjMwMDAwMDAnJTNFJTNDcmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzI0JyB3aWR0aD0nMjQnLyUzRSUzQ3BhdGggZD0nTTE4LjYsMTkuNUgyMXYyaC02di02aDJ2Mi43M2MxLjgzLTEuNDcsMy0zLjcxLDMtNi4yM2MwLTQuMDctMy4wNi03LjQ0LTctNy45M1YyLjA1YzUuMDUsMC41LDksNC43Niw5LDkuOTUgQzIyLDE0Ljk5LDIwLjY4LDE3LjY3LDE4LjYsMTkuNXogTTQsMTJjMC0yLjUyLDEuMTctNC43NywzLTYuMjNWOC41aDJ2LTZIM3YyaDIuNEMzLjMyLDYuMzMsMiw5LjAxLDIsMTJjMCw1LjE5LDMuOTUsOS40NSw5LDkuOTUgdi0yLjAyQzcuMDYsMTkuNDQsNCwxNi4wNyw0LDEyeiBNMTYuMjQsOC4xMWwtNS42Niw1LjY2bC0yLjgzLTIuODNsLTEuNDEsMS40MWw0LjI0LDQuMjRsNy4wNy03LjA3TDE2LjI0LDguMTF6Jy8lM0UlM0Mvc3ZnJTNFXCI7XG4kbGlzdC1ib2FyZDogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB2aWV3Qm94PScwIDAgNjQgNzInJTNFJTNDZyBpZD0nTGF5ZXJfMSclM0UlM0NwYXRoIGZpbGw9JyUyM2E3YzZlZCcgZD0nTTQ3LjczLDI0LjgyYzAtMy4xLTEuNDktNC41NC00LjYyLTQuNTUtMS44OSwwLTMuNzksMC01Ljc5LDAtLjA5LS4zNy0uMTctLjY0LS4yMy0uOTEtLjU2LTIuNTUtMi42Ni00LjM0LTUuMS00LjM2LTIuNDUtLjAxLTQuNjMsMS44NS01LjA5LDQuNDYtLjEzLjcxLS40NC44Mi0xLjA1LjgxLTEuNzYtLjAzLTMuNTEtLjAyLTUuMjcsMC0yLjc0LjAyLTQuMzMsMS42LTQuMzMsNC4zMiwwLDkuMzcsMCwxOC43NSwwLDI4LjEyLDAsMi43OSwxLjUxLDQuMyw0LjI5LDQuMyw3LjU1LDAsMTUuMSwwLDIyLjY1LDAsMy4wOCwwLDQuNTMtMS40Miw0LjUzLTQuNDgsMC05LjIzLjAxLTE4LjQ3LDAtMjcuN1pNMzEuOTYsMTguMjFjMS4yMi0uMDEsMi4wNC44LDIuMDMsMi4wNCwwLDEuMTgtLjc5LDEuOTgtMS45NywxLjk5LTEuMTUuMDItMi4xLS45MS0yLjA5LTIuMDQuMDEtMS4wOC45My0xLjk4LDIuMDMtMS45OVpNMjguOTUsNDcuNTVjLjIxLjIxLjIxLjU2LDAsLjc4bC0uMzkuMzljLS4yMS4yMS0uNTYuMjEtLjc4LDBsLTEuNzQtMS43NC0xLjc0LDEuNzRjLS4yMS4yMS0uNTYuMjEtLjc4LDBsLS4zOS0uMzljLS4yMS0uMjEtLjIxLS41NiwwLS43OGwxLjc0LTEuNzQtMS43NC0xLjc0Yy0uMjEtLjIxLS4yMS0uNTYsMC0uNzhsLjM5LS4zOWMuMjEtLjIxLjU2LS4yMS43OCwwbDEuNzQsMS43NCwxLjc0LTEuNzRjLjIxLS4yMS41Ni0uMjEuNzgsMGwuMzkuMzljLjIxLjIxLjIxLjU2LDAsLjc4bC0xLjc0LDEuNzQsMS43NCwxLjc0Wk0yNS42NSwzNS41M2MtLjQ1LjQ2LS44LjQ0LTEuMjItLjAyLS42OC0uNzQtMS4zOC0xLjQ4LTIuMS0yLjE4LS43Mi0uNy4wMi0uOTkuMzUtMS4zOS4zNC0uNDIuNzEtLjcsMS4yLS4xNC4zNC4zOS43MS43NiwxLjIsMS4yOCwxLjA1LTEuMDQsMi4wNy0yLDMuMDItMy4wMi41NC0uNTcuOTItLjU1LDEuNDIuMDEuNDYuNTEuODguODcuMTMsMS41NS0xLjM4LDEuMjUtMi42OSwyLjU5LTQsMy45MlpNNDEuOTIsNDcuODJjMCwuMzUtLjI5LjY0LS42NC42NGgtMTEuM2wyLjk2LTMuNTloOC4zNGMuMzUsMCwuNjQuMjkuNjQuNjR2Mi4zMVpNNDEuOTIsMzQuOTdjMCwuMzUtLjI5LjY0LS42NC42NGgtMTEuM2wyLjk2LTMuNTloOC4zNGMuMzUsMCwuNjQuMjkuNjQuNjR2Mi4zMVonLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiO1xuJGxpc3QtYm9hcmQtZ3JlZW46IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgdmlld0JveD0nMCAwIDY0IDcyJyUzRSUzQ3BhdGggZmlsbD0nJTIzYjJlMGIyJyBkPSdNNDcuNzMsMjQuODJjMC0zLjEtMS40OS00LjU0LTQuNjItNC41NS0xLjg5LDAtMy43OSwwLTUuNzksMC0uMDktLjM3LS4xNy0uNjQtLjIzLS45MS0uNTYtMi41NS0yLjY2LTQuMzQtNS4xLTQuMzYtMi40NS0uMDEtNC42MywxLjg1LTUuMDksNC40Ni0uMTMuNzEtLjQ0LjgyLTEuMDUuODEtMS43Ni0uMDMtMy41MS0uMDItNS4yNywwLTIuNzQuMDItNC4zMywxLjYtNC4zMyw0LjMyLDAsOS4zNywwLDE4Ljc1LDAsMjguMTIsMCwyLjc5LDEuNTEsNC4zLDQuMjksNC4zLDcuNTUsMCwxNS4xLDAsMjIuNjUsMCwzLjA4LDAsNC41My0xLjQyLDQuNTMtNC40OCwwLTkuMjMuMDEtMTguNDcsMC0yNy43Wk0zMS45NiwxOC4yMWMxLjIyLS4wMSwyLjA0LjgsMi4wMywyLjA0LDAsMS4xOC0uNzksMS45OC0xLjk3LDEuOTktMS4xNS4wMi0yLjEtLjkxLTIuMDktMi4wNC4wMS0xLjA4LjkzLTEuOTgsMi4wMy0xLjk5Wk0yOC45NSw0Ny41NWMuMjEuMjEuMjEuNTYsMCwuNzhsLS4zOS4zOWMtLjIxLjIxLS41Ni4yMS0uNzgsMGwtMS43NC0xLjc0LTEuNzQsMS43NGMtLjIxLjIxLS41Ni4yMS0uNzgsMGwtLjM5LS4zOWMtLjIxLS4yMS0uMjEtLjU2LDAtLjc4bDEuNzQtMS43NC0xLjc0LTEuNzRjLS4yMS0uMjEtLjIxLS41NiwwLS43OGwuMzktLjM5Yy4yMS0uMjEuNTYtLjIxLjc4LDBsMS43NCwxLjc0LDEuNzQtMS43NGMuMjEtLjIxLjU2LS4yMS43OCwwbC4zOS4zOWMuMjEuMjEuMjEuNTYsMCwuNzhsLTEuNzQsMS43NCwxLjc0LDEuNzRaTTI1LjY1LDM1LjUzYy0uNDUuNDYtLjguNDQtMS4yMi0uMDItLjY4LS43NC0xLjM4LTEuNDgtMi4xLTIuMTgtLjcyLS43LjAyLS45OS4zNS0xLjM5LjM0LS40Mi43MS0uNywxLjItLjE0LjM0LjM5LjcxLjc2LDEuMiwxLjI4LDEuMDUtMS4wNCwyLjA3LTIsMy4wMi0zLjAyLjU0LS41Ny45Mi0uNTUsMS40Mi4wMS40Ni41MS44OC44Ny4xMywxLjU1LTEuMzgsMS4yNS0yLjY5LDIuNTktNCwzLjkyWk00MS45Miw0Ny44MmMwLC4zNS0uMjkuNjQtLjY0LjY0aC0xMS4zbDIuOTYtMy41OWg4LjM0Yy4zNSwwLC42NC4yOS42NC42NHYyLjMxWk00MS45MiwzNC45N2MwLC4zNS0uMjkuNjQtLjY0LjY0aC0xMS4zbDIuOTYtMy41OWg4LjM0Yy4zNSwwLC42NC4yOS42NC42NHYyLjMxWicvJTNFJTNDL3N2ZyUzRVwiO1xuJGFkZC1maWxlczogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB2aWV3Qm94PScwIDAgNjQgNzInJTNFJTNDZyBmaWxsPSclMjNmZmIzYTAnJTNFJTNDcGF0aCBkPSdNMTMuNzUsMjQuMTVjLjQzLS44NywxLjE0LTEuMjQsMi4xLTEuMjMsMS44My4wMywzLjY2LS4xNiw1LjQ4LjEuMTQuMzcuMDcuNzYuMDcsMS4xNCwwLDcuNTcsMCwxNS4xNSwwLDIyLjcyLDAsLjM4LS4wOS43Ny4wOSwxLjEzLjY5LDIuNTUsMi4yOSwzLjc5LDQuOTMsMy43OSw0LjE3LDAsOC4zMy4wMiwxMi41LS4wMi43NSwwLC45Ny4yLjkuOTMtLjA3LjY5LS4wMSwxLjQtLjAxLDIuMSwwLDEuNTItLjY1LDIuMTctMi4xNywyLjE3LTUuNjcsMC0xMS4zNCwwLTE3LjAxLDAtMS41OCwwLTMuMTUtLjAyLTQuNzMsMC0xLjAyLjAyLTEuNzYtLjM1LTIuMTYtMS4zMS0uMTgtLjMzLS4xMS0uNjktLjExLTEuMDMsMC05LjgzLDAtMTkuNjUsMC0yOS40OCwwLS4zNC0uMDgtLjcuMTEtMS4wM1onLyUzRSUzQ3BhdGggZD0nTTQyLjUzLDE4LjkyYzAtMS4wNS4wMy0yLjEsMC0zLjE0LS4wMi0uNzEuMjctLjg1Ljg5LS42OC40Mi4xMS43NS4zMiwxLjA2LjYzLDEuNTQsMS41NSwzLjA4LDMuMSw0LjY0LDQuNjNsLjE3LjE2Yy41LjQ5LDEuMDIsMS4wMiwxLjA5LDEuNzUuMDYuNTctLjQ3LjYyLS45My42Mi0yLjAzLDAtNC4wNS0uMDItNi4wOC4wMS0uNjMsMC0uODctLjE4LS44NS0uODMuMDUtMS4wNS4wMS0yLjEuMDEtMy4xNFonLyUzRSUzQ3BhdGggZD0nTTIxLjUxLDQ4LjAyYy0uMjEtLjE4LS4yLS40My0uMi0uNjgsMC04LjExLjAyLTE2LjIxLjAzLTI0LjMyLjI1LjExLjE5LjM1LjE5LjU0LDAsOC4xNS0uMDEsMTYuMy0uMDIsMjQuNDVaJy8lM0UlM0NwYXRoIGQ9J000OS41MywyNS41NmMtMi40Mi4wMy00LjgzLjAyLTcuMjUuMDEtMS42OCwwLTIuNDUtLjc3LTIuNDUtMi40MywwLTIuMzgtLjA0LTQuNzYuMDItNy4xNC4wMi0uOC0uMjItMS0xLS45OS0zLjk2LjA0LTcuOTIuMDItMTEuODcuMDItMi4yNCwwLTIuNzkuNTUtMi43OSwyLjc4LDAsNC43NiwwLDkuNTMsMCwxNC4yOSwwLDQuOCwwLDkuNiwwLDE0LjM5LDAsMi4xLjU5LDIuNjYsMi43MSwyLjY2LDMuNjgsMCw3LjM2LDAsMTEuMDMsMCwzLjM2LDAsNi43My4wMiwxMC4wOSwwLDEuNjMtLjAxLDIuMzUtLjY4LDIuMzUtMi4xNy4wMS02Ljg2LDAtMTMuNzMuMDItMjAuNTksMC0uNjYtLjIxLS44Mi0uODUtLjgyWk00My4zNCwzNy4yM2MwLC4xNy0uMTMuMy0uMy4zaC0zLjc2djMuNzZjMCwuMTctLjEzLjMtLjMuM2gtMy40MWMtLjE3LDAtLjMtLjEzLS4zLS4zdi0zLjc2aC0zLjc2Yy0uMTcsMC0uMy0uMTMtLjMtLjN2LTMuNDFjMC0uMTcuMTMtLjMuMy0uM2gzLjc2di0zLjc2YzAtLjE3LjEzLS4zLjMtLjNoMy40MWMuMTcsMCwuMy4xMy4zLjN2My43NmgzLjc2Yy4xNywwLC4zLjEzLjMuM3YzLjQxWicvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCI7XG4kZGV2aWNlLWVucm9sbG1lbnRzOiAnZGF0YTppbWFnZS9zdmcreG1sLCUzQyUzRnhtbCUyMHZlcnNpb24lM0QlMjIxLjAlMjIlMjBlbmNvZGluZyUzRCUyMlVURi04JTIyJTNGJTNFJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjQlMjA3MiUyMiUzRSUzQ2RlZnMlM0UlM0NzdHlsZSUzRSUyMCUyMCUyMCUyMCUyMCUyMC5jbHMtMSUyMCU3QiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGZpbGwlM0ElMjAlMjNjYmJiZjAlM0IlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMjAlMjAlMjAlMjAlM0MlMkZzdHlsZSUzRSUzQyUyRmRlZnMlM0UlM0MhLS0lMjBHZW5lcmF0b3IlM0ElMjBBZG9iZSUyMElsbHVzdHJhdG9yJTIwMjguNy4xJTJDJTIwU1ZHJTIwRXhwb3J0JTIwUGx1Zy1JbiUyMC4lMjBTVkclMjBWZXJzaW9uJTNBJTIwMS4yLjAlMjBCdWlsZCUyMDE0MiklMjAlMjAtLSUzRSUzQ2clM0UlM0NnJTIwaWQlM0QlMjJMYXllcl8xJTIyJTNFJTNDZyUzRSUzQ3BhdGglMjBjbGFzcyUzRCUyMmNscy0xJTIyJTIwZCUzRCUyMk01MS45NSUyQzQ2LjVoLTE1LjkxYy0uMDUlMkMxLjMtLjk2JTJDMi4xLTIuMTUlMkMyLjFoLTMuOTljLTEuMjMlMkMwLTIuMTctMS4xNS0yLjE1LTIuMWgtMTUuN2MtLjU4JTJDMC0xLjA1LjQ3LTEuMDUlMkMxLjA1djEuMDVjMCUyQzIuMzElMkMxLjg5JTJDNC4yJTJDNC4yJTJDNC4yaDMzLjZjMi4zMSUyQzAlMkM0LjItMS44OSUyQzQuMi00LjJ2LTEuMDVjMC0uNTgtLjQ3LTEuMDUtMS4wNS0xLjA1WiUyMiUyRiUzRSUzQ3BhdGglMjBjbGFzcyUzRCUyMmNscy0xJTIyJTIwZCUzRCUyMk00NS42NSUyQzE5LjJoLTI3LjNjLTEuNzMlMkMwLTMuMTUlMkMxLjQyLTMuMTUlMkMzLjE1djIyLjA1aDMzLjZ2LTIyLjA1YzAtMS43My0xLjQyLTMuMTUtMy4xNS0zLjE1Wk00NC42JTJDNDAuMmgtMjUuMnYtMTYuOGgyNS4ydjE2LjhaJTIyJTJGJTNFJTNDcGF0aCUyMGNsYXNzJTNEJTIyY2xzLTElMjIlMjBkJTNEJTIyTTI2LjI1JTJDMzMuMjRoNC4zMXY0LjMxYzAlMkMuNTMuNDMuOTYuOTYuOTZoLjk2Yy41MyUyQzAlMkMuOTYtLjQzLjk2LS45NnYtNC4zMWg0LjMxYy41MyUyQzAlMkMuOTYtLjQzLjk2LS45NnYtLjk2YzAtLjUzLS40My0uOTYtLjk2LS45NmgtNC4zMXYtNC4zMWMwLS41My0uNDMtLjk2LS45Ni0uOTZoLS45NmMtLjUzJTJDMC0uOTYuNDMtLjk2Ljk2djQuMzFoLTQuMzFjLS41MyUyQzAtLjk2LjQzLS45Ni45NnYuOTZjMCUyQy41My40My45Ni45Ni45NlolMjIlMkYlM0UlM0MlMkZnJTNFJTNDJTJGZyUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0UnO1xuJGluZm8tY29tbWFuZHM6ICdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sJTIwdmVyc2lvbiUzRCUyMjEuMCUyMiUyMGVuY29kaW5nJTNEJTIyVVRGLTglMjIlM0YlM0UlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2NCUyMDcyJTIyJTNFJTNDIS0tJTIwR2VuZXJhdG9yJTNBJTIwQWRvYmUlMjBJbGx1c3RyYXRvciUyMDI4LjcuMSUyQyUyMFNWRyUyMEV4cG9ydCUyMFBsdWctSW4lMjAuJTIwU1ZHJTIwVmVyc2lvbiUzQSUyMDEuMi4wJTIwQnVpbGQlMjAxNDIpJTIwJTIwLS0lM0UlM0NnJTNFJTNDZyUyMGlkJTNEJTIyTGF5ZXJfMSUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmZiM2EwJTIyJTIwZCUzRCUyMk0xNC4xNyUyQzE1djQyaDM1LjY1VjE1SDE0LjE3Wk0xOS40JTJDMjIuNzdjMC0xLjQyJTJDMS4xNS0yLjU2JTJDMi41Ni0yLjU2aC43OWMxLjQyJTJDMCUyQzIuNTYlMkMxLjE1JTJDMi41NiUyQzIuNTZ2Ljc5YzAlMkMxLjQyLTEuMTUlMkMyLjU2LTIuNTYlMkMyLjU2aC0uNzljLTEuNDIlMkMwLTIuNTYtMS4xNS0yLjU2LTIuNTZ2LS43OVpNMTkuMDUlMkMzNC42MWwxLjI5LTEuMjhjLjIxLS4yMS41NS0uMjEuNzclMkMwbDIuMDglMkMyLjElMkM0LjgtNC43NmMuMjEtLjIxLjU1LS4yMS43NyUyQzBsMS4yOCUyQzEuMjljLjIxLjIxLjIxLjU1JTJDMCUyQy43N2wtNi40NyUyQzYuNDFjLS4yMS4yMS0uNTUuMjEtLjc3JTJDMGwtMy43NC0zLjc3Yy0uMjItLjIxLS4yMS0uNTUlMkMwLS43N1pNMjUuMzIlMkM0OS4yN2MwJTJDMS40Mi0xLjE1JTJDMi41Ni0yLjU2JTJDMi41NmgtLjc5Yy0xLjQyJTJDMC0yLjU2LTEuMTUtMi41Ni0yLjU2di0uNzljMC0xLjQyJTJDMS4xNS0yLjU2JTJDMi41Ni0yLjU2aC43OWMxLjQyJTJDMCUyQzIuNTYlMkMxLjE1JTJDMi41NiUyQzIuNTZ2Ljc5Wk00NS4xNSUyQzUwLjY5YzAlMkMuMjctLjIyLjQ5LS40OS40OWgtMTUuMjRjLS4yNyUyQzAtLjQ5LS4yMi0uNDktLjQ5di0zLjY0YzAtLjI3LjIyLS40OS40OS0uNDloMTUuMjRjLjI3JTJDMCUyQy40OS4yMi40OS40OXYzLjY0Wk00NS4xNSUyQzM3LjQ2YzAlMkMuNDYtLjM3LjgzLS44My44M2gtMTQuNTdsMy44Mi00LjYzaDEwLjc1Yy40NiUyQzAlMkMuODMuMzcuODMuODN2Mi45OFpNNDUuMTUlMkMyNC45OWMwJTJDLjI3LS4yMi40OS0uNDkuNDloLTE1LjI0Yy0uMjclMkMwLS40OS0uMjItLjQ5LS40OXYtMy42NGMwLS4yNy4yMi0uNDkuNDktLjQ5aDE1LjI0Yy4yNyUyQzAlMkMuNDkuMjIuNDkuNDl2My42NFolMjIlMkYlM0UlM0MlMkZnJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRSc7XG4kaW5mby1jb21tYW5kcy15ZWxsb3c6ICdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sJTIwdmVyc2lvbiUzRCUyMjEuMCUyMiUyMGVuY29kaW5nJTNEJTIyVVRGLTglMjIlM0YlM0UlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2NCUyMDcyJTIyJTNFJTNDIS0tJTIwR2VuZXJhdG9yJTNBJTIwQWRvYmUlMjBJbGx1c3RyYXRvciUyMDI4LjcuMSUyQyUyMFNWRyUyMEV4cG9ydCUyMFBsdWctSW4lMjAuJTIwU1ZHJTIwVmVyc2lvbiUzQSUyMDEuMi4wJTIwQnVpbGQlMjAxNDIpJTIwJTIwLS0lM0UlM0NnJTNFJTNDZyUyMGlkJTNEJTIyTGF5ZXJfMSUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzRTlEOEM0JTIyJTIwZCUzRCUyMk0xNC4xNyUyQzE1djQyaDM1LjY1VjE1SDE0LjE3Wk0xOS40JTJDMjIuNzdjMC0xLjQyJTJDMS4xNS0yLjU2JTJDMi41Ni0yLjU2aC43OWMxLjQyJTJDMCUyQzIuNTYlMkMxLjE1JTJDMi41NiUyQzIuNTZ2Ljc5YzAlMkMxLjQyLTEuMTUlMkMyLjU2LTIuNTYlMkMyLjU2aC0uNzljLTEuNDIlMkMwLTIuNTYtMS4xNS0yLjU2LTIuNTZ2LS43OVpNMTkuMDUlMkMzNC42MWwxLjI5LTEuMjhjLjIxLS4yMS41NS0uMjEuNzclMkMwbDIuMDglMkMyLjElMkM0LjgtNC43NmMuMjEtLjIxLjU1LS4yMS43NyUyQzBsMS4yOCUyQzEuMjljLjIxLjIxLjIxLjU1JTJDMCUyQy43N2wtNi40NyUyQzYuNDFjLS4yMS4yMS0uNTUuMjEtLjc3JTJDMGwtMy43NC0zLjc3Yy0uMjItLjIxLS4yMS0uNTUlMkMwLS43N1pNMjUuMzIlMkM0OS4yN2MwJTJDMS40Mi0xLjE1JTJDMi41Ni0yLjU2JTJDMi41NmgtLjc5Yy0xLjQyJTJDMC0yLjU2LTEuMTUtMi41Ni0yLjU2di0uNzljMC0xLjQyJTJDMS4xNS0yLjU2JTJDMi41Ni0yLjU2aC43OWMxLjQyJTJDMCUyQzIuNTYlMkMxLjE1JTJDMi41NiUyQzIuNTZ2Ljc5Wk00NS4xNSUyQzUwLjY5YzAlMkMuMjctLjIyLjQ5LS40OS40OWgtMTUuMjRjLS4yNyUyQzAtLjQ5LS4yMi0uNDktLjQ5di0zLjY0YzAtLjI3LjIyLS40OS40OS0uNDloMTUuMjRjLjI3JTJDMCUyQy40OS4yMi40OS40OXYzLjY0Wk00NS4xNSUyQzM3LjQ2YzAlMkMuNDYtLjM3LjgzLS44My44M2gtMTQuNTdsMy44Mi00LjYzaDEwLjc1Yy40NiUyQzAlMkMuODMuMzcuODMuODN2Mi45OFpNNDUuMTUlMkMyNC45OWMwJTJDLjI3LS4yMi40OS0uNDkuNDloLTE1LjI0Yy0uMjclMkMwLS40OS0uMjItLjQ5LS40OXYtMy42NGMwLS4yNy4yMi0uNDkuNDktLjQ5aDE1LjI0Yy4yNyUyQzAlMkMuNDkuMjIuNDkuNDl2My42NFolMjIlMkYlM0UlM0MlMkZnJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRSc7XG5cbkBpbmNsdWRlIHJlZ2lzdGVySWNvbignbm90aWZpY2F0aW9ucycsIDQwcHgsIDQwcHgsICRub3RpZmljYXRpb25zKTtcbkBpbmNsdWRlIHJlZ2lzdGVySWNvbignbG9nby1kYXJrJywgMTAwJSwgMTAwJSwgJGxvZ28tZGFyayk7XG5AaW5jbHVkZSByZWdpc3Rlckljb24oJ2xvZ28tbGlnaHQnLCAxMDAlLCAxMDAlLCAkbG9nby1saWdodCk7XG5AaW5jbHVkZSByZWdpc3Rlckljb24oJ21lbnUtbGlnaHQnLCAyNXB4LCAyNXB4LCAkbWVudS1saWdodCk7XG5AaW5jbHVkZSByZWdpc3Rlckljb24oJ2xpc3QtYm9hcmQnLCAxMDAlLCAxMDAlLCAkbGlzdC1ib2FyZCk7XG5AaW5jbHVkZSByZWdpc3Rlckljb24oJ2xpc3QtYm9hcmQtZ3JlZW4nLCAxMDAlLCAxMDAlLCAkbGlzdC1ib2FyZC1ncmVlbik7XG5AaW5jbHVkZSByZWdpc3Rlckljb24oJ2FkZC1maWxlcycsIDEwMCUsIDEwMCUsICRhZGQtZmlsZXMpO1xuQGluY2x1ZGUgcmVnaXN0ZXJJY29uKCdkZXZpY2UtZW5yb2xsbWVudHMnLCAxMDAlLCAxMDAlLCAkZGV2aWNlLWVucm9sbG1lbnRzKTtcbkBpbmNsdWRlIHJlZ2lzdGVySWNvbignaW5mby1jb21tYW5kcycsIDEwMCUsIDEwMCUsICRpbmZvLWNvbW1hbmRzKTtcbkBpbmNsdWRlIHJlZ2lzdGVySWNvbihcbiAgJ2luZm8tY29tbWFuZHMteWVsbG93JyxcbiAgMTAwJSxcbiAgMTAwJSxcbiAgJGluZm8tY29tbWFuZHMteWVsbG93XG4pOyIsIkBpbXBvcnQgJy4vLi4vYWJzdHJhY3RzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi9hYnN0cmFjdHMvYnJlYWtwb2ludHMnO1xuXG4uZ3JpZGZpbHRlci10b3BiYXIge1xuICBwYWRkaW5nOiAxNHB4IDE0cHg7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgY29sdW1uLWdhcDogMC41ZW07XG4gIHotaW5kZXg6IDk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLmstdG9vbGJhciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAuay10b29sYmFyLWl0ZW0uYWN0aW9uVG9vbGJhciB7XG4gICAgLmstYnV0dG9uLWdyb3VwIHtcbiAgICAgIGNvbHVtbi1nYXA6IDAuNXJlbTtcbiAgICB9XG4gIH1cbiAgLmFjdGlvblRvb2xiYXIgLmstYnV0dG9uLWdyb3VwID4gLmstYnV0dG9uOmZpcnN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCkge1xuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiA0cHg7XG4gIH1cbiAgLmFjdGlvblRvb2xiYXIgLmstYnV0dG9uLWdyb3VwPi5rLWJ1dHRvbjpsYXN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCkge1xuICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogNHB4O1xuICB9XG4gIC5tZW51LXRvb2xiYXIge1xuICAgIHBhZGRpbmc6IDBweCAxcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGNvbHVtbi1nYXA6IDAuNWVtO1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLmxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgICYucmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCcgaV0ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmlkLWJvcmRlcjtcbiAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gICAgLmNoZWNrYm94LWdyb3VwIHtcbiAgICAgIHNwYW4uay1idXR0b24tdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGNvbHVtbi1nYXA6IDRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIC5zaW5nbGUtYnRuIHtcbi8vICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG4vLyAgIG1hcmdpbjogMCAxMnB4O1xuLy8gfVxuQGluY2x1ZGUgbWVkaWEoJzw9cy10YWJsZXQnKSB7XG4gIC5tZW51LXRvb2xiYXIge1xuICAgIHNwYW4ge1xuICAgICAgLmstYnV0dG9uLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vLi4vYXNzZXRzL3Njc3MvYWJzdHJhY3RzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi8uLi9hc3NldHMvc2Nzcy9hYnN0cmFjdHMvYnJlYWtwb2ludHMnO1xuXG4jcm9vdFtkZXZpY2UtdHlwZT0nRGVza3RvcCddIHtcbiAgLndyLWRldGFpbCB7XG4gICAgLmNhcmQtYWN0aW9ucy1jb250ZW50IHtcbiAgICAgIC5jYXJkLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sYXlvdXQtZmFjaWxpdHkge1xuICAgIC5hbGVydC5hbGVydC1zdWdnZXN0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2JTtcbiAgICB9XG4gIH1cbn1cbiNyb290W2RldmljZS10eXBlPSdUYWJsZXQnXSB7XG4gIC8vIGFkZCB0YWJsZXQgYmFzZWQgc3BlY2lmaWMgbWVkaWEgcXVlcmllcyBiYXNlZCBvbiByZXNpemUgd29ya2VyXG4gIC5rLW5vdGlmaWNhdGlvbi1ncm91cCB7XG4gICAgJixcbiAgICAuay1ub3RpZmljYXRpb24tY29udGFpbmUge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gICAgLmstYW5pbWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLmstbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIGZsb2F0OiB1bnNldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmxheW91dC1mYWNpbGl0eSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAubWFpbi1mYWNpbGl0eS1sYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5hbGVydC1zdWdnZXN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbiAgLnNsaWRlci1jb250ZW50LWNhcmQge1xuICAgIC5zbGlkZXItY2FyZCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA2OXB4KTtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDI4cHg7XG4gICAgICAuay1jYXJkLWJvZHkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2ZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50LXNsaWRlci1hY3Rpb25zIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLndyLWRldGFpbCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAuY2FyZC1hY3Rpb25zLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgLmNhcmQtYWN0aW9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbXBvbmVudC1ib3JkZXI7XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgMCAzcHggMXB4IC0ycHggcmdiKDAgMCAwIC8gMjAlKSxcbiAgICAgICAgICAwIDJweCAycHggMCByZ2IoMCAwIDAgLyAxNCUpLFxuICAgICAgICAgIDAgMXB4IDVweCAwIHJnYigwIDAgMCAvIDEyJSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLWRldGFpbC1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2MHB4O1xuICAgICAgLmstbG9hZGluZy1tYXNrIHtcbiAgICAgICAgJi53ci1kZXRhaWwtbG9hZGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldC1vbmx5LXBvcnRyYWl0LW1vZGUuLi4pIHtcbiAgICAgICAgLm9yaWVudGF0aW9uLVBvcnRyYWl0IHtcbiAgICAgICAgICAuay1zdGVwLWxpc3QtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAuay1zdGVwLWluZGljYXRvciArIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL2xhbmRzY2FwZSBvcmllbnRhdGlvbiBjc3Mgc3R5bGVzXG4gICZbZGV2aWNlLW9yaWVudGF0aW9uPSdMYW5kc2NhcGUnXSB7XG4gICAgLnNsaWRlcixcbiAgICAuc2xpZGVyLWNvbnRlbnQtY2FyZCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICAuY29udGVudC1zbGlkZXItYWN0aW9ucyB7XG4gICAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLndyLWRldGFpbCB7XG4gICAgICAuY2FyZC1hY3Rpb25zLWNvbnRlbnQge1xuICAgICAgICAuY2FyZC1hY3Rpb25zIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBwb3J0cmFpdCBvcmllbnRhdGlvbiBjc3Mgc3R5bGVzXG4gICZbZGV2aWNlLW9yaWVudGF0aW9uPSdQb3J0cmFpdCddIHtcbiAgICAuc2xpZGVyLFxuICAgIC5zbGlkZXItY29udGVudC1jYXJkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLmNvbnRlbnQtc2xpZGVyLWFjdGlvbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmUnKSB7XG4gICAgICAuaG9tZS1wYWdlIHtcbiAgICAgICAgLmstdGlsZWxheW91dCB7XG4gICAgICAgICAgJi5rLWdyaWQtZmxvdy1jb2wge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDBweCwgMWZyKSkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLndyLWRldGFpbCB7XG4gICAgICAuY2FyZC1kZXRhaWwtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDMwdmgpICFpbXBvcnRhbnQ7XG4gICAgICAgIC5kZXNjcmlwdGlvbi1jYXJkIHtcbiAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgLmstZm9ybS1maWVsZC13cmFwIHtcbiAgICAgICAgICAgICAgLmstaW5wdXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5vcmllbnRhdGlvbi1Qb3J0cmFpdCB7XG4gICAgICAgICAgLnN0ZXBwZXItYm9keSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxODRweCAtIDE5dmgpO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI3Jvb3RbZGV2aWNlLXR5cGU9J1RhYmxldCddIHtcbiAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgLmstZHJhd2VyLWV4cGFuZGVkIHtcbiAgICAgIC5ob21lLXBhZ2Uge1xuICAgICAgICAuay10aWxlbGF5b3V0IHtcbiAgICAgICAgICAmLmstZ3JpZC1mbG93LWNvbCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMHB4LCAxZnIpKSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jcm9vdFtkZXZpY2UtdHlwZT0nUGhvbmUnXSB7XG4gIC8vIGFkZCBwaG9uZSBiYXNlZCBzcGVjaWZpYyBtZWRpYSBxdWVyaWVzIGJhc2VkIG9uIHJlc2l6ZSB3b3JrZXJcbiAgLmstbm90aWZpY2F0aW9uLWdyb3VwIHtcbiAgICAmLFxuICAgIC5rLW5vdGlmaWNhdGlvbi1jb250YWluZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmstYW5pbWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLmstbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIGZsb2F0OiB1bnNldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNsaWRlcixcbiAgLnNsaWRlci1jb250ZW50LWNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5zbGlkZXItY2FyZCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA2OXB4KTtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDI4cHg7XG4gICAgfVxuICAgIC5jb250ZW50LXNsaWRlci1hY3Rpb25zIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAud3ItZGV0YWlsIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC5jYXJkLWFjdGlvbnMtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBib3R0b206IDA7XG4gICAgICAuY2FyZC1hY3Rpb25zIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29tcG9uZW50LWJvcmRlcjtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIDNweCAxcHggLTJweCByZ2IoMCAwIDAgLyAyMCUpLFxuICAgICAgICAgIDAgMnB4IDJweCAwIHJnYigwIDAgMCAvIDE0JSksXG4gICAgICAgICAgMCAxcHggNXB4IDAgcmdiKDAgMCAwIC8gMTIlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcmQtZGV0YWlsLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTM2cHg7XG4gICAgfVxuICB9XG4gIC5sYXlvdXQtZmFjaWxpdHkge1xuICAgIC5hbGVydC1zdWdnZXN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLm1haW4tZmFjaWxpdHktbGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuICAvL2xhbmRzY2FwZSBvcmllbnRhdGlvbiBjc3Mgc3R5bGVzXG4gICZbZGV2aWNlLW9yaWVudGF0aW9uPSdMYW5kc2NhcGUnXSB7XG4gICAgLmRyYXdlci13cmFwcGVyIHtcbiAgICAgICYuZHJhd2VyLWFjdGl2ZSB7XG4gICAgICAgIC5mYWNpbGl0eS1kcmF3ZXItaXRlbSB7XG4gICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmW2RldmljZS1vcmllbnRhdGlvbj0nUG9ydHJhaXQnXSB7XG4gICAgLmRyYXdlci13cmFwcGVyIHtcbiAgICAgICYuZHJhd2VyLWFjdGl2ZSB7XG4gICAgICAgIC5mYWNpbGl0eS1kcmF3ZXItaXRlbSB7XG4gICAgICAgICAgYm90dG9tOiA0OXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5ob21lLXBhZ2Uge1xuICAgICAgLmstdGlsZWxheW91dCB7XG4gICAgICAgICYuay1ncmlkLWZsb3ctY29sIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMHB4LCAxZnIpKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC53ci1kZXRhaWwge1xuICAgICAgLmNhcmQtZGV0YWlsLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyNXZoKSAhaW1wb3J0YW50O1xuICAgICAgICAub3JpZW50YXRpb24tUG9ydHJhaXQge1xuICAgICAgICAgIC5zdGVwcGVyLWJvZHkge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDV2aCk7XG4gICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZGVzY3JpcHRpb24tY2FyZCB7XG4gICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIC5rLWZvcm0tZmllbGQtd3JhcCB7XG4gICAgICAgICAgICAgIC5rLWlucHV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==*/