(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["styles"],{ /***/ "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/@angular/material/prebuilt-themes/indigo-pink.css": /*!*****************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/@angular/material/prebuilt-themes/indigo-pink.css ***! \*****************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = [[module.i, ".mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-badge-small .mat-badge-content{font-size:6px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,\"Helvetica Neue\",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-card{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif}.mat-expansion-panel-header{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28122em) scale(.75);transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28121em) scale(.75);transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.2812em) scale(.75);transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em 0}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0 1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-select{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-list-option{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,\"Helvetica Neue\",sans-serif}.mat-simple-snackbar{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-nested-tree-node,.mat-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,-webkit-transform 0s cubic-bezier(0,0,.2,1);transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transition:opacity,transform 0s cubic-bezier(0,0,.2,1),-webkit-transform 0s cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}@-webkit-keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-start{/*!*/}@-webkit-keyframes cdk-text-field-autofill-end{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff4081}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ff4081}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{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)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-badge-content{color:#fff;background:#3f51b5}@media (-ms-high-contrast:active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-accent .mat-badge-content{background:#ff4081;color:#fff}.mat-badge-warn .mat-badge-content{color:#fff;background:#f44336}.mat-badge{position:relative}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:rgba(0,0,0,.38)}.mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out, -webkit-transform .2s ease-in-out;-webkit-transform:scale(.6);transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.mat-badge-content.mat-badge-active{-webkit-transform:none;transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:0 0}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#3f51b5}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ff4081}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#3f51b5}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#ff4081}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#f44336}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:#000}.mat-stroked-button:not([disabled]){border-color:rgba(0,0,0,.12)}.mat-fab,.mat-flat-button,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:#fff}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#3f51b5}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ff4081}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-flat-button.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-accent .mat-ripple-element,.mat-flat-button.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-warn .mat-ripple-element,.mat-flat-button.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-flat-button:not([class*=mat-elevation-z]),.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-raised-button:not([class*=mat-elevation-z]){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)}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab[disabled]:not([class*=mat-elevation-z]),.mat-mini-fab[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-button-toggle-group,.mat-button-toggle-standalone{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)}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87);background:#fff}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:solid 1px rgba(0,0,0,.12)}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:solid 1px rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87)}.mat-button-toggle-disabled{color:rgba(0,0,0,.26);background-color:#eee}.mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:solid 1px rgba(0,0,0,.12)}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}@media (-ms-high-contrast:black-on-white){.mat-checkbox-checkmark-path{stroke:#000!important}}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ff4081}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:rgba(0,0,0,.54)}@media (-ms-high-contrast:active){.mat-checkbox-disabled{opacity:.5}}@media (-ms-high-contrast:active){.mat-checkbox-background{background:0 0}}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:#3f51b5}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:#ff4081}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:#f44336}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.mat-chip.mat-standard-chip::after{background:#000}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ff4081;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-table{background:#fff}.mat-table tbody,.mat-table tfoot,.mat-table thead,.mat-table-sticky,[mat-footer-row],[mat-header-row],[mat-row],mat-footer-row,mat-header-row,mat-row{background:inherit}mat-footer-row,mat-header-row,mat-row,td.mat-cell,td.mat-footer-cell,th.mat-header-cell{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell,.mat-footer-cell{color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button,.mat-datepicker-toggle{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-calendar-body-selected{background-color:#3f51b5;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(63,81,181,.4)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);background-color:#fff;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ff4081;color:#fff}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(255,64,129,.4)}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(244,67,54,.4)}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content-touch{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-datepicker-toggle-active{color:#3f51b5}.mat-datepicker-toggle-active.mat-accent{color:#ff4081}.mat-datepicker-toggle-active.mat-warn{color:#f44336}.mat-dialog-container{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-expansion-panel:not([class*=mat-elevation-z]){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)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}@media (hover:none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label{color:rgba(0,0,0,.6)}.mat-hint{color:rgba(0,0,0,.6)}.mat-form-field.mat-focused .mat-form-field-label{color:#3f51b5}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ff4081}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ff4081}.mat-form-field-ripple{background-color:rgba(0,0,0,.87)}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#3f51b5}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ff4081}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after{color:#3f51b5}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after{color:#ff4081}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#f44336}.mat-error{color:#f44336}.mat-form-field-appearance-legacy .mat-form-field-label{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-hint{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:rgba(0,0,0,.04)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:rgba(0,0,0,.02)}.mat-form-field-appearance-fill .mat-form-field-underline::before{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:rgba(0,0,0,.12)}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:rgba(0,0,0,.87)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#3f51b5}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ff4081}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:rgba(0,0,0,.06)}.mat-icon.mat-primary{color:#3f51b5}.mat-icon.mat-accent{color:#ff4081}.mat-icon.mat-warn{color:#f44336}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{color:rgba(0,0,0,.54)}.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after,.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#3f51b5}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ff4081}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after{color:#f44336}.mat-list-base .mat-list-item{color:rgba(0,0,0,.87)}.mat-list-base .mat-list-option{color:rgba(0,0,0,.87)}.mat-list-base .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-action-list .mat-list-item:focus,.mat-action-list .mat-list-item:hover,.mat-list-option:focus,.mat-list-option:hover,.mat-nav-list .mat-list-item:focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled],.mat-menu-item[disabled]::after{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon-no-color,.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{fill:#c5cae9}.mat-progress-bar-buffer{background-color:#c5cae9}.mat-progress-bar-fill::after{background-color:#3f51b5}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ff4081}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#3f51b5}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff4081}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#3f51b5}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff4081}.mat-radio-button.mat-accent .mat-radio-inner-circle,.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#ff4081}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle,.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#f44336}.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button .mat-ripple-element{background-color:#000}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel{background:#fff}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff4081}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-drawer-side{border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-side.mat-drawer-end{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#ff4081}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:rgba(255,64,129,.54)}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#ff4081}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#3f51b5}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:rgba(63,81,181,.54)}.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#3f51b5}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:rgba(244,67,54,.54)}.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#f44336}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#3f51b5}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ff4081}.mat-accent .mat-slider-thumb-label-text{color:#fff}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,64,129,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}@media (hover:none){.mat-step-header:hover{background:0 0}}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.54)}.mat-step-header .mat-step-icon{background-color:rgba(0,0,0,.54);color:#fff}.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit{background-color:#3f51b5;color:#fff}.mat-step-header .mat-step-icon-state-error{background-color:transparent;color:#f44336}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-step-header .mat-step-label.mat-step-label-error{color:#f44336}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-horizontal-stepper-header::after,.mat-horizontal-stepper-header::before,.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-sort-header-arrow{color:#757575}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff4081}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#3f51b5}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ff4081}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:#fff}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#3f51b5;color:#fff}.mat-toolbar.mat-accent{background:#ff4081;color:#fff}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-toolbar .mat-focused .mat-form-field-ripple,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-form-field-underline{background-color:currentColor}.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-select-value{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{background:#fff}.mat-nested-tree-node,.mat-tree-node{color:rgba(0,0,0,.87)}.mat-snack-bar-container{color:rgba(255,255,255,.7);background:#323232;box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-simple-snackbar-action{color:#ff4081}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9AYW5ndWxhci9tYXRlcmlhbC9wcmVidWlsdC10aGVtZXMvaW5kaWdvLXBpbmsuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQixnQkFBZ0IsZUFBZSw4Q0FBOEMsQ0FBQyxvQ0FBb0MsYUFBYSxDQUFDLG9DQUFvQyxjQUFjLENBQUMseUNBQXlDLHNEQUFzRCxlQUFlLENBQUMsc0NBQXNDLHNEQUFzRCxlQUFlLENBQUMsNkNBQTZDLHNEQUFzRCxlQUFlLENBQUMsNkNBQTZDLHNEQUFzRCxlQUFlLENBQUMsMkJBQTJCLHlEQUF5RCxlQUFlLENBQUMsMkJBQTJCLHdEQUF3RCxlQUFlLENBQUMsNkJBQTZCLHFEQUFxRCxDQUFDLHNDQUFzQyxxREFBcUQsQ0FBQyw0Q0FBNEMsZUFBZSxDQUFDLHdCQUF3QixxREFBcUQsQ0FBQyw4Q0FBOEMsd0RBQXdELGdCQUFnQixxQkFBcUIsQ0FBQyw4Q0FBOEMsc0RBQXNELGdCQUFnQixxQkFBcUIsQ0FBQyw4Q0FBOEMsc0RBQXNELGdCQUFnQixzQkFBc0IsQ0FBQyw4Q0FBOEMsc0RBQXNELGVBQWUsQ0FBQyw0QkFBNEIscURBQXFELENBQUMsNEdBQTRHLCtDQUErQyxlQUFlLGVBQWUsQ0FBQyxtQkFBbUIsOENBQThDLENBQUMsVUFBVSw4Q0FBOEMsQ0FBQyxnQkFBZ0IsZUFBZSxlQUFlLENBQUMsaUNBQWlDLGNBQWMsQ0FBQyxxQ0FBcUMsY0FBYyxDQUFDLGNBQWMsOENBQThDLENBQUMseUNBQXlDLGdCQUFnQixDQUFDLFVBQVUsZUFBZSxlQUFlLENBQUMsK0VBQStFLGNBQWMsQ0FBQyxXQUFXLDhDQUE4QyxDQUFDLGlCQUFpQixlQUFlLGVBQWUsQ0FBQywyQkFBMkIsY0FBYyxDQUFDLGNBQWMsOENBQThDLENBQUMsbUJBQW1CLGNBQWMsQ0FBQyxxREFBcUQsZUFBZSxlQUFlLENBQUMsOEJBQThCLGVBQWUsZUFBZSxDQUFDLGtCQUFrQixxREFBcUQsQ0FBQyw0QkFBNEIsK0NB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a0pBQWtKLGlCQUFpQixDQUFDLDBOQUEwTixpQ0FBaUMsQ0FBQyxvSEFBb0gsc0NBQXNDLENBQUMsZ3ZCQUFndkIscUNBQXFDLENBQUMsOE1BQThNLHdCQUF3QixDQUFDLDBNQUEwTSxVQUFVLENBQUMsOFFBQThRLDBCQUEwQixDQUFDLDhJQUE4SSxpQkFBaUIsQ0FBQyxzTkFBc04saUNBQWlDLENBQUMsZ0hBQWdILHNDQUFzQyxDQUFDLGFBQWEsbUJBQW1CLHFCQUFxQixDQUFDLHlCQUF5QixtQkFBbUIsVUFBVSxDQUFDLHdCQUF3QixtQkFBbUIsVUFBVSxDQUFDLHNCQUFzQixtQkFBbUIsVUFBVSxDQUFDLDRIQUE0SCw2QkFBNkIsQ0FBQyw0TUFBNE0sYUFBYSxDQUFDLGdDQUFnQyx3QkFBd0IsQ0FBQyxhQUFhLDRCQUE0QixDQUFDLFVBQVUsZUFBZSxDQUFDLHFDQUFxQyxxQkFBcUIsQ0FBQyx5QkFBeUIsMkJBQTJCLG1CQUFtQixrR0FBa0csQ0FBQyw0QkFBNEIsYUFBYSxDQUFDIiwiZmlsZSI6Im5vZGVfbW9kdWxlcy9AYW5ndWxhci9tYXRlcmlhbC9wcmVidWlsdC10aGVtZXMvaW5kaWdvLXBpbmsuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1hdC1iYWRnZS1jb250ZW50e2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnR7Zm9udC1zaXplOjZweH0ubWF0LWJhZGdlLWxhcmdlIC5tYXQtYmFkZ2UtY29udGVudHtmb250LXNpemU6MjRweH0ubWF0LWgxLC5tYXQtaGVhZGxpbmUsLm1hdC10eXBvZ3JhcGh5IGgxe2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDIsLm1hdC10aXRsZSwubWF0LXR5cG9ncmFwaHkgaDJ7Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMywubWF0LXN1YmhlYWRpbmctMiwubWF0LXR5cG9ncmFwaHkgaDN7Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNCwubWF0LXN1YmhlYWRpbmctMSwubWF0LXR5cG9ncmFwaHkgaDR7Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNSwubWF0LXR5cG9ncmFwaHkgaDV7Zm9udDo0MDAgMTEuNjJweC8yMHB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNiwubWF0LXR5cG9ncmFwaHkgaDZ7Zm9udDo0MDAgOS4zOHB4LzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktMiwubWF0LWJvZHktc3Ryb25ne2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1ib2R5LC5tYXQtYm9keS0xLC5tYXQtdHlwb2dyYXBoeXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtYm9keSBwLC5tYXQtYm9keS0xIHAsLm1hdC10eXBvZ3JhcGh5IHB7bWFyZ2luOjAgMCAxMnB4fS5tYXQtY2FwdGlvbiwubWF0LXNtYWxse2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1kaXNwbGF5LTQsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS00e2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjttYXJnaW46MCAwIDU2cHg7bGV0dGVyLXNwYWNpbmc6LS4wNWVtfS5tYXQtZGlzcGxheS0zLC5tYXQtdHlwb2dyYXBoeSAubWF0LWRpc3BsYXktM3tmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgNjRweDtsZXR0ZXItc3BhY2luZzotLjAyZW19Lm1hdC1kaXNwbGF5LTIsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0ye2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bWFyZ2luOjAgMCA2NHB4O2xldHRlci1zcGFjaW5nOi0uMDA1ZW19Lm1hdC1kaXNwbGF5LTEsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0xe2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcntmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtYnV0dG9uLC5tYXQtZmFiLC5tYXQtZmxhdC1idXR0b24sLm1hdC1pY29uLWJ1dHRvbiwubWF0LW1pbmktZmFiLC5tYXQtcmFpc2VkLWJ1dHRvbiwubWF0LXN0cm9rZWQtYnV0dG9ue2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xle2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWNhcmR7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlciAubWF0LWNhcmQtdGl0bGV7Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLWNvbnRlbnQsLm1hdC1jYXJkLXN1YnRpdGxle2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3h7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0IC5tYXQtY2hlY2tib3gtbGFiZWx7bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXB7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uLC5tYXQtY2hpcCAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbntmb250LXNpemU6MThweH0ubWF0LXRhYmxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxse2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGwsLm1hdC1mb290ZXItY2VsbHtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFye2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHl7Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbntmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGh7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxle2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudHtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtZm9ybS1maWVsZHtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtZm9ybS1maWVsZC13cmFwcGVye3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbiwubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbntmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24sLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9ue2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb257aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4e3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cysubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoLjc1KTt3aWR0aDoxMzMuMzMzMzQlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye3RvcDotLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVse3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcntmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC13cmFwcGVye3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWluZml4e3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSguNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSguNzUpO3dpZHRoOjEzMy4zMzMzNCV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSguNzUpO3dpZHRoOjEzMy4zMzMzNSV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcnttYXJnaW4tdG9wOi41NDE2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtbGFiZWx7dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0uNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0uNTkzNzVlbSkgc2NhbGUoLjc1KTt3aWR0aDoxMzMuMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLS41OTM3NGVtKSBzY2FsZSguNzUpO3dpZHRoOjEzMy4zMzMzNCV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzM0JX0ubWF0LWdyaWQtdGlsZS1mb290ZXIsLm1hdC1ncmlkLXRpbGUtaGVhZGVye2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWZvb3RlciAubWF0LWxpbmUsLm1hdC1ncmlkLXRpbGUtaGVhZGVyIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtZm9vdGVyIC5tYXQtbGluZTpudGgtY2hpbGQobisyKSwubWF0LWdyaWQtdGlsZS1oZWFkZXIgLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50e21hcmdpbi10b3A6LS4wNjI1ZW19Lm1hdC1tZW51LWl0ZW17Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvciwubWF0LXBhZ2luYXRvci1wYWdlLXNpemUgLm1hdC1zZWxlY3QtdHJpZ2dlcntmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b257Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc2VsZWN0e2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2Vye2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnR7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItaG9yaXpvbnRhbCwubWF0LXN0ZXBwZXItdmVydGljYWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcntmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLWxhYmVsLWVycm9ye2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXB7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWxpbmt7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXIsLm1hdC10b29sYmFyIGgxLC5tYXQtdG9vbGJhciBoMiwubWF0LXRvb2xiYXIgaDMsLm1hdC10b29sYmFyIGg0LC5tYXQtdG9vbGJhciBoNSwubWF0LXRvb2xiYXIgaDZ7Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjttYXJnaW46MH0ubWF0LXRvb2x0aXB7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXR7Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbXtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbntmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbSAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbntmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbiAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1zdWJoZWFkZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LWl0ZW17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LW9wdGlvbntmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LW9wdGlvbiAubWF0LWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1zdWJoZWFkZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbntmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbHtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc2ltcGxlLXNuYWNrYmFye2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb257bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtbmVzdGVkLXRyZWUtbm9kZSwubWF0LXRyZWUtbm9kZXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGV7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVke292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2Zvcm06c2NhbGUoMCl9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpey5tYXQtcmlwcGxlLWVsZW1lbnR7ZGlzcGxheTpub25lfX0uY2RrLXZpc3VhbGx5LWhpZGRlbntib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyLC5jZGstb3ZlcmxheS1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJ7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3B7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKC4yNSwuOCwuMjUsMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6MX1AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ3tvcGFjaXR5Oi42fX0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AsLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmd7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94e3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2t7cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0ey8qISovfUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5key8qISovfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb24tbmFtZTpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydH0uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uLW5hbWU6Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5ne2hlaWdodDphdXRvIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50O3BhZGRpbmc6MnB4IDAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ghaW1wb3J0YW50fS5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xKX0ubWF0LW9wdGlvbntjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1vcHRpb246Zm9jdXM6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSwubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1vcHRpb24ubWF0LWFjdGl2ZXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA0KTtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1vcHRpb24ubWF0LW9wdGlvbi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1wcmltYXJ5IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiMzZjUxYjV9Lm1hdC1hY2NlbnQgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7Y29sb3I6I2ZmNDA4MX0ubWF0LXdhcm4gLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7Y29sb3I6I2Y0NDMzNn0ubWF0LW9wdGdyb3VwLWxhYmVse2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LW9wdGdyb3VwLWRpc2FibGVkIC5tYXQtb3B0Z3JvdXAtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcHNldWRvLWNoZWNrYm94e2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LXBzZXVkby1jaGVja2JveDo6YWZ0ZXJ7Y29sb3I6I2ZhZmFmYX0ubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZHtjb2xvcjojYjBiMGIwfS5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSwubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGV7YmFja2dyb3VuZDojZmY0MDgxfS5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRle2JhY2tncm91bmQ6IzNmNTFiNX0ubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNmNDQzMzZ9Lm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZC5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkLC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZHtiYWNrZ3JvdW5kOiNiMGIwYjB9Lm1hdC1lbGV2YXRpb24tejB7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxe2JveC1zaGFkb3c6MCAycHggMXB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCAxcHggMXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDNweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16Mntib3gtc2hhZG93OjAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejN7Ym94LXNoYWRvdzowIDNweCAzcHggLTJweCByZ2JhKDAsMCwwLC4yKSwwIDNweCA0cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggOHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXo0e2JveC1zaGFkb3c6MCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA0cHggNXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejV7Ym94LXNoYWRvdzowIDNweCA1cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDVweCA4cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMTRweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16Nntib3gtc2hhZG93OjAgM3B4IDVweCAtMXB4IHJnYmEoMCwwLDAsLjIpLDAgNnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMThweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16N3tib3gtc2hhZG93OjAgNHB4IDVweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgN3B4IDEwcHggMXB4IHJnYmEoMCwwLDAsLjE0KSwwIDJweCAxNnB4IDFweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejh7Ym94LXNoYWRvdzowIDVweCA1cHggLTNweCByZ2JhKDAsMCwwLC4yKSwwIDhweCAxMHB4IDFweCByZ2JhKDAsMCwwLC4xNCksMCAzcHggMTRweCAycHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXo5e2JveC1zaGFkb3c6MCA1cHggNnB4IC0zcHggcmdiYSgwLDAsMCwuMiksMCA5cHggMTJweCAxcHggcmdiYSgwLDAsMCwuMTQpLDAgM3B4IDE2cHggMnB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTB7Ym94LXNoYWRvdzowIDZweCA2cHggLTNweCByZ2JhKDAsMCwwLC4yKSwwIDEwcHggMTRweCAxcHggcmdiYSgwLDAsMCwuMTQpLDAgNHB4IDE4cHggM3B4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTF7Ym94LXNoYWRvdzowIDZweCA3cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDExcHggMTVweCAxcHggcmdiYSgwLDAsMCwuMTQpLDAgNHB4IDIwcHggM3B4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTJ7Ym94LXNoYWRvdzowIDdweCA4cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDEycHggMTdweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNXB4IDIycHggNHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTN7Ym94LXNoYWRvdzowIDdweCA4cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDEzcHggMTlweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNXB4IDI0cHggNHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTR7Ym94LXNoYWRvdzowIDdweCA5cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDE0cHggMjFweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNXB4IDI2cHggNHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTV7Ym94LXNoYWRvdzowIDhweCA5cHggLTVweCByZ2JhKDAsMCwwLC4yKSwwIDE1cHggMjJweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNnB4IDI4cHggNXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTZ7Ym94LXNoYWRvdzowIDhweCAxMHB4IC01cHggcmdiYSgwLDAsMCwuMiksMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwwLDAsLjE0KSwwIDZweCAzMHB4IDVweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejE3e2JveC1zaGFkb3c6MCA4cHggMTFweCAtNXB4IHJnYmEoMCwwLDAsLjIpLDAgMTdweCAyNnB4IDJweCByZ2JhKDAsMCwwLC4xNCksMCA2cHggMzJweCA1cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxOHtib3gtc2hhZG93OjAgOXB4IDExcHggLTVweCByZ2JhKDAsMCwwLC4yKSwwIDE4cHggMjhweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgN3B4IDM0cHggNnB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTl7Ym94LXNoYWRvdzowIDlweCAxMnB4IC02cHggcmdiYSgwLDAsMCwuMiksMCAxOXB4IDI5cHggMnB4IHJnYmEoMCwwLDAsLjE0KSwwIDdweCAzNnB4IDZweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejIwe2JveC1zaGFkb3c6MCAxMHB4IDEzcHggLTZweCByZ2JhKDAsMCwwLC4yKSwwIDIwcHggMzFweCAzcHggcmdiYSgwLDAsMCwuMTQpLDAgOHB4IDM4cHggN3B4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MjF7Ym94LXNoYWRvdzowIDEwcHggMTNweCAtNnB4IHJnYmEoMCwwLDAsLjIpLDAgMjFweCAzM3B4IDNweCByZ2JhKDAsMCwwLC4xNCksMCA4cHggNDBweCA3cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoyMntib3gtc2hhZG93OjAgMTBweCAxNHB4IC02cHggcmdiYSgwLDAsMCwuMiksMCAyMnB4IDM1cHggM3B4IHJnYmEoMCwwLDAsLjE0KSwwIDhweCA0MnB4IDdweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejIze2JveC1zaGFkb3c6MCAxMXB4IDE0cHggLTdweCByZ2JhKDAsMCwwLC4yKSwwIDIzcHggMzZweCAzcHggcmdiYSgwLDAsMCwuMTQpLDAgOXB4IDQ0cHggOHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MjR7Ym94LXNoYWRvdzowIDExcHggMTVweCAtN3B4IHJnYmEoMCwwLDAsLjIpLDAgMjRweCAzOHB4IDNweCByZ2JhKDAsMCwwLC4xNCksMCA5cHggNDZweCA4cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtYXBwLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXRoZW1lLWxvYWRlZC1tYXJrZXJ7ZGlzcGxheTpub25lfS5tYXQtYXV0b2NvbXBsZXRlLXBhbmVse2JhY2tncm91bmQ6I2ZmZjtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDJweCA0cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDRweCA1cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LWFjdGl2ZSk6bm90KDpob3Zlcik6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1iYWRnZS1jb250ZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojM2Y1MWI1fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsubWF0LWJhZGdlLWNvbnRlbnR7b3V0bGluZTpzb2xpZCAxcHg7Ym9yZGVyLXJhZGl1czowfX0ubWF0LWJhZGdlLWFjY2VudCAubWF0LWJhZGdlLWNvbnRlbnR7YmFja2dyb3VuZDojZmY0MDgxO2NvbG9yOiNmZmZ9Lm1hdC1iYWRnZS13YXJuIC5tYXQtYmFkZ2UtY29udGVudHtjb2xvcjojZmZmO2JhY2tncm91bmQ6I2Y0NDMzNn0ubWF0LWJhZGdle3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtYmFkZ2UtaGlkZGVuIC5tYXQtYmFkZ2UtY29udGVudHtkaXNwbGF5Om5vbmV9Lm1hdC1iYWRnZS1kaXNhYmxlZCAubWF0LWJhZGdlLWNvbnRlbnR7YmFja2dyb3VuZDojYjliOWI5O2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LWJhZGdlLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0O3RyYW5zZm9ybTpzY2FsZSguNik7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1hdC1iYWRnZS1jb250ZW50Lm1hdC1iYWRnZS1hY3RpdmV7dHJhbnNmb3JtOm5vbmV9Lm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtsaW5lLWhlaWdodDoxNnB4fS5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWFib3ZlIC5tYXQtYmFkZ2UtY29udGVudHt0b3A6LThweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnR7Ym90dG9tOi04cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0xNnB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMTZweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6LTE2cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTE2cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi04cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi04cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi04cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LThweH0ubWF0LWJhZGdlLW1lZGl1bSAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtsaW5lLWhlaWdodDoyMnB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1hYm92ZSAubWF0LWJhZGdlLWNvbnRlbnR7dG9wOi0xMXB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnR7Ym90dG9tOi0xMXB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTIycHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMjJweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi0yMnB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMjJweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0xMXB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0OmF1dG87cmlnaHQ6LTExcHh9Lm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMTFweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTExcHh9Lm1hdC1iYWRnZS1sYXJnZSAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoyOHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWFib3ZlIC5tYXQtYmFkZ2UtY29udGVudHt0b3A6LTE0cHh9Lm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYmVsb3cgLm1hdC1iYWRnZS1jb250ZW50e2JvdHRvbTotMTRweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTI4cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0yOHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMjhweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMjhweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTE0cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0xNHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMTRweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMTRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJ7Ym94LXNoYWRvdzowIDhweCAxMHB4IC01cHggcmdiYSgwLDAsMCwuMiksMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwwLDAsLjE0KSwwIDZweCAzMHB4IDVweCByZ2JhKDAsMCwwLC4xMik7YmFja2dyb3VuZDojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uLC5tYXQtc3Ryb2tlZC1idXR0b257Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOjAgMH0ubWF0LWJ1dHRvbi5tYXQtcHJpbWFyeSwubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnl7Y29sb3I6IzNmNTFiNX0ubWF0LWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtaWNvbi1idXR0b24ubWF0LWFjY2VudCwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1hY2NlbnR7Y29sb3I6I2ZmNDA4MX0ubWF0LWJ1dHRvbi5tYXQtd2FybiwubWF0LWljb24tYnV0dG9uLm1hdC13YXJuLC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn0ubWF0LWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LWJ1dHRvbi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1idXR0b24ubWF0LXdhcm5bZGlzYWJsZWRdLC5tYXQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF0sLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5W2Rpc2FibGVkXSwubWF0LWljb24tYnV0dG9uLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF0sLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1wcmltYXJ5W2Rpc2FibGVkXSwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LXN0cm9rZWQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF17Y29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC1idXR0b24ubWF0LWFjY2VudCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24ubWF0LWFjY2VudCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWFjY2VudCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LWJ1dHRvbi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24ubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC13YXJuIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtYnV0dG9uW2Rpc2FibGVkXSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1pY29uLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtc3Ryb2tlZC1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudHtvcGFjaXR5Oi4xO2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZDojMDAwfS5tYXQtc3Ryb2tlZC1idXR0b246bm90KFtkaXNhYmxlZF0pe2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mYWIsLm1hdC1mbGF0LWJ1dHRvbiwubWF0LW1pbmktZmFiLC5tYXQtcmFpc2VkLWJ1dHRvbntjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtZmFiLm1hdC1wcmltYXJ5LC5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnksLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnl7Y29sb3I6I2ZmZn0ubWF0LWZhYi5tYXQtYWNjZW50LC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCwubWF0LW1pbmktZmFiLm1hdC1hY2NlbnQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnR7Y29sb3I6I2ZmZn0ubWF0LWZhYi5tYXQtd2FybiwubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLC5tYXQtbWluaS1mYWIubWF0LXdhcm4sLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJue2NvbG9yOiNmZmZ9Lm1hdC1mYWIubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1mYWIubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtZmFiLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LWZhYltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtbWluaS1mYWIubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1taW5pLWZhYltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1yYWlzZWQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF17Y29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtZmFiLm1hdC1wcmltYXJ5LC5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnksLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtZmFiLm1hdC1hY2NlbnQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtbWluaS1mYWIubWF0LWFjY2VudCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1mYWIubWF0LXdhcm4sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybiwubWF0LW1pbmktZmFiLm1hdC13YXJuLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1mYWIubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1mYWIubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtZmFiLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LWZhYltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtbWluaS1mYWIubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1taW5pLWZhYltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1yYWlzZWQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mYWIubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1hdC1mYWIubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtbWluaS1mYWIubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWZhYi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LW1pbmktZmFiLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWZsYXQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLC5tYXQtc3Ryb2tlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtcmFpc2VkLWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbZGlzYWJsZWRdKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDVweCA1cHggLTNweCByZ2JhKDAsMCwwLC4yKSwwIDhweCAxMHB4IDFweCByZ2JhKDAsMCwwLC4xNCksMCAzcHggMTRweCAycHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtcmFpc2VkLWJ1dHRvbltkaXNhYmxlZF06bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZmFiOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLC5tYXQtbWluaS1mYWI6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDNweCA1cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDZweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDE4cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1mYWI6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwubWF0LW1pbmktZmFiOm5vdChbZGlzYWJsZWRdKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDdweCA4cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDEycHggMTdweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNXB4IDIycHggNHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWZhYltkaXNhYmxlZF06bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1taW5pLWZhYltkaXNhYmxlZF06bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCwubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZXtib3gtc2hhZG93OjAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQsLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZHtib3gtc2hhZG93Om5vbmV9Lm1hdC1idXR0b24tdG9nZ2xle2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LWJ1dHRvbi10b2dnbGUgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7Y29sb3I6cmdiYSgwLDAsMCwuODcpO2JhY2tncm91bmQ6I2ZmZn0ubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlKy5tYXQtYnV0dG9uLXRvZ2dsZXtib3JkZXItbGVmdDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfVtkaXI9cnRsXSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUrLm1hdC1idXR0b24tdG9nZ2xle2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWJ1dHRvbi10b2dnbGUtdmVydGljYWwgLm1hdC1idXR0b24tdG9nZ2xlKy5tYXQtYnV0dG9uLXRvZ2dsZXtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDpub25lO2JvcmRlci10b3A6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4yNik7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJke2JhY2tncm91bmQ6I2ZmZn0ubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOiNiZGJkYmR9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQsLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZHtib3JkZXI6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWNhcmR7YmFja2dyb3VuZDojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWNhcmQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDJweCAxcHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggM3B4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtY2FyZC5tYXQtY2FyZC1mbGF0Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDAsMCwwLC4yKSwwIDAgMCAwIHJnYmEoMCwwLDAsLjE0KSwwIDAgMCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWNhcmQtc3VidGl0bGV7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtY2hlY2tib3gtZnJhbWV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWNoZWNrYm94LWNoZWNrbWFya3tmaWxsOiNmYWZhZmF9Lm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2U6I2ZhZmFmYSFpbXBvcnRhbnR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDpibGFjay1vbi13aGl0ZSl7Lm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2U6IzAwMCFpbXBvcnRhbnR9fS5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX0ubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXByaW1hcnkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtcHJpbWFyeSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCwubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtd2FybiAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC13YXJuIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1jaGVja2JveC1kaXNhYmxlZC5tYXQtY2hlY2tib3gtY2hlY2tlZCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsLm1hdC1jaGVja2JveC1kaXNhYmxlZC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojYjBiMGIwfS5tYXQtY2hlY2tib3gtZGlzYWJsZWQ6bm90KC5tYXQtY2hlY2tib3gtY2hlY2tlZCkgLm1hdC1jaGVja2JveC1mcmFtZXtib3JkZXItY29sb3I6I2IwYjBiMH0ubWF0LWNoZWNrYm94LWRpc2FibGVkIC5tYXQtY2hlY2tib3gtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsubWF0LWNoZWNrYm94LWRpc2FibGVke29wYWNpdHk6LjV9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZDowIDB9fS5tYXQtY2hlY2tib3g6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtY2hlY2tib3g6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1jaGVja2JveDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LXdhcm4gLm1hdC1jaGVja2JveC1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwe2JhY2tncm91bmQtY29sb3I6I2UwZTBlMDtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1yZW1vdmV7Y29sb3I6cmdiYSgwLDAsMCwuODcpO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpOmFjdGl2ZXtib3gtc2hhZG93OjAgM3B4IDNweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgM3B4IDRweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA4cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpIC5tYXQtY2hpcC1yZW1vdmU6aG92ZXJ7b3BhY2l0eTouNTR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLWRpc2FibGVke29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOjphZnRlcntiYWNrZ3JvdW5kOiMwMDB9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6IzNmNTFiNTtjb2xvcjojZmZmfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtcHJpbWFyeSAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiNmZmY7b3BhY2l0eTouNH0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7Y29sb3I6I2ZmZn0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXdhcm4gLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODE7Y29sb3I6I2ZmZn0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudCAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiNmZmY7b3BhY2l0eTouNH0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1hdC10YWJsZXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC10YWJsZSB0Ym9keSwubWF0LXRhYmxlIHRmb290LC5tYXQtdGFibGUgdGhlYWQsLm1hdC10YWJsZS1zdGlja3ksW21hdC1mb290ZXItcm93XSxbbWF0LWhlYWRlci1yb3ddLFttYXQtcm93XSxtYXQtZm9vdGVyLXJvdyxtYXQtaGVhZGVyLXJvdyxtYXQtcm93e2JhY2tncm91bmQ6aW5oZXJpdH1tYXQtZm9vdGVyLXJvdyxtYXQtaGVhZGVyLXJvdyxtYXQtcm93LHRkLm1hdC1jZWxsLHRkLm1hdC1mb290ZXItY2VsbCx0aC5tYXQtaGVhZGVyLWNlbGx7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1oZWFkZXItY2VsbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1jZWxsLC5tYXQtZm9vdGVyLWNlbGx7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtY2FsZW5kYXItYXJyb3d7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiwubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbiwubWF0LWRhdGVwaWNrZXItdG9nZ2xle2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcntjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcjo6YWZ0ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVse2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50e2NvbG9yOnJnYmEoMCwwLDAsLjg3KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCl7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCksLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpLC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpe2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMTgpfS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjU7Y29sb3I6I2ZmZn0ubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6cmdiYSg2Myw4MSwxODEsLjQpfS5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50e2JveC1zaGFkb3c6MCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA0cHggNXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODE7Y29sb3I6I2ZmZn0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSw2NCwxMjksLjQpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNjtjb2xvcjojZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuNCl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQtdG91Y2h7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZGF0ZXBpY2tlci10b2dnbGUtYWN0aXZle2NvbG9yOiMzZjUxYjV9Lm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmUubWF0LWFjY2VudHtjb2xvcjojZmY0MDgxfS5tYXQtZGF0ZXBpY2tlci10b2dnbGUtYWN0aXZlLm1hdC13YXJue2NvbG9yOiNmNDQzMzZ9Lm1hdC1kaWFsb2ctY29udGFpbmVye2JveC1zaGFkb3c6MCAxMXB4IDE1cHggLTdweCByZ2JhKDAsMCwwLC4yKSwwIDI0cHggMzhweCAzcHggcmdiYSgwLDAsMCwuMTQpLDAgOXB4IDQ2cHggOHB4IHJnYmEoMCwwLDAsLjEyKTtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtZGl2aWRlcntib3JkZXItdG9wLWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWRpdmlkZXItdmVydGljYWx7Ym9yZGVyLXJpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWV4cGFuc2lvbi1wYW5lbHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MCAzcHggMXB4IC0ycHggcmdiYSgwLDAsMCwuMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWFjdGlvbi1yb3d7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5kZWQpIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLmNkay1rZXlib2FyZC1mb2N1c2VkLC5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdCgubWF0LWV4cGFuZGVkKSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKS5jZGstcHJvZ3JhbS1mb2N1c2VkLC5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdCgubWF0LWV4cGFuZGVkKSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKTpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA0KX1AbWVkaWEgKGhvdmVyOm5vbmUpey5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdCgubWF0LWV4cGFuZGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOiNmZmZ9fS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10aXRsZXtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1leHBhbnNpb24taW5kaWNhdG9yOjphZnRlciwubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb257Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlclthcmlhLWRpc2FibGVkPXRydWVde2NvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24sLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxle2NvbG9yOmluaGVyaXR9Lm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOnJnYmEoMCwwLDAsLjYpfS5tYXQtaGludHtjb2xvcjpyZ2JhKDAsMCwwLC42KX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiMzZjUxYjV9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtYWNjZW50e2NvbG9yOiNmZjQwODF9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2Vye2NvbG9yOiNmZjQwODF9Lm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LXdhcm57YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb2N1c2VkOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojM2Y1MWI1fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb2N1c2VkOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOiNmZjQwODF9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvY3VzZWQ6bm90KC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkKS5tYXQtd2FybiAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIC5tYXQtZm9ybS1maWVsZC1yZXF1aXJlZC1tYXJrZXIsLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLm1hdC1hY2NlbnR7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1lcnJvcntjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWhpbnR7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoMCwwLDAsLjQyKSAwLHJnYmEoMCwwLDAsLjQyKSAzMyUsdHJhbnNwYXJlbnQgMCk7YmFja2dyb3VuZC1zaXplOjRweCAxMDAlO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDAsMCwwLC40MikgMCxyZ2JhKDAsMCwwLC40MikgMzMlLHRyYW5zcGFyZW50IDApO2JhY2tncm91bmQtc2l6ZTo0cHggMTAwJTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC1mbGV4e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXh7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wMil9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtjb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojM2Y1MWI1fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZmY0MDgxfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWludmFsaWQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2NvbG9yOnJnYmEoMCwwLDAsLjA2KX0ubWF0LWljb24ubWF0LXByaW1hcnl7Y29sb3I6IzNmNTFiNX0ubWF0LWljb24ubWF0LWFjY2VudHtjb2xvcjojZmY0MDgxfS5tYXQtaWNvbi5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIsLm1hdC1pbnB1dC1lbGVtZW50OmRpc2FibGVke2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6IzNmNTFiNX0ubWF0LWlucHV0LWVsZW1lbnQ6OnBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LWlucHV0LWVsZW1lbnQ6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1pbnB1dC1lbGVtZW50Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1hY2NlbnQgLm1hdC1pbnB1dC1lbGVtZW50e2NhcmV0LWNvbG9yOiNmZjQwODF9Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1pbnB1dC1lbGVtZW50LC5tYXQtd2FybiAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6I2Y0NDMzNn0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbXtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbntjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1saXN0LWJhc2UgLm1hdC1zdWJoZWFkZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtbGlzdC1pdGVtLWRpc2FibGVke2JhY2tncm91bmQtY29sb3I6I2VlZX0ubWF0LWFjdGlvbi1saXN0IC5tYXQtbGlzdC1pdGVtOmZvY3VzLC5tYXQtYWN0aW9uLWxpc3QgLm1hdC1saXN0LWl0ZW06aG92ZXIsLm1hdC1saXN0LW9wdGlvbjpmb2N1cywubWF0LWxpc3Qtb3B0aW9uOmhvdmVyLC5tYXQtbmF2LWxpc3QgLm1hdC1saXN0LWl0ZW06Zm9jdXMsLm1hdC1uYXYtbGlzdCAubWF0LWxpc3QtaXRlbTpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA0KX0ubWF0LW1lbnUtcGFuZWx7YmFja2dyb3VuZDojZmZmfS5tYXQtbWVudS1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgMnB4IDRweCAtMXB4IHJnYmEoMCwwLDAsLjIpLDAgNHB4IDVweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtbWVudS1pdGVte2JhY2tncm91bmQ6MCAwO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0sLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdOjphZnRlcntjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLW5vLWNvbG9yLC5tYXQtbWVudS1pdGVtLXN1Ym1lbnUtdHJpZ2dlcjo6YWZ0ZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtbWVudS1pdGVtLWhpZ2hsaWdodGVkOm5vdChbZGlzYWJsZWRdKSwubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksLm1hdC1tZW51LWl0ZW0uY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtcGFnaW5hdG9ye2JhY2tncm91bmQ6I2ZmZn0ubWF0LXBhZ2luYXRvciwubWF0LXBhZ2luYXRvci1wYWdlLXNpemUgLm1hdC1zZWxlY3QtdHJpZ2dlcntjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1wYWdpbmF0b3ItZGVjcmVtZW50LC5tYXQtcGFnaW5hdG9yLWluY3JlbWVudHtib3JkZXItdG9wOjJweCBzb2xpZCByZ2JhKDAsMCwwLC41NCk7Ym9yZGVyLXJpZ2h0OjJweCBzb2xpZCByZ2JhKDAsMCwwLC41NCl9Lm1hdC1wYWdpbmF0b3ItZmlyc3QsLm1hdC1wYWdpbmF0b3ItbGFzdHtib3JkZXItdG9wOjJweCBzb2xpZCByZ2JhKDAsMCwwLC41NCl9Lm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItZGVjcmVtZW50LC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWZpcnN0LC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWluY3JlbWVudCwubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1sYXN0e2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZHtmaWxsOiNjNWNhZTl9Lm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6I2M1Y2FlOX0ubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5ke2ZpbGw6I2ZmODBhYn0ubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZjgwYWJ9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZHtmaWxsOiNmZmNkZDJ9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6I2ZmY2RkMn0ubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZSwubWF0LXNwaW5uZXIgY2lyY2xle3N0cm9rZTojM2Y1MWI1fS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtYWNjZW50IGNpcmNsZSwubWF0LXNwaW5uZXIubWF0LWFjY2VudCBjaXJjbGV7c3Ryb2tlOiNmZjQwODF9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC13YXJuIGNpcmNsZSwubWF0LXNwaW5uZXIubWF0LXdhcm4gY2lyY2xle3N0cm9rZTojZjQ0MzM2fS5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnkubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOiMzZjUxYjV9Lm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSksLm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnkubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeTphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudC5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6I2ZmNDA4MX0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSksLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudC5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQ6YWN0aXZlIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjojZjQ0MzM2fS5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUpLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm46YWN0aXZlIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1yYWRpby1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1zZWxlY3QtdmFsdWV7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtc2VsZWN0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC12YWx1ZXtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtc2VsZWN0LXBhbmVse2JhY2tncm91bmQ6I2ZmZn0ubWF0LXNlbGVjdC1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgMnB4IDRweCAtMXB4IHJnYmEoMCwwLDAsLjIpLDAgNHB4IDVweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTIpfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZC5tYXQtcHJpbWFyeSAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojM2Y1MWI1fS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZC5tYXQtYWNjZW50IC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiNmZjQwODF9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkLm1hdC13YXJuIC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtaW52YWxpZCAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZCAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LWRyYXdlci1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWRyYXdlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtZHJhd2VyLm1hdC1kcmF3ZXItcHVzaHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lm1hdC1kcmF3ZXI6bm90KC5tYXQtZHJhd2VyLXNpZGUpe2JveC1zaGFkb3c6MCA4cHggMTBweCAtNXB4IHJnYmEoMCwwLDAsLjIpLDAgMTZweCAyNHB4IDJweCByZ2JhKDAsMCwwLC4xNCksMCA2cHggMzBweCA1cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZHJhd2VyLXNpZGV7Ym9yZGVyLXJpZ2h0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1kcmF3ZXItc2lkZS5tYXQtZHJhd2VyLWVuZHtib3JkZXItbGVmdDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpO2JvcmRlci1yaWdodDpub25lfVtkaXI9cnRsXSAubWF0LWRyYXdlci1zaWRle2JvcmRlci1sZWZ0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJpZ2h0Om5vbmV9W2Rpcj1ydGxdIC5tYXQtZHJhd2VyLXNpZGUubWF0LWRyYXdlci1lbmR7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItcmlnaHQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWRyYXdlci1iYWNrZHJvcC5tYXQtZHJhd2VyLXNob3due2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNil9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDY0LDEyOSwuNTQpfS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1wcmltYXJ5Lm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtcHJpbWFyeS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDYzLDgxLDE4MSwuNTQpfS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1wcmltYXJ5Lm1hdC1jaGVja2VkIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC13YXJuLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtd2Fybi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuNTQpfS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC13YXJuLm1hdC1jaGVja2VkIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtc2xpZGUtdG9nZ2xlOm5vdCgubWF0LWNoZWNrZWQpIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2JveC1zaGFkb3c6MCAycHggMXB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCAxcHggMXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDNweCAwIHJnYmEoMCwwLDAsLjEyKTtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmF9Lm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1wcmltYXJ5IC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10aHVtYi1sYWJlbCwubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdHJhY2stZmlsbHtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC1wcmltYXJ5IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Y29sb3I6I2ZmZn0ubWF0LWFjY2VudCAubWF0LXNsaWRlci10aHVtYiwubWF0LWFjY2VudCAubWF0LXNsaWRlci10aHVtYi1sYWJlbCwubWF0LWFjY2VudCAubWF0LXNsaWRlci10cmFjay1maWxse2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LWFjY2VudCAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e2NvbG9yOiNmZmZ9Lm1hdC13YXJuIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYi1sYWJlbCwubWF0LXdhcm4gLm1hdC1zbGlkZXItdHJhY2stZmlsbHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC13YXJuIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Y29sb3I6I2ZmZn0ubWF0LXNsaWRlci1mb2N1cy1yaW5ne2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsNjQsMTI5LC4yKX0uY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCwubWF0LXNsaWRlcjpob3ZlciAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdHJhY2stZmlsbHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXNsaWRlci1kaXNhYmxlZDpob3ZlciAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtc2xpZGVyLW1pbi12YWx1ZSAubWF0LXNsaWRlci1mb2N1cy1yaW5ne2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKSAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMjYpO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKS5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpOmhvdmVyIC5tYXQtc2xpZGVyLXRodW1ie2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKS5jZGstZm9jdXNlZC5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyk6aG92ZXIubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtc2xpZGVyLWhhcy10aWNrcyAubWF0LXNsaWRlci13cmFwcGVyOjphZnRlcntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNyl9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10aWNrc3tiYWNrZ3JvdW5kLWltYWdlOnJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuNykscmdiYSgwLDAsMCwuNykgMnB4LHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LW1vei1yZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KC4wMDAxZGVnLHJnYmEoMCwwLDAsLjcpLHJnYmEoMCwwLDAsLjcpIDJweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50KX0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aWNrc3tiYWNrZ3JvdW5kLWltYWdlOnJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMCwwLDAsLjcpLHJnYmEoMCwwLDAsLjcpIDJweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50KX0ubWF0LXN0ZXAtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkLC5tYXQtc3RlcC1oZWFkZXIuY2RrLXByb2dyYW0tZm9jdXNlZCwubWF0LXN0ZXAtaGVhZGVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpfUBtZWRpYSAoaG92ZXI6bm9uZSl7Lm1hdC1zdGVwLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOjAgMH19Lm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtbGFiZWwsLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtb3B0aW9uYWx7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC41NCk7Y29sb3I6I2ZmZn0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29uLXNlbGVjdGVkLC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc3RhdGUtZG9uZSwubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVkaXR7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1O2NvbG9yOiNmZmZ9Lm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lcnJvcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiNmNDQzMzZ9Lm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtbGFiZWwubWF0LXN0ZXAtbGFiZWwtYWN0aXZle2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1sYWJlbC5tYXQtc3RlcC1sYWJlbC1lcnJvcntjb2xvcjojZjQ0MzM2fS5tYXQtc3RlcHBlci1ob3Jpem9udGFsLC5tYXQtc3RlcHBlci12ZXJ0aWNhbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmU6OmJlZm9yZXtib3JkZXItbGVmdC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjphZnRlciwubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmJlZm9yZSwubWF0LXN0ZXBwZXItaG9yaXpvbnRhbC1saW5le2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtc29ydC1oZWFkZXItYXJyb3d7Y29sb3I6Izc1NzU3NX0ubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItbmF2LWJhcntib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMil9Lm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIC5tYXQtdGFiLWhlYWRlciwubWF0LXRhYi1ncm91cC1pbnZlcnRlZC1oZWFkZXIgLm1hdC10YWItbmF2LWJhcntib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLWJvdHRvbTpub25lfS5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWxpbmt7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtdGFiLWdyb3VwW2NsYXNzKj1tYXQtYmFja2dyb3VuZC1dIC5tYXQtdGFiLWhlYWRlciwubWF0LXRhYi1uYXYtYmFyW2NsYXNzKj1tYXQtYmFja2dyb3VuZC1de2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItdG9wOm5vbmV9Lm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgxOTcsMjAyLDIzMywuMyl9Lm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeS5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMTI4LDE3MSwuMyl9Lm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LWluay1iYXIsLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC10YWItZ3JvdXAubWF0LWFjY2VudC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyMDUsMjEwLC4zKX0ubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LWluay1iYXIsLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtdGFiLWdyb3VwLm1hdC13YXJuLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2FybiAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE5NywyMDIsMjMzLC4zKX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWhlYWRlciwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmtzLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmtze2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluaywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmt7Y29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwxMjgsMTcxLC4zKX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rcywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGlua3N7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluaywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIwNSwyMTAsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGlua3MsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWhlYWRlciwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGlua3N7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGlua3tjb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX0ubWF0LXRvb2xiYXJ7YmFja2dyb3VuZDojZjVmNWY1O2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXRvb2xiYXIubWF0LXByaW1hcnl7YmFja2dyb3VuZDojM2Y1MWI1O2NvbG9yOiNmZmZ9Lm1hdC10b29sYmFyLm1hdC1hY2NlbnR7YmFja2dyb3VuZDojZmY0MDgxO2NvbG9yOiNmZmZ9Lm1hdC10b29sYmFyLm1hdC13YXJue2JhY2tncm91bmQ6I2Y0NDMzNjtjb2xvcjojZmZmfS5tYXQtdG9vbGJhciAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubWF0LXRvb2xiYXIgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3csLm1hdC10b29sYmFyIC5tYXQtc2VsZWN0LWFycm93LC5tYXQtdG9vbGJhciAubWF0LXNlbGVjdC12YWx1ZXtjb2xvcjppbmhlcml0fS5tYXQtdG9vbGJhciAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6Y3VycmVudENvbG9yfS5tYXQtdG9vbHRpcHtiYWNrZ3JvdW5kOnJnYmEoOTcsOTcsOTcsLjkpfS5tYXQtdHJlZXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1uZXN0ZWQtdHJlZS1ub2RlLC5tYXQtdHJlZS1ub2Rle2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXNuYWNrLWJhci1jb250YWluZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyk7YmFja2dyb3VuZDojMzIzMjMyO2JveC1zaGFkb3c6MCAzcHggNXB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA2cHggMTBweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxOHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbntjb2xvcjojZmY0MDgxfSJdfQ== */", '', '']] /***/ }), /***/ "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/lib/loader.js?!./src/styles.scss": /*!**********************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/styles.scss ***! \**********************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = [[module.i, "/* You can add global styles to this file, and also import other style files */\nhtml, body {\n height: 100%; }\nbody {\n margin: 0;\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n overflow: hidden; }\n.mdc-button {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 2.25rem;\n font-weight: 500;\n letter-spacing: 0.08928571em;\n text-decoration: none;\n text-transform: uppercase;\n padding: 0 8px 0 8px;\n display: inline-flex;\n position: relative;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: 64px;\n height: 36px;\n border: none;\n outline: none;\n /* @alternate */\n line-height: inherit;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-appearance: none;\n overflow: hidden;\n vertical-align: middle;\n border-radius: 4px; }\n.mdc-button::-moz-focus-inner {\n padding: 0;\n border: 0; }\n.mdc-button:active {\n outline: none; }\n.mdc-button:hover {\n cursor: pointer; }\n.mdc-button:disabled {\n background-color: transparent;\n color: rgba(0, 0, 0, 0.37);\n cursor: default;\n pointer-events: none; }\n.mdc-button.mdc-button--dense {\n border-radius: 4px; }\n.mdc-button:not(:disabled) {\n background-color: transparent; }\n.mdc-button .mdc-button__icon {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 8px;\n display: inline-block;\n width: 18px;\n height: 18px;\n font-size: 18px;\n vertical-align: top; }\n[dir=\"rtl\"] .mdc-button .mdc-button__icon, .mdc-button .mdc-button__icon[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 8px;\n /* @noflip */\n margin-right: 0; }\n.mdc-button:not(:disabled) {\n color: #1565c0;\n /* @alternate */\n color: var(--mdc-theme-primary, #1565c0); }\n.mdc-button__label + .mdc-button__icon {\n /* @noflip */\n margin-left: 8px;\n /* @noflip */\n margin-right: 0; }\n[dir=\"rtl\"] .mdc-button__label + .mdc-button__icon, .mdc-button__label + .mdc-button__icon[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 8px; }\nsvg.mdc-button__icon {\n fill: currentColor; }\n.mdc-button--raised .mdc-button__icon,\n.mdc-button--unelevated .mdc-button__icon,\n.mdc-button--outlined .mdc-button__icon {\n /* @noflip */\n margin-left: -4px;\n /* @noflip */\n margin-right: 8px; }\n[dir=\"rtl\"] .mdc-button--raised .mdc-button__icon, .mdc-button--raised .mdc-button__icon[dir=\"rtl\"], [dir=\"rtl\"]\n .mdc-button--unelevated .mdc-button__icon,\n .mdc-button--unelevated .mdc-button__icon[dir=\"rtl\"], [dir=\"rtl\"]\n .mdc-button--outlined .mdc-button__icon,\n .mdc-button--outlined .mdc-button__icon[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 8px;\n /* @noflip */\n margin-right: -4px; }\n.mdc-button--raised .mdc-button__label + .mdc-button__icon,\n.mdc-button--unelevated .mdc-button__label + .mdc-button__icon,\n.mdc-button--outlined .mdc-button__label + .mdc-button__icon {\n /* @noflip */\n margin-left: 8px;\n /* @noflip */\n margin-right: -4px; }\n[dir=\"rtl\"] .mdc-button--raised .mdc-button__label + .mdc-button__icon, .mdc-button--raised .mdc-button__label + .mdc-button__icon[dir=\"rtl\"], [dir=\"rtl\"]\n .mdc-button--unelevated .mdc-button__label + .mdc-button__icon,\n .mdc-button--unelevated .mdc-button__label + .mdc-button__icon[dir=\"rtl\"], [dir=\"rtl\"]\n .mdc-button--outlined .mdc-button__label + .mdc-button__icon,\n .mdc-button--outlined .mdc-button__label + .mdc-button__icon[dir=\"rtl\"] {\n /* @noflip */\n margin-left: -4px;\n /* @noflip */\n margin-right: 8px; }\n.mdc-button--raised,\n.mdc-button--unelevated {\n padding: 0 16px 0 16px; }\n.mdc-button--raised:disabled,\n .mdc-button--unelevated:disabled {\n background-color: rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.37); }\n.mdc-button--raised:not(:disabled),\n .mdc-button--unelevated:not(:disabled) {\n background-color: #1565c0; }\n@supports not (-ms-ime-align: auto) {\n .mdc-button--raised:not(:disabled),\n .mdc-button--unelevated:not(:disabled) {\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0); } }\n.mdc-button--raised:not(:disabled),\n .mdc-button--unelevated:not(:disabled) {\n color: #fff;\n /* @alternate */\n color: var(--mdc-theme-on-primary, #fff); }\n.mdc-button--raised {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); }\n.mdc-button--raised:hover, .mdc-button--raised:focus {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n.mdc-button--raised:active {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\n.mdc-button--raised:disabled {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mdc-button--outlined {\n border-style: solid;\n padding: 0 14px 0 14px;\n border-width: 2px; }\n.mdc-button--outlined:disabled {\n border-color: rgba(0, 0, 0, 0.37); }\n.mdc-button--outlined:not(:disabled) {\n border-color: #1565c0;\n /* @alternate */\n border-color: var(--mdc-theme-primary, #1565c0); }\n.mdc-button--dense {\n height: 32px;\n font-size: .8125rem; }\n@-webkit-keyframes mdc-ripple-fg-radius-in {\n from {\n -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);\n transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }\n to {\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }\n@keyframes mdc-ripple-fg-radius-in {\n from {\n -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);\n transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }\n to {\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }\n@-webkit-keyframes mdc-ripple-fg-opacity-in {\n from {\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear;\n opacity: 0; }\n to {\n opacity: var(--mdc-ripple-fg-opacity, 0); } }\n@keyframes mdc-ripple-fg-opacity-in {\n from {\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear;\n opacity: 0; }\n to {\n opacity: var(--mdc-ripple-fg-opacity, 0); } }\n@-webkit-keyframes mdc-ripple-fg-opacity-out {\n from {\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear;\n opacity: var(--mdc-ripple-fg-opacity, 0); }\n to {\n opacity: 0; } }\n@keyframes mdc-ripple-fg-opacity-out {\n from {\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear;\n opacity: var(--mdc-ripple-fg-opacity, 0); }\n to {\n opacity: 0; } }\n.mdc-ripple-surface--test-edge-var-bug {\n --mdc-ripple-surface-test-edge-var: 1px solid #000;\n visibility: hidden; }\n.mdc-ripple-surface--test-edge-var-bug::before {\n border: var(--mdc-ripple-surface-test-edge-var); }\n.mdc-button {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity; }\n.mdc-button::before, .mdc-button::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-button::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-button.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-button.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-button.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-button.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-button.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-button::before, .mdc-button::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n.mdc-button.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-button::before, .mdc-button::after {\n background-color: #1565c0; }\n@supports not (-ms-ime-align: auto) {\n .mdc-button::before, .mdc-button::after {\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0); } }\n.mdc-button:hover::before {\n opacity: 0.04; }\n.mdc-button:not(.mdc-ripple-upgraded):focus::before, .mdc-button.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-button:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-button:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-button.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n.mdc-button--raised::before, .mdc-button--raised::after,\n.mdc-button--unelevated::before,\n.mdc-button--unelevated::after {\n background-color: #fff; }\n@supports not (-ms-ime-align: auto) {\n .mdc-button--raised::before, .mdc-button--raised::after,\n .mdc-button--unelevated::before,\n .mdc-button--unelevated::after {\n /* @alternate */\n background-color: var(--mdc-theme-on-primary, #fff); } }\n.mdc-button--raised:hover::before,\n.mdc-button--unelevated:hover::before {\n opacity: 0.08; }\n.mdc-button--raised:not(.mdc-ripple-upgraded):focus::before, .mdc-button--raised.mdc-ripple-upgraded--background-focused::before,\n.mdc-button--unelevated:not(.mdc-ripple-upgraded):focus::before,\n.mdc-button--unelevated.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n.mdc-button--raised:not(.mdc-ripple-upgraded)::after,\n.mdc-button--unelevated:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-button--raised:not(.mdc-ripple-upgraded):active::after,\n.mdc-button--unelevated:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n.mdc-button--raised.mdc-ripple-upgraded,\n.mdc-button--unelevated.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n.mdc-card {\n border-radius: 4px;\n background-color: #fff;\n /* @alternate */\n background-color: var(--mdc-theme-surface, #fff);\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n display: flex;\n flex-direction: column;\n box-sizing: border-box; }\n.mdc-card--outlined {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n border-width: 1px;\n border-style: solid;\n border-color: #e0e0e0; }\n.mdc-card__media {\n position: relative;\n box-sizing: border-box;\n background-repeat: no-repeat;\n background-position: center;\n background-size: cover; }\n.mdc-card__media::before {\n display: block;\n content: \"\"; }\n.mdc-card__media:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit; }\n.mdc-card__media:last-child {\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit; }\n.mdc-card__media--square::before {\n margin-top: 100%; }\n.mdc-card__media--16-9::before {\n margin-top: 56.25%; }\n.mdc-card__media-content {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-sizing: border-box; }\n.mdc-card__primary-action {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n position: relative;\n outline: none;\n color: inherit;\n text-decoration: none;\n cursor: pointer;\n overflow: hidden; }\n.mdc-card__primary-action:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit; }\n.mdc-card__primary-action:last-child {\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit; }\n.mdc-card__actions {\n display: flex;\n flex-direction: row;\n align-items: center;\n box-sizing: border-box;\n min-height: 52px;\n padding: 8px; }\n.mdc-card__actions--full-bleed {\n padding: 0; }\n.mdc-card__action-buttons,\n.mdc-card__action-icons {\n display: flex;\n flex-direction: row;\n align-items: center;\n box-sizing: border-box; }\n.mdc-card__action-icons {\n color: rgba(0, 0, 0, 0.6);\n flex-grow: 1;\n justify-content: flex-end; }\n.mdc-card__action-buttons + .mdc-card__action-icons {\n /* @noflip */\n margin-left: 16px;\n /* @noflip */\n margin-right: 0; }\n[dir=\"rtl\"] .mdc-card__action-buttons + .mdc-card__action-icons, .mdc-card__action-buttons + .mdc-card__action-icons[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 16px; }\n.mdc-card__action {\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n box-sizing: border-box;\n justify-content: center;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n.mdc-card__action:focus {\n outline: none; }\n.mdc-card__action--button {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 8px;\n padding: 0 8px; }\n[dir=\"rtl\"] .mdc-card__action--button, .mdc-card__action--button[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 8px;\n /* @noflip */\n margin-right: 0; }\n.mdc-card__action--button:last-child {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 0; }\n[dir=\"rtl\"] .mdc-card__action--button:last-child, .mdc-card__action--button:last-child[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 0; }\n.mdc-card__actions--full-bleed .mdc-card__action--button {\n justify-content: space-between;\n width: 100%;\n height: auto;\n max-height: none;\n margin: 0;\n padding: 8px 16px;\n /* @noflip */\n text-align: left; }\n[dir=\"rtl\"] .mdc-card__actions--full-bleed .mdc-card__action--button, .mdc-card__actions--full-bleed .mdc-card__action--button[dir=\"rtl\"] {\n /* @noflip */\n text-align: right; }\n.mdc-card__action--icon {\n margin: -6px 0;\n padding: 12px; }\n.mdc-card__action--icon:not(:disabled) {\n color: rgba(0, 0, 0, 0.6); }\n.mdc-card__primary-action {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity; }\n.mdc-card__primary-action::before, .mdc-card__primary-action::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-card__primary-action::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-card__primary-action.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-card__primary-action.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-card__primary-action.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-card__primary-action.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-card__primary-action.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-card__primary-action::before, .mdc-card__primary-action::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n.mdc-card__primary-action.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-card__primary-action::before, .mdc-card__primary-action::after {\n background-color: #000; }\n.mdc-card__primary-action:hover::before {\n opacity: 0.04; }\n.mdc-card__primary-action:not(.mdc-ripple-upgraded):focus::before, .mdc-card__primary-action.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-card__primary-action:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-card__primary-action:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-card__primary-action.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n@-webkit-keyframes mdc-checkbox-unchecked-checked-checkmark-path {\n 0%,\n 50% {\n stroke-dashoffset: 29.7833385; }\n 50% {\n -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }\n 100% {\n stroke-dashoffset: 0; } }\n@keyframes mdc-checkbox-unchecked-checked-checkmark-path {\n 0%,\n 50% {\n stroke-dashoffset: 29.7833385; }\n 50% {\n -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }\n 100% {\n stroke-dashoffset: 0; } }\n@-webkit-keyframes mdc-checkbox-unchecked-indeterminate-mixedmark {\n 0%,\n 68.2% {\n -webkit-transform: scaleX(0);\n transform: scaleX(0); }\n 68.2% {\n -webkit-animation-timing-function: cubic-bezier(0, 0, 0, 1);\n animation-timing-function: cubic-bezier(0, 0, 0, 1); }\n 100% {\n -webkit-transform: scaleX(1);\n transform: scaleX(1); } }\n@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark {\n 0%,\n 68.2% {\n -webkit-transform: scaleX(0);\n transform: scaleX(0); }\n 68.2% {\n -webkit-animation-timing-function: cubic-bezier(0, 0, 0, 1);\n animation-timing-function: cubic-bezier(0, 0, 0, 1); }\n 100% {\n -webkit-transform: scaleX(1);\n transform: scaleX(1); } }\n@-webkit-keyframes mdc-checkbox-checked-unchecked-checkmark-path {\n from {\n -webkit-animation-timing-function: cubic-bezier(0.4, 0, 1, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 1, 1);\n opacity: 1;\n stroke-dashoffset: 0; }\n to {\n opacity: 0;\n stroke-dashoffset: -29.7833385; } }\n@keyframes mdc-checkbox-checked-unchecked-checkmark-path {\n from {\n -webkit-animation-timing-function: cubic-bezier(0.4, 0, 1, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 1, 1);\n opacity: 1;\n stroke-dashoffset: 0; }\n to {\n opacity: 0;\n stroke-dashoffset: -29.7833385; } }\n@-webkit-keyframes mdc-checkbox-checked-indeterminate-checkmark {\n from {\n -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n opacity: 1; }\n to {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n opacity: 0; } }\n@keyframes mdc-checkbox-checked-indeterminate-checkmark {\n from {\n -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n opacity: 1; }\n to {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n opacity: 0; } }\n@-webkit-keyframes mdc-checkbox-indeterminate-checked-checkmark {\n from {\n -webkit-animation-timing-function: cubic-bezier(0.14, 0, 0, 1);\n animation-timing-function: cubic-bezier(0.14, 0, 0, 1);\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n opacity: 0; }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n opacity: 1; } }\n@keyframes mdc-checkbox-indeterminate-checked-checkmark {\n from {\n -webkit-animation-timing-function: cubic-bezier(0.14, 0, 0, 1);\n animation-timing-function: cubic-bezier(0.14, 0, 0, 1);\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n opacity: 0; }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n opacity: 1; } }\n@-webkit-keyframes mdc-checkbox-checked-indeterminate-mixedmark {\n from {\n -webkit-animation-timing-function: mdc-animation-deceleration-curve-timing-function;\n animation-timing-function: mdc-animation-deceleration-curve-timing-function;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n opacity: 0; }\n to {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n opacity: 1; } }\n@keyframes mdc-checkbox-checked-indeterminate-mixedmark {\n from {\n -webkit-animation-timing-function: mdc-animation-deceleration-curve-timing-function;\n animation-timing-function: mdc-animation-deceleration-curve-timing-function;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n opacity: 0; }\n to {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n opacity: 1; } }\n@-webkit-keyframes mdc-checkbox-indeterminate-checked-mixedmark {\n from {\n -webkit-animation-timing-function: cubic-bezier(0.14, 0, 0, 1);\n animation-timing-function: cubic-bezier(0.14, 0, 0, 1);\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n opacity: 1; }\n to {\n -webkit-transform: rotate(315deg);\n transform: rotate(315deg);\n opacity: 0; } }\n@keyframes mdc-checkbox-indeterminate-checked-mixedmark {\n from {\n -webkit-animation-timing-function: cubic-bezier(0.14, 0, 0, 1);\n animation-timing-function: cubic-bezier(0.14, 0, 0, 1);\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n opacity: 1; }\n to {\n -webkit-transform: rotate(315deg);\n transform: rotate(315deg);\n opacity: 0; } }\n@-webkit-keyframes mdc-checkbox-indeterminate-unchecked-mixedmark {\n 0% {\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear;\n -webkit-transform: scaleX(1);\n transform: scaleX(1);\n opacity: 1; }\n 32.8%,\n 100% {\n -webkit-transform: scaleX(0);\n transform: scaleX(0);\n opacity: 0; } }\n@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark {\n 0% {\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear;\n -webkit-transform: scaleX(1);\n transform: scaleX(1);\n opacity: 1; }\n 32.8%,\n 100% {\n -webkit-transform: scaleX(0);\n transform: scaleX(0);\n opacity: 0; } }\n.mdc-checkbox {\n display: inline-block;\n position: relative;\n flex: 0 0 18px;\n box-sizing: content-box;\n width: 18px;\n height: 18px;\n padding: 11px;\n line-height: 0;\n white-space: nowrap;\n cursor: pointer;\n vertical-align: bottom; }\n.mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate) ~ .mdc-checkbox__background {\n border-color: rgba(0, 0, 0, 0.54);\n background-color: transparent; }\n.mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,\n.mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background {\n border-color: #388e3c;\n /* @alternate */\n border-color: var(--mdc-theme-secondary, #388e3c);\n background-color: #388e3c;\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); }\n@-webkit-keyframes mdc-checkbox-fade-in-background-0 {\n 0% {\n border-color: rgba(0, 0, 0, 0.54);\n background-color: transparent; }\n 50% {\n border-color: #388e3c;\n /* @alternate */\n border-color: var(--mdc-theme-secondary, #388e3c);\n background-color: #388e3c;\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); } }\n@keyframes mdc-checkbox-fade-in-background-0 {\n 0% {\n border-color: rgba(0, 0, 0, 0.54);\n background-color: transparent; }\n 50% {\n border-color: #388e3c;\n /* @alternate */\n border-color: var(--mdc-theme-secondary, #388e3c);\n background-color: #388e3c;\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); } }\n@-webkit-keyframes mdc-checkbox-fade-out-background-0 {\n 0%,\n 80% {\n border-color: #388e3c;\n /* @alternate */\n border-color: var(--mdc-theme-secondary, #388e3c);\n background-color: #388e3c;\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); }\n 100% {\n border-color: rgba(0, 0, 0, 0.54);\n background-color: transparent; } }\n@keyframes mdc-checkbox-fade-out-background-0 {\n 0%,\n 80% {\n border-color: #388e3c;\n /* @alternate */\n border-color: var(--mdc-theme-secondary, #388e3c);\n background-color: #388e3c;\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); }\n 100% {\n border-color: rgba(0, 0, 0, 0.54);\n background-color: transparent; } }\n.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {\n -webkit-animation-name: mdc-checkbox-fade-in-background-0;\n animation-name: mdc-checkbox-fade-in-background-0; }\n.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {\n -webkit-animation-name: mdc-checkbox-fade-out-background-0;\n animation-name: mdc-checkbox-fade-out-background-0; }\n.mdc-checkbox__checkmark {\n color: #fff; }\n.mdc-checkbox__mixedmark {\n border-color: #fff; }\n.mdc-checkbox__background::before {\n background-color: #388e3c; }\n@supports not (-ms-ime-align: auto) {\n .mdc-checkbox__background::before {\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); } }\n.mdc-checkbox__native-control:disabled:not(:checked):not(:indeterminate) ~ .mdc-checkbox__background {\n border-color: rgba(0, 0, 0, 0.26); }\n.mdc-checkbox__native-control:disabled:checked ~ .mdc-checkbox__background,\n.mdc-checkbox__native-control:disabled:indeterminate ~ .mdc-checkbox__background {\n border-color: transparent;\n background-color: rgba(0, 0, 0, 0.26); }\n@media screen and (-ms-high-contrast: active) {\n .mdc-checkbox__mixedmark {\n margin: 0 1px; } }\n.mdc-checkbox--disabled {\n cursor: default;\n pointer-events: none; }\n.mdc-checkbox__background {\n /* @noflip */\n left: 11px;\n /* @noflip */\n right: initial;\n display: inline-flex;\n position: absolute;\n top: 11px;\n bottom: 0;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 45%;\n height: 45%;\n border: 2px solid currentColor;\n border-radius: 2px;\n background-color: transparent;\n pointer-events: none;\n will-change: background-color, border-color;\n transition: background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); }\n.mdc-checkbox[dir=\"rtl\"] .mdc-checkbox__background,\n [dir=\"rtl\"] .mdc-checkbox .mdc-checkbox__background {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 11px; }\n.mdc-checkbox__checkmark {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n opacity: 0;\n transition: opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1); }\n.mdc-checkbox--upgraded .mdc-checkbox__checkmark {\n opacity: 1; }\n.mdc-checkbox__checkmark-path {\n transition: stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n stroke: currentColor;\n stroke-width: 3.12px;\n stroke-dashoffset: 29.7833385;\n stroke-dasharray: 29.7833385; }\n.mdc-checkbox__mixedmark {\n width: 100%;\n height: 0;\n -webkit-transform: scaleX(0) rotate(0deg);\n transform: scaleX(0) rotate(0deg);\n border-width: 1px;\n border-style: solid;\n opacity: 0;\n transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); }\n.mdc-checkbox--upgraded .mdc-checkbox__background,\n.mdc-checkbox--upgraded .mdc-checkbox__checkmark,\n.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,\n.mdc-checkbox--upgraded .mdc-checkbox__mixedmark {\n transition: none !important; }\n.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background, .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background {\n -webkit-animation-duration: 180ms;\n animation-duration: 180ms;\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear; }\n.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path {\n -webkit-animation: mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;\n animation: mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;\n transition: none; }\n.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark {\n -webkit-animation: mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;\n animation: mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;\n transition: none; }\n.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path {\n -webkit-animation: mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;\n animation: mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;\n transition: none; }\n.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark {\n -webkit-animation: mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;\n animation: mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;\n transition: none; }\n.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark {\n -webkit-animation: mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;\n animation: mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;\n transition: none; }\n.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark {\n -webkit-animation: mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;\n animation: mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;\n transition: none; }\n.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark {\n -webkit-animation: mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;\n animation: mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;\n transition: none; }\n.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark {\n -webkit-animation: mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;\n animation: mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;\n transition: none; }\n.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background,\n.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background {\n transition: border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1); }\n.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path,\n .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path {\n stroke-dashoffset: 0; }\n.mdc-checkbox__background::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n -webkit-transform: scale(0, 0);\n transform: scale(0, 0);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\";\n will-change: opacity, transform;\n transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); }\n.mdc-checkbox__native-control:focus ~ .mdc-checkbox__background::before {\n -webkit-transform: scale(2.75, 2.75);\n transform: scale(2.75, 2.75);\n opacity: 0.12;\n transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1); }\n.mdc-checkbox__native-control {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n opacity: 0;\n cursor: inherit; }\n.mdc-checkbox__native-control:disabled {\n cursor: default;\n pointer-events: none; }\n.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark {\n transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);\n opacity: 1; }\n.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {\n -webkit-transform: scaleX(1) rotate(-45deg);\n transform: scaleX(1) rotate(-45deg); }\n.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n opacity: 0;\n transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); }\n.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {\n -webkit-transform: scaleX(1) rotate(0deg);\n transform: scaleX(1) rotate(0deg);\n opacity: 1; }\n.mdc-checkbox {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity; }\n.mdc-checkbox::before, .mdc-checkbox::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-checkbox::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-checkbox.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-checkbox.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-checkbox.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-checkbox.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-checkbox.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-checkbox::before, .mdc-checkbox::after {\n background-color: #388e3c; }\n@supports not (-ms-ime-align: auto) {\n .mdc-checkbox::before, .mdc-checkbox::after {\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); } }\n.mdc-checkbox:hover::before {\n opacity: 0.04; }\n.mdc-checkbox:not(.mdc-ripple-upgraded):focus::before, .mdc-checkbox.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-checkbox:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-checkbox:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-checkbox.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n.mdc-checkbox::before, .mdc-checkbox::after {\n top: calc(50% - 50%);\n /* @noflip */\n left: calc(50% - 50%);\n width: 100%;\n height: 100%; }\n.mdc-checkbox.mdc-ripple-upgraded::before, .mdc-checkbox.mdc-ripple-upgraded::after {\n top: var(--mdc-ripple-top, calc(50% - 50%));\n /* @noflip */\n left: var(--mdc-ripple-left, calc(50% - 50%));\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-checkbox.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-ripple-upgraded--background-focused .mdc-checkbox__background::before {\n content: none; }\n.mdc-chip {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity;\n border-radius: 16px;\n background-color: #e0e0e0;\n color: rgba(0, 0, 0, 0.87);\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.01785714em;\n text-decoration: inherit;\n text-transform: inherit;\n height: 32px;\n display: inline-flex;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n padding: 7px 12px;\n outline: none;\n cursor: pointer;\n overflow: hidden; }\n.mdc-chip::before, .mdc-chip::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-chip::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-chip.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-chip.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-chip.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-chip.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-chip.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-chip::before, .mdc-chip::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n.mdc-chip.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-chip::before, .mdc-chip::after {\n background-color: rgba(0, 0, 0, 0.87); }\n.mdc-chip:hover::before {\n opacity: 0.04; }\n.mdc-chip:not(.mdc-ripple-upgraded):focus::before, .mdc-chip.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-chip:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-chip:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-chip.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n.mdc-chip:hover {\n color: rgba(0, 0, 0, 0.87); }\n.mdc-chip.mdc-chip--selected .mdc-chip__checkmark,\n .mdc-chip .mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden) {\n /* @noflip */\n margin-left: -4px;\n /* @noflip */\n margin-right: 4px;\n margin-top: -4px;\n margin-bottom: -4px; }\n[dir=\"rtl\"] .mdc-chip.mdc-chip--selected .mdc-chip__checkmark, .mdc-chip.mdc-chip--selected .mdc-chip__checkmark[dir=\"rtl\"], [dir=\"rtl\"]\n .mdc-chip .mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden),\n .mdc-chip .mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden)[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 4px;\n /* @noflip */\n margin-right: -4px; }\n.mdc-chip:hover {\n color: #000;\n /* @alternate */\n color: var(--mdc-theme-on-surface, #000); }\n.mdc-chip__icon--leading {\n color: rgba(0, 0, 0, 0.54); }\n.mdc-chip__icon--trailing {\n color: rgba(0, 0, 0, 0.54); }\n.mdc-chip__icon--trailing:hover {\n color: rgba(0, 0, 0, 0.62); }\n.mdc-chip__icon--trailing:focus {\n color: rgba(0, 0, 0, 0.87); }\n.mdc-chip__icon.mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden) {\n width: 20px;\n height: 20px;\n font-size: 20px; }\n.mdc-chip__icon.mdc-chip__icon--trailing {\n width: 18px;\n height: 18px;\n font-size: 18px; }\n.mdc-chip__icon--trailing {\n margin: 0 -4px 0 4px; }\n.mdc-chip--exit {\n transition: opacity 75ms cubic-bezier(0.4, 0, 0.2, 1), width 150ms cubic-bezier(0, 0, 0.2, 1), padding 100ms linear, margin 100ms linear;\n opacity: 0; }\n.mdc-chip__text {\n white-space: nowrap; }\n.mdc-chip__icon {\n border-radius: 50%;\n outline: none;\n vertical-align: middle; }\n.mdc-chip__checkmark {\n height: 20px; }\n.mdc-chip__checkmark-path {\n transition: stroke-dashoffset 150ms 50ms cubic-bezier(0.4, 0, 0.6, 1);\n stroke-width: 2px;\n stroke-dashoffset: 29.7833385;\n stroke-dasharray: 29.7833385; }\n.mdc-chip--selected .mdc-chip__checkmark-path {\n stroke-dashoffset: 0; }\n.mdc-chip-set--choice .mdc-chip.mdc-chip--selected::before {\n opacity: 0.08; }\n.mdc-chip-set--choice .mdc-chip.mdc-chip--selected::before, .mdc-chip-set--choice .mdc-chip.mdc-chip--selected::after {\n background-color: #1565c0; }\n@supports not (-ms-ime-align: auto) {\n .mdc-chip-set--choice .mdc-chip.mdc-chip--selected::before, .mdc-chip-set--choice .mdc-chip.mdc-chip--selected::after {\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0); } }\n.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:hover::before {\n opacity: 0.12; }\n.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:not(.mdc-ripple-upgraded):focus::before, .mdc-chip-set--choice .mdc-chip.mdc-chip--selected.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.2; }\n.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.2; }\n.mdc-chip-set--choice .mdc-chip.mdc-chip--selected.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.2; }\n.mdc-chip-set--choice .mdc-chip.mdc-chip--selected {\n color: #1565c0;\n /* @alternate */\n color: var(--mdc-theme-primary, #1565c0); }\n.mdc-chip-set--choice .mdc-chip.mdc-chip--selected .mdc-chip__icon--leading {\n color: rgba(21, 101, 192, 0.54); }\n.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:hover {\n color: #1565c0;\n /* @alternate */\n color: var(--mdc-theme-primary, #1565c0); }\n.mdc-chip-set--choice .mdc-chip .mdc-chip__checkmark-path {\n stroke: #1565c0;\n /* @alternate */\n stroke: var(--mdc-theme-primary, #1565c0); }\n.mdc-chip-set--choice .mdc-chip--selected {\n background-color: #fff;\n /* @alternate */\n background-color: var(--mdc-theme-surface, #fff); }\n.mdc-chip__checkmark-svg {\n width: 0;\n height: 20px;\n transition: width 150ms cubic-bezier(0.4, 0, 0.2, 1); }\n.mdc-chip--selected .mdc-chip__checkmark-svg {\n width: 20px; }\n.mdc-chip-set--filter .mdc-chip__icon--leading {\n transition: opacity 75ms linear;\n transition-delay: -50ms;\n opacity: 1; }\n.mdc-chip-set--filter .mdc-chip__icon--leading + .mdc-chip__checkmark {\n transition: opacity 75ms linear;\n transition-delay: 80ms;\n opacity: 0; }\n.mdc-chip-set--filter .mdc-chip__icon--leading + .mdc-chip__checkmark .mdc-chip__checkmark-svg {\n transition: width 0ms; }\n.mdc-chip-set--filter .mdc-chip--selected .mdc-chip__icon--leading {\n opacity: 0; }\n.mdc-chip-set--filter .mdc-chip--selected .mdc-chip__icon--leading + .mdc-chip__checkmark {\n width: 0;\n opacity: 1; }\n.mdc-chip-set--filter .mdc-chip__icon--leading-hidden.mdc-chip__icon--leading {\n width: 0;\n opacity: 0; }\n.mdc-chip-set--filter .mdc-chip__icon--leading-hidden.mdc-chip__icon--leading + .mdc-chip__checkmark {\n width: 20px; }\n@-webkit-keyframes mdc-chip-entry {\n from {\n -webkit-transform: scale(0.8);\n transform: scale(0.8);\n opacity: .4; }\n to {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1; } }\n@keyframes mdc-chip-entry {\n from {\n -webkit-transform: scale(0.8);\n transform: scale(0.8);\n opacity: .4; }\n to {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1; } }\n.mdc-chip-set {\n padding: 4px;\n display: flex;\n flex-wrap: wrap;\n box-sizing: border-box; }\n.mdc-chip-set .mdc-chip {\n margin: 4px; }\n.mdc-chip-set--input .mdc-chip {\n -webkit-animation: mdc-chip-entry 100ms cubic-bezier(0, 0, 0.2, 1);\n animation: mdc-chip-entry 100ms cubic-bezier(0, 0, 0.2, 1); }\n.mdc-dialog,\n.mdc-dialog__scrim {\n position: fixed;\n top: 0;\n left: 0;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n height: 100%; }\n.mdc-dialog {\n display: none;\n z-index: 7; }\n.mdc-dialog .mdc-dialog__surface {\n background-color: #fff;\n /* @alternate */\n background-color: var(--mdc-theme-surface, #fff); }\n.mdc-dialog .mdc-dialog__scrim {\n background-color: rgba(0, 0, 0, 0.32); }\n.mdc-dialog .mdc-dialog__title {\n color: rgba(0, 0, 0, 0.87); }\n.mdc-dialog .mdc-dialog__content {\n color: rgba(0, 0, 0, 0.6); }\n.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title,\n .mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions {\n border-color: rgba(0, 0, 0, 0.12); }\n.mdc-dialog .mdc-dialog__surface {\n min-width: 280px; }\n@media (max-width: 592px) {\n .mdc-dialog .mdc-dialog__surface {\n max-width: calc(100vw - 32px); } }\n@media (min-width: 592px) {\n .mdc-dialog .mdc-dialog__surface {\n max-width: 560px; } }\n.mdc-dialog .mdc-dialog__surface {\n max-height: calc(100vh - 32px); }\n.mdc-dialog .mdc-dialog__surface {\n border-radius: 4px; }\n.mdc-dialog__scrim {\n opacity: 0;\n z-index: -1; }\n.mdc-dialog__container {\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n box-sizing: border-box;\n -webkit-transform: scale(0.8);\n transform: scale(0.8);\n opacity: 0; }\n.mdc-dialog__surface {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n display: flex;\n flex-direction: column;\n flex-grow: 0;\n flex-shrink: 0;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%; }\n.mdc-dialog[dir=\"rtl\"] .mdc-dialog__surface,\n [dir=\"rtl\"] .mdc-dialog .mdc-dialog__surface {\n text-align: right; }\n.mdc-dialog__title {\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1.25rem;\n line-height: 2rem;\n font-weight: 500;\n letter-spacing: 0.0125em;\n text-decoration: inherit;\n text-transform: inherit;\n display: block;\n position: relative;\n flex-shrink: 0;\n box-sizing: border-box;\n margin: 0;\n padding: 0 24px 9px;\n border-bottom: 1px solid transparent; }\n.mdc-dialog__title::before {\n display: inline-block;\n width: 0;\n height: 40px;\n content: \"\";\n vertical-align: 0; }\n.mdc-dialog[dir=\"rtl\"] .mdc-dialog__title,\n [dir=\"rtl\"] .mdc-dialog .mdc-dialog__title {\n text-align: right; }\n.mdc-dialog--scrollable .mdc-dialog__title {\n padding-bottom: 15px; }\n.mdc-dialog__content {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 400;\n letter-spacing: 0.03125em;\n text-decoration: inherit;\n text-transform: inherit;\n flex-grow: 1;\n box-sizing: border-box;\n margin: 0;\n padding: 20px 24px;\n overflow: auto;\n -webkit-overflow-scrolling: touch; }\n.mdc-dialog__content > :first-child {\n margin-top: 0; }\n.mdc-dialog__content > :last-child {\n margin-bottom: 0; }\n.mdc-dialog__title + .mdc-dialog__content {\n padding-top: 0; }\n.mdc-dialog--scrollable .mdc-dialog__content {\n padding-top: 8px;\n padding-bottom: 8px; }\n.mdc-dialog__content .mdc-list:first-child:last-child {\n padding: 6px 0 0; }\n.mdc-dialog--scrollable .mdc-dialog__content .mdc-list:first-child:last-child {\n padding: 0; }\n.mdc-dialog__actions {\n display: flex;\n position: relative;\n flex-shrink: 0;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n box-sizing: border-box;\n min-height: 52px;\n margin: 0;\n padding: 8px;\n border-top: 1px solid transparent; }\n.mdc-dialog--stacked .mdc-dialog__actions {\n flex-direction: column;\n align-items: flex-end; }\n.mdc-dialog__button {\n /* @noflip */\n margin-left: 8px;\n /* @noflip */\n margin-right: 0;\n max-width: 100%;\n text-align: right; }\n[dir=\"rtl\"] .mdc-dialog__button, .mdc-dialog__button[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 8px; }\n.mdc-dialog__button:first-child {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 0; }\n[dir=\"rtl\"] .mdc-dialog__button:first-child, .mdc-dialog__button:first-child[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 0; }\n.mdc-dialog[dir=\"rtl\"] .mdc-dialog__button,\n [dir=\"rtl\"] .mdc-dialog .mdc-dialog__button {\n text-align: left; }\n.mdc-dialog--stacked .mdc-dialog__button:not(:first-child) {\n margin-top: 12px; }\n.mdc-dialog--open,\n.mdc-dialog--opening,\n.mdc-dialog--closing {\n display: flex; }\n.mdc-dialog--opening .mdc-dialog__scrim {\n transition: opacity 150ms linear; }\n.mdc-dialog--opening .mdc-dialog__container {\n transition: opacity 75ms linear, -webkit-transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 75ms linear, transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 75ms linear, transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1); }\n.mdc-dialog--closing .mdc-dialog__scrim,\n.mdc-dialog--closing .mdc-dialog__container {\n transition: opacity 75ms linear; }\n.mdc-dialog--closing .mdc-dialog__container {\n -webkit-transform: scale(1);\n transform: scale(1); }\n.mdc-dialog--open .mdc-dialog__scrim {\n opacity: 1; }\n.mdc-dialog--open .mdc-dialog__container {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1; }\n.mdc-dialog-scroll-lock {\n overflow: hidden; }\n.mdc-drawer {\n border-color: rgba(0, 0, 0, 0.12);\n background-color: #fff;\n /* @noflip */\n border-radius: 0 0 0 0;\n z-index: 6;\n width: 256px;\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n box-sizing: border-box;\n height: 100%;\n transition-property: -webkit-transform;\n transition-property: transform;\n transition-property: transform, -webkit-transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n /* @noflip */\n border-right-width: 1px;\n /* @noflip */\n border-right-style: solid;\n overflow: hidden; }\n.mdc-drawer .mdc-drawer__title {\n color: rgba(0, 0, 0, 0.87); }\n.mdc-drawer .mdc-list-group__subheader {\n color: rgba(0, 0, 0, 0.6); }\n.mdc-drawer .mdc-drawer__subtitle {\n color: rgba(0, 0, 0, 0.6); }\n.mdc-drawer .mdc-list-item__graphic {\n color: rgba(0, 0, 0, 0.6); }\n.mdc-drawer .mdc-list-item {\n color: rgba(0, 0, 0, 0.87); }\n.mdc-drawer .mdc-list-item--activated .mdc-list-item__graphic {\n color: #1565c0; }\n.mdc-drawer .mdc-list-item--activated {\n color: rgba(21, 101, 192, 0.87); }\n[dir=\"rtl\"] .mdc-drawer, .mdc-drawer[dir=\"rtl\"] {\n /* @noflip */\n border-radius: 0 0 0 0; }\n.mdc-drawer .mdc-list-item {\n border-radius: 4px; }\n.mdc-drawer.mdc-drawer--open:not(.mdc-drawer--closing) + .mdc-drawer-app-content {\n /* @noflip */\n margin-left: 256px;\n /* @noflip */\n margin-right: 0; }\n[dir=\"rtl\"] .mdc-drawer.mdc-drawer--open:not(.mdc-drawer--closing) + .mdc-drawer-app-content, .mdc-drawer.mdc-drawer--open:not(.mdc-drawer--closing) + .mdc-drawer-app-content[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 256px; }\n[dir=\"rtl\"] .mdc-drawer, .mdc-drawer[dir=\"rtl\"] {\n /* @noflip */\n border-right-width: 0;\n /* @noflip */\n border-left-width: 1px;\n /* @noflip */\n border-right-style: none;\n /* @noflip */\n border-left-style: solid; }\n.mdc-drawer .mdc-list-item {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 1.375rem;\n font-weight: 500;\n letter-spacing: 0.00714286em;\n text-decoration: inherit;\n text-transform: inherit;\n height: calc(48px - 2 * 4px);\n margin: 8px 8px;\n padding: 0 8px; }\n.mdc-drawer .mdc-list-item:nth-child(1) {\n margin-top: 2px; }\n.mdc-drawer .mdc-list-item:nth-last-child(1) {\n margin-bottom: 0; }\n.mdc-drawer .mdc-list-group__subheader {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.01785714em;\n text-decoration: inherit;\n text-transform: inherit;\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n margin: 0;\n padding: 0 16px; }\n.mdc-drawer .mdc-list-group__subheader::before {\n display: inline-block;\n width: 0;\n height: 24px;\n content: \"\";\n vertical-align: 0; }\n.mdc-drawer .mdc-list-divider {\n margin: 3px 0 4px 0; }\n.mdc-drawer .mdc-list-item__text,\n .mdc-drawer .mdc-list-item__graphic {\n pointer-events: none; }\n.mdc-drawer--animate {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%); }\n[dir=\"rtl\"] .mdc-drawer--animate, .mdc-drawer--animate[dir=\"rtl\"] {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); }\n.mdc-drawer--opening {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n transition-duration: 250ms; }\n[dir=\"rtl\"] .mdc-drawer--opening, .mdc-drawer--opening[dir=\"rtl\"] {\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n.mdc-drawer--closing {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n transition-duration: 200ms; }\n[dir=\"rtl\"] .mdc-drawer--closing, .mdc-drawer--closing[dir=\"rtl\"] {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); }\n.mdc-drawer__header {\n flex-shrink: 0;\n box-sizing: border-box;\n min-height: 64px;\n padding: 0 16px 4px; }\n.mdc-drawer__title {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1.25rem;\n line-height: 2rem;\n font-weight: 500;\n letter-spacing: 0.0125em;\n text-decoration: inherit;\n text-transform: inherit;\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n margin-bottom: -20px; }\n.mdc-drawer__title::before {\n display: inline-block;\n width: 0;\n height: 36px;\n content: \"\";\n vertical-align: 0; }\n.mdc-drawer__title::after {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: -20px; }\n.mdc-drawer__subtitle {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.01785714em;\n text-decoration: inherit;\n text-transform: inherit;\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n margin-bottom: 0; }\n.mdc-drawer__subtitle::before {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: 0; }\n.mdc-drawer__content {\n height: 100%;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch; }\n.mdc-drawer--dismissible {\n /* @noflip */\n left: 0;\n /* @noflip */\n right: initial;\n display: none;\n position: absolute; }\n[dir=\"rtl\"] .mdc-drawer--dismissible, .mdc-drawer--dismissible[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 0; }\n.mdc-drawer--dismissible.mdc-drawer--open {\n display: flex; }\n.mdc-drawer-app-content {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 0;\n position: relative; }\n[dir=\"rtl\"] .mdc-drawer-app-content, .mdc-drawer-app-content[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 0; }\n.mdc-drawer--modal {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n /* @noflip */\n left: 0;\n /* @noflip */\n right: initial;\n display: none;\n position: fixed; }\n.mdc-drawer--modal + .mdc-drawer-scrim {\n background-color: rgba(0, 0, 0, 0.32); }\n[dir=\"rtl\"] .mdc-drawer--modal, .mdc-drawer--modal[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 0; }\n.mdc-drawer--modal.mdc-drawer--open {\n display: flex; }\n.mdc-drawer-scrim {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n z-index: 5; }\n.mdc-drawer--open + .mdc-drawer-scrim {\n display: block; }\n.mdc-drawer--animate + .mdc-drawer-scrim {\n opacity: 0; }\n.mdc-drawer--opening + .mdc-drawer-scrim {\n transition-duration: 250ms;\n opacity: 1; }\n.mdc-drawer--closing + .mdc-drawer-scrim {\n transition-duration: 200ms;\n opacity: 0; }\n.mdc-elevation--z0 {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z1 {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z2 {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z3 {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z4 {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z5 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z6 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z7 {\n box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z8 {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z9 {\n box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z10 {\n box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z11 {\n box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z12 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z13 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z14 {\n box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z15 {\n box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z16 {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z17 {\n box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z18 {\n box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z19 {\n box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z20 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z21 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z22 {\n box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z23 {\n box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12); }\n.mdc-elevation--z24 {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12); }\n.mdc-elevation-transition {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n will-change: box-shadow; }\n.mdc-fab {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n display: inline-flex;\n position: relative;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 56px;\n height: 56px;\n padding: 0;\n border: none;\n fill: currentColor;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n overflow: hidden;\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, -webkit-transform 270ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 270ms 0ms cubic-bezier(0, 0, 0.2, 1);\n background-color: #388e3c;\n color: #fff;\n /* @alternate */\n color: var(--mdc-theme-on-secondary, #fff); }\n.mdc-fab:not(.mdc-fab--extended) {\n border-radius: 50%; }\n.mdc-fab::-moz-focus-inner {\n padding: 0;\n border: 0; }\n.mdc-fab:hover, .mdc-fab:focus {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\n.mdc-fab:active {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); }\n.mdc-fab:active, .mdc-fab:focus {\n outline: none; }\n.mdc-fab:hover {\n cursor: pointer; }\n.mdc-fab > svg {\n width: 100%; }\n@supports not (-ms-ime-align: auto) {\n .mdc-fab {\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); } }\n.mdc-fab .mdc-fab__icon {\n width: 24px;\n height: 24px;\n font-size: 24px; }\n.mdc-fab--mini {\n width: 40px;\n height: 40px; }\n.mdc-fab--extended {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 2.25rem;\n font-weight: 500;\n letter-spacing: 0.08928571em;\n text-decoration: none;\n text-transform: uppercase;\n border-radius: 24px;\n padding: 0 20px;\n width: auto;\n max-width: 100%;\n height: 48px; }\n.mdc-fab--extended .mdc-fab__icon {\n /* @noflip */\n margin-left: -8px;\n /* @noflip */\n margin-right: 12px; }\n[dir=\"rtl\"] .mdc-fab--extended .mdc-fab__icon, .mdc-fab--extended .mdc-fab__icon[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 12px;\n /* @noflip */\n margin-right: -8px; }\n.mdc-fab--extended .mdc-fab__label + .mdc-fab__icon {\n /* @noflip */\n margin-left: 12px;\n /* @noflip */\n margin-right: -8px; }\n[dir=\"rtl\"] .mdc-fab--extended .mdc-fab__label + .mdc-fab__icon, .mdc-fab--extended .mdc-fab__label + .mdc-fab__icon[dir=\"rtl\"] {\n /* @noflip */\n margin-left: -8px;\n /* @noflip */\n margin-right: 12px; }\n.mdc-fab__label {\n justify-content: flex-start;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden; }\n.mdc-fab__icon {\n transition: -webkit-transform 180ms 90ms cubic-bezier(0, 0, 0.2, 1);\n transition: transform 180ms 90ms cubic-bezier(0, 0, 0.2, 1);\n transition: transform 180ms 90ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 180ms 90ms cubic-bezier(0, 0, 0.2, 1);\n fill: currentColor;\n will-change: transform; }\n.mdc-fab .mdc-fab__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center; }\n.mdc-fab--exited {\n -webkit-transform: scale(0);\n transform: scale(0);\n opacity: 0;\n transition: opacity 15ms linear 150ms, -webkit-transform 180ms 0ms cubic-bezier(0.4, 0, 1, 1);\n transition: opacity 15ms linear 150ms, transform 180ms 0ms cubic-bezier(0.4, 0, 1, 1);\n transition: opacity 15ms linear 150ms, transform 180ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 180ms 0ms cubic-bezier(0.4, 0, 1, 1); }\n.mdc-fab--exited .mdc-fab__icon {\n -webkit-transform: scale(0);\n transform: scale(0);\n transition: -webkit-transform 135ms 0ms cubic-bezier(0.4, 0, 1, 1);\n transition: transform 135ms 0ms cubic-bezier(0.4, 0, 1, 1);\n transition: transform 135ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 135ms 0ms cubic-bezier(0.4, 0, 1, 1); }\n.mdc-fab {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity; }\n.mdc-fab::before, .mdc-fab::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-fab::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-fab.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-fab.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-fab.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-fab.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-fab.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-fab::before, .mdc-fab::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n.mdc-fab.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-fab::before, .mdc-fab::after {\n background-color: #fff; }\n@supports not (-ms-ime-align: auto) {\n .mdc-fab::before, .mdc-fab::after {\n /* @alternate */\n background-color: var(--mdc-theme-on-secondary, #fff); } }\n.mdc-fab:hover::before {\n opacity: 0.08; }\n.mdc-fab:not(.mdc-ripple-upgraded):focus::before, .mdc-fab.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n.mdc-fab:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-fab:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n.mdc-fab.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n.mdc-floating-label {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.75rem;\n font-weight: 400;\n letter-spacing: 0.009375em;\n text-decoration: inherit;\n text-transform: inherit;\n position: absolute;\n /* @noflip */\n left: 0;\n /* @noflip */\n -webkit-transform-origin: left top;\n transform-origin: left top;\n transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);\n transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);\n transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);\n /* @alternate */\n line-height: 1.15rem;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: text;\n overflow: hidden;\n will-change: transform; }\n[dir=\"rtl\"] .mdc-floating-label, .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n right: 0;\n /* @noflip */\n left: auto;\n /* @noflip */\n -webkit-transform-origin: right top;\n transform-origin: right top;\n /* @noflip */\n text-align: right; }\n.mdc-floating-label--float-above {\n cursor: auto; }\n.mdc-floating-label--float-above {\n -webkit-transform: translateY(-50%) scale(0.75);\n transform: translateY(-50%) scale(0.75); }\n.mdc-floating-label--shake {\n -webkit-animation: mdc-floating-label-shake-float-above-standard 250ms 1;\n animation: mdc-floating-label-shake-float-above-standard 250ms 1; }\n@-webkit-keyframes mdc-floating-label-shake-float-above-standard {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75);\n transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0%)) translateY(-50%) scale(0.75);\n transform: translateX(calc(4% - 0%)) translateY(-50%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0%)) translateY(-50%) scale(0.75);\n transform: translateX(calc(-4% - 0%)) translateY(-50%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75);\n transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75); }\n /* clean-css ignore:end */ }\n@keyframes mdc-floating-label-shake-float-above-standard {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75);\n transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0%)) translateY(-50%) scale(0.75);\n transform: translateX(calc(4% - 0%)) translateY(-50%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0%)) translateY(-50%) scale(0.75);\n transform: translateX(calc(-4% - 0%)) translateY(-50%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75);\n transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75); }\n /* clean-css ignore:end */ }\n.mdc-form-field {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.01785714em;\n text-decoration: inherit;\n text-transform: inherit;\n color: rgba(0, 0, 0, 0.87);\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n display: inline-flex;\n align-items: center;\n vertical-align: middle; }\n.mdc-form-field > label {\n order: 0;\n /* @noflip */\n margin-right: auto;\n /* @noflip */\n padding-left: 4px; }\n[dir=\"rtl\"] .mdc-form-field > label, .mdc-form-field[dir=\"rtl\"] > label {\n /* @noflip */\n margin-left: auto;\n /* @noflip */\n padding-right: 4px; }\n.mdc-form-field--align-end > label {\n order: -1;\n /* @noflip */\n margin-left: auto;\n /* @noflip */\n padding-right: 4px; }\n[dir=\"rtl\"] .mdc-form-field--align-end > label, .mdc-form-field--align-end[dir=\"rtl\"] > label {\n /* @noflip */\n margin-right: auto;\n /* @noflip */\n padding-left: 4px; }\n.mdc-icon-button {\n width: 48px;\n height: 48px;\n padding: 12px;\n font-size: 24px;\n display: inline-block;\n position: relative;\n box-sizing: border-box;\n border: none;\n outline: none;\n background-color: transparent;\n fill: currentColor;\n color: inherit;\n text-decoration: none;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n.mdc-icon-button svg,\n .mdc-icon-button img {\n width: 24px;\n height: 24px; }\n.mdc-icon-button:disabled {\n color: rgba(0, 0, 0, 0.38);\n /* @alternate */\n color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38));\n cursor: default;\n pointer-events: none; }\n.mdc-icon-button__icon {\n display: inline-block; }\n.mdc-icon-button__icon.mdc-icon-button__icon--on {\n display: none; }\n.mdc-icon-button--on .mdc-icon-button__icon {\n display: none; }\n.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on {\n display: inline-block; }\n.mdc-icon-button {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity; }\n.mdc-icon-button::before, .mdc-icon-button::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-icon-button::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-icon-button.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-icon-button.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-icon-button.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-icon-button.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-icon-button.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-icon-button::before, .mdc-icon-button::after {\n top: calc(50% - 50%);\n /* @noflip */\n left: calc(50% - 50%);\n width: 100%;\n height: 100%; }\n.mdc-icon-button.mdc-ripple-upgraded::before, .mdc-icon-button.mdc-ripple-upgraded::after {\n top: var(--mdc-ripple-top, calc(50% - 50%));\n /* @noflip */\n left: var(--mdc-ripple-left, calc(50% - 50%));\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-icon-button.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-icon-button::before, .mdc-icon-button::after {\n background-color: #000; }\n.mdc-icon-button:hover::before {\n opacity: 0.04; }\n.mdc-icon-button:not(.mdc-ripple-upgraded):focus::before, .mdc-icon-button.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-icon-button:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-icon-button:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-icon-button.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n.mdc-image-list {\n display: flex;\n flex-wrap: wrap;\n margin: 0 auto;\n padding: 0; }\n.mdc-image-list__item,\n.mdc-image-list__image-aspect-container {\n position: relative;\n box-sizing: border-box; }\n.mdc-image-list__item {\n list-style-type: none; }\n.mdc-image-list__image {\n width: 100%; }\n.mdc-image-list__image-aspect-container .mdc-image-list__image {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n height: 100%;\n background-repeat: no-repeat;\n background-position: center;\n background-size: cover; }\n.mdc-image-list__image-aspect-container {\n padding-bottom: calc(100% / 1); }\n.mdc-image-list__image {\n border-radius: 0; }\n.mdc-image-list--with-text-protection .mdc-image-list__supporting {\n border-radius: 0 0 0 0; }\n.mdc-image-list__supporting {\n color: rgba(0, 0, 0, 0.87);\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n padding: 8px 0;\n line-height: 24px; }\n.mdc-image-list__label {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.75rem;\n font-weight: 400;\n letter-spacing: 0.009375em;\n text-decoration: inherit;\n text-transform: inherit;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden; }\n.mdc-image-list--with-text-protection .mdc-image-list__supporting {\n position: absolute;\n bottom: 0;\n width: 100%;\n height: 48px;\n padding: 0 16px;\n background: rgba(0, 0, 0, 0.6);\n color: #fff; }\n.mdc-image-list--masonry {\n display: block; }\n.mdc-image-list--masonry .mdc-image-list__item {\n -webkit-column-break-inside: avoid;\n -moz-column-break-inside: avoid;\n break-inside: avoid-column; }\n.mdc-image-list--masonry .mdc-image-list__image {\n display: block;\n height: auto; }\n:root {\n --mdc-layout-grid-margin-desktop: 24px;\n --mdc-layout-grid-gutter-desktop: 24px;\n --mdc-layout-grid-column-width-desktop: 72px;\n --mdc-layout-grid-margin-tablet: 16px;\n --mdc-layout-grid-gutter-tablet: 16px;\n --mdc-layout-grid-column-width-tablet: 72px;\n --mdc-layout-grid-margin-phone: 16px;\n --mdc-layout-grid-gutter-phone: 16px;\n --mdc-layout-grid-column-width-phone: 72px; }\n@media (min-width: 840px) {\n .mdc-layout-grid {\n box-sizing: border-box;\n margin: 0 auto;\n padding: 24px;\n padding: var(--mdc-layout-grid-margin-desktop, 24px); } }\n@media (min-width: 480px) and (max-width: 839px) {\n .mdc-layout-grid {\n box-sizing: border-box;\n margin: 0 auto;\n padding: 16px;\n padding: var(--mdc-layout-grid-margin-tablet, 16px); } }\n@media (max-width: 479px) {\n .mdc-layout-grid {\n box-sizing: border-box;\n margin: 0 auto;\n padding: 16px;\n padding: var(--mdc-layout-grid-margin-phone, 16px); } }\n@media (min-width: 840px) {\n .mdc-layout-grid__inner {\n display: flex;\n flex-flow: row wrap;\n align-items: stretch;\n margin: -12px;\n margin: calc(var(--mdc-layout-grid-gutter-desktop, 24px) / 2 * -1); }\n @supports (display: grid) {\n .mdc-layout-grid__inner {\n display: grid;\n margin: 0;\n grid-gap: 24px;\n grid-gap: var(--mdc-layout-grid-gutter-desktop, 24px);\n grid-template-columns: repeat(12, minmax(0, 1fr)); } } }\n@media (min-width: 480px) and (max-width: 839px) {\n .mdc-layout-grid__inner {\n display: flex;\n flex-flow: row wrap;\n align-items: stretch;\n margin: -8px;\n margin: calc(var(--mdc-layout-grid-gutter-tablet, 16px) / 2 * -1); }\n @supports (display: grid) {\n .mdc-layout-grid__inner {\n display: grid;\n margin: 0;\n grid-gap: 16px;\n grid-gap: var(--mdc-layout-grid-gutter-tablet, 16px);\n grid-template-columns: repeat(8, minmax(0, 1fr)); } } }\n@media (max-width: 479px) {\n .mdc-layout-grid__inner {\n display: flex;\n flex-flow: row wrap;\n align-items: stretch;\n margin: -8px;\n margin: calc(var(--mdc-layout-grid-gutter-phone, 16px) / 2 * -1); }\n @supports (display: grid) {\n .mdc-layout-grid__inner {\n display: grid;\n margin: 0;\n grid-gap: 16px;\n grid-gap: var(--mdc-layout-grid-gutter-phone, 16px);\n grid-template-columns: repeat(4, minmax(0, 1fr)); } } }\n@media (min-width: 840px) {\n .mdc-layout-grid__cell {\n width: calc(33.33333333% - 24px);\n width: calc(33.33333333% - var(--mdc-layout-grid-gutter-desktop, 24px));\n box-sizing: border-box;\n margin: 12px;\n margin: calc(var(--mdc-layout-grid-gutter-desktop, 24px) / 2); }\n @supports (display: grid) {\n .mdc-layout-grid__cell {\n width: auto;\n grid-column-end: span 4; } }\n @supports (display: grid) {\n .mdc-layout-grid__cell {\n margin: 0; } }\n .mdc-layout-grid__cell--span-1,\n .mdc-layout-grid__cell--span-1-desktop {\n width: calc(8.33333333% - 24px);\n width: calc(8.33333333% - var(--mdc-layout-grid-gutter-desktop, 24px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-1,\n .mdc-layout-grid__cell--span-1-desktop {\n width: auto;\n grid-column-end: span 1; } }\n .mdc-layout-grid__cell--span-2,\n .mdc-layout-grid__cell--span-2-desktop {\n width: calc(16.66666667% - 24px);\n width: calc(16.66666667% - var(--mdc-layout-grid-gutter-desktop, 24px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-2,\n .mdc-layout-grid__cell--span-2-desktop {\n width: auto;\n grid-column-end: span 2; } }\n .mdc-layout-grid__cell--span-3,\n .mdc-layout-grid__cell--span-3-desktop {\n width: calc(25% - 24px);\n width: calc(25% - var(--mdc-layout-grid-gutter-desktop, 24px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-3,\n .mdc-layout-grid__cell--span-3-desktop {\n width: auto;\n grid-column-end: span 3; } }\n .mdc-layout-grid__cell--span-4,\n .mdc-layout-grid__cell--span-4-desktop {\n width: calc(33.33333333% - 24px);\n width: calc(33.33333333% - var(--mdc-layout-grid-gutter-desktop, 24px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-4,\n .mdc-layout-grid__cell--span-4-desktop {\n width: auto;\n grid-column-end: span 4; } }\n .mdc-layout-grid__cell--span-5,\n .mdc-layout-grid__cell--span-5-desktop {\n width: calc(41.66666667% - 24px);\n width: calc(41.66666667% - var(--mdc-layout-grid-gutter-desktop, 24px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-5,\n .mdc-layout-grid__cell--span-5-desktop {\n width: auto;\n grid-column-end: span 5; } }\n .mdc-layout-grid__cell--span-6,\n .mdc-layout-grid__cell--span-6-desktop {\n width: calc(50% - 24px);\n width: calc(50% - var(--mdc-layout-grid-gutter-desktop, 24px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-6,\n .mdc-layout-grid__cell--span-6-desktop {\n width: auto;\n grid-column-end: span 6; } }\n .mdc-layout-grid__cell--span-7,\n .mdc-layout-grid__cell--span-7-desktop {\n width: calc(58.33333333% - 24px);\n width: calc(58.33333333% - var(--mdc-layout-grid-gutter-desktop, 24px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-7,\n .mdc-layout-grid__cell--span-7-desktop {\n width: auto;\n grid-column-end: span 7; } }\n .mdc-layout-grid__cell--span-8,\n .mdc-layout-grid__cell--span-8-desktop {\n width: calc(66.66666667% - 24px);\n width: calc(66.66666667% - var(--mdc-layout-grid-gutter-desktop, 24px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-8,\n .mdc-layout-grid__cell--span-8-desktop {\n width: auto;\n grid-column-end: span 8; } }\n .mdc-layout-grid__cell--span-9,\n .mdc-layout-grid__cell--span-9-desktop {\n width: calc(75% - 24px);\n width: calc(75% - var(--mdc-layout-grid-gutter-desktop, 24px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-9,\n .mdc-layout-grid__cell--span-9-desktop {\n width: auto;\n grid-column-end: span 9; } }\n .mdc-layout-grid__cell--span-10,\n .mdc-layout-grid__cell--span-10-desktop {\n width: calc(83.33333333% - 24px);\n width: calc(83.33333333% - var(--mdc-layout-grid-gutter-desktop, 24px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-10,\n .mdc-layout-grid__cell--span-10-desktop {\n width: auto;\n grid-column-end: span 10; } }\n .mdc-layout-grid__cell--span-11,\n .mdc-layout-grid__cell--span-11-desktop {\n width: calc(91.66666667% - 24px);\n width: calc(91.66666667% - var(--mdc-layout-grid-gutter-desktop, 24px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-11,\n .mdc-layout-grid__cell--span-11-desktop {\n width: auto;\n grid-column-end: span 11; } }\n .mdc-layout-grid__cell--span-12,\n .mdc-layout-grid__cell--span-12-desktop {\n width: calc(100% - 24px);\n width: calc(100% - var(--mdc-layout-grid-gutter-desktop, 24px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-12,\n .mdc-layout-grid__cell--span-12-desktop {\n width: auto;\n grid-column-end: span 12; } } }\n@media (min-width: 480px) and (max-width: 839px) {\n .mdc-layout-grid__cell {\n width: calc(50% - 16px);\n width: calc(50% - var(--mdc-layout-grid-gutter-tablet, 16px));\n box-sizing: border-box;\n margin: 8px;\n margin: calc(var(--mdc-layout-grid-gutter-tablet, 16px) / 2); }\n @supports (display: grid) {\n .mdc-layout-grid__cell {\n width: auto;\n grid-column-end: span 4; } }\n @supports (display: grid) {\n .mdc-layout-grid__cell {\n margin: 0; } }\n .mdc-layout-grid__cell--span-1,\n .mdc-layout-grid__cell--span-1-tablet {\n width: calc(12.5% - 16px);\n width: calc(12.5% - var(--mdc-layout-grid-gutter-tablet, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-1,\n .mdc-layout-grid__cell--span-1-tablet {\n width: auto;\n grid-column-end: span 1; } }\n .mdc-layout-grid__cell--span-2,\n .mdc-layout-grid__cell--span-2-tablet {\n width: calc(25% - 16px);\n width: calc(25% - var(--mdc-layout-grid-gutter-tablet, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-2,\n .mdc-layout-grid__cell--span-2-tablet {\n width: auto;\n grid-column-end: span 2; } }\n .mdc-layout-grid__cell--span-3,\n .mdc-layout-grid__cell--span-3-tablet {\n width: calc(37.5% - 16px);\n width: calc(37.5% - var(--mdc-layout-grid-gutter-tablet, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-3,\n .mdc-layout-grid__cell--span-3-tablet {\n width: auto;\n grid-column-end: span 3; } }\n .mdc-layout-grid__cell--span-4,\n .mdc-layout-grid__cell--span-4-tablet {\n width: calc(50% - 16px);\n width: calc(50% - var(--mdc-layout-grid-gutter-tablet, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-4,\n .mdc-layout-grid__cell--span-4-tablet {\n width: auto;\n grid-column-end: span 4; } }\n .mdc-layout-grid__cell--span-5,\n .mdc-layout-grid__cell--span-5-tablet {\n width: calc(62.5% - 16px);\n width: calc(62.5% - var(--mdc-layout-grid-gutter-tablet, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-5,\n .mdc-layout-grid__cell--span-5-tablet {\n width: auto;\n grid-column-end: span 5; } }\n .mdc-layout-grid__cell--span-6,\n .mdc-layout-grid__cell--span-6-tablet {\n width: calc(75% - 16px);\n width: calc(75% - var(--mdc-layout-grid-gutter-tablet, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-6,\n .mdc-layout-grid__cell--span-6-tablet {\n width: auto;\n grid-column-end: span 6; } }\n .mdc-layout-grid__cell--span-7,\n .mdc-layout-grid__cell--span-7-tablet {\n width: calc(87.5% - 16px);\n width: calc(87.5% - var(--mdc-layout-grid-gutter-tablet, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-7,\n .mdc-layout-grid__cell--span-7-tablet {\n width: auto;\n grid-column-end: span 7; } }\n .mdc-layout-grid__cell--span-8,\n .mdc-layout-grid__cell--span-8-tablet {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-8,\n .mdc-layout-grid__cell--span-8-tablet {\n width: auto;\n grid-column-end: span 8; } }\n .mdc-layout-grid__cell--span-9,\n .mdc-layout-grid__cell--span-9-tablet {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-9,\n .mdc-layout-grid__cell--span-9-tablet {\n width: auto;\n grid-column-end: span 8; } }\n .mdc-layout-grid__cell--span-10,\n .mdc-layout-grid__cell--span-10-tablet {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-10,\n .mdc-layout-grid__cell--span-10-tablet {\n width: auto;\n grid-column-end: span 8; } }\n .mdc-layout-grid__cell--span-11,\n .mdc-layout-grid__cell--span-11-tablet {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-11,\n .mdc-layout-grid__cell--span-11-tablet {\n width: auto;\n grid-column-end: span 8; } }\n .mdc-layout-grid__cell--span-12,\n .mdc-layout-grid__cell--span-12-tablet {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-12,\n .mdc-layout-grid__cell--span-12-tablet {\n width: auto;\n grid-column-end: span 8; } } }\n@media (max-width: 479px) {\n .mdc-layout-grid__cell {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px));\n box-sizing: border-box;\n margin: 8px;\n margin: calc(var(--mdc-layout-grid-gutter-phone, 16px) / 2); }\n @supports (display: grid) {\n .mdc-layout-grid__cell {\n width: auto;\n grid-column-end: span 4; } }\n @supports (display: grid) {\n .mdc-layout-grid__cell {\n margin: 0; } }\n .mdc-layout-grid__cell--span-1,\n .mdc-layout-grid__cell--span-1-phone {\n width: calc(25% - 16px);\n width: calc(25% - var(--mdc-layout-grid-gutter-phone, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-1,\n .mdc-layout-grid__cell--span-1-phone {\n width: auto;\n grid-column-end: span 1; } }\n .mdc-layout-grid__cell--span-2,\n .mdc-layout-grid__cell--span-2-phone {\n width: calc(50% - 16px);\n width: calc(50% - var(--mdc-layout-grid-gutter-phone, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-2,\n .mdc-layout-grid__cell--span-2-phone {\n width: auto;\n grid-column-end: span 2; } }\n .mdc-layout-grid__cell--span-3,\n .mdc-layout-grid__cell--span-3-phone {\n width: calc(75% - 16px);\n width: calc(75% - var(--mdc-layout-grid-gutter-phone, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-3,\n .mdc-layout-grid__cell--span-3-phone {\n width: auto;\n grid-column-end: span 3; } }\n .mdc-layout-grid__cell--span-4,\n .mdc-layout-grid__cell--span-4-phone {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-4,\n .mdc-layout-grid__cell--span-4-phone {\n width: auto;\n grid-column-end: span 4; } }\n .mdc-layout-grid__cell--span-5,\n .mdc-layout-grid__cell--span-5-phone {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-5,\n .mdc-layout-grid__cell--span-5-phone {\n width: auto;\n grid-column-end: span 4; } }\n .mdc-layout-grid__cell--span-6,\n .mdc-layout-grid__cell--span-6-phone {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-6,\n .mdc-layout-grid__cell--span-6-phone {\n width: auto;\n grid-column-end: span 4; } }\n .mdc-layout-grid__cell--span-7,\n .mdc-layout-grid__cell--span-7-phone {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-7,\n .mdc-layout-grid__cell--span-7-phone {\n width: auto;\n grid-column-end: span 4; } }\n .mdc-layout-grid__cell--span-8,\n .mdc-layout-grid__cell--span-8-phone {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-8,\n .mdc-layout-grid__cell--span-8-phone {\n width: auto;\n grid-column-end: span 4; } }\n .mdc-layout-grid__cell--span-9,\n .mdc-layout-grid__cell--span-9-phone {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-9,\n .mdc-layout-grid__cell--span-9-phone {\n width: auto;\n grid-column-end: span 4; } }\n .mdc-layout-grid__cell--span-10,\n .mdc-layout-grid__cell--span-10-phone {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-10,\n .mdc-layout-grid__cell--span-10-phone {\n width: auto;\n grid-column-end: span 4; } }\n .mdc-layout-grid__cell--span-11,\n .mdc-layout-grid__cell--span-11-phone {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-11,\n .mdc-layout-grid__cell--span-11-phone {\n width: auto;\n grid-column-end: span 4; } }\n .mdc-layout-grid__cell--span-12,\n .mdc-layout-grid__cell--span-12-phone {\n width: calc(100% - 16px);\n width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); }\n @supports (display: grid) {\n .mdc-layout-grid__cell--span-12,\n .mdc-layout-grid__cell--span-12-phone {\n width: auto;\n grid-column-end: span 4; } } }\n.mdc-layout-grid__cell--order-1 {\n order: 1; }\n.mdc-layout-grid__cell--order-2 {\n order: 2; }\n.mdc-layout-grid__cell--order-3 {\n order: 3; }\n.mdc-layout-grid__cell--order-4 {\n order: 4; }\n.mdc-layout-grid__cell--order-5 {\n order: 5; }\n.mdc-layout-grid__cell--order-6 {\n order: 6; }\n.mdc-layout-grid__cell--order-7 {\n order: 7; }\n.mdc-layout-grid__cell--order-8 {\n order: 8; }\n.mdc-layout-grid__cell--order-9 {\n order: 9; }\n.mdc-layout-grid__cell--order-10 {\n order: 10; }\n.mdc-layout-grid__cell--order-11 {\n order: 11; }\n.mdc-layout-grid__cell--order-12 {\n order: 12; }\n.mdc-layout-grid__cell--align-top {\n align-self: flex-start; }\n@supports (display: grid) {\n .mdc-layout-grid__cell--align-top {\n align-self: start; } }\n.mdc-layout-grid__cell--align-middle {\n align-self: center; }\n.mdc-layout-grid__cell--align-bottom {\n align-self: flex-end; }\n@supports (display: grid) {\n .mdc-layout-grid__cell--align-bottom {\n align-self: end; } }\n@media (min-width: 840px) {\n .mdc-layout-grid--fixed-column-width {\n width: 1176px;\n width: calc( var(--mdc-layout-grid-column-width-desktop, 72px) * 12 + var(--mdc-layout-grid-gutter-desktop, 24px) * 11 + var(--mdc-layout-grid-margin-desktop, 24px) * 2); } }\n@media (min-width: 480px) and (max-width: 839px) {\n .mdc-layout-grid--fixed-column-width {\n width: 720px;\n width: calc( var(--mdc-layout-grid-column-width-tablet, 72px) * 8 + var(--mdc-layout-grid-gutter-tablet, 16px) * 7 + var(--mdc-layout-grid-margin-tablet, 16px) * 2); } }\n@media (max-width: 479px) {\n .mdc-layout-grid--fixed-column-width {\n width: 368px;\n width: calc( var(--mdc-layout-grid-column-width-phone, 72px) * 4 + var(--mdc-layout-grid-gutter-phone, 16px) * 3 + var(--mdc-layout-grid-margin-phone, 16px) * 2); } }\n.mdc-layout-grid--align-left {\n margin-right: auto;\n margin-left: 0; }\n.mdc-layout-grid--align-right {\n margin-right: 0;\n margin-left: auto; }\n.mdc-line-ripple {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 2px;\n -webkit-transform: scaleX(0);\n transform: scaleX(0);\n transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1);\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 0;\n z-index: 2; }\n.mdc-line-ripple--active {\n -webkit-transform: scaleX(1);\n transform: scaleX(1);\n opacity: 1; }\n.mdc-line-ripple--deactivating {\n opacity: 0; }\n@-webkit-keyframes primary-indeterminate-translate {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n 20% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n 59.15% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(83.67142%);\n transform: translateX(83.67142%); }\n 100% {\n -webkit-transform: translateX(200.611057%);\n transform: translateX(200.611057%); } }\n@keyframes primary-indeterminate-translate {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n 20% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n 59.15% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(83.67142%);\n transform: translateX(83.67142%); }\n 100% {\n -webkit-transform: translateX(200.611057%);\n transform: translateX(200.611057%); } }\n@-webkit-keyframes primary-indeterminate-scale {\n 0% {\n -webkit-transform: scaleX(0.08);\n transform: scaleX(0.08); }\n 36.65% {\n -webkit-animation-timing-function: cubic-bezier(0.334731, 0.12482, 0.785844, 1);\n animation-timing-function: cubic-bezier(0.334731, 0.12482, 0.785844, 1);\n -webkit-transform: scaleX(0.08);\n transform: scaleX(0.08); }\n 69.15% {\n -webkit-animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);\n animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);\n -webkit-transform: scaleX(0.661479);\n transform: scaleX(0.661479); }\n 100% {\n -webkit-transform: scaleX(0.08);\n transform: scaleX(0.08); } }\n@keyframes primary-indeterminate-scale {\n 0% {\n -webkit-transform: scaleX(0.08);\n transform: scaleX(0.08); }\n 36.65% {\n -webkit-animation-timing-function: cubic-bezier(0.334731, 0.12482, 0.785844, 1);\n animation-timing-function: cubic-bezier(0.334731, 0.12482, 0.785844, 1);\n -webkit-transform: scaleX(0.08);\n transform: scaleX(0.08); }\n 69.15% {\n -webkit-animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);\n animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);\n -webkit-transform: scaleX(0.661479);\n transform: scaleX(0.661479); }\n 100% {\n -webkit-transform: scaleX(0.08);\n transform: scaleX(0.08); } }\n@-webkit-keyframes secondary-indeterminate-translate {\n 0% {\n -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n 25% {\n -webkit-animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n -webkit-transform: translateX(37.651913%);\n transform: translateX(37.651913%); }\n 48.35% {\n -webkit-animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n -webkit-transform: translateX(84.386165%);\n transform: translateX(84.386165%); }\n 100% {\n -webkit-transform: translateX(160.277782%);\n transform: translateX(160.277782%); } }\n@keyframes secondary-indeterminate-translate {\n 0% {\n -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n 25% {\n -webkit-animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n -webkit-transform: translateX(37.651913%);\n transform: translateX(37.651913%); }\n 48.35% {\n -webkit-animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n -webkit-transform: translateX(84.386165%);\n transform: translateX(84.386165%); }\n 100% {\n -webkit-transform: translateX(160.277782%);\n transform: translateX(160.277782%); } }\n@-webkit-keyframes secondary-indeterminate-scale {\n 0% {\n -webkit-animation-timing-function: cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);\n animation-timing-function: cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);\n -webkit-transform: scaleX(0.08);\n transform: scaleX(0.08); }\n 19.15% {\n -webkit-animation-timing-function: cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);\n animation-timing-function: cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);\n -webkit-transform: scaleX(0.457104);\n transform: scaleX(0.457104); }\n 44.15% {\n -webkit-animation-timing-function: cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);\n animation-timing-function: cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);\n -webkit-transform: scaleX(0.72796);\n transform: scaleX(0.72796); }\n 100% {\n -webkit-transform: scaleX(0.08);\n transform: scaleX(0.08); } }\n@keyframes secondary-indeterminate-scale {\n 0% {\n -webkit-animation-timing-function: cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);\n animation-timing-function: cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);\n -webkit-transform: scaleX(0.08);\n transform: scaleX(0.08); }\n 19.15% {\n -webkit-animation-timing-function: cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);\n animation-timing-function: cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);\n -webkit-transform: scaleX(0.457104);\n transform: scaleX(0.457104); }\n 44.15% {\n -webkit-animation-timing-function: cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);\n animation-timing-function: cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);\n -webkit-transform: scaleX(0.72796);\n transform: scaleX(0.72796); }\n 100% {\n -webkit-transform: scaleX(0.08);\n transform: scaleX(0.08); } }\n@-webkit-keyframes buffering {\n to {\n -webkit-transform: translateX(-10px);\n transform: translateX(-10px); } }\n@keyframes buffering {\n to {\n -webkit-transform: translateX(-10px);\n transform: translateX(-10px); } }\n@-webkit-keyframes primary-indeterminate-translate-reverse {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n 20% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n 59.15% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(-83.67142%);\n transform: translateX(-83.67142%); }\n 100% {\n -webkit-transform: translateX(-200.611057%);\n transform: translateX(-200.611057%); } }\n@keyframes primary-indeterminate-translate-reverse {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n 20% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n 59.15% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(-83.67142%);\n transform: translateX(-83.67142%); }\n 100% {\n -webkit-transform: translateX(-200.611057%);\n transform: translateX(-200.611057%); } }\n@-webkit-keyframes secondary-indeterminate-translate-reverse {\n 0% {\n -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n 25% {\n -webkit-animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n -webkit-transform: translateX(-37.651913%);\n transform: translateX(-37.651913%); }\n 48.35% {\n -webkit-animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n -webkit-transform: translateX(-84.386165%);\n transform: translateX(-84.386165%); }\n 100% {\n -webkit-transform: translateX(-160.277782%);\n transform: translateX(-160.277782%); } }\n@keyframes secondary-indeterminate-translate-reverse {\n 0% {\n -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n 25% {\n -webkit-animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n -webkit-transform: translateX(-37.651913%);\n transform: translateX(-37.651913%); }\n 48.35% {\n -webkit-animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n -webkit-transform: translateX(-84.386165%);\n transform: translateX(-84.386165%); }\n 100% {\n -webkit-transform: translateX(-160.277782%);\n transform: translateX(-160.277782%); } }\n@-webkit-keyframes buffering-reverse {\n to {\n -webkit-transform: translateX(10px);\n transform: translateX(10px); } }\n@keyframes buffering-reverse {\n to {\n -webkit-transform: translateX(10px);\n transform: translateX(10px); } }\n.mdc-linear-progress {\n position: relative;\n width: 100%;\n height: 4px;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n transition: opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n overflow: hidden; }\n.mdc-linear-progress__bar {\n position: absolute;\n width: 100%;\n height: 100%;\n -webkit-animation: none;\n animation: none;\n -webkit-transform-origin: top left;\n transform-origin: top left;\n transition: -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); }\n.mdc-linear-progress__bar-inner {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n -webkit-animation: none;\n animation: none; }\n.mdc-linear-progress__buffering-dots {\n position: absolute;\n width: 100%;\n height: 100%;\n -webkit-animation: buffering 250ms infinite linear;\n animation: buffering 250ms infinite linear;\n background-repeat: repeat-x;\n background-size: 10px 4px; }\n.mdc-linear-progress__buffer {\n position: absolute;\n width: 100%;\n height: 100%;\n -webkit-transform-origin: top left;\n transform-origin: top left;\n transition: -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); }\n.mdc-linear-progress__primary-bar {\n -webkit-transform: scaleX(0);\n transform: scaleX(0); }\n.mdc-linear-progress__secondary-bar {\n visibility: hidden; }\n.mdc-linear-progress--indeterminate .mdc-linear-progress__bar {\n transition: none; }\n.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar {\n left: -145.166611%;\n -webkit-animation: primary-indeterminate-translate 2s infinite linear;\n animation: primary-indeterminate-translate 2s infinite linear; }\n.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar > .mdc-linear-progress__bar-inner {\n -webkit-animation: primary-indeterminate-scale 2s infinite linear;\n animation: primary-indeterminate-scale 2s infinite linear; }\n.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar {\n left: -54.888891%;\n -webkit-animation: secondary-indeterminate-translate 2s infinite linear;\n animation: secondary-indeterminate-translate 2s infinite linear;\n visibility: visible; }\n.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar > .mdc-linear-progress__bar-inner {\n -webkit-animation: secondary-indeterminate-scale 2s infinite linear;\n animation: secondary-indeterminate-scale 2s infinite linear; }\n.mdc-linear-progress--reversed .mdc-linear-progress__bar,\n .mdc-linear-progress--reversed .mdc-linear-progress__buffer {\n right: 0;\n -webkit-transform-origin: center right;\n transform-origin: center right; }\n.mdc-linear-progress--reversed .mdc-linear-progress__primary-bar {\n -webkit-animation-name: primary-indeterminate-translate-reverse;\n animation-name: primary-indeterminate-translate-reverse; }\n.mdc-linear-progress--reversed .mdc-linear-progress__secondary-bar {\n -webkit-animation-name: secondary-indeterminate-translate-reverse;\n animation-name: secondary-indeterminate-translate-reverse; }\n.mdc-linear-progress--reversed .mdc-linear-progress__buffering-dots {\n -webkit-animation: buffering-reverse 250ms infinite linear;\n animation: buffering-reverse 250ms infinite linear; }\n.mdc-linear-progress--closed {\n opacity: 0; }\n.mdc-linear-progress__bar-inner {\n background-color: #1565c0;\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0); }\n.mdc-linear-progress__buffering-dots {\n background-image: url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23e6e6e6'/%3E%3C/svg%3E\"); }\n.mdc-linear-progress__buffer {\n background-color: #e6e6e6; }\n.mdc-linear-progress--indeterminate.mdc-linear-progress--reversed .mdc-linear-progress__primary-bar {\n right: -145.166611%;\n left: auto; }\n.mdc-linear-progress--indeterminate.mdc-linear-progress--reversed .mdc-linear-progress__secondary-bar {\n right: -54.888891%;\n left: auto; }\n.mdc-list {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.75rem;\n font-weight: 400;\n letter-spacing: 0.009375em;\n text-decoration: inherit;\n text-transform: inherit;\n /* @alternate */\n line-height: 1.5rem;\n margin: 0;\n padding: 8px 0;\n list-style-type: none;\n color: rgba(0, 0, 0, 0.87);\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\n.mdc-list-item__secondary-text {\n color: rgba(0, 0, 0, 0.54);\n /* @alternate */\n color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54)); }\n.mdc-list-item__graphic {\n background-color: transparent; }\n.mdc-list-item__graphic {\n color: rgba(0, 0, 0, 0.38);\n /* @alternate */\n color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38)); }\n.mdc-list-item__meta {\n color: rgba(0, 0, 0, 0.38);\n /* @alternate */\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38)); }\n.mdc-list-group__subheader {\n color: rgba(0, 0, 0, 0.87);\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\n.mdc-list--dense {\n padding-top: 4px;\n padding-bottom: 4px;\n font-size: .812rem; }\n.mdc-list-item {\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n padding: 0 16px;\n overflow: hidden; }\n.mdc-list-item:focus {\n outline: none; }\n.mdc-list-item--selected,\n.mdc-list-item--activated {\n color: #1565c0;\n /* @alternate */\n color: var(--mdc-theme-primary, #1565c0); }\n.mdc-list-item--selected .mdc-list-item__graphic,\n .mdc-list-item--activated .mdc-list-item__graphic {\n color: #1565c0;\n /* @alternate */\n color: var(--mdc-theme-primary, #1565c0); }\n.mdc-list-item--disabled {\n color: rgba(0, 0, 0, 0.38);\n /* @alternate */\n color: var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38)); }\n.mdc-list-item__graphic {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 32px;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n fill: currentColor; }\n.mdc-list-item[dir=\"rtl\"] .mdc-list-item__graphic,\n [dir=\"rtl\"] .mdc-list-item .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 32px;\n /* @noflip */\n margin-right: 0; }\n.mdc-list .mdc-list-item__graphic {\n display: inline-flex; }\n.mdc-list-item__meta {\n /* @noflip */\n margin-left: auto;\n /* @noflip */\n margin-right: 0; }\n.mdc-list-item[dir=\"rtl\"] .mdc-list-item__meta,\n [dir=\"rtl\"] .mdc-list-item .mdc-list-item__meta {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: auto; }\n.mdc-list-item__text {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden; }\n.mdc-list-item__text[for] {\n pointer-events: none; }\n.mdc-list-item__primary-text {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n margin-bottom: -20px;\n display: block; }\n.mdc-list-item__primary-text::before {\n display: inline-block;\n width: 0;\n height: 32px;\n content: \"\";\n vertical-align: 0; }\n.mdc-list-item__primary-text::after {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: -20px; }\n.mdc-list--dense .mdc-list-item__primary-text {\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n margin-bottom: -20px; }\n.mdc-list--dense .mdc-list-item__primary-text::before {\n display: inline-block;\n width: 0;\n height: 24px;\n content: \"\";\n vertical-align: 0; }\n.mdc-list--dense .mdc-list-item__primary-text::after {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: -20px; }\n.mdc-list-item__secondary-text {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.01785714em;\n text-decoration: inherit;\n text-transform: inherit;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n display: block; }\n.mdc-list-item__secondary-text::before {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: 0; }\n.mdc-list--dense .mdc-list-item__secondary-text {\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n font-size: inherit; }\n.mdc-list--dense .mdc-list-item__secondary-text::before {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: 0; }\n.mdc-list--dense .mdc-list-item {\n height: 40px; }\n.mdc-list--dense .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 36px;\n width: 20px;\n height: 20px; }\n.mdc-list-item[dir=\"rtl\"] .mdc-list--dense .mdc-list-item__graphic,\n [dir=\"rtl\"] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 36px;\n /* @noflip */\n margin-right: 0; }\n.mdc-list--avatar-list .mdc-list-item {\n height: 56px; }\n.mdc-list--avatar-list .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 16px;\n width: 40px;\n height: 40px;\n border-radius: 50%; }\n.mdc-list-item[dir=\"rtl\"] .mdc-list--avatar-list .mdc-list-item__graphic,\n [dir=\"rtl\"] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 16px;\n /* @noflip */\n margin-right: 0; }\n.mdc-list--two-line .mdc-list-item__text {\n align-self: flex-start; }\n.mdc-list--two-line .mdc-list-item {\n height: 72px; }\n.mdc-list--two-line.mdc-list--dense .mdc-list-item,\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item {\n height: 60px; }\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 20px;\n width: 36px;\n height: 36px; }\n.mdc-list-item[dir=\"rtl\"] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,\n [dir=\"rtl\"] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 20px;\n /* @noflip */\n margin-right: 0; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\n cursor: pointer; }\na.mdc-list-item {\n color: inherit;\n text-decoration: none; }\n.mdc-list-divider {\n height: 0;\n margin: 0;\n border: none;\n border-bottom-width: 1px;\n border-bottom-style: solid; }\n.mdc-list-divider {\n border-bottom-color: rgba(0, 0, 0, 0.12); }\n.mdc-list-divider--padded {\n margin: 0 16px; }\n.mdc-list-divider--inset {\n /* @noflip */\n margin-left: 72px;\n /* @noflip */\n margin-right: 0;\n width: calc(100% - 72px); }\n.mdc-list-group[dir=\"rtl\"] .mdc-list-divider--inset,\n [dir=\"rtl\"] .mdc-list-group .mdc-list-divider--inset {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 72px; }\n.mdc-list-divider--inset.mdc-list-divider--padded {\n width: calc(100% - 72px - 16px); }\n.mdc-list-group .mdc-list {\n padding: 0; }\n.mdc-list-group__subheader {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.75rem;\n font-weight: 400;\n letter-spacing: 0.009375em;\n text-decoration: inherit;\n text-transform: inherit;\n margin: 0.75rem 16px; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\n background-color: #000; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:hover::before {\n opacity: 0.04; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before {\n opacity: 0.12; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\n background-color: #1565c0; }\n@supports not (-ms-ime-align: auto) {\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0); } }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before {\n opacity: 0.16; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before {\n opacity: 0.08; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\n background-color: #1565c0; }\n@supports not (-ms-ime-align: auto) {\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0); } }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before {\n opacity: 0.12; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.2; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.2; }\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.2; }\n.mdc-menu {\n min-width: 112px; }\n.mdc-menu .mdc-list-item__meta {\n color: rgba(0, 0, 0, 0.87); }\n.mdc-menu .mdc-list-item__graphic {\n color: rgba(0, 0, 0, 0.87); }\n.mdc-menu .mdc-list {\n color: rgba(0, 0, 0, 0.87); }\n.mdc-menu .mdc-list-divider {\n margin: 8px 0; }\n.mdc-menu .mdc-list-item {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n.mdc-menu .mdc-list-item--disabled {\n cursor: auto; }\n.mdc-menu a.mdc-list-item .mdc-list-item__text,\n .mdc-menu a.mdc-list-item .mdc-list-item__graphic {\n pointer-events: none; }\n.mdc-menu__selection-group {\n padding: 0;\n fill: currentColor; }\n.mdc-menu__selection-group .mdc-list-item {\n /* @noflip */\n padding-left: 56px;\n /* @noflip */\n padding-right: 16px; }\n[dir=\"rtl\"] .mdc-menu__selection-group .mdc-list-item, .mdc-menu__selection-group .mdc-list-item[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 16px;\n /* @noflip */\n padding-right: 56px; }\n.mdc-menu__selection-group .mdc-menu__selection-group-icon {\n /* @noflip */\n left: 16px;\n /* @noflip */\n right: initial;\n display: none;\n position: absolute; }\n[dir=\"rtl\"] .mdc-menu__selection-group .mdc-menu__selection-group-icon, .mdc-menu__selection-group .mdc-menu__selection-group-icon[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 16px; }\n.mdc-menu-item--selected .mdc-menu__selection-group-icon {\n display: inline; }\n.mdc-menu-surface {\n display: none;\n position: absolute;\n box-sizing: border-box;\n max-width: calc(100vw - 32px);\n max-height: calc(100vh - 32px);\n margin: 0;\n padding: 0;\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n opacity: 0;\n overflow: auto;\n will-change: transform, opacity;\n z-index: 8;\n transition: opacity 0.03s linear, -webkit-transform 0.12s cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0.12s cubic-bezier(0, 0, 0.2, 1);\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n background-color: #fff;\n /* @alternate */\n background-color: var(--mdc-theme-surface, #fff);\n color: #000;\n /* @alternate */\n color: var(--mdc-theme-on-surface, #000);\n border-radius: 4px;\n /* @noflip */\n transform-origin-left: top left;\n /* @noflip */\n transform-origin-right: top right; }\n.mdc-menu-surface:focus {\n outline: none; }\n.mdc-menu-surface--open {\n display: inline-block;\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1; }\n.mdc-menu-surface--animating-open {\n display: inline-block;\n -webkit-transform: scale(0.8);\n transform: scale(0.8);\n opacity: 0; }\n.mdc-menu-surface--animating-closed {\n display: inline-block;\n opacity: 0;\n transition: opacity 0.075s linear; }\n[dir=\"rtl\"] .mdc-menu-surface, .mdc-menu-surface[dir=\"rtl\"] {\n /* @noflip */\n transform-origin-left: top right;\n /* @noflip */\n transform-origin-right: top left; }\n.mdc-menu-surface--anchor {\n position: relative;\n overflow: visible; }\n.mdc-menu-surface--fixed {\n position: fixed; }\n.mdc-notched-outline {\n display: flex;\n position: absolute;\n right: 0;\n left: 0;\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n height: 100%;\n /* @noflip */\n text-align: left;\n pointer-events: none; }\n[dir=\"rtl\"] .mdc-notched-outline, .mdc-notched-outline[dir=\"rtl\"] {\n /* @noflip */\n text-align: right; }\n.mdc-notched-outline__leading, .mdc-notched-outline__notch, .mdc-notched-outline__trailing {\n box-sizing: border-box;\n height: 100%;\n transition: border 150ms cubic-bezier(0.4, 0, 0.2, 1);\n border-top: 1px solid;\n border-bottom: 1px solid;\n pointer-events: none; }\n.mdc-notched-outline__leading {\n /* @noflip */\n border-left: 1px solid;\n /* @noflip */\n border-right: none;\n width: 12px; }\n[dir=\"rtl\"] .mdc-notched-outline__leading, .mdc-notched-outline__leading[dir=\"rtl\"] {\n /* @noflip */\n border-left: none;\n /* @noflip */\n border-right: 1px solid; }\n.mdc-notched-outline__trailing {\n /* @noflip */\n border-left: none;\n /* @noflip */\n border-right: 1px solid;\n flex-grow: 1; }\n[dir=\"rtl\"] .mdc-notched-outline__trailing, .mdc-notched-outline__trailing[dir=\"rtl\"] {\n /* @noflip */\n border-left: 1px solid;\n /* @noflip */\n border-right: none; }\n.mdc-notched-outline__notch {\n flex: 0 0 auto;\n width: auto;\n max-width: calc(100% - 12px * 2); }\n.mdc-notched-outline .mdc-floating-label {\n display: inline-block;\n position: relative;\n top: 17px;\n bottom: auto;\n max-width: 100%; }\n.mdc-notched-outline .mdc-floating-label--float-above {\n text-overflow: clip; }\n.mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n max-width: calc(100% / .75); }\n.mdc-notched-outline--notched .mdc-notched-outline__notch {\n /* @noflip */\n padding-left: 0;\n /* @noflip */\n padding-right: 8px;\n border-top: none; }\n[dir=\"rtl\"] .mdc-notched-outline--notched .mdc-notched-outline__notch, .mdc-notched-outline--notched .mdc-notched-outline__notch[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 8px;\n /* @noflip */\n padding-right: 0; }\n.mdc-notched-outline--no-label .mdc-notched-outline__notch {\n padding: 0; }\n.mdc-radio {\n display: inline-block;\n position: relative;\n flex: 0 0 auto;\n box-sizing: border-box;\n width: 40px;\n height: 40px;\n padding: 10px;\n cursor: pointer;\n /* @alternate */\n will-change: opacity, transform, border-color, color; }\n.mdc-radio .mdc-radio__native-control:enabled:not(:checked) + .mdc-radio__background .mdc-radio__outer-circle {\n border-color: rgba(0, 0, 0, 0.54); }\n.mdc-radio .mdc-radio__native-control:enabled:checked + .mdc-radio__background .mdc-radio__outer-circle {\n border-color: #388e3c;\n /* @alternate */\n border-color: var(--mdc-theme-secondary, #388e3c); }\n.mdc-radio .mdc-radio__native-control:enabled + .mdc-radio__background .mdc-radio__inner-circle {\n border-color: #388e3c;\n /* @alternate */\n border-color: var(--mdc-theme-secondary, #388e3c); }\n.mdc-radio .mdc-radio__background::before {\n background-color: #388e3c; }\n@supports not (-ms-ime-align: auto) {\n .mdc-radio .mdc-radio__background::before {\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); } }\n.mdc-radio__background {\n display: inline-block;\n position: absolute;\n left: 10px;\n box-sizing: border-box;\n width: 50%;\n height: 50%; }\n.mdc-radio__background::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n -webkit-transform: scale(0, 0);\n transform: scale(0, 0);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\";\n transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); }\n.mdc-radio__outer-circle {\n position: absolute;\n top: 0;\n left: 0;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border-width: 2px;\n border-style: solid;\n border-radius: 50%;\n transition: border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); }\n.mdc-radio__inner-circle {\n position: absolute;\n top: 0;\n left: 0;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n -webkit-transform: scale(0, 0);\n transform: scale(0, 0);\n border-width: 10px;\n border-style: solid;\n border-radius: 50%;\n transition: border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);\n transition: transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); }\n.mdc-radio__native-control {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n opacity: 0;\n cursor: inherit;\n z-index: 1; }\n.mdc-radio__native-control:checked + .mdc-radio__background,\n.mdc-radio__native-control:disabled + .mdc-radio__background {\n transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); }\n.mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__outer-circle,\n .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__outer-circle {\n transition: border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1); }\n.mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__inner-circle,\n .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__inner-circle {\n transition: border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); }\n.mdc-radio--disabled {\n cursor: default;\n pointer-events: none; }\n.mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__inner-circle {\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n transition: border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); }\n.mdc-radio__native-control:disabled + .mdc-radio__background,\n[aria-disabled=\"true\"] .mdc-radio__native-control + .mdc-radio__background {\n cursor: default; }\n.mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__outer-circle,\n [aria-disabled=\"true\"] .mdc-radio__native-control + .mdc-radio__background .mdc-radio__outer-circle {\n border-color: rgba(0, 0, 0, 0.26); }\n.mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__inner-circle,\n [aria-disabled=\"true\"] .mdc-radio__native-control + .mdc-radio__background .mdc-radio__inner-circle {\n border-color: rgba(0, 0, 0, 0.26); }\n.mdc-radio__native-control:focus + .mdc-radio__background::before {\n -webkit-transform: scale(2, 2);\n transform: scale(2, 2);\n opacity: 0.12;\n transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); }\n.mdc-radio {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity; }\n.mdc-radio::before, .mdc-radio::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-radio::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-radio.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-radio.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-radio.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-radio.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-radio.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-radio::before, .mdc-radio::after {\n top: calc(50% - 50%);\n /* @noflip */\n left: calc(50% - 50%);\n width: 100%;\n height: 100%; }\n.mdc-radio.mdc-ripple-upgraded::before, .mdc-radio.mdc-ripple-upgraded::after {\n top: var(--mdc-ripple-top, calc(50% - 50%));\n /* @noflip */\n left: var(--mdc-ripple-left, calc(50% - 50%));\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-radio.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-radio::before, .mdc-radio::after {\n background-color: #388e3c; }\n@supports not (-ms-ime-align: auto) {\n .mdc-radio::before, .mdc-radio::after {\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); } }\n.mdc-radio:hover::before {\n opacity: 0.04; }\n.mdc-radio:not(.mdc-ripple-upgraded):focus::before, .mdc-radio.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-radio:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-radio:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-radio.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n.mdc-radio.mdc-ripple-upgraded--background-focused .mdc-radio__background::before {\n content: none; }\n.mdc-ripple-surface {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity;\n position: relative;\n outline: none;\n overflow: hidden; }\n.mdc-ripple-surface::before, .mdc-ripple-surface::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-ripple-surface::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-ripple-surface.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-ripple-surface.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-ripple-surface::before, .mdc-ripple-surface::after {\n background-color: #000; }\n.mdc-ripple-surface:hover::before {\n opacity: 0.04; }\n.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before, .mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-ripple-surface.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n.mdc-ripple-surface::before, .mdc-ripple-surface::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n.mdc-ripple-surface.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-ripple-surface[data-mdc-ripple-is-unbounded] {\n overflow: visible; }\n.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before, .mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after {\n top: calc(50% - 50%);\n /* @noflip */\n left: calc(50% - 50%);\n width: 100%;\n height: 100%; }\n.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before, .mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after {\n top: var(--mdc-ripple-top, calc(50% - 50%));\n /* @noflip */\n left: var(--mdc-ripple-left, calc(50% - 50%));\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-ripple-surface--primary::before, .mdc-ripple-surface--primary::after {\n background-color: #1565c0; }\n@supports not (-ms-ime-align: auto) {\n .mdc-ripple-surface--primary::before, .mdc-ripple-surface--primary::after {\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0); } }\n.mdc-ripple-surface--primary:hover::before {\n opacity: 0.04; }\n.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):focus::before, .mdc-ripple-surface--primary.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-ripple-surface--primary.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n.mdc-ripple-surface--accent::before, .mdc-ripple-surface--accent::after {\n background-color: #388e3c; }\n@supports not (-ms-ime-align: auto) {\n .mdc-ripple-surface--accent::before, .mdc-ripple-surface--accent::after {\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); } }\n.mdc-ripple-surface--accent:hover::before {\n opacity: 0.04; }\n.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):focus::before, .mdc-ripple-surface--accent.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-ripple-surface--accent.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n@-webkit-keyframes mdc-select-float-native-control {\n 0% {\n -webkit-transform: translateY(8px);\n transform: translateY(8px);\n opacity: 0; }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1; } }\n@keyframes mdc-select-float-native-control {\n 0% {\n -webkit-transform: translateY(8px);\n transform: translateY(8px);\n opacity: 0; }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1; } }\n.mdc-select--with-leading-icon:not(.mdc-select--disabled) .mdc-select__icon {\n color: #000;\n /* @alternate */\n color: var(--mdc-theme-on-surface, #000); }\n.mdc-select--with-leading-icon .mdc-select__icon {\n display: inline-block;\n position: absolute;\n bottom: 16px;\n box-sizing: border-box;\n width: 24px;\n height: 24px;\n border: none;\n background-color: transparent;\n fill: currentColor;\n opacity: 0.54;\n text-decoration: none;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n.mdc-select__icon:not([tabindex]),\n.mdc-select__icon[tabindex=\"-1\"] {\n cursor: default;\n pointer-events: none; }\n.mdc-select-helper-text {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.75rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.03333333em;\n text-decoration: inherit;\n text-transform: inherit;\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n margin: 0;\n transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 0;\n will-change: opacity; }\n.mdc-select-helper-text::before {\n display: inline-block;\n width: 0;\n height: 16px;\n content: \"\";\n vertical-align: 0; }\n.mdc-select-helper-text--persistent {\n transition: none;\n opacity: 1;\n will-change: initial; }\n.mdc-select {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity;\n display: inline-flex;\n position: relative;\n box-sizing: border-box;\n height: 56px;\n overflow: hidden;\n /* @alternate */\n will-change: opacity, transform, color; }\n.mdc-select:not(.mdc-select--disabled) {\n background-color: whitesmoke; }\n.mdc-select::before, .mdc-select::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-select::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-select.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-select.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-select.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-select.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-select.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-select::before, .mdc-select::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n.mdc-select.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-select::before, .mdc-select::after {\n background-color: rgba(0, 0, 0, 0.87); }\n.mdc-select:hover::before {\n opacity: 0.04; }\n.mdc-select:not(.mdc-ripple-upgraded):focus::before, .mdc-select.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control,\n .mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text {\n color: rgba(0, 0, 0, 0.87); }\n.mdc-select:not(.mdc-select--disabled) .mdc-floating-label {\n color: rgba(0, 0, 0, 0.6); }\n.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control,\n .mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text {\n border-bottom-color: rgba(0, 0, 0, 0.42); }\n.mdc-select:not(.mdc-select--disabled) + .mdc-select-helper-text {\n color: rgba(0, 0, 0, 0.6); }\n.mdc-select, .mdc-select__native-control {\n border-radius: 4px 4px 0 0; }\n.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple {\n background-color: #1565c0;\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0); }\n.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {\n color: rgba(21, 101, 192, 0.87); }\n.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control:hover {\n border-bottom-color: rgba(0, 0, 0, 0.87); }\n.mdc-select .mdc-floating-label--float-above {\n -webkit-transform: translateY(-70%) scale(0.75);\n transform: translateY(-70%) scale(0.75); }\n.mdc-select .mdc-floating-label {\n /* @noflip */\n left: 16px;\n /* @noflip */\n right: initial;\n top: 21px;\n pointer-events: none; }\n[dir=\"rtl\"] .mdc-select .mdc-floating-label, .mdc-select .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 16px; }\n.mdc-select.mdc-select--with-leading-icon .mdc-floating-label {\n /* @noflip */\n left: 48px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-select.mdc-select--with-leading-icon .mdc-floating-label, .mdc-select.mdc-select--with-leading-icon .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 48px; }\n.mdc-select.mdc-select--outlined .mdc-floating-label {\n /* @noflip */\n left: 4px;\n /* @noflip */\n right: initial;\n top: 17px; }\n[dir=\"rtl\"] .mdc-select.mdc-select--outlined .mdc-floating-label, .mdc-select.mdc-select--outlined .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 4px; }\n.mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label {\n /* @noflip */\n left: 36px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label, .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 36px; }\n.mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above {\n /* @noflip */\n left: 36px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above, .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 36px; }\n.mdc-select__dropdown-icon {\n background: url(\"data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.54%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E\") no-repeat center;\n /* @noflip */\n left: auto;\n /* @noflip */\n right: 8px;\n position: absolute;\n bottom: 16px;\n width: 24px;\n height: 24px;\n transition: -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);\n transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);\n transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);\n pointer-events: none; }\n[dir=\"rtl\"] .mdc-select__dropdown-icon, .mdc-select__dropdown-icon[dir=\"rtl\"] {\n /* @noflip */\n left: 8px;\n /* @noflip */\n right: auto; }\n.mdc-select--focused .mdc-select__dropdown-icon {\n background: url(\"data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%231565c0%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E\") no-repeat center;\n -webkit-transform: rotate(180deg) translateY(-5px);\n transform: rotate(180deg) translateY(-5px);\n transition: -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);\n transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);\n transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1); }\n.mdc-select__native-control {\n padding-top: 20px; }\n.mdc-select.mdc-select--focused .mdc-line-ripple::after {\n -webkit-transform: scale(1, 2);\n transform: scale(1, 2);\n opacity: 1; }\n.mdc-select + .mdc-select-helper-text {\n margin-right: 12px;\n margin-left: 12px; }\n.mdc-select--outlined + .mdc-select-helper-text {\n margin-right: 16px;\n margin-left: 16px; }\n.mdc-select--focused + .mdc-select-helper-text:not(.mdc-select-helper-text--validation-msg) {\n opacity: 1; }\n.mdc-select__selected-text {\n min-width: 200px;\n padding-top: 22px; }\n.mdc-select__native-control,\n.mdc-select__selected-text {\n /* @noflip */\n padding-left: 16px;\n /* @noflip */\n padding-right: 52px;\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.75rem;\n font-weight: 400;\n letter-spacing: 0.009375em;\n text-decoration: inherit;\n text-transform: inherit;\n box-sizing: border-box;\n width: 100%;\n height: 56px;\n padding-top: 20px;\n padding-bottom: 4px;\n border: none;\n border-bottom: 1px solid;\n outline: none;\n background-color: transparent;\n color: inherit;\n white-space: nowrap;\n cursor: pointer;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n[dir=\"rtl\"] .mdc-select__native-control, .mdc-select__native-control[dir=\"rtl\"], [dir=\"rtl\"]\n .mdc-select__selected-text,\n .mdc-select__selected-text[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 52px;\n /* @noflip */\n padding-right: 16px; }\n.mdc-select__native-control::-ms-expand,\n .mdc-select__selected-text::-ms-expand {\n display: none; }\n.mdc-select__native-control::-ms-value,\n .mdc-select__selected-text::-ms-value {\n background-color: transparent;\n color: inherit; }\n@-moz-document url-prefix(\"\") {\n .mdc-select__native-control,\n .mdc-select__selected-text {\n text-indent: -2px; } }\n.mdc-select--outlined {\n border: none;\n overflow: visible; }\n.mdc-select--outlined:not(.mdc-select--disabled) {\n background-color: transparent; }\n.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,\n .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,\n .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {\n border-color: rgba(0, 0, 0, 0.24); }\n.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,\n .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,\n .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,\n .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,\n .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,\n .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {\n border-color: rgba(0, 0, 0, 0.87); }\n.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,\n .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,\n .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {\n border-width: 2px; }\n.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,\n .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,\n .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {\n border-color: #1565c0;\n /* @alternate */\n border-color: var(--mdc-theme-primary, #1565c0); }\n.mdc-select--outlined .mdc-floating-label--shake {\n -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1;\n animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1; }\n.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading {\n /* @noflip */\n border-radius: 4px 0 0 4px; }\n[dir=\"rtl\"] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading, .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=\"rtl\"] {\n /* @noflip */\n border-radius: 0 4px 4px 0; }\n.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing {\n /* @noflip */\n border-radius: 0 4px 4px 0; }\n[dir=\"rtl\"] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing, .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=\"rtl\"] {\n /* @noflip */\n border-radius: 4px 0 0 4px; }\n.mdc-select--outlined .mdc-select__native-control {\n border-radius: 4px; }\n.mdc-select--outlined::before, .mdc-select--outlined::after {\n content: none; }\n.mdc-select--outlined:not(.mdc-select--disabled) {\n background-color: transparent; }\n.mdc-select--outlined .mdc-floating-label--float-above {\n -webkit-transform: translateY(-144%) scale(1);\n transform: translateY(-144%) scale(1); }\n.mdc-select--outlined .mdc-floating-label--float-above {\n font-size: 0.75rem; }\n.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n .mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n -webkit-transform: translateY(-130%) scale(0.75);\n transform: translateY(-130%) scale(0.75); }\n.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n .mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n font-size: 1rem; }\n.mdc-select--outlined .mdc-select__native-control,\n .mdc-select--outlined .mdc-select__selected-text {\n /* @noflip */\n padding-left: 16px;\n /* @noflip */\n padding-right: 52px;\n display: flex;\n padding-top: 12px;\n padding-bottom: 12px;\n border: none;\n background-color: transparent;\n z-index: 1; }\n[dir=\"rtl\"] .mdc-select--outlined .mdc-select__native-control, .mdc-select--outlined .mdc-select__native-control[dir=\"rtl\"], [dir=\"rtl\"]\n .mdc-select--outlined .mdc-select__selected-text,\n .mdc-select--outlined .mdc-select__selected-text[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 52px;\n /* @noflip */\n padding-right: 16px; }\n.mdc-select--outlined .mdc-select__selected-text {\n padding-top: 14px; }\n.mdc-select--outlined .mdc-select__icon {\n z-index: 2; }\n.mdc-select--outlined .mdc-floating-label {\n line-height: 1.15rem;\n pointer-events: auto; }\n.mdc-select--invalid:not(.mdc-select--disabled) .mdc-floating-label {\n color: #b00020;\n /* @alternate */\n color: var(--mdc-theme-error, #b00020); }\n.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__native-control,\n.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__selected-text {\n border-bottom-color: #b00020;\n /* @alternate */\n border-bottom-color: var(--mdc-theme-error, #b00020); }\n.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple {\n background-color: #b00020;\n /* @alternate */\n background-color: var(--mdc-theme-error, #b00020); }\n.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {\n color: #b00020; }\n.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--invalid + .mdc-select-helper-text--validation-msg {\n color: #b00020;\n /* @alternate */\n color: var(--mdc-theme-error, #b00020); }\n.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__native-control:hover {\n border-bottom-color: #b00020;\n /* @alternate */\n border-bottom-color: var(--mdc-theme-error, #b00020); }\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {\n border-color: #b00020;\n /* @alternate */\n border-color: var(--mdc-theme-error, #b00020); }\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {\n border-color: #b00020;\n /* @alternate */\n border-color: var(--mdc-theme-error, #b00020); }\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {\n border-width: 2px; }\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,\n.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {\n border-color: #b00020;\n /* @alternate */\n border-color: var(--mdc-theme-error, #b00020); }\n.mdc-select--invalid .mdc-select__dropdown-icon {\n background: url(\"data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23b00020%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E\") no-repeat center; }\n.mdc-select--invalid + .mdc-select-helper-text--validation-msg {\n opacity: 1; }\n.mdc-select--required .mdc-floating-label::after {\n content: \"*\"; }\n.mdc-select--disabled {\n background-color: #fafafa;\n cursor: default;\n pointer-events: none; }\n.mdc-select--disabled .mdc-floating-label {\n color: rgba(0, 0, 0, 0.37); }\n.mdc-select--disabled .mdc-select__dropdown-icon {\n background: url(\"data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.37%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E\") no-repeat center; }\n.mdc-select--disabled .mdc-line-ripple {\n display: none; }\n.mdc-select--disabled .mdc-select__icon {\n color: rgba(0, 0, 0, 0.37); }\n.mdc-select--disabled .mdc-select__native-control,\n .mdc-select--disabled .mdc-select__selected-text {\n color: rgba(0, 0, 0, 0.37);\n border-bottom-style: dotted; }\n.mdc-select--disabled .mdc-select__selected-text {\n pointer-events: none; }\n.mdc-select--disabled.mdc-select--outlined {\n background-color: transparent; }\n.mdc-select--disabled.mdc-select--outlined .mdc-select__native-control,\n .mdc-select--disabled.mdc-select--outlined .mdc-select__selected-text {\n border-bottom-style: none; }\n.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__leading,\n .mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__notch,\n .mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__trailing {\n border-color: rgba(0, 0, 0, 0.16); }\n.mdc-select--with-leading-icon .mdc-select__icon {\n /* @noflip */\n left: 16px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-select--with-leading-icon .mdc-select__icon, .mdc-select--with-leading-icon .mdc-select__icon[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 16px; }\n.mdc-select--with-leading-icon .mdc-select__native-control,\n.mdc-select--with-leading-icon .mdc-select__selected-text {\n /* @noflip */\n padding-left: 48px;\n /* @noflip */\n padding-right: 32px; }\n[dir=\"rtl\"] .mdc-select--with-leading-icon .mdc-select__native-control, .mdc-select--with-leading-icon .mdc-select__native-control[dir=\"rtl\"], [dir=\"rtl\"]\n .mdc-select--with-leading-icon .mdc-select__selected-text,\n .mdc-select--with-leading-icon .mdc-select__selected-text[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 32px;\n /* @noflip */\n padding-right: 48px; }\n.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above {\n -webkit-transform: translateY(-144%) translateX(-32px) scale(1);\n transform: translateY(-144%) translateX(-32px) scale(1); }\n[dir=\"rtl\"] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above, .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above[dir=\"rtl\"] {\n -webkit-transform: translateY(-144%) translateX(32px) scale(1);\n transform: translateY(-144%) translateX(32px) scale(1); }\n.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above {\n font-size: 0.75rem; }\n.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n -webkit-transform: translateY(-130%) translateX(-32px) scale(0.75);\n transform: translateY(-130%) translateX(-32px) scale(0.75); }\n[dir=\"rtl\"] .mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=\"rtl\"], [dir=\"rtl\"]\n .mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n .mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=\"rtl\"] {\n -webkit-transform: translateY(-130%) translateX(32px) scale(0.75);\n transform: translateY(-130%) translateX(32px) scale(0.75); }\n.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n font-size: 1rem; }\n.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake {\n -webkit-animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon 250ms 1;\n animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon 250ms 1; }\n[dir=\"rtl\"] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake, .mdc-select--with-leading-icon.mdc-select--outlined[dir=\"rtl\"] .mdc-floating-label--shake {\n -webkit-animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl 250ms 1;\n animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl 250ms 1; }\n.mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text {\n /* @noflip */\n padding-left: 32px;\n /* @noflip */\n padding-right: 32px; }\n[dir=\"rtl\"] .mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text, .mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 32px;\n /* @noflip */\n padding-right: 32px; }\n.mdc-select__menu .mdc-list .mdc-list-item--selected {\n color: #000;\n /* @alternate */\n color: var(--mdc-theme-on-surface, #000); }\n.mdc-select__menu .mdc-list .mdc-list-item--selected::before, .mdc-select__menu .mdc-list .mdc-list-item--selected::after {\n background-color: #000; }\n@supports not (-ms-ime-align: auto) {\n .mdc-select__menu .mdc-list .mdc-list-item--selected::before, .mdc-select__menu .mdc-list .mdc-list-item--selected::after {\n /* @alternate */\n background-color: var(--mdc-theme-on-surface, #000); } }\n.mdc-select__menu .mdc-list .mdc-list-item--selected:hover::before {\n opacity: 0.04; }\n.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before, .mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n@-webkit-keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(4% - 32px)) translateY(-130%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(-4% - 32px)) translateY(-130%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75); }\n /* clean-css ignore:end */ }\n@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(4% - 32px)) translateY(-130%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(-4% - 32px)) translateY(-130%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75); }\n /* clean-css ignore:end */ }\n@-webkit-keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - -32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(4% - -32px)) translateY(-130%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - -32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(-4% - -32px)) translateY(-130%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75); }\n /* clean-css ignore:end */ }\n@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - -32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(4% - -32px)) translateY(-130%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - -32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(-4% - -32px)) translateY(-130%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75); }\n /* clean-css ignore:end */ }\n@-webkit-keyframes mdc-slider-emphasize {\n 0% {\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out; }\n 50% {\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n -webkit-transform: scale(0.85);\n transform: scale(0.85); }\n 100% {\n -webkit-transform: scale(0.571);\n transform: scale(0.571); } }\n@keyframes mdc-slider-emphasize {\n 0% {\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out; }\n 50% {\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n -webkit-transform: scale(0.85);\n transform: scale(0.85); }\n 100% {\n -webkit-transform: scale(0.571);\n transform: scale(0.571); } }\n.mdc-slider {\n position: relative;\n width: 100%;\n height: 48px;\n cursor: pointer;\n touch-action: pan-x;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n.mdc-slider:not(.mdc-slider--disabled) .mdc-slider__track {\n background-color: #388e3c;\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); }\n.mdc-slider:not(.mdc-slider--disabled) .mdc-slider__track-container {\n background-color: rgba(56, 142, 60, 0.26); }\n.mdc-slider:not(.mdc-slider--disabled) .mdc-slider__track-marker::after,\n .mdc-slider:not(.mdc-slider--disabled) .mdc-slider__track-marker-container::after {\n background-color: #388e3c;\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); }\n.mdc-slider:not(.mdc-slider--disabled) .mdc-slider__thumb {\n fill: #388e3c;\n /* @alternate */\n fill: var(--mdc-theme-secondary, #388e3c);\n stroke: #388e3c;\n /* @alternate */\n stroke: var(--mdc-theme-secondary, #388e3c); }\n.mdc-slider:not(.mdc-slider--disabled) .mdc-slider__focus-ring {\n background-color: #388e3c;\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); }\n.mdc-slider:not(.mdc-slider--disabled) .mdc-slider__pin {\n background-color: #388e3c;\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); }\n.mdc-slider:not(.mdc-slider--disabled) .mdc-slider__pin {\n color: white;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-dark, white); }\n.mdc-slider--disabled {\n cursor: auto; }\n.mdc-slider--disabled .mdc-slider__track {\n background-color: #9a9a9a; }\n.mdc-slider--disabled .mdc-slider__track-container {\n background-color: rgba(154, 154, 154, 0.26); }\n.mdc-slider--disabled .mdc-slider__track-marker::after,\n .mdc-slider--disabled .mdc-slider__track-marker-container::after {\n background-color: #9a9a9a; }\n.mdc-slider--disabled .mdc-slider__thumb {\n fill: #9a9a9a;\n stroke: #9a9a9a; }\n.mdc-slider--disabled .mdc-slider__thumb {\n /* @alternate */\n stroke: white;\n stroke: var(--mdc-slider-bg-color-behind-component, white); }\n.mdc-slider:focus {\n outline: none; }\n.mdc-slider__track-container {\n position: absolute;\n top: 50%;\n width: 100%;\n height: 2px;\n overflow: hidden; }\n.mdc-slider__track {\n position: absolute;\n width: 100%;\n height: 100%;\n -webkit-transform-origin: left top;\n transform-origin: left top;\n will-change: transform; }\n.mdc-slider[dir=\"rtl\"] .mdc-slider__track,\n [dir=\"rtl\"] .mdc-slider .mdc-slider__track {\n -webkit-transform-origin: right top;\n transform-origin: right top; }\n.mdc-slider__track-marker-container {\n display: flex;\n margin-right: 0;\n margin-left: -1px;\n visibility: hidden; }\n.mdc-slider[dir=\"rtl\"] .mdc-slider__track-marker-container,\n [dir=\"rtl\"] .mdc-slider .mdc-slider__track-marker-container {\n margin-right: -1px;\n margin-left: 0; }\n.mdc-slider__track-marker-container::after {\n display: block;\n width: 2px;\n height: 2px;\n content: \"\"; }\n.mdc-slider__track-marker {\n flex: 1; }\n.mdc-slider__track-marker::after {\n display: block;\n width: 2px;\n height: 2px;\n content: \"\"; }\n.mdc-slider__track-marker:first-child::after {\n width: 3px; }\n.mdc-slider__thumb-container {\n position: absolute;\n top: 15px;\n left: 0;\n width: 21px;\n height: 100%;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n will-change: transform; }\n.mdc-slider__thumb {\n position: absolute;\n top: 0;\n left: 0;\n -webkit-transform: scale(0.571);\n transform: scale(0.571);\n transition: fill 100ms ease-out, stroke 100ms ease-out, -webkit-transform 100ms ease-out;\n transition: transform 100ms ease-out, fill 100ms ease-out, stroke 100ms ease-out;\n transition: transform 100ms ease-out, fill 100ms ease-out, stroke 100ms ease-out, -webkit-transform 100ms ease-out;\n stroke-width: 3.5; }\n.mdc-slider__focus-ring {\n width: 21px;\n height: 21px;\n transition: opacity 266.67ms ease-out, background-color 266.67ms ease-out, -webkit-transform 266.67ms ease-out;\n transition: transform 266.67ms ease-out, opacity 266.67ms ease-out, background-color 266.67ms ease-out;\n transition: transform 266.67ms ease-out, opacity 266.67ms ease-out, background-color 266.67ms ease-out, -webkit-transform 266.67ms ease-out;\n border-radius: 50%;\n opacity: 0; }\n.mdc-slider__pin {\n display: flex;\n position: absolute;\n top: 0;\n left: 0;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n margin-top: -2px;\n margin-left: -2px;\n -webkit-transform: rotate(-45deg) scale(0) translate(0, 0);\n transform: rotate(-45deg) scale(0) translate(0, 0);\n transition: -webkit-transform 100ms ease-out;\n transition: transform 100ms ease-out;\n transition: transform 100ms ease-out, -webkit-transform 100ms ease-out;\n border-radius: 50% 50% 50% 0%;\n z-index: 1; }\n.mdc-slider__pin-value-marker {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.01785714em;\n text-decoration: inherit;\n text-transform: inherit;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg); }\n.mdc-slider--active .mdc-slider__thumb {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1); }\n.mdc-slider--focus .mdc-slider__thumb {\n -webkit-animation: mdc-slider-emphasize 266.67ms linear;\n animation: mdc-slider-emphasize 266.67ms linear; }\n.mdc-slider--focus .mdc-slider__focus-ring {\n -webkit-transform: scale3d(1.55, 1.55, 1.55);\n transform: scale3d(1.55, 1.55, 1.55);\n opacity: .25; }\n.mdc-slider--in-transit .mdc-slider__thumb {\n transition-delay: 140ms; }\n.mdc-slider--in-transit .mdc-slider__thumb-container,\n.mdc-slider--in-transit .mdc-slider__track,\n.mdc-slider:focus:not(.mdc-slider--active) .mdc-slider__thumb-container,\n.mdc-slider:focus:not(.mdc-slider--active) .mdc-slider__track {\n transition: -webkit-transform 80ms ease;\n transition: transform 80ms ease;\n transition: transform 80ms ease, -webkit-transform 80ms ease; }\n.mdc-slider--discrete.mdc-slider--active .mdc-slider__thumb {\n -webkit-transform: scale(calc(12 / 21));\n transform: scale(calc(12 / 21)); }\n.mdc-slider--discrete.mdc-slider--active .mdc-slider__pin {\n -webkit-transform: rotate(-45deg) scale(1) translate(19px, -20px);\n transform: rotate(-45deg) scale(1) translate(19px, -20px); }\n.mdc-slider--discrete.mdc-slider--focus .mdc-slider__thumb {\n -webkit-animation: none;\n animation: none; }\n.mdc-slider--discrete.mdc-slider--display-markers .mdc-slider__track-marker-container {\n visibility: visible; }\n.mdc-snackbar {\n z-index: 8;\n margin: 8px;\n display: none;\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n pointer-events: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n.mdc-snackbar__surface {\n background-color: #333333; }\n.mdc-snackbar__label {\n color: rgba(255, 255, 255, 0.87); }\n.mdc-snackbar__surface {\n min-width: 344px; }\n@media (max-width: 480px), (max-width: 344px) {\n .mdc-snackbar__surface {\n min-width: 100%; } }\n.mdc-snackbar__surface {\n max-width: 672px; }\n.mdc-snackbar__surface {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\n.mdc-snackbar__surface {\n border-radius: 4px; }\n.mdc-snackbar--opening,\n.mdc-snackbar--open,\n.mdc-snackbar--closing {\n display: flex; }\n.mdc-snackbar--leading {\n justify-content: flex-start; }\n.mdc-snackbar--stacked .mdc-snackbar__surface {\n flex-direction: column;\n align-items: flex-start; }\n.mdc-snackbar--stacked .mdc-snackbar__actions {\n align-self: flex-end;\n margin-bottom: 8px; }\n.mdc-snackbar__surface {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n box-sizing: border-box;\n -webkit-transform: scale(0.8);\n transform: scale(0.8);\n opacity: 0; }\n.mdc-snackbar--open .mdc-snackbar__surface {\n -webkit-transform: scale(1);\n transform: scale(1);\n transition: opacity 150ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 150ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1);\n transition: opacity 150ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1);\n opacity: 1;\n pointer-events: auto; }\n.mdc-snackbar--closing .mdc-snackbar__surface {\n -webkit-transform: scale(1);\n transform: scale(1);\n transition: opacity 75ms 0ms cubic-bezier(0.4, 0, 1, 1); }\n.mdc-snackbar__label {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.01785714em;\n text-decoration: inherit;\n text-transform: inherit;\n flex-grow: 1;\n box-sizing: border-box;\n margin: 0;\n padding: 14px 16px; }\n.mdc-snackbar__label::before {\n display: inline;\n content: attr(data-mdc-snackbar-label-text); }\n.mdc-snackbar__actions {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 8px;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n box-sizing: border-box; }\n[dir=\"rtl\"] .mdc-snackbar__actions, .mdc-snackbar__actions[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 8px;\n /* @noflip */\n margin-right: 0; }\n.mdc-snackbar__action:not(:disabled) {\n color: #bb86fc; }\n.mdc-snackbar__action::before, .mdc-snackbar__action::after {\n background-color: #bb86fc; }\n.mdc-snackbar__action:hover::before {\n opacity: 0.08; }\n.mdc-snackbar__action:not(.mdc-ripple-upgraded):focus::before, .mdc-snackbar__action.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n.mdc-snackbar__action:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-snackbar__action:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n.mdc-snackbar__action.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n.mdc-snackbar__dismiss {\n color: rgba(255, 255, 255, 0.87); }\n.mdc-snackbar__dismiss::before, .mdc-snackbar__dismiss::after {\n background-color: rgba(255, 255, 255, 0.87); }\n.mdc-snackbar__dismiss:hover::before {\n opacity: 0.08; }\n.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus::before, .mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n.mdc-snackbar__dismiss.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n.mdc-snackbar__dismiss.mdc-snackbar__dismiss {\n width: 36px;\n height: 36px;\n padding: 9px;\n font-size: 18px; }\n.mdc-snackbar__dismiss.mdc-snackbar__dismiss svg,\n .mdc-snackbar__dismiss.mdc-snackbar__dismiss img {\n width: 18px;\n height: 18px; }\n.mdc-snackbar__action + .mdc-snackbar__dismiss {\n /* @noflip */\n margin-left: 8px;\n /* @noflip */\n margin-right: 0; }\n[dir=\"rtl\"] .mdc-snackbar__action + .mdc-snackbar__dismiss, .mdc-snackbar__action + .mdc-snackbar__dismiss[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 8px; }\n.mdc-switch {\n display: inline-block;\n position: relative;\n outline: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n.mdc-switch.mdc-switch--checked .mdc-switch__track {\n background-color: #388e3c;\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c);\n border-color: #388e3c;\n /* @alternate */\n border-color: var(--mdc-theme-secondary, #388e3c); }\n.mdc-switch.mdc-switch--checked .mdc-switch__thumb {\n background-color: #388e3c;\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c);\n border-color: #388e3c;\n /* @alternate */\n border-color: var(--mdc-theme-secondary, #388e3c); }\n.mdc-switch:not(.mdc-switch--checked) .mdc-switch__track {\n background-color: #000;\n border-color: #000; }\n.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb {\n background-color: #fff;\n border-color: #fff; }\n.mdc-switch__native-control {\n /* @noflip */\n left: 0;\n /* @noflip */\n right: initial;\n position: absolute;\n top: 0;\n width: 68px;\n height: 48px;\n margin: 0;\n opacity: 0;\n cursor: pointer;\n pointer-events: auto; }\n[dir=\"rtl\"] .mdc-switch__native-control, .mdc-switch__native-control[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 0; }\n.mdc-switch__track {\n box-sizing: border-box;\n width: 32px;\n height: 14px;\n border: 1px solid;\n border-radius: 7px;\n opacity: .38;\n transition: opacity 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), border-color 90ms cubic-bezier(0.4, 0, 0.2, 1); }\n.mdc-switch__thumb-underlay {\n /* @noflip */\n left: -18px;\n /* @noflip */\n right: initial;\n display: flex;\n position: absolute;\n top: -17px;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n -webkit-transform: translateX(0);\n transform: translateX(0);\n transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), border-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1);\n transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), border-color 90ms cubic-bezier(0.4, 0, 0.2, 1);\n transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), border-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); }\n[dir=\"rtl\"] .mdc-switch__thumb-underlay, .mdc-switch__thumb-underlay[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: -18px; }\n.mdc-switch__thumb {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n box-sizing: border-box;\n width: 20px;\n height: 20px;\n border: 10px solid;\n border-radius: 50%;\n pointer-events: none;\n z-index: 1; }\n.mdc-switch--checked .mdc-switch__track {\n opacity: .54; }\n.mdc-switch--checked .mdc-switch__thumb-underlay {\n -webkit-transform: translateX(20px);\n transform: translateX(20px); }\n[dir=\"rtl\"] .mdc-switch--checked .mdc-switch__thumb-underlay, .mdc-switch--checked .mdc-switch__thumb-underlay[dir=\"rtl\"] {\n -webkit-transform: translateX(-20px);\n transform: translateX(-20px); }\n.mdc-switch--checked .mdc-switch__native-control {\n -webkit-transform: translateX(-20px);\n transform: translateX(-20px); }\n[dir=\"rtl\"] .mdc-switch--checked .mdc-switch__native-control, .mdc-switch--checked .mdc-switch__native-control[dir=\"rtl\"] {\n -webkit-transform: translateX(20px);\n transform: translateX(20px); }\n.mdc-switch--disabled {\n opacity: .38;\n pointer-events: none; }\n.mdc-switch--disabled .mdc-switch__thumb {\n border-width: 1px; }\n.mdc-switch--disabled .mdc-switch__native-control {\n cursor: default;\n pointer-events: none; }\n.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay::before, .mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay::after {\n background-color: #9e9e9e; }\n.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:hover::before {\n opacity: 0.08; }\n.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):focus::before, .mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n.mdc-switch__thumb-underlay {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity; }\n.mdc-switch__thumb-underlay::before, .mdc-switch__thumb-underlay::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-switch__thumb-underlay::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-switch__thumb-underlay.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-switch__thumb-underlay.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-switch__thumb-underlay.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-switch__thumb-underlay.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-switch__thumb-underlay.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-switch__thumb-underlay::before, .mdc-switch__thumb-underlay::after {\n top: calc(50% - 50%);\n /* @noflip */\n left: calc(50% - 50%);\n width: 100%;\n height: 100%; }\n.mdc-switch__thumb-underlay.mdc-ripple-upgraded::before, .mdc-switch__thumb-underlay.mdc-ripple-upgraded::after {\n top: var(--mdc-ripple-top, calc(50% - 50%));\n /* @noflip */\n left: var(--mdc-ripple-left, calc(50% - 50%));\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-switch__thumb-underlay.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-switch__thumb-underlay::before, .mdc-switch__thumb-underlay::after {\n background-color: #388e3c; }\n@supports not (-ms-ime-align: auto) {\n .mdc-switch__thumb-underlay::before, .mdc-switch__thumb-underlay::after {\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c); } }\n.mdc-switch__thumb-underlay:hover::before {\n opacity: 0.04; }\n.mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):focus::before, .mdc-switch__thumb-underlay.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-switch__thumb-underlay.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n.mdc-tab {\n position: relative;\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 2.25rem;\n font-weight: 500;\n letter-spacing: 0.08928571em;\n text-decoration: none;\n text-transform: uppercase;\n display: flex;\n flex: 1 0 auto;\n justify-content: center;\n box-sizing: border-box;\n height: 48px;\n padding: 0 24px;\n border: none;\n outline: none;\n background: none;\n text-align: center;\n white-space: nowrap;\n cursor: pointer;\n -webkit-appearance: none;\n z-index: 1; }\n.mdc-tab .mdc-tab__text-label {\n color: #000;\n /* @alternate */\n color: var(--mdc-theme-on-surface, #000); }\n.mdc-tab .mdc-tab__icon {\n color: #000;\n /* @alternate */\n color: var(--mdc-theme-on-surface, #000);\n fill: currentColor; }\n.mdc-tab::-moz-focus-inner {\n padding: 0;\n border: 0; }\n.mdc-tab--min-width {\n flex: 0 1 auto; }\n.mdc-tab__ripple {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden; }\n.mdc-tab__ripple::before, .mdc-tab__ripple::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-tab__ripple::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-tab__ripple.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-tab__ripple.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-tab__ripple.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-tab__ripple.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-tab__ripple.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-tab__ripple::before, .mdc-tab__ripple::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n.mdc-tab__ripple.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-tab__ripple::before, .mdc-tab__ripple::after {\n background-color: #1565c0; }\n@supports not (-ms-ime-align: auto) {\n .mdc-tab__ripple::before, .mdc-tab__ripple::after {\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0); } }\n.mdc-tab__ripple:hover::before {\n opacity: 0.04; }\n.mdc-tab__ripple:not(.mdc-ripple-upgraded):focus::before, .mdc-tab__ripple.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-tab__ripple:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-tab__ripple:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-tab__ripple.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n.mdc-tab__content {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: inherit;\n pointer-events: none; }\n.mdc-tab__text-label,\n.mdc-tab__icon {\n transition: 150ms color linear, 150ms opacity linear;\n z-index: 2; }\n.mdc-tab__text-label {\n display: inline-block;\n opacity: 0.6;\n line-height: 1; }\n.mdc-tab__icon {\n width: 24px;\n height: 24px;\n opacity: 0.54;\n font-size: 24px; }\n.mdc-tab--stacked {\n height: 72px; }\n.mdc-tab--stacked .mdc-tab__content {\n flex-direction: column;\n align-items: center;\n justify-content: space-between; }\n.mdc-tab--stacked .mdc-tab__icon {\n padding-top: 12px; }\n.mdc-tab--stacked .mdc-tab__text-label {\n padding-bottom: 16px; }\n.mdc-tab--active .mdc-tab__text-label {\n color: #1565c0;\n /* @alternate */\n color: var(--mdc-theme-primary, #1565c0); }\n.mdc-tab--active .mdc-tab__icon {\n color: #1565c0;\n /* @alternate */\n color: var(--mdc-theme-primary, #1565c0);\n fill: currentColor; }\n.mdc-tab--active .mdc-tab__text-label,\n.mdc-tab--active .mdc-tab__icon {\n transition-delay: 100ms;\n opacity: 1; }\n.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon + .mdc-tab__text-label {\n /* @noflip */\n padding-left: 8px;\n /* @noflip */\n padding-right: 0; }\n[dir=\"rtl\"] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon + .mdc-tab__text-label, .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon + .mdc-tab__text-label[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 0;\n /* @noflip */\n padding-right: 8px; }\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n.mdc-tab-bar {\n width: 100%; }\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n.mdc-tab-indicator {\n display: flex;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 1; }\n.mdc-tab-indicator > .mdc-tab-indicator__content--underline {\n background-color: #1565c0;\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0); }\n.mdc-tab-indicator > .mdc-tab-indicator__content--underline {\n height: 2px; }\n.mdc-tab-indicator > .mdc-tab-indicator__content--icon {\n color: #388e3c;\n /* @alternate */\n color: var(--mdc-theme-secondary, #388e3c); }\n.mdc-tab-indicator > .mdc-tab-indicator__content--icon {\n height: 34px;\n font-size: 34px; }\n.mdc-tab-indicator__content {\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 0; }\n.mdc-tab-indicator__content--underline {\n align-self: flex-end;\n width: 100%; }\n.mdc-tab-indicator__content--icon {\n align-self: center;\n margin: 0 auto; }\n.mdc-tab-indicator--active > .mdc-tab-indicator__content {\n opacity: 1; }\n.mdc-tab-indicator > .mdc-tab-indicator__content {\n transition: 250ms -webkit-transform cubic-bezier(0.4, 0, 0.2, 1);\n transition: 250ms transform cubic-bezier(0.4, 0, 0.2, 1);\n transition: 250ms transform cubic-bezier(0.4, 0, 0.2, 1), 250ms -webkit-transform cubic-bezier(0.4, 0, 0.2, 1); }\n.mdc-tab-indicator--no-transition > .mdc-tab-indicator__content {\n transition: none; }\n.mdc-tab-indicator--fade > .mdc-tab-indicator__content {\n transition: 150ms opacity linear; }\n.mdc-tab-indicator--active.mdc-tab-indicator--fade > .mdc-tab-indicator__content {\n transition-delay: 100ms; }\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n.mdc-tab-scroller {\n overflow-y: hidden; }\n.mdc-tab-scroller__test {\n position: absolute;\n top: -9999px;\n width: 100px;\n height: 100px;\n overflow-x: scroll; }\n.mdc-tab-scroller__scroll-area {\n -webkit-overflow-scrolling: touch;\n display: flex;\n overflow-x: hidden; }\n.mdc-tab-scroller__scroll-area::-webkit-scrollbar,\n.mdc-tab-scroller__test::-webkit-scrollbar {\n display: none; }\n.mdc-tab-scroller__scroll-area--scroll {\n overflow-x: scroll; }\n.mdc-tab-scroller__scroll-content {\n position: relative;\n display: flex;\n flex: 1 0 auto;\n -webkit-transform: none;\n transform: none;\n will-change: transform; }\n.mdc-tab-scroller--align-start .mdc-tab-scroller__scroll-content {\n justify-content: flex-start; }\n.mdc-tab-scroller--align-end .mdc-tab-scroller__scroll-content {\n justify-content: flex-end; }\n.mdc-tab-scroller--align-center .mdc-tab-scroller__scroll-content {\n justify-content: center; }\n.mdc-tab-scroller--animating .mdc-tab-scroller__scroll-area {\n -webkit-overflow-scrolling: auto; }\n.mdc-tab-scroller--animating .mdc-tab-scroller__scroll-content {\n transition: 250ms -webkit-transform cubic-bezier(0.4, 0, 0.2, 1);\n transition: 250ms transform cubic-bezier(0.4, 0, 0.2, 1);\n transition: 250ms transform cubic-bezier(0.4, 0, 0.2, 1), 250ms -webkit-transform cubic-bezier(0.4, 0, 0.2, 1); }\n.mdc-text-field-helper-text {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.75rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.03333333em;\n text-decoration: inherit;\n text-transform: inherit;\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n margin: 0;\n transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 0;\n will-change: opacity; }\n.mdc-text-field-helper-text::before {\n display: inline-block;\n width: 0;\n height: 16px;\n content: \"\";\n vertical-align: 0; }\n.mdc-text-field-helper-text--persistent {\n transition: none;\n opacity: 1;\n will-change: initial; }\n.mdc-text-field-character-counter {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.75rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.03333333em;\n text-decoration: inherit;\n text-transform: inherit;\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n /* @noflip */\n margin-left: auto;\n /* @noflip */\n margin-right: 0;\n /* @noflip */\n padding-left: 16px;\n /* @noflip */\n padding-right: 0;\n white-space: nowrap; }\n.mdc-text-field-character-counter::before {\n display: inline-block;\n width: 0;\n height: 16px;\n content: \"\";\n vertical-align: 0; }\n[dir=\"rtl\"] .mdc-text-field-character-counter, .mdc-text-field-character-counter[dir=\"rtl\"] {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: auto; }\n[dir=\"rtl\"] .mdc-text-field-character-counter, .mdc-text-field-character-counter[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 0;\n /* @noflip */\n padding-right: 16px; }\n.mdc-text-field--with-leading-icon .mdc-text-field__icon,\n.mdc-text-field--with-trailing-icon .mdc-text-field__icon {\n position: absolute;\n bottom: 16px;\n cursor: pointer; }\n.mdc-text-field__icon:not([tabindex]),\n.mdc-text-field__icon[tabindex=\"-1\"] {\n cursor: default;\n pointer-events: none; }\n.mdc-text-field {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity;\n border-radius: 4px 4px 0 0;\n display: inline-flex;\n position: relative;\n box-sizing: border-box;\n height: 56px;\n overflow: hidden;\n /* @alternate */\n will-change: opacity, transform, color; }\n.mdc-text-field::before, .mdc-text-field::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-text-field::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-text-field.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-text-field.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-text-field.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-text-field.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-text-field.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-text-field::before, .mdc-text-field::after {\n background-color: rgba(0, 0, 0, 0.87); }\n.mdc-text-field:hover::before {\n opacity: 0.04; }\n.mdc-text-field:not(.mdc-ripple-upgraded):focus::before, .mdc-text-field.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n.mdc-text-field::before, .mdc-text-field::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n.mdc-text-field.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label {\n color: rgba(0, 0, 0, 0.6); }\n.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input {\n color: rgba(0, 0, 0, 0.87); }\n.mdc-text-field .mdc-text-field__input {\n caret-color: #1565c0;\n /* @alternate */\n caret-color: var(--mdc-theme-primary, #1565c0); }\n.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input {\n border-bottom-color: rgba(0, 0, 0, 0.42); }\n.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input:hover {\n border-bottom-color: rgba(0, 0, 0, 0.87); }\n.mdc-text-field .mdc-line-ripple {\n background-color: #1565c0;\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0); }\n.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--textarea) {\n border-bottom-color: rgba(0, 0, 0, 0.12); }\n.mdc-text-field:not(.mdc-text-field--disabled) + .mdc-text-field-helper-line .mdc-text-field-helper-text {\n color: rgba(0, 0, 0, 0.6); }\n.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field-character-counter,\n .mdc-text-field:not(.mdc-text-field--disabled) + .mdc-text-field-helper-line .mdc-text-field-character-counter {\n color: rgba(0, 0, 0, 0.6); }\n.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon {\n color: rgba(0, 0, 0, 0.54); }\n.mdc-text-field:not(.mdc-text-field--disabled) {\n background-color: whitesmoke; }\n.mdc-text-field .mdc-floating-label {\n /* @noflip */\n left: 16px;\n /* @noflip */\n right: initial;\n top: 18px;\n pointer-events: none; }\n[dir=\"rtl\"] .mdc-text-field .mdc-floating-label, .mdc-text-field .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 16px; }\n.mdc-text-field--textarea .mdc-floating-label {\n /* @noflip */\n left: 4px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-text-field--textarea .mdc-floating-label, .mdc-text-field--textarea .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 4px; }\n.mdc-text-field--outlined .mdc-floating-label {\n /* @noflip */\n left: 4px;\n /* @noflip */\n right: initial;\n top: 17px; }\n[dir=\"rtl\"] .mdc-text-field--outlined .mdc-floating-label, .mdc-text-field--outlined .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 4px; }\n.mdc-text-field--outlined--with-leading-icon .mdc-floating-label {\n /* @noflip */\n left: 36px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-text-field--outlined--with-leading-icon .mdc-floating-label, .mdc-text-field--outlined--with-leading-icon .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 36px; }\n.mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above {\n /* @noflip */\n left: 40px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above, .mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 40px; }\n.mdc-text-field__input {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.75rem;\n font-weight: 400;\n letter-spacing: 0.009375em;\n text-decoration: inherit;\n text-transform: inherit;\n align-self: flex-end;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n padding: 20px 16px 6px;\n transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n border: none;\n border-bottom: 1px solid;\n border-radius: 0;\n background: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n.mdc-text-field__input::-webkit-input-placeholder {\n transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 0;\n color: rgba(0, 0, 0, 0.54); }\n.mdc-text-field__input::-moz-placeholder {\n transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 0;\n color: rgba(0, 0, 0, 0.54); }\n.mdc-text-field__input::-ms-input-placeholder {\n transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 0;\n color: rgba(0, 0, 0, 0.54); }\n.mdc-text-field__input::placeholder {\n transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 0;\n color: rgba(0, 0, 0, 0.54); }\n.mdc-text-field--fullwidth .mdc-text-field__input::-webkit-input-placeholder,\n .mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder,\n .mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n opacity: 1; }\n.mdc-text-field--fullwidth .mdc-text-field__input::-moz-placeholder,\n .mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder,\n .mdc-text-field--focused .mdc-text-field__input::-moz-placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n opacity: 1; }\n.mdc-text-field--fullwidth .mdc-text-field__input::-ms-input-placeholder,\n .mdc-text-field--no-label .mdc-text-field__input::-ms-input-placeholder,\n .mdc-text-field--focused .mdc-text-field__input::-ms-input-placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n opacity: 1; }\n.mdc-text-field--fullwidth .mdc-text-field__input::placeholder,\n .mdc-text-field--no-label .mdc-text-field__input::placeholder,\n .mdc-text-field--focused .mdc-text-field__input::placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n opacity: 1; }\n.mdc-text-field__input:focus {\n outline: none; }\n.mdc-text-field__input:invalid {\n box-shadow: none; }\n.mdc-text-field__input:-webkit-autofill {\n z-index: auto !important; }\n.mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input {\n padding: 16px; }\n.mdc-text-field__input:-webkit-autofill + .mdc-floating-label {\n -webkit-transform: translateY(-50%) scale(0.75);\n transform: translateY(-50%) scale(0.75);\n cursor: auto; }\n.mdc-text-field--outlined {\n border: none;\n overflow: visible; }\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,\n .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,\n .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {\n border-color: rgba(0, 0, 0, 0.24); }\n.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,\n .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,\n .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,\n .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,\n .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,\n .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {\n border-color: rgba(0, 0, 0, 0.87); }\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,\n .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,\n .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {\n border-color: #1565c0;\n /* @alternate */\n border-color: var(--mdc-theme-primary, #1565c0); }\n.mdc-text-field--outlined .mdc-floating-label--shake {\n -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1;\n animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1; }\n.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading {\n /* @noflip */\n border-radius: 4px 0 0 4px; }\n[dir=\"rtl\"] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading, .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=\"rtl\"] {\n /* @noflip */\n border-radius: 0 4px 4px 0; }\n.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing {\n /* @noflip */\n border-radius: 0 4px 4px 0; }\n[dir=\"rtl\"] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing, .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=\"rtl\"] {\n /* @noflip */\n border-radius: 4px 0 0 4px; }\n.mdc-text-field--outlined .mdc-floating-label--float-above {\n -webkit-transform: translateY(-144%) scale(1);\n transform: translateY(-144%) scale(1); }\n.mdc-text-field--outlined .mdc-floating-label--float-above {\n font-size: 0.75rem; }\n.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n -webkit-transform: translateY(-130%) scale(0.75);\n transform: translateY(-130%) scale(0.75); }\n.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n font-size: 1rem; }\n.mdc-text-field--outlined::before, .mdc-text-field--outlined::after {\n content: none; }\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) {\n background-color: transparent; }\n.mdc-text-field--outlined .mdc-text-field__input {\n display: flex;\n padding: 12px 16px 14px;\n border: none !important;\n background-color: transparent;\n z-index: 1; }\n.mdc-text-field--outlined .mdc-text-field__icon {\n z-index: 2; }\n.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__leading,\n.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__notch,\n.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__trailing {\n border-width: 2px; }\n.mdc-text-field--outlined.mdc-text-field--disabled {\n background-color: transparent; }\n.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__leading,\n .mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__notch,\n .mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__trailing {\n border-color: rgba(0, 0, 0, 0.06); }\n.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input {\n border-bottom: none; }\n.mdc-text-field--outlined.mdc-text-field--dense {\n height: 48px; }\n.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above {\n -webkit-transform: translateY(-134%) scale(1);\n transform: translateY(-134%) scale(1); }\n.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above {\n font-size: 0.8rem; }\n.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n .mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n -webkit-transform: translateY(-120%) scale(0.8);\n transform: translateY(-120%) scale(0.8); }\n.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n .mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n font-size: 1rem; }\n.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake {\n -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined-dense 250ms 1;\n animation: mdc-floating-label-shake-float-above-text-field-outlined-dense 250ms 1; }\n.mdc-text-field--outlined.mdc-text-field--dense .mdc-text-field__input {\n padding: 12px 12px 7px; }\n.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label {\n top: 14px; }\n.mdc-text-field--outlined.mdc-text-field--dense .mdc-text-field__icon {\n top: 12px; }\n.mdc-text-field--with-leading-icon .mdc-text-field__icon {\n /* @noflip */\n left: 16px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon .mdc-text-field__icon, .mdc-text-field--with-leading-icon .mdc-text-field__icon[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 16px; }\n.mdc-text-field--with-leading-icon .mdc-text-field__input {\n /* @noflip */\n padding-left: 48px;\n /* @noflip */\n padding-right: 16px; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon .mdc-text-field__input, .mdc-text-field--with-leading-icon .mdc-text-field__input[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 16px;\n /* @noflip */\n padding-right: 48px; }\n.mdc-text-field--with-leading-icon .mdc-floating-label {\n /* @noflip */\n left: 48px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon .mdc-floating-label, .mdc-text-field--with-leading-icon .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 48px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon {\n /* @noflip */\n left: 16px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 16px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input {\n /* @noflip */\n padding-left: 48px;\n /* @noflip */\n padding-right: 16px; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input, .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 16px;\n /* @noflip */\n padding-right: 48px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above {\n -webkit-transform: translateY(-144%) translateX(-32px) scale(1);\n transform: translateY(-144%) translateX(-32px) scale(1); }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above, .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above[dir=\"rtl\"] {\n -webkit-transform: translateY(-144%) translateX(32px) scale(1);\n transform: translateY(-144%) translateX(32px) scale(1); }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above {\n font-size: 0.75rem; }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n -webkit-transform: translateY(-130%) translateX(-32px) scale(0.75);\n transform: translateY(-130%) translateX(-32px) scale(0.75); }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=\"rtl\"], [dir=\"rtl\"]\n .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=\"rtl\"] {\n -webkit-transform: translateY(-130%) translateX(32px) scale(0.75);\n transform: translateY(-130%) translateX(32px) scale(0.75); }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n font-size: 1rem; }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake {\n -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1;\n animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake, .mdc-text-field--with-leading-icon.mdc-text-field--outlined[dir=\"rtl\"] .mdc-floating-label--shake {\n -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl 250ms 1;\n animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl 250ms 1; }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label {\n /* @noflip */\n left: 36px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label, .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 36px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above {\n -webkit-transform: translateY(-134%) translateX(-21px) scale(1);\n transform: translateY(-134%) translateX(-21px) scale(1); }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above[dir=\"rtl\"] {\n -webkit-transform: translateY(-134%) translateX(21px) scale(1);\n transform: translateY(-134%) translateX(21px) scale(1); }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above {\n font-size: 0.8rem; }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n -webkit-transform: translateY(-120%) translateX(-21px) scale(0.8);\n transform: translateY(-120%) translateX(-21px) scale(0.8); }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=\"rtl\"], [dir=\"rtl\"]\n .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=\"rtl\"] {\n -webkit-transform: translateY(-120%) translateX(21px) scale(0.8);\n transform: translateY(-120%) translateX(21px) scale(0.8); }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n font-size: 1rem; }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake {\n -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense 250ms 1;\n animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense 250ms 1; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense[dir=\"rtl\"] .mdc-floating-label--shake {\n -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl 250ms 1;\n animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl 250ms 1; }\n.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label {\n /* @noflip */\n left: 32px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 32px; }\n.mdc-text-field--with-trailing-icon .mdc-text-field__icon {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 12px; }\n[dir=\"rtl\"] .mdc-text-field--with-trailing-icon .mdc-text-field__icon, .mdc-text-field--with-trailing-icon .mdc-text-field__icon[dir=\"rtl\"] {\n /* @noflip */\n left: 12px;\n /* @noflip */\n right: initial; }\n.mdc-text-field--with-trailing-icon .mdc-text-field__input {\n /* @noflip */\n padding-left: 16px;\n /* @noflip */\n padding-right: 48px; }\n[dir=\"rtl\"] .mdc-text-field--with-trailing-icon .mdc-text-field__input, .mdc-text-field--with-trailing-icon .mdc-text-field__input[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 48px;\n /* @noflip */\n padding-right: 16px; }\n.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 16px; }\n[dir=\"rtl\"] .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon, .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon[dir=\"rtl\"] {\n /* @noflip */\n left: 16px;\n /* @noflip */\n right: initial; }\n.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input {\n /* @noflip */\n padding-left: 16px;\n /* @noflip */\n padding-right: 48px; }\n[dir=\"rtl\"] .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input, .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 48px;\n /* @noflip */\n padding-right: 16px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon {\n /* @noflip */\n left: 16px;\n /* @noflip */\n right: auto; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon[dir=\"rtl\"] {\n /* @noflip */\n left: auto;\n /* @noflip */\n right: 16px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon ~ .mdc-text-field__icon {\n /* @noflip */\n right: 12px;\n /* @noflip */\n left: auto; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon ~ .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon ~ .mdc-text-field__icon[dir=\"rtl\"] {\n /* @noflip */\n right: auto;\n /* @noflip */\n left: 12px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input {\n /* @noflip */\n padding-left: 48px;\n /* @noflip */\n padding-right: 48px; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 48px;\n /* @noflip */\n padding-right: 48px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon,\n.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon {\n bottom: 16px;\n -webkit-transform: scale(0.8);\n transform: scale(0.8); }\n.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon {\n /* @noflip */\n left: 12px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 12px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input {\n /* @noflip */\n padding-left: 44px;\n /* @noflip */\n padding-right: 16px; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input, .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 16px;\n /* @noflip */\n padding-right: 44px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label {\n /* @noflip */\n left: 44px;\n /* @noflip */\n right: initial; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label, .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 44px; }\n.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 12px; }\n[dir=\"rtl\"] .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon, .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon[dir=\"rtl\"] {\n /* @noflip */\n left: 12px;\n /* @noflip */\n right: initial; }\n.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input {\n /* @noflip */\n padding-left: 16px;\n /* @noflip */\n padding-right: 44px; }\n[dir=\"rtl\"] .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input, .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 44px;\n /* @noflip */\n padding-right: 16px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon {\n /* @noflip */\n left: 12px;\n /* @noflip */\n right: auto; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon[dir=\"rtl\"] {\n /* @noflip */\n left: auto;\n /* @noflip */\n right: 12px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon ~ .mdc-text-field__icon {\n /* @noflip */\n right: 12px;\n /* @noflip */\n left: auto; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon ~ .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon ~ .mdc-text-field__icon[dir=\"rtl\"] {\n /* @noflip */\n right: auto;\n /* @noflip */\n left: 12px; }\n.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input {\n /* @noflip */\n padding-left: 44px;\n /* @noflip */\n padding-right: 44px; }\n[dir=\"rtl\"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 44px;\n /* @noflip */\n padding-right: 44px; }\n.mdc-text-field--dense .mdc-floating-label--float-above {\n -webkit-transform: translateY(-70%) scale(0.8);\n transform: translateY(-70%) scale(0.8); }\n.mdc-text-field--dense .mdc-floating-label--shake {\n -webkit-animation: mdc-floating-label-shake-float-above-text-field-dense 250ms 1;\n animation: mdc-floating-label-shake-float-above-text-field-dense 250ms 1; }\n.mdc-text-field--dense .mdc-text-field__input {\n padding: 12px 12px 0; }\n.mdc-text-field--dense .mdc-floating-label {\n font-size: .813rem; }\n.mdc-text-field--dense .mdc-floating-label--float-above {\n font-size: .813rem; }\n.mdc-text-field__input:required ~ .mdc-floating-label::after,\n.mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label::after {\n margin-left: 1px;\n content: \"*\"; }\n.mdc-text-field--textarea {\n display: inline-flex;\n width: auto;\n height: auto;\n transition: none;\n overflow: visible; }\n.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,\n .mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,\n .mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {\n border-color: rgba(0, 0, 0, 0.24); }\n.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,\n .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,\n .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,\n .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,\n .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,\n .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {\n border-color: rgba(0, 0, 0, 0.87); }\n.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,\n .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,\n .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {\n border-color: #1565c0;\n /* @alternate */\n border-color: var(--mdc-theme-primary, #1565c0); }\n.mdc-text-field--textarea .mdc-floating-label--shake {\n -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1;\n animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1; }\n.mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading {\n /* @noflip */\n border-radius: 4px 0 0 4px; }\n[dir=\"rtl\"] .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading, .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading[dir=\"rtl\"] {\n /* @noflip */\n border-radius: 0 4px 4px 0; }\n.mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing {\n /* @noflip */\n border-radius: 0 4px 4px 0; }\n[dir=\"rtl\"] .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing, .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing[dir=\"rtl\"] {\n /* @noflip */\n border-radius: 4px 0 0 4px; }\n.mdc-text-field--textarea::before, .mdc-text-field--textarea::after {\n content: none; }\n.mdc-text-field--textarea:not(.mdc-text-field--disabled) {\n background-color: transparent; }\n.mdc-text-field--textarea .mdc-floating-label--float-above {\n -webkit-transform: translateY(-144%) scale(1);\n transform: translateY(-144%) scale(1); }\n.mdc-text-field--textarea .mdc-floating-label--float-above {\n font-size: 0.75rem; }\n.mdc-text-field--textarea.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n -webkit-transform: translateY(-130%) scale(0.75);\n transform: translateY(-130%) scale(0.75); }\n.mdc-text-field--textarea.mdc-notched-outline--upgraded .mdc-floating-label--float-above,\n .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n font-size: 1rem; }\n.mdc-text-field--textarea .mdc-text-field-character-counter {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 16px;\n position: absolute;\n bottom: 13px; }\n[dir=\"rtl\"] .mdc-text-field--textarea .mdc-text-field-character-counter, .mdc-text-field--textarea .mdc-text-field-character-counter[dir=\"rtl\"] {\n /* @noflip */\n left: 16px;\n /* @noflip */\n right: initial; }\n.mdc-text-field--textarea .mdc-text-field__input {\n align-self: auto;\n box-sizing: border-box;\n height: auto;\n margin: 8px 1px 1px 0;\n padding: 0 16px 16px;\n border: none; }\n.mdc-text-field--textarea .mdc-text-field-character-counter + .mdc-text-field__input {\n margin-bottom: 28px;\n padding-bottom: 0; }\n.mdc-text-field--textarea .mdc-floating-label {\n top: 17px;\n bottom: auto;\n width: auto;\n pointer-events: none; }\n.mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__leading,\n .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__notch,\n .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__trailing {\n border-width: 2px; }\n.mdc-text-field--fullwidth {\n width: 100%; }\n.mdc-text-field--fullwidth:not(.mdc-text-field--textarea) {\n display: block; }\n.mdc-text-field--fullwidth:not(.mdc-text-field--textarea)::before, .mdc-text-field--fullwidth:not(.mdc-text-field--textarea)::after {\n content: none; }\n.mdc-text-field--fullwidth:not(.mdc-text-field--textarea):not(.mdc-text-field--disabled) {\n background-color: transparent; }\n.mdc-text-field--fullwidth:not(.mdc-text-field--textarea) .mdc-text-field__input {\n padding: 0; }\n.mdc-text-field--fullwidth.mdc-text-field--textarea .mdc-text-field__input {\n resize: vertical; }\n.mdc-text-field--fullwidth.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--textarea) {\n border-bottom-color: #b00020;\n /* @alternate */\n border-bottom-color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field-helper-line {\n display: flex;\n justify-content: space-between;\n box-sizing: border-box; }\n.mdc-text-field--dense + .mdc-text-field-helper-line {\n margin-bottom: 4px; }\n.mdc-text-field + .mdc-text-field-helper-line {\n padding-right: 16px;\n padding-left: 16px; }\n.mdc-form-field > .mdc-text-field + label {\n align-self: flex-start; }\n.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label {\n color: rgba(21, 101, 192, 0.87); }\n.mdc-text-field--focused .mdc-text-field__input:required ~ .mdc-floating-label::after,\n.mdc-text-field--focused .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label::after {\n color: #b00020;\n /* @alternate */\n color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--focused + .mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg) {\n opacity: 1; }\n.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,\n.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,\n.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {\n border-color: #1565c0;\n /* @alternate */\n border-color: var(--mdc-theme-primary, #1565c0); }\n.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input {\n border-bottom-color: #b00020;\n /* @alternate */\n border-bottom-color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input:hover {\n border-bottom-color: #b00020;\n /* @alternate */\n border-bottom-color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple {\n background-color: #b00020;\n /* @alternate */\n background-color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label {\n color: #b00020;\n /* @alternate */\n color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--invalid + .mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg {\n color: #b00020;\n /* @alternate */\n color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--invalid .mdc-text-field__input {\n caret-color: #b00020;\n /* @alternate */\n caret-color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--invalid.mdc-text-field--with-trailing-icon:not(.mdc-text-field--with-leading-icon):not(.mdc-text-field--disabled) .mdc-text-field__icon {\n color: #b00020;\n /* @alternate */\n color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--invalid.mdc-text-field--with-trailing-icon.mdc-text-field--with-leading-icon:not(.mdc-text-field--disabled) .mdc-text-field__icon ~ .mdc-text-field__icon {\n color: #b00020;\n /* @alternate */\n color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--invalid + .mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg {\n opacity: 1; }\n.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,\n.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,\n.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {\n border-color: #b00020;\n /* @alternate */\n border-color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,\n.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,\n.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,\n.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,\n.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,\n.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {\n border-color: #b00020;\n /* @alternate */\n border-color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,\n.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,\n.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {\n border-color: #b00020;\n /* @alternate */\n border-color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {\n border-color: #b00020;\n /* @alternate */\n border-color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {\n border-color: #b00020;\n /* @alternate */\n border-color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {\n border-color: #b00020;\n /* @alternate */\n border-color: var(--mdc-theme-error, #b00020); }\n.mdc-text-field--disabled {\n background-color: #fafafa;\n border-bottom: none;\n pointer-events: none; }\n.mdc-text-field--disabled .mdc-text-field__input {\n border-bottom-color: rgba(0, 0, 0, 0.06); }\n.mdc-text-field--disabled .mdc-text-field__input {\n color: rgba(0, 0, 0, 0.37); }\n.mdc-text-field--disabled .mdc-floating-label {\n color: rgba(0, 0, 0, 0.37); }\n.mdc-text-field--disabled + .mdc-text-field-helper-line .mdc-text-field-helper-text {\n color: rgba(0, 0, 0, 0.37); }\n.mdc-text-field--disabled .mdc-text-field-character-counter,\n .mdc-text-field--disabled + .mdc-text-field-helper-line .mdc-text-field-character-counter {\n color: rgba(0, 0, 0, 0.37); }\n.mdc-text-field--disabled .mdc-text-field__icon {\n color: rgba(0, 0, 0, 0.3); }\n.mdc-text-field--disabled:not(.mdc-text-field--textarea) {\n border-bottom-color: rgba(0, 0, 0, 0.12); }\n.mdc-text-field--disabled .mdc-floating-label {\n cursor: default; }\n.mdc-text-field--textarea.mdc-text-field--disabled {\n background-color: transparent;\n /* @alternate */\n background-color: #f9f9f9; }\n.mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__leading,\n .mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__notch,\n .mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__trailing {\n border-color: rgba(0, 0, 0, 0.06); }\n.mdc-text-field--textarea.mdc-text-field--disabled .mdc-text-field__input {\n border-bottom: none; }\n@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-dense {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8);\n transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0%)) translateY(-70%) scale(0.8);\n transform: translateX(calc(4% - 0%)) translateY(-70%) scale(0.8); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0%)) translateY(-70%) scale(0.8);\n transform: translateX(calc(-4% - 0%)) translateY(-70%) scale(0.8); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8);\n transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8); }\n /* clean-css ignore:end */ }\n@keyframes mdc-floating-label-shake-float-above-text-field-dense {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8);\n transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0%)) translateY(-70%) scale(0.8);\n transform: translateX(calc(4% - 0%)) translateY(-70%) scale(0.8); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0%)) translateY(-70%) scale(0.8);\n transform: translateX(calc(-4% - 0%)) translateY(-70%) scale(0.8); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8);\n transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8); }\n /* clean-css ignore:end */ }\n@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-outlined {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); }\n /* clean-css ignore:end */ }\n@keyframes mdc-floating-label-shake-float-above-text-field-outlined {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); }\n /* clean-css ignore:end */ }\n@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-outlined-dense {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8);\n transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0%)) translateY(-120%) scale(0.8);\n transform: translateX(calc(4% - 0%)) translateY(-120%) scale(0.8); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0%)) translateY(-120%) scale(0.8);\n transform: translateX(calc(-4% - 0%)) translateY(-120%) scale(0.8); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8);\n transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8); }\n /* clean-css ignore:end */ }\n@keyframes mdc-floating-label-shake-float-above-text-field-outlined-dense {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8);\n transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0%)) translateY(-120%) scale(0.8);\n transform: translateX(calc(4% - 0%)) translateY(-120%) scale(0.8); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0%)) translateY(-120%) scale(0.8);\n transform: translateX(calc(-4% - 0%)) translateY(-120%) scale(0.8); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8);\n transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8); }\n /* clean-css ignore:end */ }\n@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); }\n /* clean-css ignore:end */ }\n@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); }\n /* clean-css ignore:end */ }\n@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(4% - 21px)) translateY(-120%) scale(0.8); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(-4% - 21px)) translateY(-120%) scale(0.8); }\n 100% {\n -webkit-transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8); }\n /* clean-css ignore:end */ }\n@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(4% - 21px)) translateY(-120%) scale(0.8); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(-4% - 21px)) translateY(-120%) scale(0.8); }\n 100% {\n -webkit-transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8); }\n /* clean-css ignore:end */ }\n@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); }\n /* clean-css ignore:end */ }\n@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); }\n /* clean-css ignore:end */ }\n@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - -21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(4% - -21px)) translateY(-120%) scale(0.8); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - -21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(-4% - -21px)) translateY(-120%) scale(0.8); }\n 100% {\n -webkit-transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8); }\n /* clean-css ignore:end */ }\n@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - -21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(4% - -21px)) translateY(-120%) scale(0.8); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - -21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(-4% - -21px)) translateY(-120%) scale(0.8); }\n 100% {\n -webkit-transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8);\n transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8); }\n /* clean-css ignore:end */ }\n@-webkit-keyframes mdc-floating-label-shake-float-above-textarea {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); }\n /* clean-css ignore:end */ }\n@keyframes mdc-floating-label-shake-float-above-textarea {\n /* clean-css ignore:start */\n 0% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); }\n 33% {\n -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n -webkit-transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75); }\n 66% {\n -webkit-animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n -webkit-transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75); }\n 100% {\n -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);\n transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); }\n /* clean-css ignore:end */ }\n:root {\n --mdc-theme-primary: #1565c0;\n --mdc-theme-secondary: #388e3c;\n --mdc-theme-background: #fff;\n --mdc-theme-surface: #fff;\n --mdc-theme-error: #b00020;\n --mdc-theme-on-primary: #fff;\n --mdc-theme-on-secondary: #fff;\n --mdc-theme-on-surface: #000;\n --mdc-theme-on-error: #fff;\n --mdc-theme-text-primary-on-background: rgba(0, 0, 0, 0.87);\n --mdc-theme-text-secondary-on-background: rgba(0, 0, 0, 0.54);\n --mdc-theme-text-hint-on-background: rgba(0, 0, 0, 0.38);\n --mdc-theme-text-disabled-on-background: rgba(0, 0, 0, 0.38);\n --mdc-theme-text-icon-on-background: rgba(0, 0, 0, 0.38);\n --mdc-theme-text-primary-on-light: rgba(0, 0, 0, 0.87);\n --mdc-theme-text-secondary-on-light: rgba(0, 0, 0, 0.54);\n --mdc-theme-text-hint-on-light: rgba(0, 0, 0, 0.38);\n --mdc-theme-text-disabled-on-light: rgba(0, 0, 0, 0.38);\n --mdc-theme-text-icon-on-light: rgba(0, 0, 0, 0.38);\n --mdc-theme-text-primary-on-dark: white;\n --mdc-theme-text-secondary-on-dark: rgba(255, 255, 255, 0.7);\n --mdc-theme-text-hint-on-dark: rgba(255, 255, 255, 0.5);\n --mdc-theme-text-disabled-on-dark: rgba(255, 255, 255, 0.5);\n --mdc-theme-text-icon-on-dark: rgba(255, 255, 255, 0.5); }\n.mdc-theme--primary {\n color: #1565c0 !important;\n /* @alternate */\n color: var(--mdc-theme-primary, #1565c0) !important; }\n.mdc-theme--secondary {\n color: #388e3c !important;\n /* @alternate */\n color: var(--mdc-theme-secondary, #388e3c) !important; }\n.mdc-theme--background {\n background-color: #fff;\n /* @alternate */\n background-color: var(--mdc-theme-background, #fff); }\n.mdc-theme--surface {\n background-color: #fff;\n /* @alternate */\n background-color: var(--mdc-theme-surface, #fff); }\n.mdc-theme--error {\n color: #b00020 !important;\n /* @alternate */\n color: var(--mdc-theme-error, #b00020) !important; }\n.mdc-theme--on-primary {\n color: #fff !important;\n /* @alternate */\n color: var(--mdc-theme-on-primary, #fff) !important; }\n.mdc-theme--on-secondary {\n color: #fff !important;\n /* @alternate */\n color: var(--mdc-theme-on-secondary, #fff) !important; }\n.mdc-theme--on-surface {\n color: #000 !important;\n /* @alternate */\n color: var(--mdc-theme-on-surface, #000) !important; }\n.mdc-theme--on-error {\n color: #fff !important;\n /* @alternate */\n color: var(--mdc-theme-on-error, #fff) !important; }\n.mdc-theme--text-primary-on-background {\n color: rgba(0, 0, 0, 0.87) !important;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)) !important; }\n.mdc-theme--text-secondary-on-background {\n color: rgba(0, 0, 0, 0.54) !important;\n /* @alternate */\n color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54)) !important; }\n.mdc-theme--text-hint-on-background {\n color: rgba(0, 0, 0, 0.38) !important;\n /* @alternate */\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38)) !important; }\n.mdc-theme--text-disabled-on-background {\n color: rgba(0, 0, 0, 0.38) !important;\n /* @alternate */\n color: var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38)) !important; }\n.mdc-theme--text-icon-on-background {\n color: rgba(0, 0, 0, 0.38) !important;\n /* @alternate */\n color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38)) !important; }\n.mdc-theme--text-primary-on-light {\n color: rgba(0, 0, 0, 0.87) !important;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)) !important; }\n.mdc-theme--text-secondary-on-light {\n color: rgba(0, 0, 0, 0.54) !important;\n /* @alternate */\n color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)) !important; }\n.mdc-theme--text-hint-on-light {\n color: rgba(0, 0, 0, 0.38) !important;\n /* @alternate */\n color: var(--mdc-theme-text-hint-on-light, rgba(0, 0, 0, 0.38)) !important; }\n.mdc-theme--text-disabled-on-light {\n color: rgba(0, 0, 0, 0.38) !important;\n /* @alternate */\n color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38)) !important; }\n.mdc-theme--text-icon-on-light {\n color: rgba(0, 0, 0, 0.38) !important;\n /* @alternate */\n color: var(--mdc-theme-text-icon-on-light, rgba(0, 0, 0, 0.38)) !important; }\n.mdc-theme--text-primary-on-dark {\n color: white !important;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-dark, white) !important; }\n.mdc-theme--text-secondary-on-dark {\n color: rgba(255, 255, 255, 0.7) !important;\n /* @alternate */\n color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)) !important; }\n.mdc-theme--text-hint-on-dark {\n color: rgba(255, 255, 255, 0.5) !important;\n /* @alternate */\n color: var(--mdc-theme-text-hint-on-dark, rgba(255, 255, 255, 0.5)) !important; }\n.mdc-theme--text-disabled-on-dark {\n color: rgba(255, 255, 255, 0.5) !important;\n /* @alternate */\n color: var(--mdc-theme-text-disabled-on-dark, rgba(255, 255, 255, 0.5)) !important; }\n.mdc-theme--text-icon-on-dark {\n color: rgba(255, 255, 255, 0.5) !important;\n /* @alternate */\n color: var(--mdc-theme-text-icon-on-dark, rgba(255, 255, 255, 0.5)) !important; }\n.mdc-theme--primary-bg {\n background-color: #1565c0 !important;\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0) !important; }\n.mdc-theme--secondary-bg {\n background-color: #388e3c !important;\n /* @alternate */\n background-color: var(--mdc-theme-secondary, #388e3c) !important; }\n.mdc-top-app-bar {\n background-color: #1565c0;\n /* @alternate */\n background-color: var(--mdc-theme-primary, #1565c0);\n color: white;\n display: flex;\n position: fixed;\n flex-direction: column;\n justify-content: space-between;\n box-sizing: border-box;\n width: 100%;\n z-index: 4; }\n.mdc-top-app-bar .mdc-top-app-bar__action-item,\n .mdc-top-app-bar .mdc-top-app-bar__navigation-icon {\n color: #fff;\n /* @alternate */\n color: var(--mdc-theme-on-primary, #fff); }\n.mdc-top-app-bar .mdc-top-app-bar__action-item::before, .mdc-top-app-bar .mdc-top-app-bar__action-item::after,\n .mdc-top-app-bar .mdc-top-app-bar__navigation-icon::before,\n .mdc-top-app-bar .mdc-top-app-bar__navigation-icon::after {\n background-color: #fff; }\n@supports not (-ms-ime-align: auto) {\n .mdc-top-app-bar .mdc-top-app-bar__action-item::before, .mdc-top-app-bar .mdc-top-app-bar__action-item::after,\n .mdc-top-app-bar .mdc-top-app-bar__navigation-icon::before,\n .mdc-top-app-bar .mdc-top-app-bar__navigation-icon::after {\n /* @alternate */\n background-color: var(--mdc-theme-on-primary, #fff); } }\n.mdc-top-app-bar .mdc-top-app-bar__action-item:hover::before,\n .mdc-top-app-bar .mdc-top-app-bar__navigation-icon:hover::before {\n opacity: 0.08; }\n.mdc-top-app-bar .mdc-top-app-bar__action-item:not(.mdc-ripple-upgraded):focus::before, .mdc-top-app-bar .mdc-top-app-bar__action-item.mdc-ripple-upgraded--background-focused::before,\n .mdc-top-app-bar .mdc-top-app-bar__navigation-icon:not(.mdc-ripple-upgraded):focus::before,\n .mdc-top-app-bar .mdc-top-app-bar__navigation-icon.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n.mdc-top-app-bar .mdc-top-app-bar__action-item:not(.mdc-ripple-upgraded)::after,\n .mdc-top-app-bar .mdc-top-app-bar__navigation-icon:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.mdc-top-app-bar .mdc-top-app-bar__action-item:not(.mdc-ripple-upgraded):active::after,\n .mdc-top-app-bar .mdc-top-app-bar__navigation-icon:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n.mdc-top-app-bar .mdc-top-app-bar__action-item.mdc-ripple-upgraded,\n .mdc-top-app-bar .mdc-top-app-bar__navigation-icon.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n.mdc-top-app-bar__row {\n display: flex;\n position: relative;\n box-sizing: border-box;\n width: 100%;\n height: 64px; }\n.mdc-top-app-bar__section {\n display: inline-flex;\n flex: 1 1 auto;\n align-items: center;\n min-width: 0;\n padding: 8px 12px;\n z-index: 1; }\n.mdc-top-app-bar__section--align-start {\n justify-content: flex-start;\n order: -1; }\n.mdc-top-app-bar__section--align-end {\n justify-content: flex-end;\n order: 1; }\n.mdc-top-app-bar__title {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1.25rem;\n line-height: 2rem;\n font-weight: 500;\n letter-spacing: 0.0125em;\n text-decoration: inherit;\n text-transform: inherit;\n /* @noflip */\n padding-left: 20px;\n /* @noflip */\n padding-right: 0;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n z-index: 1; }\n[dir=\"rtl\"] .mdc-top-app-bar__title, .mdc-top-app-bar__title[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 0;\n /* @noflip */\n padding-right: 20px; }\n.mdc-top-app-bar__action-item, .mdc-top-app-bar__navigation-icon {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n will-change: transform, opacity;\n display: flex;\n position: relative;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 48px;\n height: 48px;\n padding: 12px;\n border: none;\n outline: none;\n background-color: transparent;\n fill: currentColor;\n color: inherit;\n text-decoration: none;\n cursor: pointer; }\n.mdc-top-app-bar__action-item::before, .mdc-top-app-bar__action-item::after, .mdc-top-app-bar__navigation-icon::before, .mdc-top-app-bar__navigation-icon::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n.mdc-top-app-bar__action-item::before, .mdc-top-app-bar__navigation-icon::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n.mdc-top-app-bar__action-item.mdc-ripple-upgraded::before, .mdc-top-app-bar__navigation-icon.mdc-ripple-upgraded::before {\n -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-top-app-bar__action-item.mdc-ripple-upgraded::after, .mdc-top-app-bar__navigation-icon.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n -webkit-transform: scale(0);\n transform: scale(0);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n.mdc-top-app-bar__action-item.mdc-ripple-upgraded--unbounded::after, .mdc-top-app-bar__navigation-icon.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n.mdc-top-app-bar__action-item.mdc-ripple-upgraded--foreground-activation::after, .mdc-top-app-bar__navigation-icon.mdc-ripple-upgraded--foreground-activation::after {\n -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n.mdc-top-app-bar__action-item.mdc-ripple-upgraded--foreground-deactivation::after, .mdc-top-app-bar__navigation-icon.mdc-ripple-upgraded--foreground-deactivation::after {\n -webkit-animation: mdc-ripple-fg-opacity-out 150ms;\n animation: mdc-ripple-fg-opacity-out 150ms;\n -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n.mdc-top-app-bar__action-item::before, .mdc-top-app-bar__action-item::after, .mdc-top-app-bar__navigation-icon::before, .mdc-top-app-bar__navigation-icon::after {\n top: calc(50% - 50%);\n /* @noflip */\n left: calc(50% - 50%);\n width: 100%;\n height: 100%; }\n.mdc-top-app-bar__action-item.mdc-ripple-upgraded::before, .mdc-top-app-bar__action-item.mdc-ripple-upgraded::after, .mdc-top-app-bar__navigation-icon.mdc-ripple-upgraded::before, .mdc-top-app-bar__navigation-icon.mdc-ripple-upgraded::after {\n top: var(--mdc-ripple-top, calc(50% - 50%));\n /* @noflip */\n left: var(--mdc-ripple-left, calc(50% - 50%));\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-top-app-bar__action-item.mdc-ripple-upgraded::after, .mdc-top-app-bar__navigation-icon.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n.mdc-top-app-bar--short-collapsed {\n /* @noflip */\n border-radius: 0 0 24px 0; }\n[dir=\"rtl\"] .mdc-top-app-bar--short-collapsed, .mdc-top-app-bar--short-collapsed[dir=\"rtl\"] {\n /* @noflip */\n border-radius: 0 0 0 24px; }\n.mdc-top-app-bar--short {\n top: 0;\n /* @noflip */\n right: auto;\n /* @noflip */\n left: 0;\n width: 100%;\n transition: width 250ms cubic-bezier(0.4, 0, 0.2, 1); }\n[dir=\"rtl\"] .mdc-top-app-bar--short, .mdc-top-app-bar--short[dir=\"rtl\"] {\n /* @noflip */\n right: 0;\n /* @noflip */\n left: auto; }\n.mdc-top-app-bar--short .mdc-top-app-bar__row {\n height: 56px; }\n.mdc-top-app-bar--short .mdc-top-app-bar__section {\n padding: 4px; }\n.mdc-top-app-bar--short .mdc-top-app-bar__title {\n transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 1; }\n.mdc-top-app-bar--short-collapsed {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n width: 56px;\n transition: width 300ms cubic-bezier(0.4, 0, 0.2, 1); }\n.mdc-top-app-bar--short-collapsed .mdc-top-app-bar__title {\n display: none; }\n.mdc-top-app-bar--short-collapsed .mdc-top-app-bar__action-item {\n transition: padding 150ms cubic-bezier(0.4, 0, 0.2, 1); }\n.mdc-top-app-bar--short-collapsed.mdc-top-app-bar--short-has-action-item {\n width: 112px; }\n.mdc-top-app-bar--short-collapsed.mdc-top-app-bar--short-has-action-item .mdc-top-app-bar__section--align-end {\n /* @noflip */\n padding-left: 0;\n /* @noflip */\n padding-right: 12px; }\n[dir=\"rtl\"] .mdc-top-app-bar--short-collapsed.mdc-top-app-bar--short-has-action-item .mdc-top-app-bar__section--align-end, .mdc-top-app-bar--short-collapsed.mdc-top-app-bar--short-has-action-item .mdc-top-app-bar__section--align-end[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 12px;\n /* @noflip */\n padding-right: 0; }\n.mdc-top-app-bar--dense .mdc-top-app-bar__row {\n height: 48px; }\n.mdc-top-app-bar--dense .mdc-top-app-bar__section {\n padding: 0 4px; }\n.mdc-top-app-bar--dense .mdc-top-app-bar__title {\n /* @noflip */\n padding-left: 12px;\n /* @noflip */\n padding-right: 0; }\n[dir=\"rtl\"] .mdc-top-app-bar--dense .mdc-top-app-bar__title, .mdc-top-app-bar--dense .mdc-top-app-bar__title[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 0;\n /* @noflip */\n padding-right: 12px; }\n.mdc-top-app-bar--prominent .mdc-top-app-bar__row {\n height: 128px; }\n.mdc-top-app-bar--prominent .mdc-top-app-bar__title {\n align-self: flex-end;\n padding-bottom: 2px; }\n.mdc-top-app-bar--prominent .mdc-top-app-bar__action-item,\n.mdc-top-app-bar--prominent .mdc-top-app-bar__navigation-icon {\n align-self: flex-start; }\n.mdc-top-app-bar--fixed {\n transition: box-shadow 200ms linear; }\n.mdc-top-app-bar--fixed-scrolled {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n transition: box-shadow 200ms linear; }\n.mdc-top-app-bar--dense.mdc-top-app-bar--prominent .mdc-top-app-bar__row {\n height: 96px; }\n.mdc-top-app-bar--dense.mdc-top-app-bar--prominent .mdc-top-app-bar__section {\n padding: 0 12px; }\n.mdc-top-app-bar--dense.mdc-top-app-bar--prominent .mdc-top-app-bar__title {\n /* @noflip */\n padding-left: 20px;\n /* @noflip */\n padding-right: 0;\n padding-bottom: 9px; }\n[dir=\"rtl\"] .mdc-top-app-bar--dense.mdc-top-app-bar--prominent .mdc-top-app-bar__title, .mdc-top-app-bar--dense.mdc-top-app-bar--prominent .mdc-top-app-bar__title[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 0;\n /* @noflip */\n padding-right: 20px; }\n.mdc-top-app-bar--fixed-adjust {\n padding-top: 64px; }\n.mdc-top-app-bar--dense-fixed-adjust {\n padding-top: 48px; }\n.mdc-top-app-bar--short-fixed-adjust {\n padding-top: 56px; }\n.mdc-top-app-bar--prominent-fixed-adjust {\n padding-top: 128px; }\n.mdc-top-app-bar--dense-prominent-fixed-adjust {\n padding-top: 96px; }\n@media (max-width: 599px) {\n .mdc-top-app-bar__row {\n height: 56px; }\n .mdc-top-app-bar__section {\n padding: 4px; }\n .mdc-top-app-bar--short {\n transition: width 200ms cubic-bezier(0.4, 0, 0.2, 1); }\n .mdc-top-app-bar--short-collapsed {\n transition: width 250ms cubic-bezier(0.4, 0, 0.2, 1); }\n .mdc-top-app-bar--short-collapsed .mdc-top-app-bar__section--align-end {\n /* @noflip */\n padding-left: 0;\n /* @noflip */\n padding-right: 12px; }\n [dir=\"rtl\"] .mdc-top-app-bar--short-collapsed .mdc-top-app-bar__section--align-end, .mdc-top-app-bar--short-collapsed .mdc-top-app-bar__section--align-end[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 12px;\n /* @noflip */\n padding-right: 0; }\n .mdc-top-app-bar--prominent .mdc-top-app-bar__title {\n padding-bottom: 6px; }\n .mdc-top-app-bar--fixed-adjust {\n padding-top: 56px; } }\n.mdc-typography {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased; }\n.mdc-typography--headline1 {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 6rem;\n line-height: 6rem;\n font-weight: 300;\n letter-spacing: -0.015625em;\n text-decoration: inherit;\n text-transform: inherit; }\n.mdc-typography--headline2 {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 3.75rem;\n line-height: 3.75rem;\n font-weight: 300;\n letter-spacing: -0.00833333em;\n text-decoration: inherit;\n text-transform: inherit; }\n.mdc-typography--headline3 {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 3rem;\n line-height: 3.125rem;\n font-weight: 400;\n letter-spacing: normal;\n text-decoration: inherit;\n text-transform: inherit; }\n.mdc-typography--headline4 {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 2.125rem;\n line-height: 2.5rem;\n font-weight: 400;\n letter-spacing: 0.00735294em;\n text-decoration: inherit;\n text-transform: inherit; }\n.mdc-typography--headline5 {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1.5rem;\n line-height: 2rem;\n font-weight: 400;\n letter-spacing: normal;\n text-decoration: inherit;\n text-transform: inherit; }\n.mdc-typography--headline6 {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1.25rem;\n line-height: 2rem;\n font-weight: 500;\n letter-spacing: 0.0125em;\n text-decoration: inherit;\n text-transform: inherit; }\n.mdc-typography--subtitle1 {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.75rem;\n font-weight: 400;\n letter-spacing: 0.009375em;\n text-decoration: inherit;\n text-transform: inherit; }\n.mdc-typography--subtitle2 {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 1.375rem;\n font-weight: 500;\n letter-spacing: 0.00714286em;\n text-decoration: inherit;\n text-transform: inherit; }\n.mdc-typography--body1 {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 400;\n letter-spacing: 0.03125em;\n text-decoration: inherit;\n text-transform: inherit; }\n.mdc-typography--body2 {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.01785714em;\n text-decoration: inherit;\n text-transform: inherit; }\n.mdc-typography--caption {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.75rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.03333333em;\n text-decoration: inherit;\n text-transform: inherit; }\n.mdc-typography--button {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 2.25rem;\n font-weight: 500;\n letter-spacing: 0.08928571em;\n text-decoration: none;\n text-transform: uppercase; }\n.mdc-typography--overline {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.75rem;\n line-height: 2rem;\n font-weight: 500;\n letter-spacing: 0.16666667em;\n text-decoration: none;\n text-transform: uppercase; }\n.ngx-mdc-form-field--fluid {\n display: flex;\n flex: auto;\n flex-direction: column; }\n.ngx-mdc-button--primary:not(:disabled) {\n background-color: #1565c0; }\n.ngx-mdc-button--primary:not(:disabled) {\n color: white;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-dark, white); }\n.ngx-mdc-button--primary::before, .ngx-mdc-button--primary::after {\n background-color: white; }\n@supports not (-ms-ime-align: auto) {\n .ngx-mdc-button--primary::before, .ngx-mdc-button--primary::after {\n /* @alternate */\n background-color: var(--mdc-theme-text-primary-on-dark, white); } }\n.ngx-mdc-button--primary:hover::before {\n opacity: 0.08; }\n.ngx-mdc-button--primary:not(.mdc-ripple-upgraded):focus::before, .ngx-mdc-button--primary.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n.ngx-mdc-button--primary:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.ngx-mdc-button--primary:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n.ngx-mdc-button--primary.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n.ngx-mdc-button--secondary:not(:disabled) {\n background-color: #388e3c; }\n.ngx-mdc-button--secondary:not(:disabled) {\n color: white;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-dark, white); }\n.ngx-mdc-button--secondary::before, .ngx-mdc-button--secondary::after {\n background-color: white; }\n@supports not (-ms-ime-align: auto) {\n .ngx-mdc-button--secondary::before, .ngx-mdc-button--secondary::after {\n /* @alternate */\n background-color: var(--mdc-theme-text-primary-on-dark, white); } }\n.ngx-mdc-button--secondary:hover::before {\n opacity: 0.08; }\n.ngx-mdc-button--secondary:not(.mdc-ripple-upgraded):focus::before, .ngx-mdc-button--secondary.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n.ngx-mdc-button--secondary:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.ngx-mdc-button--secondary:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n.ngx-mdc-button--secondary.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n.ngx-mdc-chip--primary {\n background-color: #1565c0;\n color: white;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-dark, white); }\n.ngx-mdc-chip--primary::before, .ngx-mdc-chip--primary::after {\n background-color: white; }\n@supports not (-ms-ime-align: auto) {\n .ngx-mdc-chip--primary::before, .ngx-mdc-chip--primary::after {\n /* @alternate */\n background-color: var(--mdc-theme-text-primary-on-dark, white); } }\n.ngx-mdc-chip--primary:hover::before {\n opacity: 0.08; }\n.ngx-mdc-chip--primary:not(.mdc-ripple-upgraded):focus::before, .ngx-mdc-chip--primary.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n.ngx-mdc-chip--primary:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.ngx-mdc-chip--primary:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n.ngx-mdc-chip--primary.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n.ngx-mdc-chip--primary:hover {\n color: white;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-dark, white); }\n.ngx-mdc-chip--primary.mdc-chip--selected::before {\n opacity: 0.16; }\n.ngx-mdc-chip--primary.mdc-chip--selected::before, .ngx-mdc-chip--primary.mdc-chip--selected::after {\n background-color: white; }\n@supports not (-ms-ime-align: auto) {\n .ngx-mdc-chip--primary.mdc-chip--selected::before, .ngx-mdc-chip--primary.mdc-chip--selected::after {\n /* @alternate */\n background-color: var(--mdc-theme-text-primary-on-dark, white); } }\n.ngx-mdc-chip--primary.mdc-chip--selected:hover::before {\n opacity: 0.24; }\n.ngx-mdc-chip--primary.mdc-chip--selected:not(.mdc-ripple-upgraded):focus::before, .ngx-mdc-chip--primary.mdc-chip--selected.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.4; }\n.ngx-mdc-chip--primary.mdc-chip--selected:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.ngx-mdc-chip--primary.mdc-chip--selected:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.4; }\n.ngx-mdc-chip--primary.mdc-chip--selected.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.4; }\n.ngx-mdc-chip--primary.mdc-chip--selected {\n color: white;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-dark, white); }\n.ngx-mdc-chip--primary.mdc-chip--selected .mdc-chip__icon--leading {\n color: rgba(255, 255, 255, 0.54); }\n.ngx-mdc-chip--primary.mdc-chip--selected:hover {\n color: white;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-dark, white); }\n.ngx-mdc-chip--primary .mdc-chip__checkmark-path {\n stroke: white;\n /* @alternate */\n stroke: var(--mdc-theme-text-primary-on-dark, white); }\n.ngx-mdc-chip--primary .mdc-chip__icon--leading {\n color: rgba(255, 255, 255, 0.54); }\n.ngx-mdc-chip--primary .mdc-chip__icon--trailing {\n color: rgba(255, 255, 255, 0.54); }\n.ngx-mdc-chip--primary .mdc-chip__icon--trailing:hover {\n color: rgba(255, 255, 255, 0.62); }\n.ngx-mdc-chip--primary .mdc-chip__icon--trailing:focus {\n color: rgba(255, 255, 255, 0.87); }\n.ngx-mdc-chip--secondary {\n background-color: #388e3c;\n color: white;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-dark, white); }\n.ngx-mdc-chip--secondary::before, .ngx-mdc-chip--secondary::after {\n background-color: white; }\n@supports not (-ms-ime-align: auto) {\n .ngx-mdc-chip--secondary::before, .ngx-mdc-chip--secondary::after {\n /* @alternate */\n background-color: var(--mdc-theme-text-primary-on-dark, white); } }\n.ngx-mdc-chip--secondary:hover::before {\n opacity: 0.08; }\n.ngx-mdc-chip--secondary:not(.mdc-ripple-upgraded):focus::before, .ngx-mdc-chip--secondary.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n.ngx-mdc-chip--secondary:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.ngx-mdc-chip--secondary:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n.ngx-mdc-chip--secondary.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n.ngx-mdc-chip--secondary:hover {\n color: white;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-dark, white); }\n.ngx-mdc-chip--secondary.mdc-chip--selected::before {\n opacity: 0.16; }\n.ngx-mdc-chip--secondary.mdc-chip--selected::before, .ngx-mdc-chip--secondary.mdc-chip--selected::after {\n background-color: white; }\n@supports not (-ms-ime-align: auto) {\n .ngx-mdc-chip--secondary.mdc-chip--selected::before, .ngx-mdc-chip--secondary.mdc-chip--selected::after {\n /* @alternate */\n background-color: var(--mdc-theme-text-primary-on-dark, white); } }\n.ngx-mdc-chip--secondary.mdc-chip--selected:hover::before {\n opacity: 0.24; }\n.ngx-mdc-chip--secondary.mdc-chip--selected:not(.mdc-ripple-upgraded):focus::before, .ngx-mdc-chip--secondary.mdc-chip--selected.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.4; }\n.ngx-mdc-chip--secondary.mdc-chip--selected:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n.ngx-mdc-chip--secondary.mdc-chip--selected:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.4; }\n.ngx-mdc-chip--secondary.mdc-chip--selected.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.4; }\n.ngx-mdc-chip--secondary.mdc-chip--selected {\n color: white;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-dark, white); }\n.ngx-mdc-chip--secondary.mdc-chip--selected .mdc-chip__icon--leading {\n color: rgba(255, 255, 255, 0.54); }\n.ngx-mdc-chip--secondary.mdc-chip--selected:hover {\n color: white;\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-dark, white); }\n.ngx-mdc-chip--secondary .mdc-chip__checkmark-path {\n stroke: white;\n /* @alternate */\n stroke: var(--mdc-theme-text-primary-on-dark, white); }\n.ngx-mdc-chip--secondary .mdc-chip__icon--leading {\n color: rgba(255, 255, 255, 0.54); }\n.ngx-mdc-chip--secondary .mdc-chip__icon--trailing {\n color: rgba(255, 255, 255, 0.54); }\n.ngx-mdc-chip--secondary .mdc-chip__icon--trailing:hover {\n color: rgba(255, 255, 255, 0.62); }\n.ngx-mdc-chip--secondary .mdc-chip__icon--trailing:focus {\n color: rgba(255, 255, 255, 0.87); }\n.ngx-mdc-fab-extended--fluid {\n width: 100%; }\n.ngx-mdc-fab--bottom-right {\n position: fixed;\n right: 1rem;\n bottom: 1rem; }\n@media (min-width: 1024px) {\n .ngx-mdc-fab--bottom-right {\n right: 1.5rem;\n bottom: 1.5rem; } }\n.ngx-mdc-fab--bottom-left {\n position: fixed;\n bottom: 1rem;\n left: 1rem; }\n@media (min-width: 1024px) {\n .ngx-mdc-fab--bottom-left {\n bottom: 1.5rem;\n left: 1.5rem; } }\n.ngx-mdc-icon--clickable,\na.ngx-mdc-icon {\n outline: none;\n text-decoration: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n.ngx-mdc-icon--inline {\n font-size: inherit;\n height: inherit;\n line-height: inherit;\n width: inherit; }\n.mdc-image-list__item {\n display: block; }\n.mdc-linear-progress {\n display: block; }\n.mdc-linear-progress--secondary .mdc-linear-progress__bar-inner {\n background-color: #388e3c; }\n.mdc-list,\n.mdc-list-divider {\n display: block; }\n.ngx-mdc-list--border {\n /* Ensure adjacent borders don't collide with one another. */ }\n.ngx-mdc-list--border .mdc-list-item {\n /* Add the list side padding padding to the list item. */\n padding: 0 16px;\n /* Add a border around each element. */\n border: 1px solid rgba(0, 0, 0, 0.12); }\n.ngx-mdc-list--border .mdc-list-item:not(:first-child) {\n border-top: none; }\n.mdc-menu-surface--anchor {\n display: inline-block; }\n.mdc-select__native-control {\n -webkit-appearance: none; }\n.mdc-slider {\n display: inline-block; }\n@media (min-width: 480px) {\n .ngx-mdc-snackbar--trailing {\n justify-content: flex-end; } }\n.ngx-mdc-tab--disabled {\n cursor: default;\n pointer-events: none; }\n.ngx-mdc-tab--disabled .mdc-tab__text-label {\n color: rgba(0, 0, 0, 0.3); }\n.ngx-mdc-tab--disabled .mdc-tab__icon {\n color: rgba(0, 0, 0, 0.3);\n fill: currentColor; }\n.ngx-mdc-tab--disabled .mdc-tab-indicator > .mdc-tab-indicator__content--underline {\n background-color: rgba(0, 0, 0, 0.3); }\n.mdc-tab-bar {\n display: block; }\n.mdc-tab-scroller {\n display: block; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9zcmNcXHN0eWxlcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcYnV0dG9uXFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFx0eXBvZ3JhcGh5XFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFx0eXBvZ3JhcGh5XFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFx0eXBvZ3JhcGh5XFxfZnVuY3Rpb25zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxidXR0b25cXF92YXJpYWJsZXMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHNoYXBlXFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxzaGFwZVxcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcdGhlbWVcXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHRoZW1lXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxydGxcXF9taXhpbnMuc2NzcyIsInNyYy9zdHlsZXMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGVsZXZhdGlvblxcX21peGlucy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcZWxldmF0aW9uXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxyaXBwbGVcXF9rZXlmcmFtZXMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGFuaW1hdGlvblxcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xccmlwcGxlXFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxyaXBwbGVcXF92YXJpYWJsZXMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGNhcmRcXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGNhcmRcXF92YXJpYWJsZXMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGNoZWNrYm94XFxfa2V5ZnJhbWVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxjaGVja2JveFxcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcY2hlY2tib3hcXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGNoaXBzXFxjaGlwXFxtZGMtY2hpcC5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcc2hhcGVcXF9mdW5jdGlvbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGNoaXBzXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxjaGlwc1xcX21peGlucy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcY2hpcHNcXGNoaXAtc2V0XFxtZGMtY2hpcC1zZXQuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGRpYWxvZ1xcX21peGlucy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcZGlhbG9nXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxkcmF3ZXJcXGNvbW1vbi5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcZHJhd2VyXFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxkcmF3ZXJcXF92YXJpYWJsZXMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGxpc3RcXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGRyYXdlclxcZGlzbWlzc2libGVcXG1kYy1kcmF3ZXItZGlzbWlzc2libGUuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGRyYXdlclxcbW9kYWxcXG1kYy1kcmF3ZXItbW9kYWwuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGZhYlxcX21peGlucy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcZmFiXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxmbG9hdGluZy1sYWJlbFxcbWRjLWZsb2F0aW5nLWxhYmVsLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxmbG9hdGluZy1sYWJlbFxcX21peGlucy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcZm9ybS1maWVsZFxcX21peGlucy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcZm9ybS1maWVsZFxcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcaWNvbi1idXR0b25cXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGljb24tYnV0dG9uXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxpbWFnZS1saXN0XFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxpbWFnZS1saXN0XFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxsYXlvdXQtZ3JpZFxcbWRjLWxheW91dC1ncmlkLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxsYXlvdXQtZ3JpZFxcX21peGlucy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcbGF5b3V0LWdyaWRcXF92YXJpYWJsZXMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGxpbmUtcmlwcGxlXFxtZGMtbGluZS1yaXBwbGUuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGxpbmVhci1wcm9ncmVzc1xcX2tleWZyYW1lcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcbGluZWFyLXByb2dyZXNzXFxtZGMtbGluZWFyLXByb2dyZXNzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxsaW5lYXItcHJvZ3Jlc3NcXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXGxpbmVhci1wcm9ncmVzc1xcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcbGlzdFxcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcbWVudVxcX21peGlucy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcbWVudVxcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcbWVudS1zdXJmYWNlXFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxtZW51LXN1cmZhY2VcXF92YXJpYWJsZXMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXG5vdGNoZWQtb3V0bGluZVxcbWRjLW5vdGNoZWQtb3V0bGluZS5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcbm90Y2hlZC1vdXRsaW5lXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxyYWRpb1xcX21peGlucy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xccmFkaW9cXF92YXJpYWJsZXMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHNlbGVjdFxcX2tleWZyYW1lcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcc2VsZWN0XFxpY29uXFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxzZWxlY3RcXGljb25cXF92YXJpYWJsZXMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHNlbGVjdFxcaWNvblxcbWRjLXNlbGVjdC1pY29uLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxzZWxlY3RcXGhlbHBlci10ZXh0XFxtZGMtc2VsZWN0LWhlbHBlci10ZXh0LnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxzZWxlY3RcXG1kYy1zZWxlY3Quc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHNlbGVjdFxcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcc2VsZWN0XFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxzZWxlY3RcXGhlbHBlci10ZXh0XFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxub3RjaGVkLW91dGxpbmVcXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHNsaWRlclxcX2tleWZyYW1lcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcc2xpZGVyXFxtZGMtc2xpZGVyLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxzbGlkZXJcXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHNuYWNrYmFyXFxtZGMtc25hY2tiYXIuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHNuYWNrYmFyXFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxzbmFja2JhclxcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcc3dpdGNoXFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFxzd2l0Y2hcXF92YXJpYWJsZXMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHRhYi1pbmRpY2F0b3JcXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHRhYlxcbWRjLXRhYi5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcdGFiXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFx0YWJcXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHRhYi1iYXJcXG1kYy10YWItYmFyLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFx0YWItYmFyXFxfbWl4aW5zLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFx0YWItaW5kaWNhdG9yXFxtZGMtdGFiLWluZGljYXRvci5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcdGFiLXNjcm9sbGVyXFxtZGMtdGFiLXNjcm9sbGVyLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFx0ZXh0ZmllbGRcXGhlbHBlci10ZXh0XFxtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcdGV4dGZpZWxkXFxjaGFyYWN0ZXItY291bnRlclxcbWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHRleHRmaWVsZFxcaWNvblxcbWRjLXRleHQtZmllbGQtaWNvbi5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcdGV4dGZpZWxkXFxtZGMtdGV4dC1maWVsZC5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcdGV4dGZpZWxkXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFx0ZXh0ZmllbGRcXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHRleHRmaWVsZFxcaGVscGVyLXRleHRcXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHRleHRmaWVsZFxcY2hhcmFjdGVyLWNvdW50ZXJcXF9taXhpbnMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXHNjc3NcXHRleHRmaWVsZFxcaWNvblxcX21peGlucy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcdGV4dGZpZWxkXFxpY29uXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFx0b3AtYXBwLWJhclxcbWRjLXRvcC1hcHAtYmFyLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxzY3NzXFx0b3AtYXBwLWJhclxcX21peGlucy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcc2Nzc1xcdG9wLWFwcC1iYXJcXF92YXJpYWJsZXMuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXGV4dGVuZFxcbWRjLWZvcm0tZmllbGQuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXGV4dGVuZFxcbWRjLWNoaXBzLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxleHRlbmRcXG1kYy1mYWIuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXGV4dGVuZFxcbWRjLWljb24uc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXGV4dGVuZFxcbWRjLWltYWdlLWxpc3Quc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXGV4dGVuZFxcbWRjLWxpbmVhci1wcm9ncmVzcy5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcZXh0ZW5kXFxtZGMtbGlzdC5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcZXh0ZW5kXFxtZGMtbWVudS5zY3NzIiwic3JjL0M6XFxSZXBvc1xcUHJvZHVjdE9mZmVyaW5nXFxwcm9kdWN0LW9mZmVyaW5nL25vZGVfbW9kdWxlc1xcQGFuZ3VsYXItbWRjXFx0aGVtZVxcZXh0ZW5kXFxtZGMtc2VsZWN0LnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxleHRlbmRcXG1kYy1zbGlkZXIuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXGV4dGVuZFxcbWRjLXNuYWNrYmFyLnNjc3MiLCJzcmMvQzpcXFJlcG9zXFxQcm9kdWN0T2ZmZXJpbmdcXHByb2R1Y3Qtb2ZmZXJpbmcvbm9kZV9tb2R1bGVzXFxAYW5ndWxhci1tZGNcXHRoZW1lXFxleHRlbmRcXG1kYy10YWIuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXGV4dGVuZFxcbWRjLXRhYi1iYXIuc2NzcyIsInNyYy9DOlxcUmVwb3NcXFByb2R1Y3RPZmZlcmluZ1xccHJvZHVjdC1vZmZlcmluZy9ub2RlX21vZHVsZXNcXEBhbmd1bGFyLW1kY1xcdGhlbWVcXGV4dGVuZFxcbWRjLXRhYi1zY3JvbGxlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtFQUErRTtBQUUvRTtFQUNJLGFBQVksRUFDZDtBQUNGO0VBQ0ksVUFBUztFQUNULGtEQUFpRDtFQUNqRCxpQkFBZ0IsRUFDbkI7QUNxQ0M7RUNZSSxnQ0NsQ3lDO0VEa0N6QyxtQ0M5QjhCO0VEOEI5QixvQ0M3QitCO0VENkIvQixvQkMyRWtCO0VEM0VsQixxQkM0RW9CO0VENUVwQixpQkN0Qk87RURzQlAsNkJFZ0J1QztFRmhCdkMsc0JDK0VxQjtFRC9FckIsMEJDZ0Z5QjtFRjJFM0IscUJJOUwrQjtFSjBOL0IscUJBQW9CO0VBQ3BCLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFDbkIsd0JBQXVCO0VBQ3ZCLHVCQUFzQjtFQUN0QixnQkFBZTtFQUNmLGFJak9vQjtFSmtPcEIsYUFBWTtFQUNaLGNBQWE7RUFDYixnQkFBZ0I7RUFDaEIscUJBQW9CO0VBQ3BCLDBCQUFpQjtLQUFqQix1QkFBaUI7TUFBakIsc0JBQWlCO1VBQWpCLGtCQUFpQjtFQUNqQix5QkFBd0I7RUFDeEIsaUJBQWdCO0VBQ2hCLHVCQUFzQjtFS3pOdEIsbUJDZmtDLEVOdUNuQztBQWhCRDtJQXNOSSxXQUFVO0lBQ1YsVUFBUyxFQUVaO0FBek5EO0lBOE5JLGNBQWEsRUFFaEI7QUFoT0Q7SUFvT0ksZ0JBQWUsRUFFbEI7QUF0T0Q7SU9zQ0ksOEJQb01xRDtJQUVyRCwyQlFqUCtFO0lScVAvRSxnQkFBZTtJQUNmLHFCQUFvQixFQUV2QjtBQW5QRDtJS1JFLG1CQ2ZrQyxFTnNMbkM7QUEvSkQ7SU9zQ0ksOEJQbkNrRCxFQThHckQ7QUFqSEQ7SVNvTkEsYUFBYTtJQUNiLGVBakhnQjtJQWtIaEIsYUFBYTtJQUNiLGtCVGdDaUQ7SUFFakQsc0JBQXFCO0lBQ3JCLFlBQVc7SUFDWCxhQUFZO0lBQ1osZ0JBQWU7SUFDZixvQkFBbUIsRUFoUGhCO0FVR0Q7TUQwTUEsYUFBYTtNQUNiLGlCVDRCK0M7TVMzQi9DLGFBQWE7TUFDYixnQkF6SGMsRUFsRWI7QVRsQ0g7SU91RUksZVIxR3FCO0lRNkhuQixnQkFBZ0I7SUFDaEIseUNBQTRELEVQb0RqRTtBQTdIRDtFU2tNQSxhQUFhO0VBQ2IsaUJUNENnRDtFUzNDaEQsYUFBYTtFQUNiLGdCQXRIZSxFVDNFZDtBVVNEO0lEMkxFLGFBQWE7SUFDYixlQTFIYTtJQTJIYixhQUFhO0lBQ2Isa0JUb0M4QyxFUy9ON0M7QVRUSDtFQTRPQSxtQkFBa0IsRUF4T2pCO0FBRUQ7OztFU3FMQSxhQUFhO0VBQ2Isa0JUb0RnRDtFU25EaEQsYUFBYTtFQUNiLGtCVGtEcUQsRUFsT2xEO0FVUUg7Ozs7O0lEMktFLGFBQWE7SUFDYixpQlQ4Q21EO0lTN0NuRCxhQUFhO0lBQ2IsbUJUNEM4QyxFU3ZPN0M7QVRISDs7O0VTcUxBLGFBQWE7RUFDYixpQlR3RCtDO0VTdkQvQyxhQUFhO0VBQ2IsbUJUc0RxRCxFQWhPbEQ7QVVtQkg7Ozs7O0lEMEpFLGFBQWE7SUFDYixrQlRrRG1EO0lTakRuRCxhQUFhO0lBQ2Isa0JUZ0Q2QyxFUzNPNUM7QVRjSDs7RUF1SEUsdUJJN0wwQyxFSjJFM0M7QUFMRDs7SUF1UEksc0NRNVMrRTtJUjZTL0UsMkJRN1MrRSxFUitTbEY7QUExUEQ7O0lPdUJJLDBCUjFHcUIsRUNvSnhCO0FPbEMwQztNUC9CM0M7O1FPa0NZLGdCQUFnQjtRQUNoQixvREFBNEQsRUFDN0QsRUFBQTtBUHBDWDs7SU91QkksWUN0RnFGO0lEeUduRixnQkFBZ0I7SUFDaEIseUNBQTRELEVQb0RqRTtBQXhGRDtFVzNCRSwwSENsRGdDO0VadVZoQywwRFdoUndELEVYUXpEO0FBRkQ7SVczQkUsMkhDbERnQyxFWjRVakM7QUEvUEQ7SVczQkUsNEhDbERnQyxFWmdWakM7QUFuUUQ7SVczQkUseUhDbERnQyxFWm9WakM7QUFu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TEg7RUFTTSw0QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLFdBQVUsRUFFYjtBQU1IO0VBRUksaUJBQWdCLEVBRW5CO0FFblJIO0V0QmtETSxrQ0MzQytFO0VEMkMvRSx1QkM1Q2tCO0VITGxCLGFBQWE7RUFHZix1QnlCWTRCO0VBcUY5QixXQ2pGb0I7RURxRnBCLGFDakdzQjtFRk10QixjQUFhO0VBQ2IsdUJBQXNCO0VBQ3RCLGVBQWM7RUFDZCx1QkFBc0I7RUFDdEIsYUFBWTtFQUNaLHVDQUE4QjtFQUE5QiwrQkFBOEI7RUFBOUIsa0RBQThCO0VBQzlCLHlEZi9CdUU7RWVnQ3ZFLGFBQWE7RUFDYix3QkFBdUI7RUFDdkIsYUFBYTtFQUNiLDBCQUF5QjtFQUN6QixpQkFBZ0IsRUFxRGpCO0FBOUVEO0l0QmtETSwyQkMzQytFLEVzQjBCbEY7QURqQ0g7SXRCa0RNLDBCQzNDK0UsRXdCaVZsRjtBSHhWSDtJdEJrRE0sMEJDM0MrRSxFc0JvQ2xGO0FEM0NIO0l0QmtETSwwQkMzQytFLEV3QjZTbEY7QUhwVEg7SXRCa0RNLDJCQzNDK0UsRXNCNEVsRjtBRG5GSDtJdEJrRE0sZVJ6RXFCLEVpQzJVeEI7QUhwVEg7SXRCa0RNLGdDUnpFcUIsRStCa0d4QjtBcEJndkNEO0lMbnpDTSxhQUFhO0lBQ2IsdUJDbEI0QixFR3VEL0I7QW9COUNMO0l4QklJLG1Cd0JNdUMsRUcwVHhDO0FIcFVIO0lwQmdPRSxhQUFhO0lBQ2IsbUJzQnpOc0I7SXRCME50QixhQUFhO0lBQ2IsZ0JBdEhlLEVxQkFkO0FwQnd0Q0M7TUQvbENBLGFBQWE7TUFDYixlQTFIYTtNQTJIYixhQUFhO01BQ2Isb0JzQmpPb0IsRXRCc0NuQjtBQzR4Q0g7SW1COXlDRSxhQUFhO0lBQ2Isc0JBQXFCO0lBQ3JCLGFBQWE7SUFDYix1QkFBc0I7SUFDdEIsYUFBYTtJQUNiLHlCQUF3QjtJQUN4QixhQUFhO0lBQ2IseUJBQXdCLEVwQld2QjtBb0I5Q0w7STVCd0JNLGdDQ2xDeUM7SURrQ3pDLG1DQzlCOEI7SUQ4QjlCLG9DQzdCK0I7SUQ2Qi9CLG9CQzJDa0I7SUQzQ2xCLHNCQzRDcUI7SUQ1Q3JCLGlCQ3RCTztJRHNCUCw2QkVnQnVDO0lGaEJ2Qyx5QkMrQ3dCO0lEL0N4Qix3QkNnRHVCO0kyQjlCekIsNkJBQXlEO0lBRXpELGdCQUErQztJQUMvQyxlQUEwQyxFQUMzQztBQTlDSDtJQWtESSxnQkFBZSxFQUNoQjtBQW5ESDtJQXVESSxpQkFBZ0IsRUFDakI7QUF4REg7STVCd0JNLGdDQ2xDeUM7SURrQ3pDLG1DQzlCOEI7SUQ4QjlCLG9DQzdCK0I7SUQ2Qi9CLG9CQzJEa0I7SUQzRGxCLHFCQzREb0I7SUQ1RHBCLGlCQ3ZCUTtJRHVCUiw2QkVnQnVDO0lGaEJ2Qyx5QkMrRHdCO0lEL0R4Qix3QkNnRXVCO0lENUN6QixlQUFjO0lBQ2QsY0FBYTtJQUNiLGdCQUFnQjtJQUNoQixvQkFBbUI7STRCZ0JuQixVQUFTO0lBQ1QsZ0JFdEQ2QixFRnVEOUI7QTVCZkQ7TUEwQkEsc0JBQXFCO01BQ3JCLFNBQVE7TUFDUixhNEJqQjJDO001QmtCM0MsWUFBVztNQXpCUCxrQkFBaUIsRUFFcEI7QTRCeERIO0lBcUVJLG9CQUFtQixFQUNwQjtBQXRFSDs7SUE0RUkscUJBQW9CLEVBQ3JCO0FBR0g7RUFDRSxxQ0FBNEI7VUFBNUIsNkJBQTRCLEVBSzdCO0FuQjR5Q0M7SW1COXlDRSxvQ0FBMkI7WUFBM0IsNEJBQTJCLEVwQnRDMUI7QW9CMENMO0VBQ0UsaUNBQXdCO1VBQXhCLHlCQUF3QjtFQUN4QiwyQkU3RWdDLEVGbUZqQztBbkJ3eUNDO0ltQjF5Q0UsaUNBQXdCO1lBQXhCLHlCQUF3QixFcEJoRHZCO0FvQm9ETDtFQUNFLHFDQUE0QjtVQUE1Qiw2QkFBNEI7RUFDNUIsMkJFdEYrQixFRjJGaEM7QW5CcXlDQztJbUJ2eUNFLG9DQUEyQjtZQUEzQiw0QkFBMkIsRXBCekQxQjtBb0I2REw7RUFDRSxlQUFjO0VBQ2QsdUJBQXNCO0VBQ3RCLGlCQUFnQjtFQUNoQixvQkFBMEMsRUFDM0M7QUFFRDtFNUIxRk0sZ0NDbEN5QztFRGtDekMsbUNDOUI4QjtFRDhCOUIsb0NDN0IrQjtFRDZCL0IsbUJDMkJrQjtFRDNCbEIsa0JDNEJpQjtFRDVCakIsaUJDdEJPO0VEc0JQLHlCRWdCdUM7RUZoQnZDLHlCQytCd0I7RUQvQnhCLHdCQ2dDdUI7RURaekIsZUFBYztFQUNkLGNBQWE7RUFDYixnQkFBZ0I7RUFDaEIsb0JBQW1CO0VBZ0JuQixxQkFBNkIsRTRCdURoQztBNUJwRUM7SUEwQkEsc0JBQXFCO0lBQ3JCLFNBQVE7SUFDUixhNEJzQ3lDO0k1QnJDekMsWUFBVztJQXpCUCxrQkFBaUIsRUFFcEI7QUFVRDtJQVVBLHNCQUFxQjtJQUNyQixTQUFRO0lBQ1IsYTRCdUM0QztJNUJ0QzVDLFlBQVc7SUFUUCxzQkFBOEIsRUFFakM7QTRCZ0RIO0U1QmhHTSxnQ0NsQ3lDO0VEa0N6QyxtQ0M5QjhCO0VEOEI5QixvQ0M3QitCO0VENkIvQixvQkMyRGtCO0VEM0RsQixxQkM0RG9CO0VENURwQixpQkN2QlE7RUR1QlIsNkJFZ0J1QztFRmhCdkMseUJDK0R3QjtFRC9EeEIsd0JDZ0V1QjtFRDVDekIsZUFBYztFQUNkLGNBQWE7RUFDYixnQkFBZ0I7RUFDaEIsb0JBQW1CO0U0QjZFckIsaUJBQWdCLEVBQ2pCO0E1QjNFQztJQTBCQSxzQkFBcUI7SUFDckIsU0FBUTtJQUNSLGE0QjRDeUM7STVCM0N6QyxZQUFXO0lBekJQLGtCQUFpQixFQUVwQjtBNEJ1RUg7RUFDRSxhQUFZO0VBQ1osaUJBQWdCO0VBQ2hCLGtDQUFpQyxFQUNsQztBSTFJRDtFeEJ1T0UsYUFBYTtFQUNiLFF3QnZPMkM7RXhCd08zQyxhQUFhO0VBQ2IsZUE1Q3FCO0V3QjNMckIsY0FBYTtFQUNiLG1CQUFrQixFQUtuQjtBdkJtOUNDO0lEL3VDRSxhQUFhO0lBQ2IsY0FoRG1CO0lBaURuQixhQUFhO0lBQ2IsU3dCL095QyxFeEJvRHhDO0F3QnJETDtJQU9JLGNBQWEsRUFDZDtBQUdIO0V4QjRORSxhQUFhO0VBQ2IsZXdCNU44QztFeEI2TjlDLGFBQWE7RUFDYixnQkF0SGU7RXdCdEdmLG1CQUFrQixFQUNuQjtBdkIyOUNDO0lEN3ZDRSxhQUFhO0lBQ2IsZUExSGE7SUEySGIsYUFBYTtJQUNiLGdCd0JwTzRDLEV4QnlDM0M7QXlCcERMO0V2QjhDSSw4SENsRGdDO0VIME9sQyxhQUFhO0VBQ2IsUXlCcE8yQztFekJxTzNDLGFBQWE7RUFDYixlQTVDcUI7RXlCeExyQixjQUFhO0VBQ2IsZ0JBQWUsRUFLaEI7QUowRkM7SXZCN0NJLHNDQzNDK0UsRXNCMEZsRjtBcEJrNUNEO0lEN3dDRSxhQUFhO0lBQ2IsY0FoRG1CO0lBaURuQixhQUFhO0lBQ2IsU3lCNU95QyxFekJpRHhDO0F5QnBETDtJQVNJLGNBQWEsRUFDZDtBQUdIO0VBQ0UsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsT0FBTTtFQUNOLFFBQU87RUFDUCxZQUFXO0VBQ1gsYUFBWTtFQUNaLDZCQUE0QjtFQUM1Qix5RHBCMUJ1RTtFb0IyQnZFLFdISW9CLEVHZXJCO0FBakJDO0lBQ0UsZUFBYyxFQUNmO0FBRUQ7SUFDRSxXQUFVLEVBQ1g7QUFFRDtJQUNFLDJCSGQ4QjtJR2U5QixXQUFVLEVBQ1g7QUFFRDtJQUNFLDJCSGxCNkI7SUdtQjdCLFdBQVUsRUFDWDtBdkJwQ0M7RUEwQ0EseUhDbERnQyxFRFUvQjtBQUZEO0VBMENBLDBIQ2xEZ0MsRURVL0I7QUFGRDtFQTBDQSwwSENsRGdDLEVEVS9CO0FBRkQ7RUEwQ0EsMEhDbERnQyxFRFUvQjtBQUZEO0VBMENBLDJIQ2xEZ0MsRURVL0I7QUFGRDtFQTBDQSwySENsRGdDLEVEVS9CO0FBRkQ7RUEwQ0EsNEhDbERnQyxFRFUvQjtBQUZEO0VBMENBLDRIQ2xEZ0MsRURVL0I7QUFGRDtFQTBDQSw0SENsRGdDLEVEVS9CO0FBRkQ7RUEwQ0EsNEhDbERnQyxFRFUvQjtBQUZEO0VBMENBLDZIQ2xEZ0MsRURVL0I7QUFGRDtFQTBDQSw2SENsRGdDLEVEVS9CO0FBRkQ7RUEwQ0EsNkhDbERnQyxFRFUvQjtBQUZEO0VBMENBLDZIQ2xEZ0MsRURVL0I7QUFGRDtFQTBDQSw2SENsRGdDLEVEVS9CO0FBRkQ7RUEwQ0EsNkhDbERnQyxFRFUvQjtBQUZEO0VBMENBLDhIQ2xEZ0MsRURVL0I7QUFGRDtFQTBDQSw4SENsRGdDLEVEVS9CO0FBRkQ7RUEwQ0EsOEhDbERnQyxFRFUvQjtBQUZEO0VBMENBLDhIQ2xEZ0MsRURVL0I7QUFGRDtFQTBDQSwrSENsRGdDLEVEVS9CO0FBRkQ7RUEwQ0EsK0hDbERnQyxFRFUvQjtBQUZEO0VBMENBLCtIQ2xEZ0MsRURVL0I7QUFGRDtFQTBDQSwrSENsRGdDLEVEVS9CO0FBRkQ7RUEwQ0EsK0hDbERnQyxFRFUvQjtBQUdIO0VBRUksMERBd0RzRDtFQXBEdEQsd0JDeUU2QixFRHZFaEM7QXdCRkQ7RXhCK0JFLDRIQ2xEZ0M7RXVCNEtoQyxxQkFBb0I7RUFDcEIsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUNuQix3QkFBdUI7RUFDdkIsdUJBQXNCO0VBQ3RCLFlDakxpQjtFRGtMakIsYUNsTGlCO0VEbUxqQixXQUFVO0VBQ1YsYUFBWTtFQUNaLG1CQUFrQjtFQUNsQixnQkFBZTtFQUNmLDBCQUFpQjtLQUFqQix1QkFBaUI7TUFBakIsc0JBQWlCO1VBQWpCLGtCQUFpQjtFQUNqQixzQkFBcUI7RUFDckIseUJBQXdCO0VBQ3hCLGlCQUFnQjtFQUloQiw0SXJCaE13RTtFcUJnTXhFLG9JckJoTXdFO0VxQmdNeEUsNExyQmhNd0U7RVArRnRFLDBCUnpHdUI7RVF5R3ZCLFlDaEZ5RjtFRG1HdkYsZ0JBQWdCO0VBQ2hCLDJDQUE0RCxFNEJ6RmpFO0FBTEQ7STlCTEUsbUI4QndKK0IsRUFoQmhDO0FBbklEO0lBbUxJLFdBQVU7SUFDVixVQUFTLEVBRVo7QUF0TEQ7SXhCK0JFLDRIQ2xEZ0MsRXVCOE1qQztBQTNMRDtJeEIrQkUsNkhDbERnQyxFdUJrTmpDO0FBL0xEO0lBd01JLGNBQWEsRUFFaEI7QUExTUQ7SUE4TUksZ0JBQWUsRUFFbEI7QUFoTkQ7SUF5TkksWUFBVyxFQUVkO0E1QnpJMEM7SUFFakM7TUFDRSxnQkFBZ0I7TUFDaEIsc0RBQTRELEVBQzdELEVBQUE7QTRCdkZYO0lBNkVJLFlBMUU2QjtJQTJFN0IsYUEzRTZCO0lBNEU3QixnQkE1RTZCLEVBOEVoQztBQTFFRDtFQTRORSxZQ3JQc0I7RURzUHRCLGFDdFBzQixFRDJCdkI7QUFFRDtFbENJSSxnQ0NsQ3lDO0VEa0N6QyxtQ0M5QjhCO0VEOEI5QixvQ0M3QitCO0VENkIvQixvQkMyRWtCO0VEM0VsQixxQkM0RW9CO0VENUVwQixpQkN0Qk87RURzQlAsNkJFZ0J1QztFRmhCdkMsc0JDK0VxQjtFRC9FckIsMEJDZ0Z5QjtFR3BHM0Isb0JrQnlJK0M7RVlSL0MsZ0JDaEppQztFRG9RakMsWUFBVztFQUNYLGdCQUFlO0VBQ2YsYUNuUTBCLEVEOEIzQjtBQUZEO0kxQjRNQSxhQUFhO0lBQ2Isa0IwQjVHOEU7STFCNkc5RSxhQUFhO0lBQ2IsbUIyQi9Pa0MsRURtSWpDO0F6QjhpREM7TUQvN0NBLGFBQWE7TUFDYixrQjJCblBnQztNM0JvUGhDLGFBQWE7TUFDYixtQjBCcEg0RSxFMUJ2RTNFO0EwQjFCSDtJMUI0TUEsYUFBYTtJQUNiLGtCMkI3T2tDO0kzQjhPbEMsYUFBYTtJQUNiLG1CMEJ2RzZGLEVBRTVGO0F6QmlqREM7TUR6OENBLGFBQWE7TUFDYixrQjBCM0cyRjtNMUI0RzNGLGFBQWE7TUFDYixtQjJCclBnQyxFM0IwRC9CO0EwQnRCSDtFQXlQRSw0QkFBMkI7RUFDM0Isd0JBQXVCO0VBQ3ZCLG9CQUFtQjtFQUNuQixpQkFBZ0IsRUExUGpCO0FBRUQ7RUF3T0Usb0VyQmhSd0U7RXFCZ1J4RSw0RHJCaFJ3RTtFcUJnUnhFLHFIckJoUndFO0VxQm9SeEUsbUJBQWtCO0VBQ2xCLHVCQUFzQixFQTNPdkI7QUFJRDtFQTBQRSxxQkFBb0I7RUFDcEIsb0JBQW1CO0VBQ25CLHdCQUF1QixFQTFQeEI7QUFFRDtFQWlRRSw0QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLFdBQVU7RUFJViw4RnJCdFR3RTtFcUJzVHhFLHNGckJ0VHdFO0VxQnNUeEUsOElyQnRUd0UsRXFCa0R6RTtBQUZEO0lBNlFJLDRCQUFtQjtZQUFuQixvQkFBbUI7SUFJbkIsbUVyQmpVc0U7SXFCaVV0RSwyRHJCalVzRTtJ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QUNsQixhQUFtQixFQUV0QjtBQUVEO0lBRUksdUNBQXlDO0lBQ3pDLHdDQUEwQyxFQUU3QztBQTVKRDtJUnpHSSxzQ0MzQytFLEVPK0psRjtBQU9EO0lBR0ksY0NqTE0sRURtTFQ7QUFtQkQ7SUFJSSwwQkFBeUI7SUFJekIsY0M3TU0sRUQrTVQ7QW9EM01IOztJNUQ4Q00sMkJDM0MrRSxFNkQrSGxGO0FGbElIO0k1RDhDTSwwQkMzQytFLEU2RGtDbEY7QUZyQ0g7O0k1RDhDTSx5Q0MzQytFLEU2RDBJbEY7QUY3SUg7STVEOENNLDBCQzNDK0UsRThERGxGO0FIRkg7STlEQUksMkJrQnNHbUQsRThDbENwRDtBRnBFSDtJNUQrRU0sMEJSMUdxQjtJUTZIbkIsZ0JBQWdCO0lBQ2hCLG9EQUE0RCxFOERXakU7QUY5R0g7STVEOENNLGdDUnpFcUIsRXNFdUN0QjtBRlpMO0k1RDhDTSx5Q0MzQytFLEU2RGdCbEY7QS9CR0Q7SUFRSSxnREFBb0Q7WUFBcEQsd0NBQW9ELEVBRXZEO0E2QmhDSDtJMUQ0TkUsYUFBYTtJQUNiLFcyRDNNb0M7STNENE1wQyxhQUFhO0lBQ2IsZUE1Q3FCO0k0RFVuQixVQUFTO0lBQ1QscUJBQW9CLEVBQ3JCO0EzRG9pSEM7TURqZ0hBLGFBQWE7TUFDYixjQWhEbUI7TUFpRG5CLGFBQWE7TUFDYixZMkRuTmtDLEUzRHdCakM7QTBEMUNMO0kxRDRORSxhQUFhO0lBQ2IsVzJEdk80QjtJM0R3TzVCLGFBQWE7SUFDYixlQTVDcUIsRTREaUJsQjtBM0R5aUhEO01EM2dIQSxhQUFhO01BQ2IsY0FoRG1CO01BaURuQixhQUFhO01BQ2IsWTJEL08wQixFM0RvRHpCO0EwRDFDTDtJMUQ0TkUsYUFBYTtJQUNiLFVrRHRPK0I7SWxEdU8vQixhQUFhO0lBQ2IsZUE1Q3FCO0k0RHdCakIsVUFBUyxFQUNWO0EzRDRpSEQ7TUR0aEhBLGFBQWE7TUFDYixjQWhEbUI7TUFpRG5CLGFBQWE7TUFDYixXa0Q5TzZCLEVsRG1ENUI7QTBEMUNMO0kxRDRORSxhQUFhO0lBQ2IsVzREYjZHO0k1RGM3RyxhQUFhO0lB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Q2IsV3dGN09pQztFeEY4T2pDLGFBQWE7RUFDYixZdUY3TThELEVBSzdEO0F0RjhqTEQ7SURuM0tFLGFBQWE7SUFDYixXdUZqTjREO0l2RmtONUQsYUFBYTtJQUNiLFl3RnJQK0IsRXhGMEQ5QjtBa0YyRkw7SWxGdUZFLGFBQWE7SUFDYixZd0Y1TzBDO0l4RjZPMUMsYUFBYTtJQUNiLFd1RjFNaUUsRUFDOUQ7QXRGeWtMRDtNRDczS0EsYUFBYTtNQUNiLFl1RjlNK0Q7TXZGK00vRCxhQUFhO01BQ2IsV3dGcFB3QyxFeEZ5RHZDO0FrRjJGTDtFbEZ1RkUsYUFBYTtFQUNiLG1Cd0YzT2dDO0V4RjRPaEMsYUFBYTtFQUNiLG9Cd0Y3T2dDLEVEMEMvQjtBdEY4a0xEO0lEeDRLRSxhQUFhO0lBQ2IsbUJ3RmpQOEI7SXhGa1A5QixhQUFhO0lBQ2Isb0J3Rm5QOEIsRXhGd0Q3QjtBa0ZnR0w7O0VBRUUsYUFBWTtFQUNaLDhCQUFvQjtVQUFwQixzQkFBb0IsRUFDckI7QUFHRDtFbEYyRUUsYUFBYTtFQUNiLFd3RnpPdUM7RXhGME92QyxhQUFhO0VBQ2IsZUE1Q3FCLEV1RnRMcEI7QXRGNm5MRDtJRHg1S0UsYUFBYTtJQUNiLGNBaERtQjtJQWlEbkIsYUFBYTtJQUNiLFl3RmpQcUMsRXhGc0RwQztBa0Z1R0w7RWxGMkVFLGFBQWE7RUFDYixtQndGMU9zQztFeEYyT3RDLGFBQWE7RUFDYixvQm1GcE1pQyxFSXhCOUI7QXRGa29MSDtJRG42S0UsYUFBYTtJQUNiLG1CbUZ4TStCO0luRnlNL0IsYUFBYTtJQUNiLG9Cd0ZsUG9DLEV4RnVEbkM7QWtGdUdMO0VsRjJFRSxhQUFhO0VBQ2IsV3dGMU9zQztFeEYyT3RDLGFBQWE7RUFDYixlQTVDcUIsRW9GNktwQjtBbkZnektEO0lEOTZLRSxhQUFhO0lBQ2IsY0FoRG1CO0lBaURuQixhQUFhO0lBQ2IsWXdGbFBvQyxFeEZ1RG5DO0FrRjJHTDtFbEZ1RUUsYUFBYTtFQUNiLGNBdENzQjtFQXVDdEIsYUFBYTtFQUNiLFl3RjNPdUMsRURTdEM7QXRGOHBMRDtJRHo3S0UsYUFB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QVUsRUFDWDtBRnZSTDtJRTJSSSxpQkFBZ0IsRUFDakI7QUZ4Ukg7RXBGL0ZNLDZCQzFFbUI7RUQ2RmpCLGdCQUFnQjtFQUNoQixxREFBNEQsRXNGNmJqRTtBRjVXSDtFQUNFLGNBQWE7RUFDYiwrQkFBOEI7RUFDOUIsdUJBQXNCLEVBVXZCO0FBUkM7SUFDRSxtQkFBa0IsRUFDbkI7QUFFRDtJQUNFLG9CQ3BLcUM7SURxS3JDLG1CQ3JLcUMsRURzS3RDO0FBT0g7RUFDRSx1QkFBc0IsRUFDdkI7QUFHRDtFcEY5Sk0sZ0NSekVxQixFOEZtbEJ4QjtBRjVXSDs7RXBGN0hNLGVDMUVtQjtFRDZGakIsZ0JBQWdCO0VBQ2hCLHVDQUE0RCxFc0Y2RS9EO0FGNEJMO0VFMURJLFdBQVUsRUFDWDtBdEI1SkQ7OztFaEV3Rkksc0JSMUdxQjtFUTZIbkIsZ0JBQWdCO0VBQ2hCLGdEQUE0RCxFZ0V4R2pFO0FvQnlOSDtFcEZySU0sNkJDMUVtQjtFRDZGakIsZ0JBQWdCO0VBQ2hCLHFEQUE0RCxFc0ZtY2pFO0FGbFZIO0VwRnJJTSw2QkMxRW1CO0VENkZqQixnQkFBZ0I7RUFDaEIscURBQTRELEVzRnljakU7QUZ4Vkg7RXBGcklNLDBCQzFFbUI7RUQ2RmpCLGdCQUFnQjtFQUNoQixrREFBNEQsRXNGK2NqRTtBRjlWSDtFcEZySU0sZUMxRW1CO0VENkZqQixnQkFBZ0I7RUFDaEIsdUNBQTRELEVzRnFkakU7QUZwV0g7RXBGcklNLGVDMUVtQjtFRDZGakIsZ0JBQWdCO0VBQ2hCLHVDQUE0RCxFdUYxRmpFO0FIMk1IO0VwRnJJTSxxQkMxRW1CO0VENkZqQixnQkFBZ0I7RUFDaEIsNkNBQTRELEVzRlRqRTtBRjBISDtFcEZySU0sZUMxRW1CO0VENkZqQixnQkFBZ0I7RUFDaEIsdUNBQTRELEV5RjFEakU7QUwyS0g7RXBGcklNLGVDMUVtQjtFRDZGakIsZ0JBQWdCO0VBQ2hCLHVDQUE0RCxFeUY5RDdEO0FMK0tQO0VFOUVJLFdBQVUsRUFDWDtBdEJoSkQ7OztFaEV3Rkksc0JDMUVtQjtFRDZGakIsZ0JBQWdCO0VBQ2hCLDhDQUE0RCxFZ0V4R2pFO0FBSkQ7Ozs7OztFaEV3Rkksc0JDMUVtQjtFRDZGakIsZ0JBQWdCO0VBQ2hCLDhDQUE0RCxFZ0V4R2pFO0FBSkQ7OztFaEV3Rkksc0JDMUVtQjtFRDZGakIsZ0JBQWdCO0VBQ2hCLDhDQUE0RCxFZ0V4R2pFO0FBSkQ7OztFaEV3Rkksc0JDMUVtQjtFRDZGakIsZ0JBQWdCO0VBQ2hCLDhDQUE0RCxFZ0V4R2pFO0FBSkQ7Ozs7OztFaEV3Rkksc0JDMUVtQjtFRDZGakIsZ0JBQWdCO0VBQ2hCLDhDQUE0RCxFZ0V4R2pFO0FBSkQ7OztFaEV3Rkksc0JDMUVtQjtFRDZGakIsZ0JBQWdCO0VBQ2hCLDhDQUE0RCxFZ0V4R2pFO0FvQnFPSDtFcEZsTE0sMEJxRjVDdUc7RUN5RzNHLG9CQUFtQjtFQUNuQixxQkFBb0IsRUZzSHJCO0FBRkQ7SXBGbExNLHlDQzNDK0UsRXFGbWlCbEY7QUZ0VUg7SXBGbExNLDJCQzNDK0UsRXFGMmdCbEY7QUY5U0g7SXBGbExNLDJCQzNDK0UsRXFGcWpCbEY7QUZ4Vkg7SXBGbExNLDJCQzNDK0UsRXNGQWxGO0FINk5IOztJcEZsTE0sMkJDM0MrRSxFdUZRbEY7QUpxTkg7SXBGbExNLDBCQzNDK0UsRXdGc0NsRjtBTHVMSDtJcEZsTE0seUNDM0MrRSxFcUY2aEJsRjtBRmhVSDtJRWpISSxnQkFBZSxFQUNoQjtBRm9ISDtFcEZ0TE0sOEJzRnFNMkM7RUE2Ti9DLGdCQUFnQjtFdEZsYVosMEJxRmhDbUQsRUR3TnhEO0FwQi9PQzs7O0loRXVESSxrQ0MzQytFLEUrRFJsRjtBb0J5T0g7SUVrQkksb0JBQW1CLEVBQ3BCO0F2RHpQRDtFQUNFLDRCQUE0QjtFQUM1QjtJQUNFLHdFQUEyRjtZQUEzRixnRUFBMkYsRUFBQTtFQUc3RjtJQUNFLDRFQUFnRTtZQUFoRSxvRUFBZ0U7SUFDaEUseUVBQTRGO1lBQTVGLGlFQUE0RixFQUFBO0VBRzlGO0lBQ0Usb0ZBQXVFO1lBQXZFLDRFQUF1RTtJQUN2RSwwRUFBNkY7WUFBN0Ysa0VBQTZGLEVBQUE7RUFHL0Y7SUFDRSx3RUFB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SGE7SUEySGIsYUFBYTtJQUNiLG9CMkZuUHFDLEUzRndEcEM7QXlGMkhMO0VBQ0Usa0JFckwrQixFRnNMaEM7QUFFRDtFQUNFLGtCRTlKcUMsRUYrSnRDO0FBRUQ7RUFDRSxrQkVsTHNDLEVGbUx2QztBQUVEO0VBQ0UsbUJFN0swQyxFRjhLM0M7QUFFRDtFQUNFLGtCQUFrRCxFQUNuRDtBQ3BKQztFQUNFO0lBQ0UsYUN6Q2tDLEVEMENuQztFQUVEO0lBQ0UsYUM1Q3NDLEVENkN2QztFQUVEO0lBQ0UscURyRjVEbUUsRXFGNkRwRTtFQUVEO0lBQ0UscURyRmhFbUUsRXFGcUVwRTtJQU5EO00xRjRLRixhQUFhO01BQ2IsZ0JBakhnQjtNQWtIaEIsYUFBYTtNQUNiLG9CMkY3TnVELEVEbURsRDtNekZxOU1EO1FEeHlNRixhQUFhO1FBQ2IsbUIyRmpPcUQ7UTNGa09yRCxhQUFhO1FBQ2IsaUJBekhjLEVBbEViO0UwRmNEO0lBRUksb0JDakRtRCxFRGtEcEQ7RUFHSDtJQUNFLGtCQ25Fa0MsRURvRW5DLEVBQUE7QWxHM0VIO0VBZ0JJLGdDQ25CeUM7RURtQnpDLG1DQ2Y4QjtFRGU5QixvQ0NkK0IsRURBbEM7QUFHQztFQTBCRSxnQ0NsQ3lDO0VEa0N6QyxtQ0M5QjhCO0VEOEI5QixvQ0M3QitCO0VENkIvQixnQkNiZTtFRGFmLGtCQ1ppQjtFRFlqQixpQkN4Qk07RUR3Qk4sNEJFZ0J1QztFRmhCdkMseUJDVHdCO0VEU3hCLHdCQ1J1QixFRGhCeEI7QUFGRDtFQTBCRSxnQ0NsQ3lDO0VEa0N6QyxtQ0M5QjhCO0VEOEI5QixvQ0M3QitCO0VENkIvQixtQkNMa0I7RURLbEIscUJDSm9CO0VESXBCLGlCQ3hCTTtFRHdCTiw4QkVnQnVDO0VGaEJ2Qyx5QkNEd0I7RURDeEIsd0JDQXVCLEVEeEJ4QjtBQUZEO0VBMEJFLGdDQ2xDeUM7RURrQ3pDLG1DQzlCOEI7RUQ4QjlCLG9DQzdCK0I7RUQ2Qi9CLGdCQ0dlO0VESGYsc0JDSXFCO0VESnJCLGlCQ3ZCUTtFRHVCUix1QkNNc0I7RUROdEIseUJDT3dCO0VEUHhCLHdCQ1F1QixFRGhDeEI7QUFGRDtFQTBCRSxnQ0NsQ3lDO0VEa0N6QyxtQ0M5QjhCO0VEOEI5QixvQ0M3QitCO0VENkIvQixvQkNXbUI7RURYbkIsb0JDWW1CO0VEWm5CLGlCQ3ZCUTtFRHVCUiw2QkVnQnVDO0VGaEJ2Qyx5QkNld0I7RURmeEIsd0JDZ0J1QixFRHhDeEI7QUFGRDtFQTBCRSxnQ0NsQ3lDO0VEa0N6QyxtQ0M5QjhCO0VEOEI5QixvQ0M3QitCO0VENkIvQixrQkNtQmlCO0VEbkJqQixrQkNvQmlCO0VEcEJqQixpQkN2QlE7RUR1QlIsdUJDc0JzQjtFRHRCdEIseUJDdUJ3QjtFRHZCeEIsd0JDd0J1QixFRGhEeEI7QUFGRDtFQTBCRSxnQ0NsQ3lDO0VEa0N6QyxtQ0M5QjhCO0VEOEI5QixvQ0M3QitCO0VENkIvQixtQkMyQmtCO0VEM0JsQixrQkM0QmlCO0VENUJqQixpQkN0Qk87RURzQlAseUJFZ0J1QztFRmhCdkMseUJDK0J3QjtFRC9CeEIsd0JDZ0N1QixFRHhEeEI7QUFGRDtFQTBCRSxnQ0NsQ3lDO0VEa0N6QyxtQ0M5QjhCO0VEOEI5QixvQ0M3QitCO0VENkIvQixnQkNtQ2U7RURuQ2YscUJDb0NvQjtFRHBDcEIsaUJDdkJRO0VEdUJSLDJCRWdCdUM7RUZoQnZDLHlCQ3VDd0I7RUR2Q3hCLHdCQ3dDdUIsRURoRXhCO0FBRkQ7RUEwQkUsZ0NDbEN5QztFRGtDekMsbUNDOUI4QjtFRDhCOUIsb0NDN0IrQjtFRDZCL0Isb0JDMkNrQjtFRDNDbEIsc0JDNENxQjtFRDVDckIsaUJDdEJPO0VEc0JQLDZCRWdCdUM7RUZoQnZDLHlCQytDd0I7RUQvQ3hCLHdCQ2dEdUIsRUR4RXhCO0FBRkQ7RUEwQkUsZ0NDbEN5QztFRGtDekMsbUNDOUI4QjtFRDhCOUIsb0NDN0IrQjtFRDZCL0IsZ0JDbURlO0VEbkRmLG9CQ29EbUI7RURwRG5CLGlCQ3ZCUTtFRHVCUiwwQkVnQnVDO0VGaEJ2Qyx5QkN1RHdCO0VEdkR4Qix3QkN3RHVCLEVEaEZ4QjtBQUZEO0VBMEJFLGdDQ2xDeUM7RURrQ3pDLG1DQzlCOEI7RUQ4QjlCLG9DQzdCK0I7RUQ2Qi9CLG9CQzJEa0I7RUQzRGxCLHFCQzREb0I7RUQ1RHBCLGlCQ3ZCUTtFRHVCUiw2QkVnQnVDO0VGaEJ2Qyx5QkMrRHdCO0VEL0R4Qix3QkNnRXVCLEVEeEZ4QjtBQUZEO0VBMEJFLGdDQ2xDeUM7RURrQ3pDLG1DQzlCOEI7RUQ4QjlCLG9DQzdCK0I7RUQ2Qi9CLG1CQ21FaUI7RURuRWpCLHFCQ29Fb0I7RURwRXBCLGlCQ3ZCUTtFRHVCUiw2QkVnQnVDO0VGaEJ2Qyx5QkN1RXdCO0VEdkV4Qix3QkN3RXVCLEVEaEd4QjtBQUZEO0VBMEJFLGdDQ2xDeUM7RURrQ3pDLG1DQzlCOEI7RUQ4QjlCLG9DQzdCK0I7RUQ2Qi9CLG9CQzJFa0I7RUQzRWxCLHFCQzRFb0I7RUQ1RXBCLGlCQ3RCTztFRHNCUCw2QkVnQnVDO0VGaEJ2QyxzQkMrRXFCO0VEL0VyQiwwQkNnRnlCLEVEeEcxQjtBQUZEO0VBMEJFLGdDQ2xDeUM7RURrQ3pDLG1DQzlCOEI7RUQ4QjlCLG9DQzdCK0I7RUQ2Qi9CLG1CQ21GaUI7RURuRmpCLGtCQ29GaUI7RURwRmpCLGlCQ3RCTztFRHNCUCw2QkVnQnVDO0VGaEJ2QyxzQkN1RnFCO0VEdkZyQiwwQkN3RnlCLEVEaEgxQjtBb0dsQ0w7RUFDRSxjQUFhO0VBQ2IsV0FBVTtFQUNWLHVCQUFzQixFQUN2QjtBckd1SkM7RU92RUksMEJSekVxQixFQ29KeEI7QUEwQkQ7RU9wRUksYUMxRFk7RUQ2RVYsZ0JBQWdCO0VBQ2hCLG9EQUE0RCxFUG9EakU7QWVBRDtFUnhFSSx3QkMxRFksRU82SWY7QVIzRTBDO0lBRWpDO01BQ0UsZ0JBQWdCO01BQ2hCLCtEQUE0RCxFQUM3RCxFQUFBO0FRNkVYO0VBR0ksY0N6S00sRUQyS1Q7QUFtQkQ7RUFJSSwwQkFBeUI7RUFJekIsY0NyTU0sRUR1TVQ7QUFXQztFQUVJLGlDQUF3RCxFQUUzRDtBQUVEO0VBRUksMEJDOU8wQjtFRG1QMUIsY0M5TkksRURnT1A7QUFHSDtFQUVJLDhCQUF3QixFQUUzQjtBZnZIRDtFT3ZFSSwwQlJ4RXVC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SUQ7STVFa0RJLDBCeUdsRmtDO0k3Qm1DcEMsbUJBQWtCLEVBQ25CO0FIUkQ7SXpFc0RJLHFDeUcvRW1ELEVoQzJCdEQ7QWlDaENIO0VBQ0UsZUFBYyxFQUNmO0FDRkQ7RUFDRSxlQUFjLEVBQ2YiLCJmaWxlIjoic3JjL3N0eWxlcy5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogWW91IGNhbiBhZGQgZ2xvYmFsIHN0eWxlcyB0byB0aGlzIGZpbGUsIGFuZCBhbHNvIGltcG9ydCBvdGhlciBzdHlsZSBmaWxlcyAqL1xuXG5odG1sLCBib2R5IHsgXG4gICAgaGVpZ2h0OiAxMDAlO1xuIH1cbmJvZHkgeyBcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmOyBcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4kbWRjLXRoZW1lLXByaW1hcnk6ICMxNTY1YzA7IC8vIHByaW1hcnkgY29sb3JcbiRtZGMtdGhlbWUtc2Vjb25kYXJ5OiAjMzg4ZTNjOyAvLyBzZWNvbmRhcnkgY29sb3JcblxuQGltcG9ydCBcIn5AYW5ndWxhci1tZGMvdGhlbWUvbWF0ZXJpYWxcIjsiLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2VsZXZhdGlvbi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vc2hhcGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vc2hhcGUvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1idXR0b24tY29yZS1zdHlsZXMoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtYnV0dG9uLXdpdGhvdXQtcmlwcGxlKCRxdWVyeSk7XG4gIEBpbmNsdWRlIG1kYy1idXR0b24tcmlwcGxlKCRxdWVyeSk7XG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGJ1dHRvbiBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1idXR0b24tY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gbWRjLWJ1dHRvbi13aXRob3V0LXJpcHBsZSgkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGJ1dHRvblxuICAubWRjLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1iYXNlXygkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tc2hhcGUtcmFkaXVzKHNtYWxsLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcih0cmFuc3BhcmVudCwgJHF1ZXJ5KTtcblxuICAgIC8vIFRoZSBpY29uIENTUyBjbGFzcyBvdmVycmlkZXMgc3R5bGVzIGRlZmluZWQgaW4gdGhlIC5tYXRlcmlhbC1pY29ucyBDU1NcbiAgICAvLyBjbGFzcywgd2hpY2ggaXMgbG9hZGVkIHNlcGFyYXRlbHkgc28gdGhlIG9yZGVyIG9mIENTUyBkZWZpbml0aW9ucyBpcyBub3RcbiAgICAvLyBndWFyYW50ZWVkLiBUaGVyZWZvcmUsIGluY3JlYXNlIHNwZWNpZml0eSBieSBuZXN0aW5nIHRoaXMgY2xhc3MgdG8gZW5zdXJlXG4gICAgLy8gb3ZlcnJpZGVzIGFwcGx5LlxuICAgIC5tZGMtYnV0dG9uX19pY29uIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1idXR0b25fX2ljb25fO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1idXR0b24taW5rLWNvbG9yKHByaW1hcnksICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1idXR0b25fX2ljb24tdHJhaWxpbmdfO1xuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgc3ZnLm1kYy1idXR0b25fX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtYnV0dG9uX19pY29uLXN2Z187XG4gICAgfVxuICB9XG5cbiAgLm1kYy1idXR0b24tLXJhaXNlZCxcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQsXG4gIC5tZGMtYnV0dG9uLS1vdXRsaW5lZCB7XG4gICAgLm1kYy1idXR0b25fX2ljb24ge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgLy8gSWNvbnMgaW5zaWRlIGNvbnRhaW5lZCBidXR0b25zIGhhdmUgZGlmZmVyZW50IHN0eWxlcyBkdWUgdG8gaW5jcmVhc2VkIGJ1dHRvbiBwYWRkaW5nXG4gICAgICAgIEBpbmNsdWRlIG1kYy1idXR0b25fX2ljb24tY29udGFpbmVkXztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbiB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBtZGMtYnV0dG9uX19pY29uLWNvbnRhaW5lZC10cmFpbGluZ187XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1idXR0b24tLXJhaXNlZCxcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tLWZpbGxlZF8oJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKHByaW1hcnksICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1pbmstY29sb3Iob24tcHJpbWFyeSwgJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tLXJhaXNlZF8oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtYnV0dG9uLS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi0tb3V0bGluZWRfKCRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1vdXRsaW5lLXdpZHRoKDJweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tb3V0bGluZS1jb2xvcihwcmltYXJ5LCAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1idXR0b24tLWRlbnNlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi0tZGVuc2VfO1xuICAgIH1cbiAgfVxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxufVxuXG4vLyBUaGlzIEFQSSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IGZyYW1ld29ya3MgdGhhdCBtYXkgd2FudCB0byBzZXBhcmF0ZSB0aGUgcmlwcGxlLXJlbGF0ZWQgc3R5bGVzIGZyb20gdGhlIG90aGVyXG4vLyBidXR0b24gc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtYnV0dG9uLWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIG1kYy1idXR0b24tcmlwcGxlKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgQGluY2x1ZGUgbWRjLXJpcHBsZS1jb21tb24oJHF1ZXJ5KTtcblxuICAubWRjLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1zdXJmYWNlKCRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcyhwcmltYXJ5LCBmYWxzZSwgJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQsXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKG9uLXByaW1hcnksIGZhbHNlLCAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uLWZpbGxlZC1hY2Nlc3NpYmxlKCRjb250YWluZXItZmlsbC1jb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmlsbC10b25lOiBtZGMtdGhlbWUtdG9uZSgkY29udGFpbmVyLWZpbGwtY29sb3IpO1xuXG4gIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJGNvbnRhaW5lci1maWxsLWNvbG9yLCAkcXVlcnkpO1xuXG4gIEBpZiAoJGZpbGwtdG9uZSA9PSBcImRhcmtcIikge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24taW5rLWNvbG9yKHRleHQtcHJpbWFyeS1vbi1kYXJrLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXModGV4dC1wcmltYXJ5LW9uLWRhcmssICRxdWVyeTogJHF1ZXJ5KTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWxpZ2h0LCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXModGV4dC1wcmltYXJ5LW9uLWxpZ2h0LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIDpub3QoOmRpc2FibGVkKSBpcyB1c2VkIHRvIHN1cHBvcnQgbGluayBzdHlsZWQgYXMgYnV0dG9uXG4gIC8vIGFzIGxpbmsgZG9lcyBub3Qgc3VwcG9ydCA6ZW5hYmxlZCBzdHlsZVxuICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IsICRlZGdlT3B0T3V0OiB0cnVlKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24tb3V0bGluZS1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi1pY29uLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAmOm5vdCg6ZGlzYWJsZWQpIC5tZGMtYnV0dG9uX19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24taW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24tc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtc2hhcGUtcmFkaXVzKFxuICAgIG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRtZGMtYnV0dG9uLWhlaWdodCwgJHJhZGl1cyksXG4gICAgJHJ0bC1yZWZsZXhpdmUsXG4gICAgJHF1ZXJ5OiAkcXVlcnlcbiAgKTtcblxuICAmLm1kYy1idXR0b24tLWRlbnNlIHtcbiAgICBAaW5jbHVkZSBtZGMtc2hhcGUtcmFkaXVzKFxuICAgICAgbWRjLXNoYXBlLXJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJG1kYy1kZW5zZS1idXR0b24taGVpZ2h0LCAkcmFkaXVzKSxcbiAgICAgICRydGwtcmVmbGV4aXZlLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uLWhvcml6b250YWwtcGFkZGluZygkcGFkZGluZywgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgLy8gJHBhZGRpbmcgc2hvdWxkIGJlIGEgc2luZ2xlIHZhbHVlOyBlbmZvcmNlIGl0IGJ5IHNwZWNpZnlpbmcgYWxsIDQgc2lkZXMgaW4gdGhlIG91dHB1dFxuICAgIHBhZGRpbmc6IDAgJHBhZGRpbmcgMCAkcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi1vdXRsaW5lLXdpZHRoKFxuICAkb3V0bGluZS13aWR0aCxcbiAgJHBhZGRpbmc6ICRtZGMtYnV0dG9uLWNvbnRhaW5lZC1ob3Jpem9udGFsLXBhZGRpbmcsXG4gICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAvLyBOb3RlOiBBZGp1c3QgcGFkZGluZyB0byBtYWludGFpbiBjb25zaXN0ZW50IHdpZHRoIHdpdGggbm9uLW91dGxpbmVkIGJ1dHRvbnNcbiAgJHBhZGRpbmctdmFsdWU6IG1heCgkcGFkZGluZyAtICRvdXRsaW5lLXdpZHRoLCAwKTtcblxuICBAaW5jbHVkZSBtZGMtYnV0dG9uLWhvcml6b250YWwtcGFkZGluZygkcGFkZGluZy12YWx1ZSwgJHF1ZXJ5KTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGJvcmRlci13aWR0aDogJG91dGxpbmUtd2lkdGg7XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24tYmFzZV8oJHF1ZXJ5KSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KGJ1dHRvbiwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1ob3Jpem9udGFsLXBhZGRpbmcoJG1kYy1idXR0b24taG9yaXpvbnRhbC1wYWRkaW5nLCAkcXVlcnkpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4td2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiAkbWRjLWJ1dHRvbi1oZWlnaHQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGlnbm9yZVxuICAmOmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCk7XG5cbiAgICAgIGNvbG9yOiAkbWRjLWJ1dHRvbi1kaXNhYmxlZC1pbmstY29sb3I7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbl9faWNvbl8ge1xuICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCByaWdodCwgOHB4KTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuQG1peGluIG1kYy1idXR0b25fX2ljb24tdHJhaWxpbmdfIHtcbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgOHB4KTtcbn1cblxuQG1peGluIG1kYy1idXR0b25fX2ljb24tc3ZnXyB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuQG1peGluIG1kYy1idXR0b25fX2ljb24tY29udGFpbmVkXyB7XG4gIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbiwgLTRweCwgOHB4KTtcbn1cblxuQG1peGluIG1kYy1idXR0b25fX2ljb24tY29udGFpbmVkLXRyYWlsaW5nXyB7XG4gIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbiwgOHB4LCAtNHB4KTtcbn1cblxuQG1peGluIG1kYy1idXR0b24tLW91dGxpbmVkXygkcXVlcnkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbWRjLWJ1dHRvbi1kaXNhYmxlZC1pbmstY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uLS1maWxsZWRfKCRxdWVyeSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtYnV0dG9uLWhvcml6b250YWwtcGFkZGluZygkbWRjLWJ1dHRvbi1jb250YWluZWQtaG9yaXpvbnRhbC1wYWRkaW5nLCAkcXVlcnkpO1xuXG4gICY6ZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4xMik7XG4gICAgICBjb2xvcjogJG1kYy1idXR0b24tZGlzYWJsZWQtaW5rLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi0tcmFpc2VkXygkcXVlcnkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgbWRjLWVsZXZhdGlvbigyLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgbWRjLWVsZXZhdGlvbig0LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgbWRjLWVsZXZhdGlvbig4LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtZWxldmF0aW9uKDAsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogbWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uLXZhbHVlKCk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24tLWRlbnNlXygpIHtcbiAgaGVpZ2h0OiAkbWRjLWRlbnNlLWJ1dHRvbi1oZWlnaHQ7XG4gIGZvbnQtc2l6ZTogLjgxMjVyZW07IC8vIDEzc3Bcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy10eXBvZ3JhcGh5LWNvcmUtc3R5bGVzKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgLm1kYy10eXBvZ3JhcGh5IHtcbiAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1iYXNlKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBlYWNoICRzdHlsZSBpbiBtYXAta2V5cygkbWRjLXR5cG9ncmFwaHktc3R5bGVzKSB7XG4gICAgLm1kYy10eXBvZ3JhcGh5LS0jeyRzdHlsZX0ge1xuICAgICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoJHN0eWxlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtdHlwb2dyYXBoeS1iYXNlKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtdHlwb2dyYXBoeTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHR5cG9ncmFwaHkpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtdHlwb2dyYXBoeSkge1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWRjLXR5cG9ncmFwaHktYmFzZSB7XG4gICAgICAjeyRrZXl9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtdHlwb2dyYXBoeSgkc3R5bGUsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtdHlwb2dyYXBoeTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHR5cG9ncmFwaHkpO1xuICAkc3R5bGUtcHJvcHM6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LXN0eWxlcywgJHN0eWxlKTtcblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZGMtdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSkge1xuICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGUgc3BlY2lmaWVkISAjeyRzdHlsZX0gZG9lc24ndCBleGlzdC4gQ2hvb3NlIG9uZSBvZiAje21hcC1rZXlzKCRtZGMtdHlwb2dyYXBoeS1zdHlsZXMpfVwiO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC10eXBvZ3JhcGh5KSB7XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRzdHlsZS1wcm9wcyB7XG4gICAgICAjeyRrZXl9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG5cbi8vIEVsZW1lbnQgbXVzdCBiZSBgZGlzcGxheTogYmxvY2tgIG9yIGBkaXNwbGF5OiBpbmxpbmUtYmxvY2tgIGZvciB0aGlzIHRvIHdvcmsuXG5AbWl4aW4gbWRjLXR5cG9ncmFwaHktb3ZlcmZsb3ctZWxsaXBzaXMoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdHlwb2dyYXBoeS1iYXNlbGluZS10b3AoJGRpc3RhbmNlLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtc3RydXRfKCRkaXN0YW5jZSk7XG5cbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtYm90dG9tKCRkaXN0YW5jZSwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEgKiAkZGlzdGFuY2U7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5LWJhc2VsaW5lLXN0cnV0XygkZGlzdGFuY2UpO1xuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTEgKiAkZGlzdGFuY2U7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtdHlwb2dyYXBoeS1iYXNlbGluZS1zdHJ1dF8oJGRpc3RhbmNlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogJGRpc3RhbmNlO1xuICBjb250ZW50OiBcIlwiO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xuXG4kbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJG1kYy10eXBvZ3JhcGh5LWJhc2U6IChcbiAgZm9udC1mYW1pbHk6ICRtZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSxcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZSxcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQsXG4pICFkZWZhdWx0O1xuXG4kbWRjLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdmFsdWVzOiAoXG4gIHRoaW46IDEwMCxcbiAgbGlnaHQ6IDMwMCxcbiAgcmVndWxhcjogNDAwLFxuICBtZWRpdW06IDUwMCxcbiAgYm9sZDogNzAwLFxuICBibGFjazogOTAwXG4pICFkZWZhdWx0O1xuXG4kbWRjLXR5cG9ncmFwaHktc3R5bGVzOiBtZGMtdHlwb2dyYXBoeS1zZXQtc3R5bGVzXyhcbiAgJG1kYy10eXBvZ3JhcGh5LWJhc2UsXG4gIChcbiAgICBoZWFkbGluZTE6IChcbiAgICAgIGZvbnQtc2l6ZTogNnJlbSwgLy8gOTZzcFxuICAgICAgbGluZS1oZWlnaHQ6IDZyZW0sXG4gICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWRjLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdmFsdWVzLCBsaWdodCksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXygtMS41LCA2KSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdCxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0XG4gICAgKSxcbiAgICBoZWFkbGluZTI6IChcbiAgICAgIGZvbnQtc2l6ZTogMy43NXJlbSwgLy8gNjBzcFxuICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW0sXG4gICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWRjLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdmFsdWVzLCBsaWdodCksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXygtLjUsIDMuNzUpLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0LFxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXRcbiAgICApLFxuICAgIGhlYWRsaW5lMzogKFxuICAgICAgZm9udC1zaXplOiAzcmVtLCAvLyA0OHB4XG4gICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW0sIC8vIDUwcHhcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIHJlZ3VsYXIpLFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbCxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdCxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0XG4gICAgKSxcbiAgICBoZWFkbGluZTQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMi4xMjVyZW0sIC8vIDM0c3BcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW0sIC8vIDQwc3BcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIHJlZ3VsYXIpLFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IG1kYy10eXBvZ3JhcGh5LWdldC1sZXR0ZXItc3BhY2luZ18oLjI1LCAyLjEyNSksXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQsXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdFxuICAgICksXG4gICAgaGVhZGxpbmU1OiAoXG4gICAgICBmb250LXNpemU6IDEuNXJlbSwgLy8gMjRzcFxuICAgICAgbGluZS1oZWlnaHQ6IDJyZW0sIC8vIDMyc3BcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIHJlZ3VsYXIpLFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbCxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdCxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0XG4gICAgKSxcbiAgICBoZWFkbGluZTY6IChcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbSwgLy8gMjBzcFxuICAgICAgbGluZS1oZWlnaHQ6IDJyZW0sIC8vIDMyc3BcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIG1lZGl1bSksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXyguMjUsIDEuMjUpLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0LFxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXRcbiAgICApLFxuICAgIHN1YnRpdGxlMTogKFxuICAgICAgZm9udC1zaXplOiAxcmVtLCAvLyAxNnNwXG4gICAgICBsaW5lLWhlaWdodDogMS43NXJlbSwgLy8gMjhzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgcmVndWxhciksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXyguMTUsIDEpLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0LFxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXRcbiAgICApLFxuICAgIHN1YnRpdGxlMjogKFxuICAgICAgZm9udC1zaXplOiAuODc1cmVtLCAvLyAxNHNwXG4gICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW0sIC8vIDIyc3BcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIG1lZGl1bSksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXyguMSwgLjg3NSksXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQsXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdFxuICAgICksXG4gICAgYm9keTE6IChcbiAgICAgIGZvbnQtc2l6ZTogMXJlbSwgLy8gMTZzcFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbSwgLy8gMjRzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgcmVndWxhciksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXyguNSwgMSksXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQsXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdFxuICAgICksXG4gICAgYm9keTI6IChcbiAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbSwgLy8gMTRzcFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW0sIC8vIDIwc3BcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIHJlZ3VsYXIpLFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IG1kYy10eXBvZ3JhcGh5LWdldC1sZXR0ZXItc3BhY2luZ18oLjI1LCAuODc1KSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdCxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0XG4gICAgKSxcbiAgICBjYXB0aW9uOiAoXG4gICAgICBmb250LXNpemU6IC43NXJlbSwgLy8gMTJzcFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW0sIC8vIDIwc3BcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIHJlZ3VsYXIpLFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IG1kYy10eXBvZ3JhcGh5LWdldC1sZXR0ZXItc3BhY2luZ18oLjQsIC43NSksXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQsXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdFxuICAgICksXG4gICAgYnV0dG9uOiAoXG4gICAgICBmb250LXNpemU6IC44NzVyZW0sIC8vIDE0c3BcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtLCAvLyAzNnNwXG4gICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWRjLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdmFsdWVzLCBtZWRpdW0pLFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IG1kYy10eXBvZ3JhcGh5LWdldC1sZXR0ZXItc3BhY2luZ18oMS4yNSwgLjg3NSksXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUsXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlXG4gICAgKSxcbiAgICBvdmVybGluZTogKFxuICAgICAgZm9udC1zaXplOiAuNzVyZW0sIC8vIDEyc3BcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtLCAvLyAzMnNwXG4gICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWRjLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdmFsdWVzLCBtZWRpdW0pLFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IG1kYy10eXBvZ3JhcGh5LWdldC1sZXR0ZXItc3BhY2luZ18oMiwgLjc1KSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2VcbiAgICApLFxuICApXG4pICFkZWZhdWx0O1xuIiwiXG4vL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGZ1bmN0aW9uIG1kYy10eXBvZ3JhcGh5LWdldC1nbG9iYWwtdmFyaWFibGVfKCRzdHlsZSkge1xuICBAaWYgJHN0eWxlID09IFwiaGVhZGxpbmUxXCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1oZWFkbGluZTE7XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwiaGVhZGxpbmUyXCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1oZWFkbGluZTI7XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwiaGVhZGxpbmUzXCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1oZWFkbGluZTM7XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwiaGVhZGxpbmU0XCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1oZWFkbGluZTQ7XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwiaGVhZGxpbmU1XCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1oZWFkbGluZTU7XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwiaGVhZGxpbmU2XCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1oZWFkbGluZTY7XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwic3VidGl0bGUxXCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1zdWJ0aXRsZTE7XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwic3VidGl0bGUyXCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1zdWJ0aXRsZTI7XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwiYm9keTFcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWJvZHkxO1xuICB9IEBlbHNlIGlmICRzdHlsZSA9PSBcImJvZHkyXCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1ib2R5MjtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJjYXB0aW9uXCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1jYXB0aW9uO1xuICB9IEBlbHNlIGlmICRzdHlsZSA9PSBcImJ1dHRvblwiIHtcbiAgICBAcmV0dXJuICRtZGMtdHlwb2dyYXBoeS1zdHlsZXMtYnV0dG9uO1xuICB9IEBlbHNlIGlmICRzdHlsZSA9PSBcIm92ZXJsaW5lXCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1vdmVybGluZTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gbWRjLXR5cG9ncmFwaHktc2V0LXN0eWxlc18oJGJhc2Utc3R5bGVzLCAkc2NhbGUtc3R5bGVzKSB7XG4gIEBlYWNoICRzdHlsZSwgJHN0eWxlLXByb3BzIGluICRzY2FsZS1zdHlsZXMge1xuXG4gICAgLy8gTWVyZ2UgYmFzZSBwcm9wZXJ0aWVzIGZvciBhbGwgc3R5bGVzLlxuICAgICRzdHlsZS1wcm9wczogbWFwLW1lcmdlKCRiYXNlLXN0eWxlcywgJHN0eWxlLXByb3BzKTtcblxuICAgIC8vIE1lcmdlIGdsb2JhbCBvdmVycmlkZXMgb250byBlYWNoIHN0eWxlLlxuICAgIEBpZiBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKHVucXVvdGUoXCJtZGMtdHlwb2dyYXBoeS1zdHlsZXMtI3skc3R5bGV9XCIpKSB7XG4gICAgICAkc3R5bGUtcHJvcHM6IG1hcC1tZXJnZSgkc3R5bGUtcHJvcHMsIG1kYy10eXBvZ3JhcGh5LWdldC1nbG9iYWwtdmFyaWFibGVfKCN7JHN0eWxlfSkpO1xuICAgIH1cblxuICAgIC8vIE92ZXJyaWRlIG9yaWdpbmFsIHN0eWxlcyB3aXRoIG5ldyBzdHlsZXMuXG4gICAgJHNjYWxlLXN0eWxlczogbWFwLW1lcmdlKCRzY2FsZS1zdHlsZXMsICgjeyRzdHlsZX06ICRzdHlsZS1wcm9wcykpO1xuICB9XG5cbiAgQHJldHVybiAkc2NhbGUtc3R5bGVzO1xufVxuXG5AZnVuY3Rpb24gbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXygkdHJhY2tpbmcsICRmb250LXNpemUpIHtcbiAgQHJldHVybiAkdHJhY2tpbmcgLyAoJGZvbnQtc2l6ZSAqIDE2KSAqIDFlbTtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kbWRjLWJ1dHRvbi1oZWlnaHQ6IDM2cHggIWRlZmF1bHQ7XG4kbWRjLWJ1dHRvbi1ob3Jpem9udGFsLXBhZGRpbmc6IDhweCAhZGVmYXVsdDtcbiRtZGMtYnV0dG9uLWNvbnRhaW5lZC1ob3Jpem9udGFsLXBhZGRpbmc6IDE2cHggIWRlZmF1bHQ7XG4kbWRjLWRlbnNlLWJ1dHRvbi1oZWlnaHQ6IDMycHggIWRlZmF1bHQ7XG5cbiRtZGMtYnV0dG9uLWRpc2FibGVkLWluay1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjM3KSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xuXG5AbWl4aW4gbWRjLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8vIEV2ZW4gaWYgJHJ0bC1yZWZsZXhpdmUgaXMgdHJ1ZSwgb25seSBlbWl0IFJUTCBzdHlsZXMgaWYgd2UgY2FuJ3QgZWFzaWx5IHRlbGwgdGhhdCB0aGUgZ2l2ZW4gcmFkaXVzIGlzIHN5bW1ldHJpY2FsXG4gICAgJG5lZWRzLWZsaXA6ICRydGwtcmVmbGV4aXZlIGFuZCBsZW5ndGgoJHJhZGl1cykgPiAxO1xuXG4gICAgQGlmICgkbmVlZHMtZmxpcCkge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgIH1cblxuICAgIGJvcmRlci1yYWRpdXM6IG1kYy1zaGFwZS1wcm9wLXZhbHVlKCRyYWRpdXMpO1xuXG4gICAgQGlmICgkbmVlZHMtZmxpcCkge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgYm9yZGVyLXJhZGl1czogbWRjLXNoYXBlLWZsaXAtcmFkaXVzKG1kYy1zaGFwZS1wcm9wLXZhbHVlKCRyYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4vLyBTaGFwZSBjYXRlZ29yaWVzXG4kbWRjLXNoYXBlLXNtYWxsLWNvbXBvbmVudC1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbiRtZGMtc2hhcGUtbWVkaXVtLWNvbXBvbmVudC1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbiRtZGMtc2hhcGUtbGFyZ2UtY29tcG9uZW50LXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8gU2hhcGUgY2F0ZWdvcnkgbWFwcGluZy5cbiRtZGMtc2hhcGUtY2F0ZWdvcnktdmFsdWVzOiAoXG4gIHNtYWxsOiAkbWRjLXNoYXBlLXNtYWxsLWNvbXBvbmVudC1yYWRpdXMsXG4gIG1lZGl1bTogJG1kYy1zaGFwZS1tZWRpdW0tY29tcG9uZW50LXJhZGl1cyxcbiAgbGFyZ2U6ICRtZGMtc2hhcGUtbGFyZ2UtY29tcG9uZW50LXJhZGl1cyxcbikgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi9mdW5jdGlvbnNcIjtcblxuQG1peGluIG1kYy10aGVtZS1jb3JlLXN0eWxlcygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIDpyb290IHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAZWFjaCAkc3R5bGUgaW4gbWFwLWtleXMoJG1kYy10aGVtZS1wcm9wZXJ0eS12YWx1ZXMpIHtcbiAgICAgICAgLS1tZGMtdGhlbWUtI3skc3R5bGV9OiAje21hcC1nZXQoJG1kYy10aGVtZS1wcm9wZXJ0eS12YWx1ZXMsICRzdHlsZSl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRzdHlsZSBpbiBtYXAta2V5cygkbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlcykge1xuICAgIEBpZiAkc3R5bGUgIT0gXCJiYWNrZ3JvdW5kXCIgYW5kICRzdHlsZSAhPSBcInN1cmZhY2VcIiB7XG4gICAgICAubWRjLXRoZW1lLS0jeyRzdHlsZX0ge1xuICAgICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRzdHlsZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIC5tZGMtdGhlbWUtLSN7JHN0eWxlfSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkc3R5bGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ1NTIHJ1bGVzIGZvciB1c2luZyBwcmltYXJ5IGFuZCBzZWNvbmRhcnkgKHBsdXMgbGlnaHQvZGFyayB2YXJpYW50cykgYXMgYmFja2dyb3VuZCBjb2xvcnMuXG4gIEBlYWNoICRzdHlsZSBpbiAoXCJwcmltYXJ5XCIsIFwic2Vjb25kYXJ5XCIpIHtcbiAgICAubWRjLXRoZW1lLS0jeyRzdHlsZX0tYmcge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkc3R5bGUsIHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IHRoZW1lIGNvbG9yIHN0eWxlIHRvIHRoZSBzcGVjaWZpZWQgcHJvcGVydHkuXG4vLyAkcHJvcGVydHkgaXMgdHlwaWNhbGx5IGNvbG9yIG9yIGJhY2tncm91bmQtY29sb3IsIGJ1dCBjYW4gYmUgYW55IENTUyBwcm9wZXJ0eSB0aGF0IGFjY2VwdHMgY29sb3IgdmFsdWVzLlxuLy8gJHN0eWxlIHNob3VsZCBiZSBvbmUgb2YgdGhlIG1hcCBrZXlzIGluICRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzIChfdmFyaWFibGVzLnNjc3MpLCBvciBhIGNvbG9yIHZhbHVlLlxuLy8gJGVkZ2VPcHRPdXQgY29udHJvbHMgd2hldGhlciB0byBmZWF0dXJlLWRldGVjdCBhcm91bmQgRWRnZSB0byBhdm9pZCBlbWl0dGluZyBDU1MgdmFyaWFibGVzIGZvciBpdCxcbi8vIGludGVuZGVkIGZvciB1c2UgaW4gY2FzZXMgd2hlcmUgaW50ZXJhY3Rpb25zIHdpdGggcHNldWRvLWVsZW1lbnQgc3R5bGVzIGNhdXNlIHByb2JsZW1zIGR1ZSB0byBFZGdlIGJ1Z3MuXG5AbWl4aW4gbWRjLXRoZW1lLXByb3AoJHByb3BlcnR5LCAkc3R5bGUsICRpbXBvcnRhbnQ6IGZhbHNlLCAkZWRnZU9wdE91dDogZmFsc2UpIHtcbiAgQGlmIG1kYy10aGVtZS1pcy12YXItd2l0aC1mYWxsYmFja18oJHN0eWxlKSB7XG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgI3skcHJvcGVydHl9OiBtZGMtdGhlbWUtZ2V0LXZhci1mYWxsYmFja18oJHN0eWxlKSAhaW1wb3J0YW50O1xuICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgI3skcHJvcGVydHl9OiBtZGMtdGhlbWUtdmFyXygkc3R5bGUpICFpbXBvcnRhbnQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAjeyRwcm9wZXJ0eX06IG1kYy10aGVtZS1nZXQtdmFyLWZhbGxiYWNrXygkc3R5bGUpO1xuICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgI3skcHJvcGVydHl9OiBtZGMtdGhlbWUtdmFyXygkc3R5bGUpO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBtZGMtdGhlbWUtaXMtdmFsaWQtdGhlbWUtcHJvcC12YWx1ZV8oJHN0eWxlKSB7XG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgI3skcHJvcGVydHl9OiAkc3R5bGUgIWltcG9ydGFudDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHN0eWxlO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlcywgJHN0eWxlKSB7XG4gICAgICBAZXJyb3IgXCJJbnZhbGlkIHN0eWxlOiAnI3skc3R5bGV9Jy4gQ2hvb3NlIG9uZSBvZjogI3ttYXAta2V5cygkbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlcyl9XCI7XG4gICAgfVxuXG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpO1xuXG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgIWltcG9ydGFudDtcblxuICAgICAgQGlmICRlZGdlT3B0T3V0IHtcbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbWF4LW5lc3RpbmctZGVwdGhcbiAgICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAgIC8vIElFIDExIGRvZXNuJ3QgdW5kZXJzdGFuZCB0aGlzIHN5bnRheCBhbmQgaWdub3JlcyB0aGUgZW50aXJlIGJsb2NrLlxuICAgICAgICAgIC8vIEVkZ2UgdW5kZXJzdGFuZHMgdGhpcyBzeW50YXggYW5kIHNraXBzIHRoZSBlbnRpcmUgYmxvY2sgdG8gYXZvaWQgYSBuYXN0eSA6YmVmb3JlLzphZnRlciBwc2V1ZG8tZWxlbWVudCBidWcuXG4gICAgICAgICAgLy8gQWxsIG90aGVyIGJyb3dzZXJzIGFwcGx5IHRoZSBzdHlsZXMgd2l0aGluIHRoZSBibG9jay5cbiAgICAgICAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL3NlbGVjdG9yLW5vLXJlZHVuZGFudC1uZXN0aW5nLXNlbGVjdG9yXG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06IHZhcigtLW1kYy10aGVtZS0jeyRzdHlsZX0sICR2YWx1ZSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2Nzcy9zZWxlY3Rvci1uby1yZWR1bmRhbnQtbmVzdGluZy1zZWxlY3RvclxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG1heC1uZXN0aW5nLWRlcHRoXG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICAjeyRwcm9wZXJ0eX06IHZhcigtLW1kYy10aGVtZS0jeyRzdHlsZX0sICR2YWx1ZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuXG4gICAgICBAaWYgJGVkZ2VPcHRPdXQge1xuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aFxuICAgICAgICBAYXQtcm9vdCB7XG4gICAgICAgICAgLy8gSUUgMTEgZG9lc24ndCB1bmRlcnN0YW5kIHRoaXMgc3ludGF4IGFuZCBpZ25vcmVzIHRoZSBlbnRpcmUgYmxvY2suXG4gICAgICAgICAgLy8gRWRnZSB1bmRlcnN0YW5kcyB0aGlzIHN5bnRheCBhbmQgc2tpcHMgdGhlIGVudGlyZSBibG9jayB0byBhdm9pZCBhIG5hc3R5IDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVtZW50IGJ1Zy5cbiAgICAgICAgICAvLyBBbGwgb3RoZXIgYnJvd3NlcnMgYXBwbHkgdGhlIHN0eWxlcyB3aXRoaW4gdGhlIGJsb2NrLlxuICAgICAgICAgIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3Mvc2VsZWN0b3Itbm8tcmVkdW5kYW50LW5lc3Rpbmctc2VsZWN0b3JcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgICAgICAgICN7JHByb3BlcnR5fTogdmFyKC0tbWRjLXRoZW1lLSN7JHN0eWxlfSwgJHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2Nzcy9zZWxlY3Rvci1uby1yZWR1bmRhbnQtbmVzdGluZy1zZWxlY3RvclxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG1heC1uZXN0aW5nLWRlcHRoXG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICAjeyRwcm9wZXJ0eX06IHZhcigtLW1kYy10aGVtZS0jeyRzdHlsZX0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4vZnVuY3Rpb25zXCI7XG5cbi8vXG4vLyBNYWluIHRoZW1lIGNvbG9ycyBmb3IgeW91ciBicmFuZC5cbi8vXG4vLyBJZiB5b3UncmUgYSB1c2VyIGN1c3RvbWl6aW5nIHlvdXIgY29sb3Igc2NoZW1lIGluIFNBU1MsIHRoZXNlIGFyZSBwcm9iYWJseSB0aGUgb25seSB2YXJpYWJsZXMgeW91IG5lZWQgdG8gY2hhbmdlLlxuLy9cblxuJG1kYy10aGVtZS1wcmltYXJ5OiAjNjIwMGVlICFkZWZhdWx0OyAvLyBiYXNlbGluZSBwdXJwbGUsIDUwMCB0b25lXG4kbWRjLXRoZW1lLW9uLXByaW1hcnk6IGlmKG1kYy10aGVtZS1jb250cmFzdC10b25lKCRtZGMtdGhlbWUtcHJpbWFyeSkgPT0gXCJkYXJrXCIsICMwMDAsICNmZmYpICFkZWZhdWx0O1xuXG4vLyBUaGUgJG1kYy10aGVtZS1hY2NlbnQgdmFyaWFibGUgaXMgREVQUkVDQVRFRCAtIGl0IGV4aXN0cyBwdXJlbHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4vLyBUaGUgJG1kYy10aGVtZS1zZWNvbmRhcnkqIHZhcmlhYmxlcyBzaG91bGQgYmUgdXNlZCBmb3IgYWxsIG5ldyBwcm9qZWN0cy5cbiRtZGMtdGhlbWUtYWNjZW50OiAjMDE4Nzg2ICFkZWZhdWx0OyAvLyBiYXNlbGluZSB0ZWFsLCA2MDAgdG9uZVxuJG1kYy10aGVtZS1zZWNvbmRhcnk6ICRtZGMtdGhlbWUtYWNjZW50ICFkZWZhdWx0O1xuJG1kYy10aGVtZS1vbi1zZWNvbmRhcnk6IGlmKG1kYy10aGVtZS1jb250cmFzdC10b25lKCRtZGMtdGhlbWUtc2Vjb25kYXJ5KSA9PSBcImRhcmtcIiwgIzAwMCwgI2ZmZikgIWRlZmF1bHQ7XG4kbWRjLXRoZW1lLWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7IC8vIFdoaXRlXG5cbiRtZGMtdGhlbWUtc3VyZmFjZTogI2ZmZiAhZGVmYXVsdDtcbiRtZGMtdGhlbWUtb24tc3VyZmFjZTogaWYobWRjLXRoZW1lLWNvbnRyYXN0LXRvbmUoJG1kYy10aGVtZS1zdXJmYWNlKSA9PSBcImRhcmtcIiwgIzAwMCwgI2ZmZikgIWRlZmF1bHQ7XG5cbiRtZGMtdGhlbWUtZXJyb3I6ICNiMDAwMjAgIWRlZmF1bHQ7XG4kbWRjLXRoZW1lLW9uLWVycm9yOiBpZihtZGMtdGhlbWUtY29udHJhc3QtdG9uZSgkbWRjLXRoZW1lLWVycm9yKSA9PSBcImRhcmtcIiwgIzAwMCwgI2ZmZikgIWRlZmF1bHQ7XG5cbi8vXG4vLyBUZXh0IGNvbG9ycyBhY2NvcmRpbmcgdG8gbGlnaHQgdnMgZGFyayBhbmQgdGV4dCB0eXBlLlxuLy9cblxuJG1kYy10aGVtZS10ZXh0LWNvbG9yczogKFxuICBkYXJrOiAoXG4gICAgcHJpbWFyeTogcmdiYShibGFjaywgLjg3KSxcbiAgICBzZWNvbmRhcnk6IHJnYmEoYmxhY2ssIC41NCksXG4gICAgaGludDogcmdiYShibGFjaywgLjM4KSxcbiAgICBkaXNhYmxlZDogcmdiYShibGFjaywgLjM4KSxcbiAgICBpY29uOiByZ2JhKGJsYWNrLCAuMzgpXG4gICksXG4gIGxpZ2h0OiAoXG4gICAgcHJpbWFyeTogd2hpdGUsXG4gICAgc2Vjb25kYXJ5OiByZ2JhKHdoaXRlLCAuNyksXG4gICAgaGludDogcmdiYSh3aGl0ZSwgLjUpLFxuICAgIGRpc2FibGVkOiByZ2JhKHdoaXRlLCAuNSksXG4gICAgaWNvbjogcmdiYSh3aGl0ZSwgLjUpXG4gIClcbikgIWRlZmF1bHQ7XG5cbiRtZGMtdGhlbWUtdGV4dC1lbXBoYXNpczogKFxuICBoaWdoOiAuODcsXG4gIG1lZGl1bTogLjYsXG4gIGRpc2FibGVkOiAuMzgsXG4pICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oJHRleHQtc3R5bGUsICRmaWxsLWNvbG9yKSB7XG4gICRjb250cmFzdC10b25lOiBtZGMtdGhlbWUtY29udHJhc3QtdG9uZSgkZmlsbC1jb2xvcik7XG5cbiAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJG1kYy10aGVtZS10ZXh0LWNvbG9ycywgJGNvbnRyYXN0LXRvbmUpLCAkdGV4dC1zdHlsZSk7XG59XG5cbi8vXG4vLyBQcmltYXJ5IHRleHQgY29sb3JzIGZvciBlYWNoIG9mIHRoZSB0aGVtZSBjb2xvcnMuXG4vL1xuXG4kbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlczogKFxuICAvLyBQcmltYXJ5XG4gIHByaW1hcnk6ICRtZGMtdGhlbWUtcHJpbWFyeSxcbiAgLy8gU2Vjb25kYXJ5XG4gIHNlY29uZGFyeTogJG1kYy10aGVtZS1zZWNvbmRhcnksXG4gIC8vIEJhY2tncm91bmRcbiAgYmFja2dyb3VuZDogJG1kYy10aGVtZS1iYWNrZ3JvdW5kLFxuICAvLyBTdXJmYWNlXG4gIHN1cmZhY2U6ICRtZGMtdGhlbWUtc3VyZmFjZSxcbiAgLy8gRXJyb3JcbiAgZXJyb3I6ICRtZGMtdGhlbWUtZXJyb3IsXG4gIG9uLXByaW1hcnk6ICRtZGMtdGhlbWUtb24tcHJpbWFyeSxcbiAgb24tc2Vjb25kYXJ5OiAkbWRjLXRoZW1lLW9uLXNlY29uZGFyeSxcbiAgb24tc3VyZmFjZTogJG1kYy10aGVtZS1vbi1zdXJmYWNlLFxuICBvbi1lcnJvcjogJG1kYy10aGVtZS1vbi1lcnJvcixcbiAgLy8gVGV4dC1wcmltYXJ5IG9uIFwiYmFja2dyb3VuZFwiIGJhY2tncm91bmRcbiAgdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQ6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKHByaW1hcnksICRtZGMtdGhlbWUtYmFja2dyb3VuZCksXG4gIHRleHQtc2Vjb25kYXJ5LW9uLWJhY2tncm91bmQ6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKHNlY29uZGFyeSwgJG1kYy10aGVtZS1iYWNrZ3JvdW5kKSxcbiAgdGV4dC1oaW50LW9uLWJhY2tncm91bmQ6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKGhpbnQsICRtZGMtdGhlbWUtYmFja2dyb3VuZCksXG4gIHRleHQtZGlzYWJsZWQtb24tYmFja2dyb3VuZDogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oZGlzYWJsZWQsICRtZGMtdGhlbWUtYmFja2dyb3VuZCksXG4gIHRleHQtaWNvbi1vbi1iYWNrZ3JvdW5kOiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhpY29uLCAkbWRjLXRoZW1lLWJhY2tncm91bmQpLFxuICAvLyBUZXh0LXByaW1hcnkgb24gXCJsaWdodFwiIGJhY2tncm91bmRcbiAgdGV4dC1wcmltYXJ5LW9uLWxpZ2h0OiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhwcmltYXJ5LCBsaWdodCksXG4gIHRleHQtc2Vjb25kYXJ5LW9uLWxpZ2h0OiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhzZWNvbmRhcnksIGxpZ2h0KSxcbiAgdGV4dC1oaW50LW9uLWxpZ2h0OiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhoaW50LCBsaWdodCksXG4gIHRleHQtZGlzYWJsZWQtb24tbGlnaHQ6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKGRpc2FibGVkLCBsaWdodCksXG4gIHRleHQtaWNvbi1vbi1saWdodDogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oaWNvbiwgbGlnaHQpLFxuICAvLyBUZXh0LXByaW1hcnkgb24gXCJkYXJrXCIgYmFja2dyb3VuZFxuICB0ZXh0LXByaW1hcnktb24tZGFyazogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8ocHJpbWFyeSwgZGFyayksXG4gIHRleHQtc2Vjb25kYXJ5LW9uLWRhcms6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKHNlY29uZGFyeSwgZGFyayksXG4gIHRleHQtaGludC1vbi1kYXJrOiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhoaW50LCBkYXJrKSxcbiAgdGV4dC1kaXNhYmxlZC1vbi1kYXJrOiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhkaXNhYmxlZCwgZGFyayksXG4gIHRleHQtaWNvbi1vbi1kYXJrOiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhpY29uLCBkYXJrKVxuKSAhZGVmYXVsdDtcblxuLy8gSWYgYCRzdHlsZWAgaXMgYSBjb2xvciAoYSBsaXRlcmFsIGNvbG9yIHZhbHVlLCBgY3VycmVudENvbG9yYCwgb3IgYSBDU1MgY3VzdG9tIHByb3BlcnR5KSwgaXQgaXMgcmV0dXJuZWQgdmVyYmF0aW0uXG4vLyBPdGhlcndpc2UsIGAkc3R5bGVgIGlzIHRyZWF0ZWQgYXMgYSB0aGVtZSBwcm9wZXJ0eSBuYW1lLCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWUgZnJvbVxuLy8gYCRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzYCBpcyByZXR1cm5lZC4gSWYgdGhpcyBhbHNvIGZhaWxzLCBhbiBlcnJvciBpcyB0aHJvd24uXG4vL1xuLy8gVGhpcyBpcyBtYWlubHkgdXNlZnVsIGluIHNpdHVhdGlvbnMgd2hlcmUgYG1kYy10aGVtZS1wcm9wYCBjYW5ub3QgYmUgdXNlZCBkaXJlY3RseSAoZS5nLiwgYGJveC1zaGFkb3dgKS5cbi8vXG4vLyBFeGFtcGxlczpcbi8vXG4vLyAxLiBtZGMtdGhlbWUtcHJvcC12YWx1ZShwcmltYXJ5KSA9PiBcIiM2MjAwZWVcIlxuLy8gMi4gbWRjLXRoZW1lLXByb3AtdmFsdWUoYmx1ZSkgICAgPT4gXCJibHVlXCJcbi8vXG4vLyBOT1RFOiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgZGVmaW5lZCBpbiBfdmFyaWFibGVzLnNjc3MgaW5zdGVhZCBvZiBfZnVuY3Rpb25zLnNjc3MgdG8gYXZvaWQgY2lyY3VsYXIgaW1wb3J0cy5cbkBmdW5jdGlvbiBtZGMtdGhlbWUtcHJvcC12YWx1ZSgkc3R5bGUpIHtcbiAgQGlmIG1kYy10aGVtZS1pcy12YXItd2l0aC1mYWxsYmFja18oJHN0eWxlKSB7XG4gICAgQHJldHVybiBtZGMtdGhlbWUtZ2V0LXZhci1mYWxsYmFja18oJHN0eWxlKTtcbiAgfVxuXG4gIEBpZiBtZGMtdGhlbWUtaXMtdmFsaWQtdGhlbWUtcHJvcC12YWx1ZV8oJHN0eWxlKSB7XG4gICAgQHJldHVybiAkc3R5bGU7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHRoZW1lIHByb3BlcnR5OiAnI3skc3R5bGV9Jy4gQ2hvb3NlIG9uZSBvZjogI3ttYXAta2V5cygkbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlcyl9XCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJG1kYy10aGVtZS1wcm9wZXJ0eS12YWx1ZXMsICRzdHlsZSk7XG59XG5cbi8vIE5PVEU6IFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBkZWZpbmVkIGluIF92YXJpYWJsZXMuc2NzcyBpbnN0ZWFkIG9mIF9mdW5jdGlvbnMuc2NzcyB0byBhdm9pZCBjaXJjdWxhciBpbXBvcnRzLlxuQGZ1bmN0aW9uIG1kYy10aGVtZS1hY2Nlc3NpYmxlLWluay1jb2xvcigkZmlsbC1jb2xvciwgJHRleHQtc3R5bGU6IHByaW1hcnkpIHtcbiAgJGZpbGwtY29sb3ItdmFsdWU6IG1kYy10aGVtZS1wcm9wLXZhbHVlKCRmaWxsLWNvbG9yKTtcbiAgJGNvbG9yLW1hcC1mb3ItdG9uZTogbWFwLWdldCgkbWRjLXRoZW1lLXRleHQtY29sb3JzLCBtZGMtdGhlbWUtY29udHJhc3QtdG9uZSgkZmlsbC1jb2xvci12YWx1ZSkpO1xuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGNvbG9yLW1hcC1mb3ItdG9uZSwgJHRleHQtc3R5bGUpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkICR0ZXh0LXN0eWxlOiAnI3skdGV4dC1zdHlsZX0nLiBDaG9vc2Ugb25lIG9mOiAje21hcC1rZXlzKCRjb2xvci1tYXAtZm9yLXRvbmUpfVwiO1xuICB9XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvci1tYXAtZm9yLXRvbmUsICR0ZXh0LXN0eWxlKTtcbn1cblxuLy8gTk9URTogVGhpcyBmdW5jdGlvbiBpcyBkZXBlbmRlZCB1cG9uIGJ5IG1kYy10aGVtZS1wcm9wLXZhbHVlIChhYm92ZSkgYW5kIHRodXMgbXVzdCBiZSBkZWZpbmVkIGluIHRoaXMgZmlsZS5cbkBmdW5jdGlvbiBtZGMtdGhlbWUtaXMtdmFsaWQtdGhlbWUtcHJvcC12YWx1ZV8oJHN0eWxlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkc3R5bGUpID09IFwiY29sb3JcIiBvciAkc3R5bGUgPT0gXCJjdXJyZW50Q29sb3JcIiBvciBzdHJfc2xpY2UoJHN0eWxlLCAxLCA0KSA9PSBcInZhcihcIjtcbn1cblxuQGZ1bmN0aW9uIG1kYy10aGVtZS10ZXh0LWVtcGhhc2lzKCRlbXBoYXNpcykge1xuICBAcmV0dXJuIG1hcC1nZXQoJG1kYy10aGVtZS10ZXh0LWVtcGhhc2lzLCAkZW1waGFzaXMpO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbi8vIENyZWF0ZXMgYSBydWxlIHRoYXQgd2lsbCBiZSBhcHBsaWVkIHdoZW4gYW4gTURDIFdlYiBjb21wb25lbnQgaXMgd2l0aGluIHRoZSBjb250ZXh0IG9mIGFuIFJUTCBsYXlvdXQuXG4vL1xuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgbGVmdDogMDtcbi8vXG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwge1xuLy8gICAgIGxlZnQ6IGF1dG87XG4vLyAgICAgcmlnaHQ6IDA7XG4vLyAgIH1cbi8vXG4vLyAgICZfX2JhciB7XG4vLyAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbi8vICAgICBAaW5jbHVkZSBtZGMtcnRsKFwiLm1kYy1mb29cIikge1xuLy8gICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLyAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbi8vICAgICB9XG4vLyAgIH1cbi8vIH1cbi8vXG4vLyAubWRjLWZvby0tbW9kIHtcbi8vICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4vL1xuLy8gICBAaW5jbHVkZSBtZGMtcnRsIHtcbi8vICAgICBwYWRkaW5nLWxlZnQ6IGF1dG87XG4vLyAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBOb3RlIHRoYXQgdGhpcyBtaXhpbiB3b3JrcyBieSBjaGVja2luZyBmb3IgYW4gYW5jZXN0b3IgZWxlbWVudCB3aXRoIGBbZGlyPVwicnRsXCJdYC5cbi8vIEFzIGEgcmVzdWx0LCBuZXN0ZWQgYGRpcmAgdmFsdWVzIGFyZSBub3Qgc3VwcG9ydGVkOlxuLy9cbi8vIGBgYGh0bWxcbi8vIDxodG1sIGRpcj1cInJ0bFwiPlxuLy8gICA8IS0tIC4uLiAtLT5cbi8vICAgPGRpdiBkaXI9XCJsdHJcIj5cbi8vICAgICA8ZGl2IGNsYXNzPVwibWRjLWZvb1wiPlN0eWxlZCBpbmNvcnJlY3RseSBhcyBSVEwhPC9kaXY+XG4vLyAgIDwvZGl2PlxuLy8gPC9odG1sPlxuLy8gYGBgXG4vL1xuLy8gSW4gdGhlIGZ1dHVyZSwgc2VsZWN0b3JzIHN1Y2ggYXMgdGhlIGA6ZGlyYCBwc2V1ZG8tY2xhc3MgKGh0dHA6Ly9tZG4uaW8vY3NzLzpkaXIpIHdpbGwgaGVscCB1cyBtaXRpZ2F0ZSB0aGlzLlxuQG1peGluIG1kYy1ydGwoJHJvb3Qtc2VsZWN0b3I6IG51bGwpIHtcbiAgQGlmICgkcm9vdC1zZWxlY3Rvcikge1xuICAgIEBhdC1yb290IHtcbiAgICAgICN7JHJvb3Qtc2VsZWN0b3J9W2Rpcj1cInJ0bFwiXSAmLFxuICAgICAgW2Rpcj1cInJ0bFwiXSAjeyRyb290LXNlbGVjdG9yfSAmIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBbZGlyPVwicnRsXCJdICYsXG4gICAgJltkaXI9XCJydGxcIl0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFRha2VzIGEgYmFzZSBib3gtbW9kZWwgcHJvcGVydHkgbmFtZSAoYG1hcmdpbmAsIGBib3JkZXJgLCBgcGFkZGluZ2AsIGV0Yy4pIGFsb25nIHdpdGggYVxuLy8gZGVmYXVsdCBkaXJlY3Rpb24gKGBsZWZ0YCBvciBgcmlnaHRgKSBhbmQgdmFsdWUsIGFuZCBlbWl0cyBydWxlcyB3aGljaCBhcHBseSB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlXG4vLyBzcGVjaWZpZWQgZGlyZWN0aW9uIGJ5IGRlZmF1bHQgYW5kIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gaW4gUlRMLlxuLy9cbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgOHB4KTtcbi8vIH1cbi8vIGBgYFxuLy9cbi8vIGlzIGVxdWl2YWxlbnQgdG86XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBtYXJnaW4tbGVmdDogOHB4O1xuLy8gICBtYXJnaW4tcmlnaHQ6IDA7XG4vL1xuLy8gICBAaW5jbHVkZSBtZGMtcnRsIHtcbi8vICAgICBtYXJnaW4tbGVmdDogMDtcbi8vICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbi8vICAgfVxuLy8gfVxuLy8gYGBgXG4vL1xuLy8gd2hlcmVhczpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIHJpZ2h0LCA4cHgpO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8gICBtYXJnaW4tcmlnaHQ6IDhweDtcbi8vXG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwge1xuLy8gICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBZb3UgY2FuIGFsc28gcGFzcyBhbiBvcHRpb25hbCA0dGggYCRyb290LXNlbGVjdG9yYCBhcmd1bWVudCB3aGljaCB3aWxsIGJlIGZvcndhcmRlZCB0byBgbWRjLXJ0bGAsXG4vLyBlLmcuIGBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCBsZWZ0LCA4cHgsIFwiLm1kYy1jb21wb25lbnRcIilgLlxuLy9cbi8vIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIHdpbGwgYWx3YXlzIHplcm8gb3V0IHRoZSBvcmlnaW5hbCB2YWx1ZSBpbiBhbiBSVEwgY29udGV4dC5cbi8vIElmIHlvdSdyZSB0cnlpbmcgdG8gZmxpcCB0aGUgdmFsdWVzLCB1c2UgYG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KClgIGluc3RlYWQuXG5AbWl4aW4gbWRjLXJ0bC1yZWZsZXhpdmUtYm94KCRiYXNlLXByb3BlcnR5LCAkZGVmYXVsdC1kaXJlY3Rpb24sICR2YWx1ZSwgJHJvb3Qtc2VsZWN0b3I6IG51bGwpIHtcbiAgQGlmIChpbmRleCgocmlnaHQsIGxlZnQpLCAkZGVmYXVsdC1kaXJlY3Rpb24pID09IG51bGwpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGRlZmF1bHQgZGlyZWN0aW9uOiAnI3skZGVmYXVsdC1kaXJlY3Rpb259Jy4gUGxlYXNlIHNwZWNpZml5IGVpdGhlciAncmlnaHQnIG9yICdsZWZ0Jy5cIjtcbiAgfVxuXG4gICRsZWZ0LXZhbHVlOiAkdmFsdWU7XG4gICRyaWdodC12YWx1ZTogMDtcblxuICBAaWYgKCRkZWZhdWx0LWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgICRsZWZ0LXZhbHVlOiAwO1xuICAgICRyaWdodC12YWx1ZTogJHZhbHVlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkoJGJhc2UtcHJvcGVydHksICRsZWZ0LXZhbHVlLCAkcmlnaHQtdmFsdWUsICRyb290LXNlbGVjdG9yKTtcbn1cblxuLy8gVGFrZXMgYSBiYXNlIHByb3BlcnR5IGFuZCBlbWl0cyBydWxlcyB0aGF0IGFzc2lnbiA8YmFzZS1wcm9wZXJ0eT4tbGVmdCB0byA8bGVmdC12YWx1ZT4gYW5kXG4vLyA8YmFzZS1wcm9wZXJ0eT4tcmlnaHQgdG8gPHJpZ2h0LXZhbHVlPiBpbiBhIExUUiBjb250ZXh0LCBhbmQgdmljZSB2ZXJzYSBpbiBhIFJUTCBjb250ZXh0LlxuLy8gRm9yIGV4YW1wbGU6XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShtYXJnaW4sIGF1dG8sIDEycHgpO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8gICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4vL1xuLy8gICBAaW5jbHVkZSBtZGMtcnRsIHtcbi8vICAgICBtYXJnaW4tbGVmdDogMTJweDtcbi8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIEFuIG9wdGlvbmFsIDR0aCBgJHJvb3Qtc2VsZWN0b3JgIGFyZ3VtZW50IGNhbiBiZSBnaXZlbiwgd2hpY2ggd2lsbCBiZSBwYXNzZWQgdG8gYG1kYy1ydGxgLlxuQG1peGluIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KCRiYXNlLXByb3BlcnR5LCAkbGVmdC12YWx1ZSwgJHJpZ2h0LXZhbHVlLCAkcm9vdC1zZWxlY3RvcjogbnVsbCkge1xuICAkcHJvcC1sZWZ0OiAjeyRiYXNlLXByb3BlcnR5fS1sZWZ0O1xuICAkcHJvcC1yaWdodDogI3skYmFzZS1wcm9wZXJ0eX0tcmlnaHQ7XG5cbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUoJHByb3AtbGVmdCwgJGxlZnQtdmFsdWUsICRwcm9wLXJpZ2h0LCAkcmlnaHQtdmFsdWUsICRyb290LXNlbGVjdG9yKTtcbn1cblxuLy8gVGFrZXMgYW4gYXJndW1lbnQgc3BlY2lmeWluZyBhIGhvcml6b250YWwgcG9zaXRpb24gcHJvcGVydHkgKGVpdGhlciBcImxlZnRcIiBvciBcInJpZ2h0XCIpIGFzIHdlbGxcbi8vIGFzIGEgdmFsdWUsIGFuZCBhcHBsaWVzIHRoYXQgdmFsdWUgdG8gdGhlIHNwZWNpZmllZCBwb3NpdGlvbiBpbiBhIExUUiBjb250ZXh0LCBhbmQgZmxpcHMgaXQgaW4gYVxuLy8gUlRMIGNvbnRleHQuIEZvciBleGFtcGxlOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgMCk7XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBpcyBlcXVpdmFsZW50IHRvOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgbGVmdDogMDtcbi8vICAgcmlnaHQ6IGluaXRpYWw7XG4vL1xuLy8gICBAaW5jbHVkZSBtZGMtcnRsIHtcbi8vICAgICBsZWZ0OiBpbml0aWFsO1xuLy8gICAgIHJpZ2h0OiAwO1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBBbiBvcHRpb25hbCB0aGlyZCAkcm9vdC1zZWxlY3RvciBhcmd1bWVudCBtYXkgYWxzbyBiZSBnaXZlbiwgd2hpY2ggaXMgcGFzc2VkIHRvIGBtZGMtcnRsYC5cbkBtaXhpbiBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbigkcG9zaXRpb24tcHJvcGVydHksICR2YWx1ZSwgJHJvb3Qtc2VsZWN0b3I6IG51bGwpIHtcbiAgQGlmIChpbmRleCgocmlnaHQsIGxlZnQpLCAkcG9zaXRpb24tcHJvcGVydHkpID09IG51bGwpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHBvc2l0aW9uICN7cG9zaXRpb24tcHJvcGVydHl9LiBQbGVhc2Ugc3BlY2lmaXkgZWl0aGVyIHJpZ2h0IG9yIGxlZnRcIjtcbiAgfVxuXG4gIC8vIFRPRE86IFwiaW5pdGlhbFwiIGlzIG5vdCBzdXBwb3J0ZWQgaW4gSUUgMTEuIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLWluaXRpYWwtdmFsdWVcbiAgJGxlZnQtdmFsdWU6ICR2YWx1ZTtcbiAgJHJpZ2h0LXZhbHVlOiBpbml0aWFsO1xuXG4gIEBpZiAoJHBvc2l0aW9uLXByb3BlcnR5ID09IHJpZ2h0KSB7XG4gICAgJHJpZ2h0LXZhbHVlOiAkdmFsdWU7XG4gICAgJGxlZnQtdmFsdWU6IGluaXRpYWw7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZShsZWZ0LCAkbGVmdC12YWx1ZSwgcmlnaHQsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3IpO1xufVxuXG4vLyBUYWtlcyBwYWlyIG9mIHByb3BlcnRpZXMgd2l0aCB2YWx1ZXMgYXMgYXJndW1lbnRzIGFuZCBmbGlwcyBpdCBpbiBSVEwgY29udGV4dC5cbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUobGVmdCwgMnB4LCByaWdodCwgNXB4KTtcbi8vIH1cbi8vIGBgYFxuLy9cbi8vIGlzIGVxdWl2YWxlbnQgdG86XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBsZWZ0OiAycHg7XG4vLyAgIHJpZ2h0OiA1cHg7XG4vL1xuLy8gICBAaW5jbHVkZSBtZGMtcnRsIHtcbi8vICAgICByaWdodDogMnB4O1xuLy8gICAgIGxlZnQ6IDVweDtcbi8vICAgfVxuLy8gfVxuLy8gYGBgXG4vL1xuLy8gQW4gb3B0aW9uYWwgZmlmdGggYCRyb290LXNlbGVjdG9yYCBhcmd1bWVudCBtYXkgYWxzbyBiZSBnaXZlbiwgd2hpY2ggaXMgcGFzc2VkIHRvIGBtZGMtcnRsYC5cbkBtaXhpbiBtZGMtcnRsLXJlZmxleGl2ZShcbiAgJGxlZnQtcHJvcGVydHksXG4gICRsZWZ0LXZhbHVlLFxuICAkcmlnaHQtcHJvcGVydHksXG4gICRyaWdodC12YWx1ZSxcbiAgJHJvb3Qtc2VsZWN0b3I6IG51bGxcbikge1xuICAvKiBAbm9mbGlwICovXG4gICN7JGxlZnQtcHJvcGVydHl9OiAkbGVmdC12YWx1ZTtcbiAgLyogQG5vZmxpcCAqL1xuICAjeyRyaWdodC1wcm9wZXJ0eX06ICRyaWdodC12YWx1ZTtcblxuICBAaW5jbHVkZSBtZGMtcnRsKCRyb290LXNlbGVjdG9yKSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgICN7JGxlZnQtcHJvcGVydHl9OiAkcmlnaHQtdmFsdWU7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgICN7JHJpZ2h0LXByb3BlcnR5fTogJGxlZnQtdmFsdWU7XG4gIH1cbn1cbiIsIi8qIFlvdSBjYW4gYWRkIGdsb2JhbCBzdHlsZXMgdG8gdGhpcyBmaWxlLCBhbmQgYWxzbyBpbXBvcnQgb3RoZXIgc3R5bGUgZmlsZXMgKi9cbmh0bWwsIGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5tZGMtYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wODkyODU3MWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAgOHB4IDAgOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5tZGMtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDsgfVxuICAubWRjLWJ1dHRvbjphY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLm1kYy1idXR0b246aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWRjLWJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5tZGMtYnV0dG9uLm1kYy1idXR0b24tLWRlbnNlIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLm1kYy1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZGMtYnV0dG9uIC5tZGMtYnV0dG9uX19pY29uIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtYnV0dG9uIC5tZGMtYnV0dG9uX19pY29uLCAubWRjLWJ1dHRvbiAubWRjLWJ1dHRvbl9faWNvbltkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubWRjLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgY29sb3I6ICMxNTY1YzA7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzE1NjVjMCk7IH1cblxuLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb24sIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuXG5zdmcubWRjLWJ1dHRvbl9faWNvbiB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkIC5tZGMtYnV0dG9uX19pY29uLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQgLm1kYy1idXR0b25fX2ljb24sXG4ubWRjLWJ1dHRvbi0tb3V0bGluZWQgLm1kYy1idXR0b25fX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogOHB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1idXR0b24tLXJhaXNlZCAubWRjLWJ1dHRvbl9faWNvbiwgLm1kYy1idXR0b24tLXJhaXNlZCAubWRjLWJ1dHRvbl9faWNvbltkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQgLm1kYy1idXR0b25fX2ljb24sXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSwgW2Rpcj1cInJ0bFwiXVxuICAubWRjLWJ1dHRvbi0tb3V0bGluZWQgLm1kYy1idXR0b25fX2ljb24sXG4gIC5tZGMtYnV0dG9uLS1vdXRsaW5lZCAubWRjLWJ1dHRvbl9faWNvbltkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IC00cHg7IH1cblxuLm1kYy1idXR0b24tLXJhaXNlZCAubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbixcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uLFxuLm1kYy1idXR0b24tLW91dGxpbmVkIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogLTRweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtYnV0dG9uLS1yYWlzZWQgLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb24sIC5tZGMtYnV0dG9uLS1yYWlzZWQgLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb25bZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uLFxuICAubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZCAubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbltkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbiAgLm1kYy1idXR0b24tLW91dGxpbmVkIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uLFxuICAubWRjLWJ1dHRvbi0tb3V0bGluZWQgLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQsXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZCB7XG4gIHBhZGRpbmc6IDAgMTZweCAwIDE2cHg7IH1cbiAgLm1kYy1idXR0b24tLXJhaXNlZDpkaXNhYmxlZCxcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7IH1cbiAgLm1kYy1idXR0b24tLXJhaXNlZDpub3QoOmRpc2FibGVkKSxcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTY1YzA7IH1cbiAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAubWRjLWJ1dHRvbi0tcmFpc2VkOm5vdCg6ZGlzYWJsZWQpLFxuICAgICAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMTU2NWMwKTsgfSB9XG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQ6bm90KDpkaXNhYmxlZCksXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1wcmltYXJ5LCAjZmZmKTsgfVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQ6aG92ZXIsIC5tZGMtYnV0dG9uLS1yYWlzZWQ6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQ6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwcHggNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLm1kYy1idXR0b24tLXJhaXNlZDpkaXNhYmxlZCB7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGMtYnV0dG9uLS1vdXRsaW5lZCB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIHBhZGRpbmc6IDAgMTRweCAwIDE0cHg7XG4gIGJvcmRlci13aWR0aDogMnB4OyB9XG4gIC5tZGMtYnV0dG9uLS1vdXRsaW5lZDpkaXNhYmxlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9XG4gIC5tZGMtYnV0dG9uLS1vdXRsaW5lZDpub3QoOmRpc2FibGVkKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTU2NWMwO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMTU2NWMwKTsgfVxuXG4ubWRjLWJ1dHRvbi0tZGVuc2Uge1xuICBoZWlnaHQ6IDMycHg7XG4gIGZvbnQtc2l6ZTogLjgxMjVyZW07IH1cblxuQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQsIDApKSBzY2FsZSgxKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9IH1cblxuQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBvcGFjaXR5OiB2YXIoLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHksIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLm1kYy1yaXBwbGUtc3VyZmFjZS0tdGVzdC1lZGdlLXZhci1idWcge1xuICAtLW1kYy1yaXBwbGUtc3VyZmFjZS10ZXN0LWVkZ2UtdmFyOiAxcHggc29saWQgIzAwMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2UtLXRlc3QtZWRnZS12YXItYnVnOjpiZWZvcmUge1xuICAgIGJvcmRlcjogdmFyKC0tbWRjLXJpcHBsZS1zdXJmYWNlLXRlc3QtZWRnZS12YXIpOyB9XG5cbi5tZGMtYnV0dG9uIHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7IH1cbiAgLm1kYy1idXR0b246OmJlZm9yZSwgLm1kYy1idXR0b246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjsgfVxuICAubWRjLWJ1dHRvbjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAubWRjLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgfVxuICAubWRjLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTsgfVxuICAubWRjLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkczsgfVxuICAubWRjLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7IH1cbiAgLm1kYy1idXR0b246OmJlZm9yZSwgLm1kYy1idXR0b246OmFmdGVyIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTAwJSk7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgaGVpZ2h0OiAyMDAlOyB9XG4gIC5tZGMtYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7IH1cbiAgLm1kYy1idXR0b246OmJlZm9yZSwgLm1kYy1idXR0b246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU2NWMwOyB9XG4gICAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgLm1kYy1idXR0b246OmJlZm9yZSwgLm1kYy1idXR0b246OmFmdGVyIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzE1NjVjMCk7IH0gfVxuICAubWRjLWJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjA0OyB9XG4gIC5tZGMtYnV0dG9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLWJ1dHRvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cbiAgLm1kYy1idXR0b246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7IH1cblxuLm1kYy1idXR0b24tLXJhaXNlZDo6YmVmb3JlLCAubWRjLWJ1dHRvbi0tcmFpc2VkOjphZnRlcixcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOjpiZWZvcmUsXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAubWRjLWJ1dHRvbi0tcmFpc2VkOjpiZWZvcmUsIC5tZGMtYnV0dG9uLS1yYWlzZWQ6OmFmdGVyLFxuICAgIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOjpiZWZvcmUsXG4gICAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6OmFmdGVyIHtcbiAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1wcmltYXJ5LCAjZmZmKTsgfSB9XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQ6aG92ZXI6OmJlZm9yZSxcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA4OyB9XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubWRjLWJ1dHRvbi0tcmFpc2VkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI0OyB9XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIsXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDsgfVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkLm1kYy1yaXBwbGUtdXBncmFkZWQsXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjQ7IH1cblxuLm1kYy1jYXJkIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zdXJmYWNlLCAjZmZmKTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ubWRjLWNhcmQtLW91dGxpbmVkIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZTBlMGUwOyB9XG5cbi5tZGMtY2FyZF9fbWVkaWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAubWRjLWNhcmRfX21lZGlhOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cblxuLm1kYy1jYXJkX19tZWRpYTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0OyB9XG5cbi5tZGMtY2FyZF9fbWVkaWE6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0OyB9XG5cbi5tZGMtY2FyZF9fbWVkaWEtLXNxdWFyZTo6YmVmb3JlIHtcbiAgbWFyZ2luLXRvcDogMTAwJTsgfVxuXG4ubWRjLWNhcmRfX21lZGlhLS0xNi05OjpiZWZvcmUge1xuICBtYXJnaW4tdG9wOiA1Ni4yNSU7IH1cblxuLm1kYy1jYXJkX19tZWRpYS1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogaW5oZXJpdDsgfVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDsgfVxuXG4ubWRjLWNhcmRfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiA1MnB4O1xuICBwYWRkaW5nOiA4cHg7IH1cblxuLm1kYy1jYXJkX19hY3Rpb25zLS1mdWxsLWJsZWVkIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ubWRjLWNhcmRfX2FjdGlvbi1idXR0b25zLFxuLm1kYy1jYXJkX19hY3Rpb24taWNvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5tZGMtY2FyZF9fYWN0aW9uLWljb25zIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgZmxleC1ncm93OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5tZGMtY2FyZF9fYWN0aW9uLWJ1dHRvbnMgKyAubWRjLWNhcmRfX2FjdGlvbi1pY29ucyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1jYXJkX19hY3Rpb24tYnV0dG9ucyArIC5tZGMtY2FyZF9fYWN0aW9uLWljb25zLCAubWRjLWNhcmRfX2FjdGlvbi1idXR0b25zICsgLm1kYy1jYXJkX19hY3Rpb24taWNvbnNbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1yaWdodDogMTZweDsgfVxuXG4ubWRjLWNhcmRfX2FjdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAubWRjLWNhcmRfX2FjdGlvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG4ubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgcGFkZGluZzogMCA4cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uLCAubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uOmxhc3QtY2hpbGQsIC5tZGMtY2FyZF9fYWN0aW9uLS1idXR0b246bGFzdC1jaGlsZFtkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm1kYy1jYXJkX19hY3Rpb25zLS1mdWxsLWJsZWVkIC5tZGMtY2FyZF9fYWN0aW9uLS1idXR0b24ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtY2FyZF9fYWN0aW9ucy0tZnVsbC1ibGVlZCAubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uLCAubWRjLWNhcmRfX2FjdGlvbnMtLWZ1bGwtYmxlZWQgLm1kYy1jYXJkX19hY3Rpb24tLWJ1dHRvbltkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ubWRjLWNhcmRfX2FjdGlvbi0taWNvbiB7XG4gIG1hcmdpbjogLTZweCAwO1xuICBwYWRkaW5nOiAxMnB4OyB9XG5cbi5tZGMtY2FyZF9fYWN0aW9uLS1pY29uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uIHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7IH1cbiAgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjo6YmVmb3JlLCAubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTsgfVxuICAubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzOyB9XG4gIC5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb24ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb246OmJlZm9yZSwgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjo6YWZ0ZXIge1xuICAgIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7IH1cbiAgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpOyB9XG4gIC5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb246OmJlZm9yZSwgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjA0OyB9XG4gIC5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cbiAgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyOyB9XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgMCUsXG4gIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDI5Ljc4MzMzODU7IH1cbiAgNTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTsgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB7XG4gIDAlLFxuICA2OC4yJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7IH1cbiAgNjguMiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLCAxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogLTI5Ljc4MzMzODU7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtY2hlY2ttYXJrIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTQsIDAsIDAsIDEpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbWRjLWFuaW1hdGlvbi1kZWNlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmsge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNCwgMCwgMCwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQtbWl4ZWRtYXJrIHtcbiAgMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDMyLjglLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLm1kYy1jaGVja2JveCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDAgMThweDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIHBhZGRpbmc6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSkgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogIzM4OGUzYztcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMzODhlM2MpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg4ZTNjO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMzODhlM2MpOyB9XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC0wIHtcbiAgMCUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICA1MCUge1xuICAgIGJvcmRlci1jb2xvcjogIzM4OGUzYztcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg4ZTNjO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTsgfSB9XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtMCB7XG4gIDAlLFxuICA4MCUge1xuICAgIGJvcmRlci1jb2xvcjogIzM4OGUzYztcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg4ZTNjO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTsgfVxuICAxMDAlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmQtMDsgfVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLTA7IH1cblxuLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG5cbi5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODhlM2M7IH1cbiAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTsgfSB9XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCk6bm90KDppbmRldGVybWluYXRlKSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpkaXNhYmxlZDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICBtYXJnaW46IDAgMXB4OyB9IH1cblxuLm1kYy1jaGVja2JveC0tZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDExcHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTFweDtcbiAgYm90dG9tOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDQ1JTtcbiAgaGVpZ2h0OiA0NSU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSwgYm9yZGVyLWNvbG9yIDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7IH1cbiAgLm1kYy1jaGVja2JveFtkaXI9XCJydGxcIl0gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBpbml0aWFsO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMTFweDsgfVxuXG4ubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7IH1cbiAgLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgMTgwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBzdHJva2Utd2lkdGg6IDMuMTJweDtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDI5Ljc4MzMzODU7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDI5Ljc4MzMzODU7IH1cblxuLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCkgcm90YXRlKDBkZWcpO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTsgfVxuXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLFxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgsXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtY2hlY2tlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxODBtcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC11bmNoZWNrZWQtY2hlY2tlZC1jaGVja21hcmstcGF0aCAxODBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsgOTBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIDkwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lOyB9XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1jaGVja21hcmsgOTBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayA5MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTsgfVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtY2hlY2tlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtY2hlY2ttYXJrIDUwMG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTsgfVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtY2hlY2tlZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtbWl4ZWRtYXJrIDUwMG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTsgfVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayAzMDBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgYmFja2dyb3VuZC1jb2xvciA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTsgfVxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwOyB9XG5cbi5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSksIHRyYW5zZm9ybSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpOyB9XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmZvY3VzIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgyLjc1LCAyLjc1KTtcbiAgb3BhY2l0eTogMC4xMjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA4MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDgwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpOyB9XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBpbmhlcml0OyB9XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIHRyYW5zZm9ybSAxODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgcm90YXRlKC00NWRlZyk7IH1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSksIHRyYW5zZm9ybSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpOyB9XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubWRjLWNoZWNrYm94IHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7IH1cbiAgLm1kYy1jaGVja2JveDo6YmVmb3JlLCAubWRjLWNoZWNrYm94OjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgLm1kYy1jaGVja2JveDo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTsgfVxuICAubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzOyB9XG4gIC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtY2hlY2tib3g6OmJlZm9yZSwgLm1kYy1jaGVja2JveDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzODhlM2M7IH1cbiAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAubWRjLWNoZWNrYm94OjpiZWZvcmUsIC5tZGMtY2hlY2tib3g6OmFmdGVyIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTsgfSB9XG4gIC5tZGMtY2hlY2tib3g6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wNDsgfVxuICAubWRjLWNoZWNrYm94Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjEyOyB9XG4gIC5tZGMtY2hlY2tib3g6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIC5tZGMtY2hlY2tib3g6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLWNoZWNrYm94OjpiZWZvcmUsIC5tZGMtY2hlY2tib3g6OmFmdGVyIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gNTAlKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogY2FsYyg1MCUgLSA1MCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSwgLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCBjYWxjKDUwJSAtIDUwJSkpO1xuICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuICAubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7IH1cblxuLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBub25lOyB9XG5cbi5tZGMtY2hpcCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTc4NTcxNGVtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBoZWlnaHQ6IDMycHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDdweCAxMnB4O1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1kYy1jaGlwOjpiZWZvcmUsIC5tZGMtY2hpcDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5tZGMtY2hpcDo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLm1kYy1jaGlwLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7IH1cbiAgLm1kYy1jaGlwLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyB9XG4gIC5tZGMtY2hpcC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTsgfVxuICAubWRjLWNoaXAubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7IH1cbiAgLm1kYy1jaGlwLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAubWRjLWNoaXA6OmJlZm9yZSwgLm1kYy1jaGlwOjphZnRlciB7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDEwMCUpO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICAgIHdpZHRoOiAyMDAlO1xuICAgIGhlaWdodDogMjAwJTsgfVxuICAubWRjLWNoaXAubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuICAubWRjLWNoaXA6OmJlZm9yZSwgLm1kYy1jaGlwOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAubWRjLWNoaXA6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wNDsgfVxuICAubWRjLWNoaXA6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubWRjLWNoaXAubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLWNoaXA6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIC5tZGMtY2hpcDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLWNoaXAubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy1jaGlwOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAubWRjLWNoaXAubWRjLWNoaXAtLXNlbGVjdGVkIC5tZGMtY2hpcF9fY2hlY2ttYXJrLFxuICAubWRjLWNoaXAgLm1kYy1jaGlwX19pY29uLS1sZWFkaW5nOm5vdCgubWRjLWNoaXBfX2ljb24tLWxlYWRpbmctaGlkZGVuKSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC00cHg7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtY2hpcC5tZGMtY2hpcC0tc2VsZWN0ZWQgLm1kYy1jaGlwX19jaGVja21hcmssIC5tZGMtY2hpcC5tZGMtY2hpcC0tc2VsZWN0ZWQgLm1kYy1jaGlwX19jaGVja21hcmtbZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4gICAgLm1kYy1jaGlwIC5tZGMtY2hpcF9faWNvbi0tbGVhZGluZzpub3QoLm1kYy1jaGlwX19pY29uLS1sZWFkaW5nLWhpZGRlbiksXG4gICAgLm1kYy1jaGlwIC5tZGMtY2hpcF9faWNvbi0tbGVhZGluZzpub3QoLm1kYy1jaGlwX19pY29uLS1sZWFkaW5nLWhpZGRlbilbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBtYXJnaW4tcmlnaHQ6IC00cHg7IH1cbiAgLm1kYy1jaGlwOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTsgfVxuXG4ubWRjLWNoaXBfX2ljb24tLWxlYWRpbmcge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTsgfVxuXG4ubWRjLWNoaXBfX2ljb24tLXRyYWlsaW5nIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cbiAgLm1kYy1jaGlwX19pY29uLS10cmFpbGluZzpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42Mik7IH1cbiAgLm1kYy1jaGlwX19pY29uLS10cmFpbGluZzpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cblxuLm1kYy1jaGlwX19pY29uLm1kYy1jaGlwX19pY29uLS1sZWFkaW5nOm5vdCgubWRjLWNoaXBfX2ljb24tLWxlYWRpbmctaGlkZGVuKSB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4ubWRjLWNoaXBfX2ljb24ubWRjLWNoaXBfX2ljb24tLXRyYWlsaW5nIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgZm9udC1zaXplOiAxOHB4OyB9XG5cbi5tZGMtY2hpcF9faWNvbi0tdHJhaWxpbmcge1xuICBtYXJnaW46IDAgLTRweCAwIDRweDsgfVxuXG4ubWRjLWNoaXAtLWV4aXQge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgd2lkdGggMTUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIHBhZGRpbmcgMTAwbXMgbGluZWFyLCBtYXJnaW4gMTAwbXMgbGluZWFyO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5tZGMtY2hpcF9fdGV4dCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLm1kYy1jaGlwX19pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvdXRsaW5lOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZGMtY2hpcF9fY2hlY2ttYXJrIHtcbiAgaGVpZ2h0OiAyMHB4OyB9XG5cbi5tZGMtY2hpcF9fY2hlY2ttYXJrLXBhdGgge1xuICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAxNTBtcyA1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG4gIHN0cm9rZS13aWR0aDogMnB4O1xuICBzdHJva2UtZGFzaG9mZnNldDogMjkuNzgzMzM4NTtcbiAgc3Ryb2tlLWRhc2hhcnJheTogMjkuNzgzMzM4NTsgfVxuXG4ubWRjLWNoaXAtLXNlbGVjdGVkIC5tZGMtY2hpcF9fY2hlY2ttYXJrLXBhdGgge1xuICBzdHJva2UtZGFzaG9mZnNldDogMDsgfVxuXG4ubWRjLWNoaXAtc2V0LS1jaG9pY2UgLm1kYy1jaGlwLm1kYy1jaGlwLS1zZWxlY3RlZDo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wODsgfVxuXG4ubWRjLWNoaXAtc2V0LS1jaG9pY2UgLm1kYy1jaGlwLm1kYy1jaGlwLS1zZWxlY3RlZDo6YmVmb3JlLCAubWRjLWNoaXAtc2V0LS1jaG9pY2UgLm1kYy1jaGlwLm1kYy1jaGlwLS1zZWxlY3RlZDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU2NWMwOyB9XG4gIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAubWRjLWNoaXAtc2V0LS1jaG9pY2UgLm1kYy1jaGlwLm1kYy1jaGlwLS1zZWxlY3RlZDo6YmVmb3JlLCAubWRjLWNoaXAtc2V0LS1jaG9pY2UgLm1kYy1jaGlwLm1kYy1jaGlwLS1zZWxlY3RlZDo6YWZ0ZXIge1xuICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICMxNTY1YzApOyB9IH1cblxuLm1kYy1jaGlwLXNldC0tY2hvaWNlIC5tZGMtY2hpcC5tZGMtY2hpcC0tc2VsZWN0ZWQ6aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMTI7IH1cblxuLm1kYy1jaGlwLXNldC0tY2hvaWNlIC5tZGMtY2hpcC5tZGMtY2hpcC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubWRjLWNoaXAtc2V0LS1jaG9pY2UgLm1kYy1jaGlwLm1kYy1jaGlwLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjsgfVxuXG4ubWRjLWNoaXAtc2V0LS1jaG9pY2UgLm1kYy1jaGlwLm1kYy1jaGlwLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG5cbi5tZGMtY2hpcC1zZXQtLWNob2ljZSAubWRjLWNoaXAubWRjLWNoaXAtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjsgfVxuXG4ubWRjLWNoaXAtc2V0LS1jaG9pY2UgLm1kYy1jaGlwLm1kYy1jaGlwLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjsgfVxuXG4ubWRjLWNoaXAtc2V0LS1jaG9pY2UgLm1kYy1jaGlwLm1kYy1jaGlwLS1zZWxlY3RlZCB7XG4gIGNvbG9yOiAjMTU2NWMwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzE1NjVjMCk7IH1cbiAgLm1kYy1jaGlwLXNldC0tY2hvaWNlIC5tZGMtY2hpcC5tZGMtY2hpcC0tc2VsZWN0ZWQgLm1kYy1jaGlwX19pY29uLS1sZWFkaW5nIHtcbiAgICBjb2xvcjogcmdiYSgyMSwgMTAxLCAxOTIsIDAuNTQpOyB9XG4gIC5tZGMtY2hpcC1zZXQtLWNob2ljZSAubWRjLWNoaXAubWRjLWNoaXAtLXNlbGVjdGVkOmhvdmVyIHtcbiAgICBjb2xvcjogIzE1NjVjMDtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMTU2NWMwKTsgfVxuXG4ubWRjLWNoaXAtc2V0LS1jaG9pY2UgLm1kYy1jaGlwIC5tZGMtY2hpcF9fY2hlY2ttYXJrLXBhdGgge1xuICBzdHJva2U6ICMxNTY1YzA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgc3Ryb2tlOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzE1NjVjMCk7IH1cblxuLm1kYy1jaGlwLXNldC0tY2hvaWNlIC5tZGMtY2hpcC0tc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zdXJmYWNlLCAjZmZmKTsgfVxuXG4ubWRjLWNoaXBfX2NoZWNrbWFyay1zdmcge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG5cbi5tZGMtY2hpcC0tc2VsZWN0ZWQgLm1kYy1jaGlwX19jaGVja21hcmstc3ZnIHtcbiAgd2lkdGg6IDIwcHg7IH1cblxuLm1kYy1jaGlwLXNldC0tZmlsdGVyIC5tZGMtY2hpcF9faWNvbi0tbGVhZGluZyB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNzVtcyBsaW5lYXI7XG4gIHRyYW5zaXRpb24tZGVsYXk6IC01MG1zO1xuICBvcGFjaXR5OiAxOyB9XG4gIC5tZGMtY2hpcC1zZXQtLWZpbHRlciAubWRjLWNoaXBfX2ljb24tLWxlYWRpbmcgKyAubWRjLWNoaXBfX2NoZWNrbWFyayB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA3NW1zIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA4MG1zO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAubWRjLWNoaXAtc2V0LS1maWx0ZXIgLm1kYy1jaGlwX19pY29uLS1sZWFkaW5nICsgLm1kYy1jaGlwX19jaGVja21hcmsgLm1kYy1jaGlwX19jaGVja21hcmstc3ZnIHtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDBtczsgfVxuXG4ubWRjLWNoaXAtc2V0LS1maWx0ZXIgLm1kYy1jaGlwLS1zZWxlY3RlZCAubWRjLWNoaXBfX2ljb24tLWxlYWRpbmcge1xuICBvcGFjaXR5OiAwOyB9XG4gIC5tZGMtY2hpcC1zZXQtLWZpbHRlciAubWRjLWNoaXAtLXNlbGVjdGVkIC5tZGMtY2hpcF9faWNvbi0tbGVhZGluZyArIC5tZGMtY2hpcF9fY2hlY2ttYXJrIHtcbiAgICB3aWR0aDogMDtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5tZGMtY2hpcC1zZXQtLWZpbHRlciAubWRjLWNoaXBfX2ljb24tLWxlYWRpbmctaGlkZGVuLm1kYy1jaGlwX19pY29uLS1sZWFkaW5nIHtcbiAgd2lkdGg6IDA7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLm1kYy1jaGlwLXNldC0tZmlsdGVyIC5tZGMtY2hpcF9faWNvbi0tbGVhZGluZy1oaWRkZW4ubWRjLWNoaXBfX2ljb24tLWxlYWRpbmcgKyAubWRjLWNoaXBfX2NoZWNrbWFyayB7XG4gICAgd2lkdGg6IDIwcHg7IH1cblxuQGtleWZyYW1lcyBtZGMtY2hpcC1lbnRyeSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICBvcGFjaXR5OiAuNDsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLm1kYy1jaGlwLXNldCB7XG4gIHBhZGRpbmc6IDRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5tZGMtY2hpcC1zZXQgLm1kYy1jaGlwIHtcbiAgICBtYXJnaW46IDRweDsgfVxuXG4ubWRjLWNoaXAtc2V0LS1pbnB1dCAubWRjLWNoaXAge1xuICBhbmltYXRpb246IG1kYy1jaGlwLWVudHJ5IDEwMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpOyB9XG5cbi5tZGMtZGlhbG9nLFxuLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5tZGMtZGlhbG9nIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogNzsgfVxuICAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXN1cmZhY2UsICNmZmYpOyB9XG4gIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMyKTsgfVxuICAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fdGl0bGUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gIC5tZGMtZGlhbG9nLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX3RpdGxlLFxuICAubWRjLWRpYWxvZy5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1pbi13aWR0aDogMjgwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5MnB4KSB7XG4gICAgLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTkycHgpIHtcbiAgICAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgICBtYXgtd2lkdGg6IDU2MHB4OyB9IH1cbiAgLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMnB4KTsgfVxuICAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbi5tZGMtZGlhbG9nX19zY3JpbSB7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xOyB9XG5cbi5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgYm94LXNoYWRvdzogMHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLm1kYy1kaWFsb2dbZGlyPVwicnRsXCJdIC5tZGMtZGlhbG9nX19zdXJmYWNlLFxuICBbZGlyPVwicnRsXCJdIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ubWRjLWRpYWxvZ19fdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDEyNWVtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXNocmluazogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDI0cHggOXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgLm1kYy1kaWFsb2dfX3RpdGxlOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogMDsgfVxuICAubWRjLWRpYWxvZ1tkaXI9XCJydGxcIl0gLm1kYy1kaWFsb2dfX3RpdGxlLFxuICBbZGlyPVwicnRsXCJdIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cblxuLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzEyNWVtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBmbGV4LWdyb3c6IDE7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMjBweCAyNHB4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIC5tZGMtZGlhbG9nX19jb250ZW50ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5tZGMtZGlhbG9nX19jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1kYy1kaWFsb2dfX3RpdGxlICsgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cblxuLm1kYy1kaWFsb2dfX2NvbnRlbnQgLm1kYy1saXN0OmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nOiA2cHggMCAwOyB9XG5cbi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19jb250ZW50IC5tZGMtbGlzdDpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ubWRjLWRpYWxvZ19fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLWhlaWdodDogNTJweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAubWRjLWRpYWxvZy0tc3RhY2tlZCAubWRjLWRpYWxvZ19fYWN0aW9ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLm1kYy1kaWFsb2dfX2J1dHRvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWRpYWxvZ19fYnV0dG9uLCAubWRjLWRpYWxvZ19fYnV0dG9uW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuICAubWRjLWRpYWxvZ19fYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy1kaWFsb2dfX2J1dHRvbjpmaXJzdC1jaGlsZCwgLm1kYy1kaWFsb2dfX2J1dHRvbjpmaXJzdC1jaGlsZFtkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm1kYy1kaWFsb2dbZGlyPVwicnRsXCJdIC5tZGMtZGlhbG9nX19idXR0b24sXG4gIFtkaXI9XCJydGxcIl0gLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX2J1dHRvbiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWRjLWRpYWxvZy0tc3RhY2tlZCAubWRjLWRpYWxvZ19fYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4OyB9XG5cbi5tZGMtZGlhbG9nLS1vcGVuLFxuLm1kYy1kaWFsb2ctLW9wZW5pbmcsXG4ubWRjLWRpYWxvZy0tY2xvc2luZyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLm1kYy1kaWFsb2ctLW9wZW5pbmcgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cblxuLm1kYy1kaWFsb2ctLW9wZW5pbmcgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNzVtcyBsaW5lYXIsIHRyYW5zZm9ybSAxNTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7IH1cblxuLm1kYy1kaWFsb2ctLWNsb3NpbmcgLm1kYy1kaWFsb2dfX3NjcmltLFxuLm1kYy1kaWFsb2ctLWNsb3NpbmcgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNzVtcyBsaW5lYXI7IH1cblxuLm1kYy1kaWFsb2ctLWNsb3NpbmcgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLm1kYy1kaWFsb2ctLW9wZW4gLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubWRjLWRpYWxvZy0tb3BlbiAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubWRjLWRpYWxvZy1zY3JvbGwtbG9jayB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm1kYy1kcmF3ZXIge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgei1pbmRleDogNjtcbiAgd2lkdGg6IDI1NnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXNocmluazogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1kYy1kcmF3ZXIgLm1kYy1kcmF3ZXJfX3RpdGxlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAubWRjLWRyYXdlciAubWRjLWxpc3QtZ3JvdXBfX3N1YmhlYWRlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuICAubWRjLWRyYXdlciAubWRjLWRyYXdlcl9fc3VidGl0bGUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cbiAgLm1kYy1kcmF3ZXIgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cbiAgLm1kYy1kcmF3ZXIgLm1kYy1saXN0LWl0ZW0ge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gIC5tZGMtZHJhd2VyIC5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIGNvbG9yOiAjMTU2NWMwOyB9XG4gIC5tZGMtZHJhd2VyIC5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQge1xuICAgIGNvbG9yOiByZ2JhKDIxLCAxMDEsIDE5MiwgMC44Nyk7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWRyYXdlciwgLm1kYy1kcmF3ZXJbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAubWRjLWRyYXdlciAubWRjLWxpc3QtaXRlbSB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5tZGMtZHJhd2VyLm1kYy1kcmF3ZXItLW9wZW46bm90KC5tZGMtZHJhd2VyLS1jbG9zaW5nKSArIC5tZGMtZHJhd2VyLWFwcC1jb250ZW50IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLWxlZnQ6IDI1NnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtZHJhd2VyLm1kYy1kcmF3ZXItLW9wZW46bm90KC5tZGMtZHJhd2VyLS1jbG9zaW5nKSArIC5tZGMtZHJhd2VyLWFwcC1jb250ZW50LCAubWRjLWRyYXdlci5tZGMtZHJhd2VyLS1vcGVuOm5vdCgubWRjLWRyYXdlci0tY2xvc2luZykgKyAubWRjLWRyYXdlci1hcHAtY29udGVudFtkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1NnB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1kcmF3ZXIsIC5tZGMtZHJhd2VyW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IH1cbiAgLm1kYy1kcmF3ZXIgLm1kYy1saXN0LWl0ZW0ge1xuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAwNzE0Mjg2ZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgIGhlaWdodDogY2FsYyg0OHB4IC0gMiAqIDRweCk7XG4gICAgbWFyZ2luOiA4cHggOHB4O1xuICAgIHBhZGRpbmc6IDAgOHB4OyB9XG4gIC5tZGMtZHJhd2VyIC5tZGMtbGlzdC1pdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgbWFyZ2luLXRvcDogMnB4OyB9XG4gIC5tZGMtZHJhd2VyIC5tZGMtbGlzdC1pdGVtOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZGMtZHJhd2VyIC5tZGMtbGlzdC1ncm91cF9fc3ViaGVhZGVyIHtcbiAgICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxNzg1NzE0ZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTZweDsgfVxuICAgIC5tZGMtZHJhd2VyIC5tZGMtbGlzdC1ncm91cF9fc3ViaGVhZGVyOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7IH1cbiAgLm1kYy1kcmF3ZXIgLm1kYy1saXN0LWRpdmlkZXIge1xuICAgIG1hcmdpbjogM3B4IDAgNHB4IDA7IH1cbiAgLm1kYy1kcmF3ZXIgLm1kYy1saXN0LWl0ZW1fX3RleHQsXG4gIC5tZGMtZHJhd2VyIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ubWRjLWRyYXdlci0tYW5pbWF0ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWRyYXdlci0tYW5pbWF0ZSwgLm1kYy1kcmF3ZXItLWFuaW1hdGVbZGlyPVwicnRsXCJdIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLm1kYy1kcmF3ZXItLW9wZW5pbmcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1kcmF3ZXItLW9wZW5pbmcsIC5tZGMtZHJhd2VyLS1vcGVuaW5nW2Rpcj1cInJ0bFwiXSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5tZGMtZHJhd2VyLS1jbG9zaW5nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWRyYXdlci0tY2xvc2luZywgLm1kYy1kcmF3ZXItLWNsb3NpbmdbZGlyPVwicnRsXCJdIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLm1kYy1kcmF3ZXJfX2hlYWRlciB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiA2NHB4O1xuICBwYWRkaW5nOiAwIDE2cHggNHB4OyB9XG5cbi5tZGMtZHJhd2VyX190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTI1ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IC0yMHB4OyB9XG4gIC5tZGMtZHJhd2VyX190aXRsZTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IDA7IH1cbiAgLm1kYy1kcmF3ZXJfX3RpdGxlOjphZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMjBweDsgfVxuXG4ubWRjLWRyYXdlcl9fc3VidGl0bGUge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxNzg1NzE0ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1kYy1kcmF3ZXJfX3N1YnRpdGxlOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogMDsgfVxuXG4ubWRjLWRyYXdlcl9fY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5tZGMtZHJhd2VyLS1kaXNtaXNzaWJsZSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1kcmF3ZXItLWRpc21pc3NpYmxlLCAubWRjLWRyYXdlci0tZGlzbWlzc2libGVbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDA7IH1cbiAgLm1kYy1kcmF3ZXItLWRpc21pc3NpYmxlLm1kYy1kcmF3ZXItLW9wZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cblxuLm1kYy1kcmF3ZXItYXBwLWNvbnRlbnQge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1kcmF3ZXItYXBwLWNvbnRlbnQsIC5tZGMtZHJhd2VyLWFwcC1jb250ZW50W2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm1kYy1kcmF3ZXItLW1vZGFsIHtcbiAgYm94LXNoYWRvdzogMHB4IDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkOyB9XG4gIC5tZGMtZHJhd2VyLS1tb2RhbCArIC5tZGMtZHJhd2VyLXNjcmltIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzIpOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1kcmF3ZXItLW1vZGFsLCAubWRjLWRyYXdlci0tbW9kYWxbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDA7IH1cbiAgLm1kYy1kcmF3ZXItLW1vZGFsLm1kYy1kcmF3ZXItLW9wZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cblxuLm1kYy1kcmF3ZXItc2NyaW0ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIHotaW5kZXg6IDU7IH1cbiAgLm1kYy1kcmF3ZXItLW9wZW4gKyAubWRjLWRyYXdlci1zY3JpbSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1kYy1kcmF3ZXItLWFuaW1hdGUgKyAubWRjLWRyYXdlci1zY3JpbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAubWRjLWRyYXdlci0tb3BlbmluZyArIC5tZGMtZHJhd2VyLXNjcmltIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5tZGMtZHJhd2VyLS1jbG9zaW5nICsgLm1kYy1kcmF3ZXItc2NyaW0ge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuICAgIG9wYWNpdHk6IDA7IH1cblxuLm1kYy1lbGV2YXRpb24tLXowIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGMtZWxldmF0aW9uLS16MSB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLm1kYy1lbGV2YXRpb24tLXoyIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWVsZXZhdGlvbi0tejMge1xuICBib3gtc2hhZG93OiAwcHggM3B4IDNweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDNweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGMtZWxldmF0aW9uLS16NCB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGMtZWxldmF0aW9uLS16NSB7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNXB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGMtZWxldmF0aW9uLS16NiB7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNnB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWVsZXZhdGlvbi0tejcge1xuICBib3gtc2hhZG93OiAwcHggNHB4IDVweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDdweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMnB4IDE2cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLm1kYy1lbGV2YXRpb24tLXo4IHtcbiAgYm94LXNoYWRvdzogMHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGMtZWxldmF0aW9uLS16OSB7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggOXB4IDEycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMTZweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWVsZXZhdGlvbi0tejEwIHtcbiAgYm94LXNoYWRvdzogMHB4IDZweCA2cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxMHB4IDE0cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA0cHggMThweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWVsZXZhdGlvbi0tejExIHtcbiAgYm94LXNoYWRvdzogMHB4IDZweCA3cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxMXB4IDE1cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA0cHggMjBweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWVsZXZhdGlvbi0tejEyIHtcbiAgYm94LXNoYWRvdzogMHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxMnB4IDE3cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA1cHggMjJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWVsZXZhdGlvbi0tejEzIHtcbiAgYm94LXNoYWRvdzogMHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxM3B4IDE5cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA1cHggMjRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWVsZXZhdGlvbi0tejE0IHtcbiAgYm94LXNoYWRvdzogMHB4IDdweCA5cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxNHB4IDIxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA1cHggMjZweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWVsZXZhdGlvbi0tejE1IHtcbiAgYm94LXNoYWRvdzogMHB4IDhweCA5cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxNXB4IDIycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA2cHggMjhweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWVsZXZhdGlvbi0tejE2IHtcbiAgYm94LXNoYWRvdzogMHB4IDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLm1kYy1lbGV2YXRpb24tLXoxNyB7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggMTFweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDE3cHggMjZweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDZweCAzMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGMtZWxldmF0aW9uLS16MTgge1xuICBib3gtc2hhZG93OiAwcHggOXB4IDExcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxOHB4IDI4cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA3cHggMzRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWVsZXZhdGlvbi0tejE5IHtcbiAgYm94LXNoYWRvdzogMHB4IDlweCAxMnB4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTlweCAyOXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggN3B4IDM2cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLm1kYy1lbGV2YXRpb24tLXoyMCB7XG4gIGJveC1zaGFkb3c6IDBweCAxMHB4IDEzcHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAyMHB4IDMxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA4cHggMzhweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWVsZXZhdGlvbi0tejIxIHtcbiAgYm94LXNoYWRvdzogMHB4IDEwcHggMTNweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDIxcHggMzNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDhweCA0MHB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGMtZWxldmF0aW9uLS16MjIge1xuICBib3gtc2hhZG93OiAwcHggMTBweCAxNHB4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMjJweCAzNXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggOHB4IDQycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLm1kYy1lbGV2YXRpb24tLXoyMyB7XG4gIGJveC1zaGFkb3c6IDBweCAxMXB4IDE0cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAyM3B4IDM2cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA5cHggNDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWVsZXZhdGlvbi0tejI0IHtcbiAgYm94LXNoYWRvdzogMHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGMtZWxldmF0aW9uLXRyYW5zaXRpb24ge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIHdpbGwtY2hhbmdlOiBib3gtc2hhZG93OyB9XG5cbi5tZGMtZmFiIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA2cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDU2cHg7XG4gIGhlaWdodDogNTZweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMTVtcyBsaW5lYXIgMzBtcywgdHJhbnNmb3JtIDI3MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4OGUzYztcbiAgY29sb3I6ICNmZmY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zZWNvbmRhcnksICNmZmYpOyB9XG4gIC5tZGMtZmFiOm5vdCgubWRjLWZhYi0tZXh0ZW5kZWQpIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgLm1kYy1mYWI6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5tZGMtZmFiOmhvdmVyLCAubWRjLWZhYjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC5tZGMtZmFiOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxMnB4IDE3cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA1cHggMjJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAubWRjLWZhYjphY3RpdmUsIC5tZGMtZmFiOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5tZGMtZmFiOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1kYy1mYWIgPiBzdmcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAubWRjLWZhYiB7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTsgfSB9XG4gIC5tZGMtZmFiIC5tZGMtZmFiX19pY29uIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZm9udC1zaXplOiAyNHB4OyB9XG5cbi5tZGMtZmFiLS1taW5pIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDsgfVxuXG4ubWRjLWZhYi0tZXh0ZW5kZWQge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4OTI4NTcxZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ4cHg7IH1cbiAgLm1kYy1mYWItLWV4dGVuZGVkIC5tZGMtZmFiX19pY29uIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy1mYWItLWV4dGVuZGVkIC5tZGMtZmFiX19pY29uLCAubWRjLWZhYi0tZXh0ZW5kZWQgLm1kYy1mYWJfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtOHB4OyB9XG4gIC5tZGMtZmFiLS1leHRlbmRlZCAubWRjLWZhYl9fbGFiZWwgKyAubWRjLWZhYl9faWNvbiB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IC04cHg7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtZmFiLS1leHRlbmRlZCAubWRjLWZhYl9fbGFiZWwgKyAubWRjLWZhYl9faWNvbiwgLm1kYy1mYWItLWV4dGVuZGVkIC5tZGMtZmFiX19sYWJlbCArIC5tZGMtZmFiX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxuXG4ubWRjLWZhYl9fbGFiZWwge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5tZGMtZmFiX19pY29uIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE4MG1zIDkwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxuXG4ubWRjLWZhYiAubWRjLWZhYl9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ubWRjLWZhYi0tZXhpdGVkIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciAxNTBtcywgdHJhbnNmb3JtIDE4MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKTsgfVxuICAubWRjLWZhYi0tZXhpdGVkIC5tZGMtZmFiX19pY29uIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMzVtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7IH1cblxuLm1kYy1mYWIge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsgfVxuICAubWRjLWZhYjo6YmVmb3JlLCAubWRjLWZhYjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5tZGMtZmFiOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gICAgei1pbmRleDogMTsgfVxuICAubWRjLWZhYi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtZmFiLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyB9XG4gIC5tZGMtZmFiLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICAgIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApOyB9XG4gIC5tZGMtZmFiLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzOyB9XG4gIC5tZGMtZmFiLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAubWRjLWZhYjo6YmVmb3JlLCAubWRjLWZhYjo6YWZ0ZXIge1xuICAgIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7IH1cbiAgLm1kYy1mYWIubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuICAubWRjLWZhYjo6YmVmb3JlLCAubWRjLWZhYjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAubWRjLWZhYjo6YmVmb3JlLCAubWRjLWZhYjo6YWZ0ZXIge1xuICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zZWNvbmRhcnksICNmZmYpOyB9IH1cbiAgLm1kYy1mYWI6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wODsgfVxuICAubWRjLWZhYjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsIC5tZGMtZmFiLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMjQ7IH1cbiAgLm1kYy1mYWI6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIC5tZGMtZmFiOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjI0OyB9XG4gIC5tZGMtZmFiLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjI0OyB9XG5cbi5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA5Mzc1ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgY29sb3IgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogMS4xNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGF1dG87XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMC43NSk7IH1cblxuLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zdGFuZGFyZCAyNTBtcyAxOyB9XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXN0YW5kYXJkIHtcbiAgLyogY2xlYW4tY3NzIGlnbm9yZTpzdGFydCAqL1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwLjc1KTsgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMyLCAwLjQ5NTgxOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMC43NSk7IH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0MzUsIDAuMzgxMzUyLCAwLjU1LCAwLjk1NjM1Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMCUpKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDAuNzUpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMC43NSk7IH1cbiAgLyogY2xlYW4tY3NzIGlnbm9yZTplbmQgKi8gfVxuXG4ubWRjLWZvcm0tZmllbGQge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxNzg1NzE0ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC44NykpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWRjLWZvcm0tZmllbGQgPiBsYWJlbCB7XG4gICAgb3JkZXI6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiA0cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWZvcm0tZmllbGQgPiBsYWJlbCwgLm1kYy1mb3JtLWZpZWxkW2Rpcj1cInJ0bFwiXSA+IGxhYmVsIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxuXG4ubWRjLWZvcm0tZmllbGQtLWFsaWduLWVuZCA+IGxhYmVsIHtcbiAgb3JkZXI6IC0xO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtZm9ybS1maWVsZC0tYWxpZ24tZW5kID4gbGFiZWwsIC5tZGMtZm9ybS1maWVsZC0tYWxpZ24tZW5kW2Rpcj1cInJ0bFwiXSA+IGxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA0cHg7IH1cblxuLm1kYy1pY29uLWJ1dHRvbiB7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAubWRjLWljb24tYnV0dG9uIHN2ZyxcbiAgLm1kYy1pY29uLWJ1dHRvbiBpbWcge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDsgfVxuICAubWRjLWljb24tYnV0dG9uOmRpc2FibGVkIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWRpc2FibGVkLW9uLWxpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMzgpKTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLm1kYy1pY29uLWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWRjLWljb24tYnV0dG9uX19pY29uLm1kYy1pY29uLWJ1dHRvbl9faWNvbi0tb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1kYy1pY29uLWJ1dHRvbi0tb24gLm1kYy1pY29uLWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1kYy1pY29uLWJ1dHRvbi0tb24gLm1kYy1pY29uLWJ1dHRvbl9faWNvbi5tZGMtaWNvbi1idXR0b25fX2ljb24tLW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm1kYy1pY29uLWJ1dHRvbiB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5OyB9XG4gIC5tZGMtaWNvbi1idXR0b246OmJlZm9yZSwgLm1kYy1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5tZGMtaWNvbi1idXR0b246OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyB9XG4gIC5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7IH1cbiAgLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkczsgfVxuICAubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAubWRjLWljb24tYnV0dG9uOjpiZWZvcmUsIC5tZGMtaWNvbi1idXR0b246OmFmdGVyIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gNTAlKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogY2FsYyg1MCUgLSA1MCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSwgLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCBjYWxjKDUwJSAtIDUwJSkpO1xuICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuICAubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7IH1cbiAgLm1kYy1pY29uLWJ1dHRvbjo6YmVmb3JlLCAubWRjLWljb24tYnV0dG9uOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAubWRjLWljb24tYnV0dG9uOmhvdmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMDQ7IH1cbiAgLm1kYy1pY29uLWJ1dHRvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsIC5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLWljb24tYnV0dG9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjsgfVxuICAubWRjLWljb24tYnV0dG9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjEyOyB9XG4gIC5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7IH1cblxuLm1kYy1pbWFnZS1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMDsgfVxuXG4ubWRjLWltYWdlLWxpc3RfX2l0ZW0sXG4ubWRjLWltYWdlLWxpc3RfX2ltYWdlLWFzcGVjdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1kYy1pbWFnZS1saXN0X19pdGVtIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5tZGMtaW1hZ2UtbGlzdF9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWRjLWltYWdlLWxpc3RfX2ltYWdlLWFzcGVjdC1jb250YWluZXIgLm1kYy1pbWFnZS1saXN0X19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4ubWRjLWltYWdlLWxpc3RfX2ltYWdlLWFzcGVjdC1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gMSk7IH1cblxuLm1kYy1pbWFnZS1saXN0X19pbWFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1kYy1pbWFnZS1saXN0LS13aXRoLXRleHQtcHJvdGVjdGlvbiAubWRjLWltYWdlLWxpc3RfX3N1cHBvcnRpbmcge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5tZGMtaW1hZ2UtbGlzdF9fc3VwcG9ydGluZyB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC44NykpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBsaW5lLWhlaWdodDogMjRweDsgfVxuXG4ubWRjLWltYWdlLWxpc3RfX2xhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwOTM3NWVtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ubWRjLWltYWdlLWxpc3QtLXdpdGgtdGV4dC1wcm90ZWN0aW9uIC5tZGMtaW1hZ2UtbGlzdF9fc3VwcG9ydGluZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLm1kYy1pbWFnZS1saXN0LS1tYXNvbnJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1kYy1pbWFnZS1saXN0LS1tYXNvbnJ5IC5tZGMtaW1hZ2UtbGlzdF9faXRlbSB7XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47IH1cbiAgLm1kYy1pbWFnZS1saXN0LS1tYXNvbnJ5IC5tZGMtaW1hZ2UtbGlzdF9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG46cm9vdCB7XG4gIC0tbWRjLWxheW91dC1ncmlkLW1hcmdpbi1kZXNrdG9wOiAyNHB4O1xuICAtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItZGVza3RvcDogMjRweDtcbiAgLS1tZGMtbGF5b3V0LWdyaWQtY29sdW1uLXdpZHRoLWRlc2t0b3A6IDcycHg7XG4gIC0tbWRjLWxheW91dC1ncmlkLW1hcmdpbi10YWJsZXQ6IDE2cHg7XG4gIC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci10YWJsZXQ6IDE2cHg7XG4gIC0tbWRjLWxheW91dC1ncmlkLWNvbHVtbi13aWR0aC10YWJsZXQ6IDcycHg7XG4gIC0tbWRjLWxheW91dC1ncmlkLW1hcmdpbi1waG9uZTogMTZweDtcbiAgLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLXBob25lOiAxNnB4O1xuICAtLW1kYy1sYXlvdXQtZ3JpZC1jb2x1bW4td2lkdGgtcGhvbmU6IDcycHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5tZGMtbGF5b3V0LWdyaWQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMjRweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtbWFyZ2luLWRlc2t0b3AsIDI0cHgpOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm1kYy1sYXlvdXQtZ3JpZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIHBhZGRpbmc6IHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1tYXJnaW4tdGFibGV0LCAxNnB4KTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAubWRjLWxheW91dC1ncmlkIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgcGFkZGluZzogdmFyKC0tbWRjLWxheW91dC1ncmlkLW1hcmdpbi1waG9uZSwgMTZweCk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm1kYy1sYXlvdXQtZ3JpZF9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBtYXJnaW46IC0xMnB4O1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLWRlc2t0b3AsIDI0cHgpIC8gMiAqIC0xKTsgfVxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGdyaWQtZ2FwOiAyNHB4O1xuICAgICAgICBncmlkLWdhcDogdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci1kZXNrdG9wLCAyNHB4KTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIG1pbm1heCgwLCAxZnIpKTsgfSB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm1kYy1sYXlvdXQtZ3JpZF9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBtYXJnaW46IC04cHg7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItdGFibGV0LCAxNnB4KSAvIDIgKiAtMSk7IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBncmlkLWdhcDogMTZweDtcbiAgICAgICAgZ3JpZC1nYXA6IHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItdGFibGV0LCAxNnB4KTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgbWlubWF4KDAsIDFmcikpOyB9IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLm1kYy1sYXlvdXQtZ3JpZF9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBtYXJnaW46IC04cHg7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItcGhvbmUsIDE2cHgpIC8gMiAqIC0xKTsgfVxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGdyaWQtZ2FwOiAxNnB4O1xuICAgICAgICBncmlkLWdhcDogdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci1waG9uZSwgMTZweCk7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTsgfSB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzJSAtIDI0cHgpO1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzJSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItZGVza3RvcCwgMjRweCkpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAxMnB4O1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLWRlc2t0b3AsIDI0cHgpIC8gMik7IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDQ7IH0gfVxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xLFxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMS1kZXNrdG9wIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMlIC0gMjRweCk7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzMzMzJSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItZGVza3RvcCwgMjRweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xLFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEtZGVza3RvcCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDE7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMixcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTItZGVza3RvcCB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NyUgLSAyNHB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY3JSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItZGVza3RvcCwgMjRweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0yLFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTItZGVza3RvcCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMyxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTMtZGVza3RvcCB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAyNHB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItZGVza3RvcCwgMjRweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0zLFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTMtZGVza3RvcCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDM7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNCxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTQtZGVza3RvcCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMyUgLSAyNHB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzJSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItZGVza3RvcCwgMjRweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi00LFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTQtZGVza3RvcCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDQ7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNSxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTUtZGVza3RvcCB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NyUgLSAyNHB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY3JSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItZGVza3RvcCwgMjRweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi01LFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTUtZGVza3RvcCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDU7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNixcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTYtZGVza3RvcCB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyNHB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItZGVza3RvcCwgMjRweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi02LFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTYtZGVza3RvcCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDY7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNyxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTctZGVza3RvcCB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMyUgLSAyNHB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzJSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItZGVza3RvcCwgMjRweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi03LFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTctZGVza3RvcCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDc7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tOCxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTgtZGVza3RvcCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NyUgLSAyNHB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY3JSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItZGVza3RvcCwgMjRweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi04LFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTgtZGVza3RvcCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDg7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tOSxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTktZGVza3RvcCB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAyNHB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItZGVza3RvcCwgMjRweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi05LFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTktZGVza3RvcCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDk7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMTAsXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMC1kZXNrdG9wIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzJSAtIDI0cHgpO1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMlIC0gdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci1kZXNrdG9wLCAyNHB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEwLFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEwLWRlc2t0b3Age1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAxMDsgfSB9XG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMSxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTExLWRlc2t0b3Age1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjclIC0gMjRweCk7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NyUgLSB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLWRlc2t0b3AsIDI0cHgpKTsgfVxuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMTEsXG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMTEtZGVza3RvcCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDExOyB9IH1cbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEyLFxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMTItZGVza3RvcCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjRweCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci1kZXNrdG9wLCAyNHB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEyLFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEyLWRlc2t0b3Age1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAxMjsgfSB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTZweCk7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci10YWJsZXQsIDE2cHgpKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogOHB4O1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLXRhYmxldCwgMTZweCkgLyAyKTsgfVxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gNDsgfSB9XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEsXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xLXRhYmxldCB7XG4gICAgICB3aWR0aDogY2FsYygxMi41JSAtIDE2cHgpO1xuICAgICAgd2lkdGg6IGNhbGMoMTIuNSUgLSB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLXRhYmxldCwgMTZweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xLFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEtdGFibGV0IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTsgfSB9XG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0yLFxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMi10YWJsZXQge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMTZweCk7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLXRhYmxldCwgMTZweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0yLFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTItdGFibGV0IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfSB9XG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0zLFxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMy10YWJsZXQge1xuICAgICAgd2lkdGg6IGNhbGMoMzcuNSUgLSAxNnB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDM3LjUlIC0gdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci10YWJsZXQsIDE2cHgpKTsgfVxuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMyxcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0zLXRhYmxldCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDM7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNCxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTQtdGFibGV0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE2cHgpO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci10YWJsZXQsIDE2cHgpKTsgfVxuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNCxcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi00LXRhYmxldCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDQ7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNSxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTUtdGFibGV0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gMTZweCk7XG4gICAgICB3aWR0aDogY2FsYyg2Mi41JSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItdGFibGV0LCAxNnB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTUsXG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNS10YWJsZXQge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiA1OyB9IH1cbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTYsXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi02LXRhYmxldCB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxNnB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItdGFibGV0LCAxNnB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTYsXG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNi10YWJsZXQge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiA2OyB9IH1cbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTcsXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi03LXRhYmxldCB7XG4gICAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDE2cHgpO1xuICAgICAgd2lkdGg6IGNhbGMoODcuNSUgLSB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLXRhYmxldCwgMTZweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi03LFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTctdGFibGV0IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gNzsgfSB9XG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi04LFxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tOC10YWJsZXQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItdGFibGV0LCAxNnB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTgsXG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tOC10YWJsZXQge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiA4OyB9IH1cbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTksXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi05LXRhYmxldCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci10YWJsZXQsIDE2cHgpKTsgfVxuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tOSxcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi05LXRhYmxldCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDg7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMTAsXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMC10YWJsZXQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItdGFibGV0LCAxNnB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEwLFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEwLXRhYmxldCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDg7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMTEsXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMS10YWJsZXQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItdGFibGV0LCAxNnB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTExLFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTExLXRhYmxldCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDg7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMTIsXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMi10YWJsZXQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItdGFibGV0LCAxNnB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEyLFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEyLXRhYmxldCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDg7IH0gfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAubWRjLWxheW91dC1ncmlkX19jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItcGhvbmUsIDE2cHgpKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogOHB4O1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLXBob25lLCAxNnB4KSAvIDIpOyB9XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiA0OyB9IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMSxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEtcGhvbmUge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMTZweCk7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLXBob25lLCAxNnB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTEsXG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMS1waG9uZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDE7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMixcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTItcGhvbmUge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTZweCk7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLXBob25lLCAxNnB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTIsXG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMi1waG9uZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMyxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTMtcGhvbmUge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMTZweCk7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLXBob25lLCAxNnB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTMsXG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMy1waG9uZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDM7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNCxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTQtcGhvbmUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItcGhvbmUsIDE2cHgpKTsgfVxuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNCxcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi00LXBob25lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gNDsgfSB9XG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi01LFxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNS1waG9uZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci1waG9uZSwgMTZweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi01LFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTUtcGhvbmUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiA0OyB9IH1cbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTYsXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi02LXBob25lIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLXBob25lLCAxNnB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTYsXG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNi1waG9uZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDQ7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNyxcbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTctcGhvbmUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItcGhvbmUsIDE2cHgpKTsgfVxuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tNyxcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi03LXBob25lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gNDsgfSB9XG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi04LFxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tOC1waG9uZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci1waG9uZSwgMTZweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi04LFxuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTgtcGhvbmUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiA0OyB9IH1cbiAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTksXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi05LXBob25lIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLXBob25lLCAxNnB4KSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLTksXG4gICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tOS1waG9uZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDQ7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMTAsXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMC1waG9uZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci1waG9uZSwgMTZweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMCxcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMC1waG9uZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDQ7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMTEsXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMS1waG9uZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci1waG9uZSwgMTZweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMSxcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMS1waG9uZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDQ7IH0gfVxuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tMTIsXG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMi1waG9uZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci1waG9uZSwgMTZweCkpOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMixcbiAgICAgICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tc3Bhbi0xMi1waG9uZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDQ7IH0gfSB9XG5cbi5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4ubWRjLWxheW91dC1ncmlkX19jZWxsLS1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4ubWRjLWxheW91dC1ncmlkX19jZWxsLS1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbi5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLW9yZGVyLTcge1xuICBvcmRlcjogNzsgfVxuXG4ubWRjLWxheW91dC1ncmlkX19jZWxsLS1vcmRlci04IHtcbiAgb3JkZXI6IDg7IH1cblxuLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tb3JkZXItOSB7XG4gIG9yZGVyOiA5OyB9XG5cbi5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLW9yZGVyLTEwIHtcbiAgb3JkZXI6IDEwOyB9XG5cbi5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLW9yZGVyLTExIHtcbiAgb3JkZXI6IDExOyB9XG5cbi5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLW9yZGVyLTEyIHtcbiAgb3JkZXI6IDEyOyB9XG5cbi5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLWFsaWduLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tYWxpZ24tdG9wIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0YXJ0OyB9IH1cblxuLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbC0tYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLWFsaWduLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLWFsaWduLWJvdHRvbSB7XG4gICAgICBhbGlnbi1zZWxmOiBlbmQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm1kYy1sYXlvdXQtZ3JpZC0tZml4ZWQtY29sdW1uLXdpZHRoIHtcbiAgICB3aWR0aDogMTE3NnB4O1xuICAgIHdpZHRoOiBjYWxjKCB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtY29sdW1uLXdpZHRoLWRlc2t0b3AsIDcycHgpICogMTIgKyB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLWRlc2t0b3AsIDI0cHgpICogMTEgKyB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtbWFyZ2luLWRlc2t0b3AsIDI0cHgpICogMik7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAubWRjLWxheW91dC1ncmlkLS1maXhlZC1jb2x1bW4td2lkdGgge1xuICAgIHdpZHRoOiA3MjBweDtcbiAgICB3aWR0aDogY2FsYyggdmFyKC0tbWRjLWxheW91dC1ncmlkLWNvbHVtbi13aWR0aC10YWJsZXQsIDcycHgpICogOCArIHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItdGFibGV0LCAxNnB4KSAqIDcgKyB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtbWFyZ2luLXRhYmxldCwgMTZweCkgKiAyKTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAubWRjLWxheW91dC1ncmlkLS1maXhlZC1jb2x1bW4td2lkdGgge1xuICAgIHdpZHRoOiAzNjhweDtcbiAgICB3aWR0aDogY2FsYyggdmFyKC0tbWRjLWxheW91dC1ncmlkLWNvbHVtbi13aWR0aC1waG9uZSwgNzJweCkgKiA0ICsgdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci1waG9uZSwgMTZweCkgKiAzICsgdmFyKC0tbWRjLWxheW91dC1ncmlkLW1hcmdpbi1waG9uZSwgMTZweCkgKiAyKTsgfSB9XG5cbi5tZGMtbGF5b3V0LWdyaWQtLWFsaWduLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5tZGMtbGF5b3V0LWdyaWQtLWFsaWduLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4ubWRjLWxpbmUtcmlwcGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBvcGFjaXR5IDE4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDI7IH1cblxuLm1kYy1saW5lLXJpcHBsZS0tYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kYy1saW5lLXJpcHBsZS0tZGVhY3RpdmF0aW5nIHtcbiAgb3BhY2l0eTogMDsgfVxuXG5Aa2V5ZnJhbWVzIHByaW1hcnktaW5kZXRlcm1pbmF0ZS10cmFuc2xhdGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDIwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MzIsIDAuNDk1ODE5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgNTkuMTUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0MzUsIDAuMzgxMzUyLCAwLjU1LCAwLjk1NjM1Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDgzLjY3MTQyJSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMC42MTEwNTclKTsgfSB9XG5cbkBrZXlmcmFtZXMgcHJpbWFyeS1pbmRldGVybWluYXRlLXNjYWxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuMDgpOyB9XG4gIDM2LjY1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzM0NzMxLCAwLjEyNDgyLCAwLjc4NTg0NCwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC4wOCk7IH1cbiAgNjkuMTUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4wNiwgMC4xMSwgMC42LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjY2MTQ3OSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC4wOCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNlY29uZGFyeS1pbmRldGVybWluYXRlLXRyYW5zbGF0ZSB7XG4gIDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNSwgMCwgMC41MTUwNTgsIDAuNDA5Njg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMTAzMywgMC4yODQwNTgsIDAuOCwgMC43MzM3MTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzNy42NTE5MTMlKTsgfVxuICA0OC4zNSUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuNjI3MDM1LCAwLjYsIDAuOTAyMDI2KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoODQuMzg2MTY1JSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2MC4yNzc3ODIlKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2Vjb25kYXJ5LWluZGV0ZXJtaW5hdGUtc2NhbGUge1xuICAwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjA1MDI4LCAwLjA1NzA1MSwgMC41NzY2MSwgMC40NTM5NzEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuMDgpOyB9XG4gIDE5LjE1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTUyMzEzLCAwLjE5NjQzMiwgMC42NDgzNzQsIDEuMDA0MzE1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjQ1NzEwNCk7IH1cbiAgNDQuMTUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNTc3NTksIC0wLjAwMzE2MywgMC4yMTE3NjIsIDEuMzgxNzkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuNzI3OTYpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuMDgpOyB9IH1cblxuQGtleWZyYW1lcyBidWZmZXJpbmcge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgcHJpbWFyeS1pbmRldGVybWluYXRlLXRyYW5zbGF0ZS1yZXZlcnNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMyLCAwLjQ5NTgxOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDU5LjE1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDM1LCAwLjM4MTM1MiwgMC41NSwgMC45NTYzNTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtODMuNjcxNDIlKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMC42MTEwNTclKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2Vjb25kYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlLXJldmVyc2Uge1xuICAwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTUsIDAsIDAuNTE1MDU4LCAwLjQwOTY4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDI1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzEwMzMsIDAuMjg0MDU4LCAwLjgsIDAuNzMzNzEyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTM3LjY1MTkxMyUpOyB9XG4gIDQ4LjM1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMC42MjcwMzUsIDAuNiwgMC45MDIwMjYpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtODQuMzg2MTY1JSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNjAuMjc3NzgyJSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJ1ZmZlcmluZy1yZXZlcnNlIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfSB9XG5cbi5tZGMtbGluZWFyLXByb2dyZXNzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubWRjLWxpbmVhci1wcm9ncmVzc19fYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7IH1cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2Jhci1pbm5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYW5pbWF0aW9uOiBub25lOyB9XG4gIC5tZGMtbGluZWFyLXByb2dyZXNzX19idWZmZXJpbmctZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbmltYXRpb246IGJ1ZmZlcmluZyAyNTBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCA0cHg7IH1cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2J1ZmZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7IH1cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX3ByaW1hcnktYmFyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsgfVxuICAubWRjLWxpbmVhci1wcm9ncmVzc19fc2Vjb25kYXJ5LWJhciB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5tZGMtbGluZWFyLXByb2dyZXNzLS1pbmRldGVybWluYXRlIC5tZGMtbGluZWFyLXByb2dyZXNzX19iYXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3MtLWluZGV0ZXJtaW5hdGUgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX3ByaW1hcnktYmFyIHtcbiAgICBsZWZ0OiAtMTQ1LjE2NjYxMSU7XG4gICAgYW5pbWF0aW9uOiBwcmltYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlIDJzIGluZmluaXRlIGxpbmVhcjsgfVxuICAgIC5tZGMtbGluZWFyLXByb2dyZXNzLS1pbmRldGVybWluYXRlIC5tZGMtbGluZWFyLXByb2dyZXNzX19wcmltYXJ5LWJhciA+IC5tZGMtbGluZWFyLXByb2dyZXNzX19iYXItaW5uZXIge1xuICAgICAgYW5pbWF0aW9uOiBwcmltYXJ5LWluZGV0ZXJtaW5hdGUtc2NhbGUgMnMgaW5maW5pdGUgbGluZWFyOyB9XG4gIC5tZGMtbGluZWFyLXByb2dyZXNzLS1pbmRldGVybWluYXRlIC5tZGMtbGluZWFyLXByb2dyZXNzX19zZWNvbmRhcnktYmFyIHtcbiAgICBsZWZ0OiAtNTQuODg4ODkxJTtcbiAgICBhbmltYXRpb246IHNlY29uZGFyeS1pbmRldGVybWluYXRlLXRyYW5zbGF0ZSAycyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5tZGMtbGluZWFyLXByb2dyZXNzLS1pbmRldGVybWluYXRlIC5tZGMtbGluZWFyLXByb2dyZXNzX19zZWNvbmRhcnktYmFyID4gLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2Jhci1pbm5lciB7XG4gICAgICBhbmltYXRpb246IHNlY29uZGFyeS1pbmRldGVybWluYXRlLXNjYWxlIDJzIGluZmluaXRlIGxpbmVhcjsgfVxuICAubWRjLWxpbmVhci1wcm9ncmVzcy0tcmV2ZXJzZWQgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2JhcixcbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3MtLXJldmVyc2VkIC5tZGMtbGluZWFyLXByb2dyZXNzX19idWZmZXIge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDsgfVxuICAubWRjLWxpbmVhci1wcm9ncmVzcy0tcmV2ZXJzZWQgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX3ByaW1hcnktYmFyIHtcbiAgICBhbmltYXRpb24tbmFtZTogcHJpbWFyeS1pbmRldGVybWluYXRlLXRyYW5zbGF0ZS1yZXZlcnNlOyB9XG4gIC5tZGMtbGluZWFyLXByb2dyZXNzLS1yZXZlcnNlZCAubWRjLWxpbmVhci1wcm9ncmVzc19fc2Vjb25kYXJ5LWJhciB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNlY29uZGFyeS1pbmRldGVybWluYXRlLXRyYW5zbGF0ZS1yZXZlcnNlOyB9XG4gIC5tZGMtbGluZWFyLXByb2dyZXNzLS1yZXZlcnNlZCAubWRjLWxpbmVhci1wcm9ncmVzc19fYnVmZmVyaW5nLWRvdHMge1xuICAgIGFuaW1hdGlvbjogYnVmZmVyaW5nLXJldmVyc2UgMjUwbXMgaW5maW5pdGUgbGluZWFyOyB9XG4gIC5tZGMtbGluZWFyLXByb2dyZXNzLS1jbG9zZWQge1xuICAgIG9wYWNpdHk6IDA7IH1cblxuLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2Jhci1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTY1YzA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICMxNTY1YzApOyB9XG5cbi5tZGMtbGluZWFyLXByb2dyZXNzX19idWZmZXJpbmctZG90cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB4PScwcHgnIHk9JzBweCcgZW5hYmxlLWJhY2tncm91bmQ9J25ldyAwIDAgNSAyJyB4bWw6c3BhY2U9J3ByZXNlcnZlJyB2aWV3Qm94PScwIDAgNSAyJyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSdub25lIHNsaWNlJyUzRSUzQ2NpcmNsZSBjeD0nMScgY3k9JzEnIHI9JzEnIGZpbGw9JyUyM2U2ZTZlNicvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4ubWRjLWxpbmVhci1wcm9ncmVzc19fYnVmZmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuXG4ubWRjLWxpbmVhci1wcm9ncmVzcy0taW5kZXRlcm1pbmF0ZS5tZGMtbGluZWFyLXByb2dyZXNzLS1yZXZlcnNlZCAubWRjLWxpbmVhci1wcm9ncmVzc19fcHJpbWFyeS1iYXIge1xuICByaWdodDogLTE0NS4xNjY2MTElO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5tZGMtbGluZWFyLXByb2dyZXNzLS1pbmRldGVybWluYXRlLm1kYy1saW5lYXItcHJvZ3Jlc3MtLXJldmVyc2VkIC5tZGMtbGluZWFyLXByb2dyZXNzX19zZWNvbmRhcnktYmFyIHtcbiAgcmlnaHQ6IC01NC44ODg4OTElO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5tZGMtbGlzdCB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDkzNzVlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC44NykpOyB9XG5cbi5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1zZWNvbmRhcnktb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjU0KSk7IH1cblxuLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1pY29uLW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC4zOCkpOyB9XG5cbi5tZGMtbGlzdC1pdGVtX19tZXRhIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWhpbnQtb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjM4KSk7IH1cblxuLm1kYy1saXN0LWdyb3VwX19zdWJoZWFkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuODcpKTsgfVxuXG4ubWRjLWxpc3QtLWRlbnNlIHtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgZm9udC1zaXplOiAuODEycmVtOyB9XG5cbi5tZGMtbGlzdC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGhlaWdodDogNDhweDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tZGMtbGlzdC1pdGVtOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbi5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZCxcbi5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQge1xuICBjb2xvcjogIzE1NjVjMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICMxNTY1YzApOyB9XG4gIC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyxcbiAgLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgY29sb3I6ICMxNTY1YzA7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzE1NjVjMCk7IH1cblxuLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWRpc2FibGVkLW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC4zOCkpOyB9XG5cbi5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gIC5tZGMtbGlzdC1pdGVtW2Rpcj1cInJ0bFwiXSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyxcbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDsgfVxuICAubWRjLWxpc3QtaXRlbVtkaXI9XCJydGxcIl0gLm1kYy1saXN0LWl0ZW1fX21ldGEsXG4gIFtkaXI9XCJydGxcIl0gLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm1kYy1saXN0LWl0ZW1fX3RleHRbZm9yXSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogLTIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMzJweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiAwOyB9XG4gIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IC0yMHB4OyB9XG4gIC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMjBweDsgfVxuICAgIC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwOyB9XG4gICAgLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0OjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTIwcHg7IH1cblxuLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTc4NTcxNGVtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogMDsgfVxuICAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7IH1cbiAgICAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwOyB9XG5cbi5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IDQwcHg7IH1cblxuLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAzNnB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4OyB9XG4gIC5tZGMtbGlzdC1pdGVtW2Rpcj1cInJ0bFwiXSAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljLFxuICBbZGlyPVwicnRsXCJdIC5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tbGVmdDogMzZweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5tZGMtbGlzdC0tYXZhdGFyLWxpc3QgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IDU2cHg7IH1cblxuLm1kYy1saXN0LS1hdmF0YXItbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgLm1kYy1saXN0LWl0ZW1bZGlyPVwicnRsXCJdIC5tZGMtbGlzdC0tYXZhdGFyLWxpc3QgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMsXG4gIFtkaXI9XCJydGxcIl0gLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LS1hdmF0YXItbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm1kYy1saXN0LS10d28tbGluZSAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLm1kYy1saXN0LS10d28tbGluZSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNzJweDsgfVxuXG4ubWRjLWxpc3QtLXR3by1saW5lLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbSxcbi5tZGMtbGlzdC0tYXZhdGFyLWxpc3QubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtIHtcbiAgaGVpZ2h0OiA2MHB4OyB9XG5cbi5tZGMtbGlzdC0tYXZhdGFyLWxpc3QubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7IH1cbiAgLm1kYy1saXN0LWl0ZW1bZGlyPVwicnRsXCJdIC5tZGMtbGlzdC0tYXZhdGFyLWxpc3QubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljLFxuICBbZGlyPVwicnRsXCJdIC5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC0tYXZhdGFyLWxpc3QubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmEubWRjLWxpc3QtaXRlbSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLm1kYy1saXN0LWRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkOyB9XG5cbi5tZGMtbGlzdC1kaXZpZGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWxpc3QtZGl2aWRlci0tcGFkZGVkIHtcbiAgbWFyZ2luOiAwIDE2cHg7IH1cblxuLm1kYy1saXN0LWRpdmlkZXItLWluc2V0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogNzJweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA3MnB4KTsgfVxuICAubWRjLWxpc3QtZ3JvdXBbZGlyPVwicnRsXCJdIC5tZGMtbGlzdC1kaXZpZGVyLS1pbnNldCxcbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWxpc3QtZ3JvdXAgLm1kYy1saXN0LWRpdmlkZXItLWluc2V0IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1yaWdodDogNzJweDsgfVxuXG4ubWRjLWxpc3QtZGl2aWRlci0taW5zZXQubWRjLWxpc3QtZGl2aWRlci0tcGFkZGVkIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDcycHggLSAxNnB4KTsgfVxuXG4ubWRjLWxpc3QtZ3JvdXAgLm1kYy1saXN0IHtcbiAgcGFkZGluZzogMDsgfVxuXG4ubWRjLWxpc3QtZ3JvdXBfX3N1YmhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDkzNzVlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgbWFyZ2luOiAwLjc1cmVtIDE2cHg7IH1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbSB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5OyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgICB6LWluZGV4OiAxOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7IH1cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkczsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOjpiZWZvcmUsIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06OmFmdGVyIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTAwJSk7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgaGVpZ2h0OiAyMDAlOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOjpiZWZvcmUsIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wNDsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjEyOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1NjVjMDsgfVxuICAgIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6OmFmdGVyIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzE1NjVjMCk7IH0gfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4xNjsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4yNDsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4yNDsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjQ7IH1cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wODsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTY1YzA7IH1cbiAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YWZ0ZXIge1xuICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMTU2NWMwKTsgfSB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOmhvdmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjI7IH1cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjI7IH1cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjsgfVxuXG4ubWRjLW1lbnUge1xuICBtaW4td2lkdGg6IDExMnB4OyB9XG4gIC5tZGMtbWVudSAubWRjLWxpc3QtaXRlbV9fbWV0YSB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgLm1kYy1tZW51IC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAubWRjLW1lbnUgLm1kYy1saXN0IHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAubWRjLW1lbnUgLm1kYy1saXN0LWRpdmlkZXIge1xuICAgIG1hcmdpbjogOHB4IDA7IH1cbiAgLm1kYy1tZW51IC5tZGMtbGlzdC1pdGVtIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAubWRjLW1lbnUgLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgLm1kYy1tZW51IGEubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtaXRlbV9fdGV4dCxcbiAgLm1kYy1tZW51IGEubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAge1xuICBwYWRkaW5nOiAwO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAgLm1kYy1saXN0LWl0ZW0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbGlzdC1pdGVtLCAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cCAubWRjLWxpc3QtaXRlbVtkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgcGFkZGluZy1yaWdodDogNTZweDsgfVxuICAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cCAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cC1pY29uIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMTZweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwLWljb24sIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwLWljb25bZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogMTZweDsgfVxuXG4ubWRjLW1lbnUtaXRlbS0tc2VsZWN0ZWQgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4ubWRjLW1lbnUtc3VyZmFjZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMnB4KTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHotaW5kZXg6IDg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4wM3MgbGluZWFyLCB0cmFuc2Zvcm0gMC4xMnMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc3VyZmFjZSwgI2ZmZik7XG4gIGNvbG9yOiAjMDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICB0cmFuc2Zvcm0tb3JpZ2luLWxlZnQ6IHRvcCBsZWZ0O1xuICAvKiBAbm9mbGlwICovXG4gIHRyYW5zZm9ybS1vcmlnaW4tcmlnaHQ6IHRvcCByaWdodDsgfVxuICAubWRjLW1lbnUtc3VyZmFjZTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAubWRjLW1lbnUtc3VyZmFjZS0tb3BlbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubWRjLW1lbnUtc3VyZmFjZS0tYW5pbWF0aW5nLW9wZW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAubWRjLW1lbnUtc3VyZmFjZS0tYW5pbWF0aW5nLWNsb3NlZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjA3NXMgbGluZWFyOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1tZW51LXN1cmZhY2UsIC5tZGMtbWVudS1zdXJmYWNlW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHRyYW5zZm9ybS1vcmlnaW4tbGVmdDogdG9wIHJpZ2h0O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICB0cmFuc2Zvcm0tb3JpZ2luLXJpZ2h0OiB0b3AgbGVmdDsgfVxuXG4ubWRjLW1lbnUtc3VyZmFjZS0tYW5jaG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4ubWRjLW1lbnUtc3VyZmFjZS0tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLW5vdGNoZWQtb3V0bGluZSwgLm1kYy1ub3RjaGVkLW91dGxpbmVbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCwgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIHdpZHRoOiAxMnB4OyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmdbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7IH1cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmdbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEycHggKiAyKTsgfVxuICAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTdweDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0ZXh0LW92ZXJmbG93OiBjbGlwOyB9XG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAuNzUpOyB9XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCwgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lLS1uby1sYWJlbCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tZGMtcmFkaW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBib3JkZXItY29sb3IsIGNvbG9yOyB9XG4gIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTsgfVxuICAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICBib3JkZXItY29sb3I6ICMzODhlM2M7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzM4OGUzYyk7IH1cbiAgLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogIzM4OGUzYztcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTsgfVxuICAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM4OGUzYzsgfVxuICAgIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTsgfSB9XG4gIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gMTIwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7IH1cbiAgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpOyB9XG4gIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSwgYm9yZGVyLWNvbG9yIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpOyB9XG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBpbmhlcml0O1xuICAgIHotaW5kZXg6IDE7IH1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQsXG4ubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTsgfVxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpjaGVja2VkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUsXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7IH1cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlLFxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCBib3JkZXItY29sb3IgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpOyB9XG5cbi5tZGMtcmFkaW8tLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpjaGVja2VkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIGJvcmRlci1jb2xvciAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7IH1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kLFxuW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlLFxuICBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUsXG4gIFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Zm9jdXMgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDIsIDIpO1xuICBvcGFjaXR5OiAwLjEyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTsgfVxuXG4ubWRjLXJhZGlvIHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7IH1cbiAgLm1kYy1yYWRpbzo6YmVmb3JlLCAubWRjLXJhZGlvOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgLm1kYy1yYWRpbzo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTsgfVxuICAubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzOyB9XG4gIC5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtcmFkaW86OmJlZm9yZSwgLm1kYy1yYWRpbzo6YWZ0ZXIge1xuICAgIHRvcDogY2FsYyg1MCUgLSA1MCUpO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDUwJSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlLCAubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCBjYWxjKDUwJSAtIDUwJSkpO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIGNhbGMoNTAlIC0gNTAlKSk7XG4gICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpOyB9XG4gIC5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuICAubWRjLXJhZGlvOjpiZWZvcmUsIC5tZGMtcmFkaW86OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg4ZTNjOyB9XG4gICAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgLm1kYy1yYWRpbzo6YmVmb3JlLCAubWRjLXJhZGlvOjphZnRlciB7XG4gICAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzM4OGUzYyk7IH0gfVxuICAubWRjLXJhZGlvOmhvdmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMDQ7IH1cbiAgLm1kYy1yYWRpbzpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsIC5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLXJhZGlvOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjsgfVxuICAubWRjLXJhZGlvOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjEyOyB9XG4gIC5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lOyB9XG5cbi5tZGMtcmlwcGxlLXN1cmZhY2Uge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2U6OmJlZm9yZSwgLm1kYy1yaXBwbGUtc3VyZmFjZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2U6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2UubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAubWRjLXJpcHBsZS1zdXJmYWNlLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2UubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7IH1cbiAgLm1kYy1yaXBwbGUtc3VyZmFjZS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkczsgfVxuICAubWRjLXJpcHBsZS1zdXJmYWNlLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAubWRjLXJpcHBsZS1zdXJmYWNlOjpiZWZvcmUsIC5tZGMtcmlwcGxlLXN1cmZhY2U6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2U6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wNDsgfVxuICAubWRjLXJpcHBsZS1zdXJmYWNlOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm1kYy1yaXBwbGUtc3VyZmFjZS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjEyOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2U6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2U6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy1yaXBwbGUtc3VyZmFjZS5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLXJpcHBsZS1zdXJmYWNlOjpiZWZvcmUsIC5tZGMtcmlwcGxlLXN1cmZhY2U6OmFmdGVyIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTAwJSk7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgaGVpZ2h0OiAyMDAlOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2UubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuICAubWRjLXJpcHBsZS1zdXJmYWNlW2RhdGEtbWRjLXJpcHBsZS1pcy11bmJvdW5kZWRdIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgIC5tZGMtcmlwcGxlLXN1cmZhY2VbZGF0YS1tZGMtcmlwcGxlLWlzLXVuYm91bmRlZF06OmJlZm9yZSwgLm1kYy1yaXBwbGUtc3VyZmFjZVtkYXRhLW1kYy1yaXBwbGUtaXMtdW5ib3VuZGVkXTo6YWZ0ZXIge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDUwJSk7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDUwJSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5tZGMtcmlwcGxlLXN1cmZhY2VbZGF0YS1tZGMtcmlwcGxlLWlzLXVuYm91bmRlZF0ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlLCAubWRjLXJpcHBsZS1zdXJmYWNlW2RhdGEtbWRjLXJpcHBsZS1pcy11bmJvdW5kZWRdLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICAgIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIGNhbGMoNTAlIC0gNTAlKSk7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIGNhbGMoNTAlIC0gNTAlKSk7XG4gICAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuICAgIC5tZGMtcmlwcGxlLXN1cmZhY2VbZGF0YS1tZGMtcmlwcGxlLWlzLXVuYm91bmRlZF0ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7IH1cbiAgLm1kYy1yaXBwbGUtc3VyZmFjZS0tcHJpbWFyeTo6YmVmb3JlLCAubWRjLXJpcHBsZS1zdXJmYWNlLS1wcmltYXJ5OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1NjVjMDsgfVxuICAgIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgIC5tZGMtcmlwcGxlLXN1cmZhY2UtLXByaW1hcnk6OmJlZm9yZSwgLm1kYy1yaXBwbGUtc3VyZmFjZS0tcHJpbWFyeTo6YWZ0ZXIge1xuICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMTU2NWMwKTsgfSB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2UtLXByaW1hcnk6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wNDsgfVxuICAubWRjLXJpcHBsZS1zdXJmYWNlLS1wcmltYXJ5Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm1kYy1yaXBwbGUtc3VyZmFjZS0tcHJpbWFyeS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjEyOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2UtLXByaW1hcnk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2UtLXByaW1hcnk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy1yaXBwbGUtc3VyZmFjZS0tcHJpbWFyeS5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLXJpcHBsZS1zdXJmYWNlLS1hY2NlbnQ6OmJlZm9yZSwgLm1kYy1yaXBwbGUtc3VyZmFjZS0tYWNjZW50OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM4OGUzYzsgfVxuICAgIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgIC5tZGMtcmlwcGxlLXN1cmZhY2UtLWFjY2VudDo6YmVmb3JlLCAubWRjLXJpcHBsZS1zdXJmYWNlLS1hY2NlbnQ6OmFmdGVyIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTsgfSB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2UtLWFjY2VudDpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjA0OyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2UtLWFjY2VudDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsIC5tZGMtcmlwcGxlLXN1cmZhY2UtLWFjY2VudC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjEyOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2UtLWFjY2VudDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cbiAgLm1kYy1yaXBwbGUtc3VyZmFjZS0tYWNjZW50Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjEyOyB9XG4gIC5tZGMtcmlwcGxlLXN1cmZhY2UtLWFjY2VudC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjsgfVxuXG5Aa2V5ZnJhbWVzIG1kYy1zZWxlY3QtZmxvYXQtbmF0aXZlLWNvbnRyb2wge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9faWNvbiB7XG4gIGNvbG9yOiAjMDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7IH1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTZweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBvcGFjaXR5OiAwLjU0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm1kYy1zZWxlY3RfX2ljb246bm90KFt0YWJpbmRleF0pLFxuLm1kYy1zZWxlY3RfX2ljb25bdGFiaW5kZXg9XCItMVwiXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLm1kYy1zZWxlY3QtaGVscGVyLXRleHQge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMzMzMzMzNlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIG9wYWNpdHk6IDA7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5OyB9XG4gIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogMDsgfVxuXG4ubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tcGVyc2lzdGVudCB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG4gIHdpbGwtY2hhbmdlOiBpbml0aWFsOyB9XG5cbi5tZGMtc2VsZWN0IHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogNTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBjb2xvcjsgfVxuICAubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTsgfVxuICAubWRjLXNlbGVjdDo6YmVmb3JlLCAubWRjLXNlbGVjdDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5tZGMtc2VsZWN0OjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gICAgei1pbmRleDogMTsgfVxuICAubWRjLXNlbGVjdC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtc2VsZWN0Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyB9XG4gIC5tZGMtc2VsZWN0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICAgIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApOyB9XG4gIC5tZGMtc2VsZWN0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzOyB9XG4gIC5tZGMtc2VsZWN0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAubWRjLXNlbGVjdDo6YmVmb3JlLCAubWRjLXNlbGVjdDo6YWZ0ZXIge1xuICAgIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7IH1cbiAgLm1kYy1zZWxlY3QubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuICAubWRjLXNlbGVjdDo6YmVmb3JlLCAubWRjLXNlbGVjdDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgLm1kYy1zZWxlY3Q6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wNDsgfVxuICAubWRjLXNlbGVjdDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsIC5tZGMtc2VsZWN0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuICAubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDIpOyB9XG4gIC5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cbiAgLm1kYy1zZWxlY3QsIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7IH1cbiAgLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU2NWMwO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzE1NjVjMCk7IH1cbiAgLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBjb2xvcjogcmdiYSgyMSwgMTAxLCAxOTIsIDAuODcpOyB9XG4gIC5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAubWRjLXNlbGVjdCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MCUpIHNjYWxlKDAuNzUpOyB9XG4gIC5tZGMtc2VsZWN0IC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiAxNnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogaW5pdGlhbDtcbiAgICB0b3A6IDIxcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0IC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtc2VsZWN0IC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogMTZweDsgfVxuICAubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogNDhweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogNDhweDsgfVxuICAubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogNHB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogaW5pdGlhbDtcbiAgICB0b3A6IDE3cHg7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogNHB4OyB9XG4gIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiAzNnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogaW5pdGlhbDsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHJpZ2h0OiAzNnB4OyB9XG4gICAgLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogMzZweDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHJpZ2h0OiBpbml0aWFsOyB9XG4gICAgICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgcmlnaHQ6IDM2cHg7IH1cbiAgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyMzAwMCUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyMC41NCUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRVwiKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBhdXRvO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDE2cHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiwgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb25bZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IDhweDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHJpZ2h0OiBhdXRvOyB9XG4gICAgLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTBweCUyMiUyMGhlaWdodCUzRCUyMjVweCUyMiUyMHZpZXdCb3glM0QlMjI3JTIwMTAlMjAxMCUyMDUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwaWQlM0QlMjJTaGFwZSUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBmaWxsJTNEJTIyJTIzMTU2NWMwJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMG9wYWNpdHklM0QlMjIxJTIyJTIwcG9pbnRzJTNEJTIyNyUyMDEwJTIwMTIlMjAxNSUyMDE3JTIwMTAlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1saW5lLXJpcHBsZTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMik7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4ubWRjLXNlbGVjdCArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBtYXJnaW4tbGVmdDogMTJweDsgfVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cblxuLm1kYy1zZWxlY3QtLWZvY3VzZWQgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dDpub3QoLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnKSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nLXRvcDogMjJweDsgfVxuXG4ubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4ubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDUycHg7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDkzNzVlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTZweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCwgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sW2Rpcj1cInJ0bFwiXSwgW2Rpcj1cInJ0bFwiXVxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCxcbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHRbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiA1MnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XG4gIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDo6LW1zLWV4cGFuZCxcbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQ6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOjotbXMtdmFsdWUsXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OjotbXMtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoXCJcIikge1xuICAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICB0ZXh0LWluZGVudDogLTJweDsgfSB9XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI0KTsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBib3JkZXItY29sb3I6ICMxNTY1YzA7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICMxNTY1YzApOyB9XG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gICAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZCAyNTBtcyAxOyB9XG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4OyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZ1tkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLCAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOjpiZWZvcmUsIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ0JSkgc2NhbGUoMSk7IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9XG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogNTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLCAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sW2Rpcj1cInJ0bFwiXSwgW2Rpcj1cInJ0bFwiXVxuICAgIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCxcbiAgICAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHRbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHBhZGRpbmctbGVmdDogNTJweDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogMTRweDsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2ljb24ge1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1cmVtO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbGluZS1yaXBwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICNiMDAwMjA7IH1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0taW52YWxpZCArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZyB7XG4gIGNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItd2lkdGg6IDJweDsgfVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMHB4JTIyJTIwaGVpZ2h0JTNEJTIyNXB4JTIyJTIwdmlld0JveCUzRCUyMjclMjAxMCUyMDEwJTIwNSUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBpZCUzRCUyMlNoYXBlJTIyJTIwc3Ryb2tlJTNEJTIybm9uZSUyMiUyMGZpbGwlM0QlMjIlMjNiMDAwMjAlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwb3BhY2l0eSUzRCUyMjElMjIlMjBwb2ludHMlM0QlMjI3JTIwMTAlMjAxMiUyMDE1JTIwMTclMjAxMCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IGNlbnRlcjsgfVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZCArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kYy1zZWxlY3QtLXJlcXVpcmVkIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogXCIqXCI7IH1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAubWRjLXNlbGVjdC0tZGlzYWJsZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7IH1cbiAgLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMHB4JTIyJTIwaGVpZ2h0JTNEJTIyNXB4JTIyJTIwdmlld0JveCUzRCUyMjclMjAxMCUyMDEwJTIwNSUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBpZCUzRCUyMlNoYXBlJTIyJTIwc3Ryb2tlJTNEJTIybm9uZSUyMiUyMGZpbGwlM0QlMjIlMjMwMDAlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwb3BhY2l0eSUzRCUyMjAuMzclMjIlMjBwb2ludHMlM0QlMjI3JTIwMTAlMjAxMiUyMDE1JTIwMTclMjAxMCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IGNlbnRlcjsgfVxuICAubWRjLXNlbGVjdC0tZGlzYWJsZWQgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWRjLXNlbGVjdC0tZGlzYWJsZWQgLm1kYy1zZWxlY3RfX2ljb24ge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9XG4gIC5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkOyB9XG4gIC5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5tZGMtc2VsZWN0LS1kaXNhYmxlZC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4gICAgLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7IH1cbiAgICAubWRjLXNlbGVjdC0tZGlzYWJsZWQubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAubWRjLXNlbGVjdC0tZGlzYWJsZWQubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE2KTsgfVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX2ljb24sIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBpbml0aWFsO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMTZweDsgfVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMzJweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2xbZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4gIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCxcbiAgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0W2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogMzJweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NCUpIHRyYW5zbGF0ZVgoLTMycHgpIHNjYWxlKDEpOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NCUpIHRyYW5zbGF0ZVgoMzJweCkgc2NhbGUoMSk7IH1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzMCUpIHRyYW5zbGF0ZVgoLTMycHgpIHNjYWxlKDAuNzUpOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4gIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzMCUpIHRyYW5zbGF0ZVgoMzJweCkgc2NhbGUoMC43NSk7IH1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uIDI1MG1zIDE7IH1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2UsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZFtkaXI9XCJydGxcIl0gLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCAyNTBtcyAxOyB9XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMzJweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdC1pdGVtX190ZXh0LCAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QtaXRlbV9fdGV4dFtkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cblxuLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZCB7XG4gIGNvbG9yOiAjMDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7IH1cbiAgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YmVmb3JlLCAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgIC5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmJlZm9yZSwgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YWZ0ZXIge1xuICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTsgfSB9XG4gIC5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wNDsgfVxuICAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjEyOyB9XG4gIC5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIC5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjsgfVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uIHtcbiAgLyogY2xlYW4tY3NzIGlnbm9yZTpzdGFydCAqL1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMyLCAwLjQ5NTgxOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAzMnB4KSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0MzUsIDAuMzgxMzUyLCAwLjU1LCAwLjk1NjM1Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMzJweCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAzMnB4KSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgLyogY2xlYW4tY3NzIGlnbm9yZTplbmQgKi8gfVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCB7XG4gIC8qIGNsZWFuLWNzcyBpZ25vcmU6c3RhcnQgKi9cbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAtMzJweCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MzIsIDAuNDk1ODE5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIC0zMnB4KSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0MzUsIDAuMzgxMzUyLCAwLjU1LCAwLjk1NjM1Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gLTMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gLTMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAvKiBjbGVhbi1jc3MgaWdub3JlOmVuZCAqLyB9XG5cbkBrZXlmcmFtZXMgbWRjLXNsaWRlci1lbXBoYXNpemUge1xuICAwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44NSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjU3MSk7IH0gfVxuXG4ubWRjLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3VjaC1hY3Rpb246IHBhbi14O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IH1cbiAgLm1kYy1zbGlkZXI6bm90KC5tZGMtc2xpZGVyLS1kaXNhYmxlZCkgLm1kYy1zbGlkZXJfX3RyYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg4ZTNjO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTsgfVxuICAubWRjLXNsaWRlcjpub3QoLm1kYy1zbGlkZXItLWRpc2FibGVkKSAubWRjLXNsaWRlcl9fdHJhY2stY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU2LCAxNDIsIDYwLCAwLjI2KTsgfVxuICAubWRjLXNsaWRlcjpub3QoLm1kYy1zbGlkZXItLWRpc2FibGVkKSAubWRjLXNsaWRlcl9fdHJhY2stbWFya2VyOjphZnRlcixcbiAgLm1kYy1zbGlkZXI6bm90KC5tZGMtc2xpZGVyLS1kaXNhYmxlZCkgLm1kYy1zbGlkZXJfX3RyYWNrLW1hcmtlci1jb250YWluZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg4ZTNjO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTsgfVxuICAubWRjLXNsaWRlcjpub3QoLm1kYy1zbGlkZXItLWRpc2FibGVkKSAubWRjLXNsaWRlcl9fdGh1bWIge1xuICAgIGZpbGw6ICMzODhlM2M7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGZpbGw6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMzODhlM2MpO1xuICAgIHN0cm9rZTogIzM4OGUzYztcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgc3Ryb2tlOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTsgfVxuICAubWRjLXNsaWRlcjpub3QoLm1kYy1zbGlkZXItLWRpc2FibGVkKSAubWRjLXNsaWRlcl9fZm9jdXMtcmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM4OGUzYztcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzM4OGUzYyk7IH1cbiAgLm1kYy1zbGlkZXI6bm90KC5tZGMtc2xpZGVyLS1kaXNhYmxlZCkgLm1kYy1zbGlkZXJfX3BpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM4OGUzYztcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzM4OGUzYyk7IH1cbiAgLm1kYy1zbGlkZXI6bm90KC5tZGMtc2xpZGVyLS1kaXNhYmxlZCkgLm1kYy1zbGlkZXJfX3BpbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1kYXJrLCB3aGl0ZSk7IH1cbiAgLm1kYy1zbGlkZXItLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAubWRjLXNsaWRlci0tZGlzYWJsZWQgLm1kYy1zbGlkZXJfX3RyYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5YTlhOWE7IH1cbiAgICAubWRjLXNsaWRlci0tZGlzYWJsZWQgLm1kYy1zbGlkZXJfX3RyYWNrLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1NCwgMTU0LCAxNTQsIDAuMjYpOyB9XG4gICAgLm1kYy1zbGlkZXItLWRpc2FibGVkIC5tZGMtc2xpZGVyX190cmFjay1tYXJrZXI6OmFmdGVyLFxuICAgIC5tZGMtc2xpZGVyLS1kaXNhYmxlZCAubWRjLXNsaWRlcl9fdHJhY2stbWFya2VyLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzlhOWE5YTsgfVxuICAgIC5tZGMtc2xpZGVyLS1kaXNhYmxlZCAubWRjLXNsaWRlcl9fdGh1bWIge1xuICAgICAgZmlsbDogIzlhOWE5YTtcbiAgICAgIHN0cm9rZTogIzlhOWE5YTsgfVxuICAgIC5tZGMtc2xpZGVyLS1kaXNhYmxlZCAubWRjLXNsaWRlcl9fdGh1bWIge1xuICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgc3Ryb2tlOiB3aGl0ZTtcbiAgICAgIHN0cm9rZTogdmFyKC0tbWRjLXNsaWRlci1iZy1jb2xvci1iZWhpbmQtY29tcG9uZW50LCB3aGl0ZSk7IH1cbiAgLm1kYy1zbGlkZXI6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLm1kYy1zbGlkZXJfX3RyYWNrLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1kYy1zbGlkZXJfX3RyYWNrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IH1cbiAgICAubWRjLXNsaWRlcltkaXI9XCJydGxcIl0gLm1kYy1zbGlkZXJfX3RyYWNrLFxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy1zbGlkZXIgLm1kYy1zbGlkZXJfX3RyYWNrIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsgfVxuICAubWRjLXNsaWRlcl9fdHJhY2stbWFya2VyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLm1kYy1zbGlkZXJbZGlyPVwicnRsXCJdIC5tZGMtc2xpZGVyX190cmFjay1tYXJrZXItY29udGFpbmVyLFxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy1zbGlkZXIgLm1kYy1zbGlkZXJfX3RyYWNrLW1hcmtlci1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWRjLXNsaWRlcl9fdHJhY2stbWFya2VyLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMnB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5tZGMtc2xpZGVyX190cmFjay1tYXJrZXIge1xuICAgIGZsZXg6IDE7IH1cbiAgICAubWRjLXNsaWRlcl9fdHJhY2stbWFya2VyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAycHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAubWRjLXNsaWRlcl9fdHJhY2stbWFya2VyOmZpcnN0LWNoaWxkOjphZnRlciB7XG4gICAgICB3aWR0aDogM3B4OyB9XG4gIC5tZGMtc2xpZGVyX190aHVtYi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMjFweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxuICAubWRjLXNsaWRlcl9fdGh1bWIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNTcxKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZS1vdXQsIGZpbGwgMTAwbXMgZWFzZS1vdXQsIHN0cm9rZSAxMDBtcyBlYXNlLW91dDtcbiAgICBzdHJva2Utd2lkdGg6IDMuNTsgfVxuICAubWRjLXNsaWRlcl9fZm9jdXMtcmluZyB7XG4gICAgd2lkdGg6IDIxcHg7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNjYuNjdtcyBlYXNlLW91dCwgb3BhY2l0eSAyNjYuNjdtcyBlYXNlLW91dCwgYmFja2dyb3VuZC1jb2xvciAyNjYuNjdtcyBlYXNlLW91dDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDsgfVxuICAubWRjLXNsaWRlcl9fcGluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoMCkgdHJhbnNsYXRlKDAsIDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlLW91dDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgNTAlIDUwJSAwJTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5tZGMtc2xpZGVyX19waW4tdmFsdWUtbWFya2VyIHtcbiAgICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxNzg1NzE0ZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4ubWRjLXNsaWRlci0tYWN0aXZlIC5tZGMtc2xpZGVyX190aHVtYiB7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuXG4ubWRjLXNsaWRlci0tZm9jdXMgLm1kYy1zbGlkZXJfX3RodW1iIHtcbiAgYW5pbWF0aW9uOiBtZGMtc2xpZGVyLWVtcGhhc2l6ZSAyNjYuNjdtcyBsaW5lYXI7IH1cblxuLm1kYy1zbGlkZXItLWZvY3VzIC5tZGMtc2xpZGVyX19mb2N1cy1yaW5nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuNTUsIDEuNTUsIDEuNTUpO1xuICBvcGFjaXR5OiAuMjU7IH1cblxuLm1kYy1zbGlkZXItLWluLXRyYW5zaXQgLm1kYy1zbGlkZXJfX3RodW1iIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMTQwbXM7IH1cblxuLm1kYy1zbGlkZXItLWluLXRyYW5zaXQgLm1kYy1zbGlkZXJfX3RodW1iLWNvbnRhaW5lcixcbi5tZGMtc2xpZGVyLS1pbi10cmFuc2l0IC5tZGMtc2xpZGVyX190cmFjayxcbi5tZGMtc2xpZGVyOmZvY3VzOm5vdCgubWRjLXNsaWRlci0tYWN0aXZlKSAubWRjLXNsaWRlcl9fdGh1bWItY29udGFpbmVyLFxuLm1kYy1zbGlkZXI6Zm9jdXM6bm90KC5tZGMtc2xpZGVyLS1hY3RpdmUpIC5tZGMtc2xpZGVyX190cmFjayB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA4MG1zIGVhc2U7IH1cblxuLm1kYy1zbGlkZXItLWRpc2NyZXRlLm1kYy1zbGlkZXItLWFjdGl2ZSAubWRjLXNsaWRlcl9fdGh1bWIge1xuICB0cmFuc2Zvcm06IHNjYWxlKGNhbGMoMTIgLyAyMSkpOyB9XG5cbi5tZGMtc2xpZGVyLS1kaXNjcmV0ZS5tZGMtc2xpZGVyLS1hY3RpdmUgLm1kYy1zbGlkZXJfX3BpbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoMSkgdHJhbnNsYXRlKDE5cHgsIC0yMHB4KTsgfVxuXG4ubWRjLXNsaWRlci0tZGlzY3JldGUubWRjLXNsaWRlci0tZm9jdXMgLm1kYy1zbGlkZXJfX3RodW1iIHtcbiAgYW5pbWF0aW9uOiBub25lOyB9XG5cbi5tZGMtc2xpZGVyLS1kaXNjcmV0ZS5tZGMtc2xpZGVyLS1kaXNwbGF5LW1hcmtlcnMgLm1kYy1zbGlkZXJfX3RyYWNrLW1hcmtlci1jb250YWluZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5tZGMtc25hY2tiYXIge1xuICB6LWluZGV4OiA4O1xuICBtYXJnaW46IDhweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxuXG4ubWRjLXNuYWNrYmFyX19zdXJmYWNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMzsgfVxuXG4ubWRjLXNuYWNrYmFyX19sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODcpOyB9XG5cbi5tZGMtc25hY2tiYXJfX3N1cmZhY2Uge1xuICBtaW4td2lkdGg6IDM0NHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCksIChtYXgtd2lkdGg6IDM0NHB4KSB7XG4gICAgLm1kYy1zbmFja2Jhcl9fc3VyZmFjZSB7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7IH0gfVxuXG4ubWRjLXNuYWNrYmFyX19zdXJmYWNlIHtcbiAgbWF4LXdpZHRoOiA2NzJweDsgfVxuXG4ubWRjLXNuYWNrYmFyX19zdXJmYWNlIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA2cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGMtc25hY2tiYXJfX3N1cmZhY2Uge1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLm1kYy1zbmFja2Jhci0tb3BlbmluZyxcbi5tZGMtc25hY2tiYXItLW9wZW4sXG4ubWRjLXNuYWNrYmFyLS1jbG9zaW5nIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4ubWRjLXNuYWNrYmFyLS1sZWFkaW5nIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5tZGMtc25hY2tiYXItLXN0YWNrZWQgLm1kYy1zbmFja2Jhcl9fc3VyZmFjZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5tZGMtc25hY2tiYXItLXN0YWNrZWQgLm1kYy1zbmFja2Jhcl9fYWN0aW9ucyB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cblxuLm1kYy1zbmFja2Jhcl9fc3VyZmFjZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5tZGMtc25hY2tiYXItLW9wZW4gLm1kYy1zbmFja2Jhcl9fc3VyZmFjZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDE1MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4gIC5tZGMtc25hY2tiYXItLWNsb3NpbmcgLm1kYy1zbmFja2Jhcl9fc3VyZmFjZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpOyB9XG5cbi5tZGMtc25hY2tiYXJfX2xhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTc4NTcxNGVtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBmbGV4LWdyb3c6IDE7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTRweCAxNnB4OyB9XG5cbi5tZGMtc25hY2tiYXJfX2xhYmVsOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1tZGMtc25hY2tiYXItbGFiZWwtdGV4dCk7IH1cblxuLm1kYy1zbmFja2Jhcl9fYWN0aW9ucyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1zbmFja2Jhcl9fYWN0aW9ucywgLm1kYy1zbmFja2Jhcl9fYWN0aW9uc1tkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm1kYy1zbmFja2Jhcl9fYWN0aW9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY29sb3I6ICNiYjg2ZmM7IH1cblxuLm1kYy1zbmFja2Jhcl9fYWN0aW9uOjpiZWZvcmUsIC5tZGMtc25hY2tiYXJfX2FjdGlvbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmI4NmZjOyB9XG5cbi5tZGMtc25hY2tiYXJfX2FjdGlvbjpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wODsgfVxuXG4ubWRjLXNuYWNrYmFyX19hY3Rpb246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubWRjLXNuYWNrYmFyX19hY3Rpb24ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI0OyB9XG5cbi5tZGMtc25hY2tiYXJfX2FjdGlvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG5cbi5tZGMtc25hY2tiYXJfX2FjdGlvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI0OyB9XG5cbi5tZGMtc25hY2tiYXJfX2FjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjQ7IH1cblxuLm1kYy1zbmFja2Jhcl9fZGlzbWlzcyB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODcpOyB9XG4gIC5tZGMtc25hY2tiYXJfX2Rpc21pc3M6OmJlZm9yZSwgLm1kYy1zbmFja2Jhcl9fZGlzbWlzczo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Nyk7IH1cbiAgLm1kYy1zbmFja2Jhcl9fZGlzbWlzczpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjA4OyB9XG4gIC5tZGMtc25hY2tiYXJfX2Rpc21pc3M6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubWRjLXNuYWNrYmFyX19kaXNtaXNzLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMjQ7IH1cbiAgLm1kYy1zbmFja2Jhcl9fZGlzbWlzczpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cbiAgLm1kYy1zbmFja2Jhcl9fZGlzbWlzczpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4yNDsgfVxuICAubWRjLXNuYWNrYmFyX19kaXNtaXNzLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjI0OyB9XG5cbi5tZGMtc25hY2tiYXJfX2Rpc21pc3MubWRjLXNuYWNrYmFyX19kaXNtaXNzIHtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgcGFkZGluZzogOXB4O1xuICBmb250LXNpemU6IDE4cHg7IH1cbiAgLm1kYy1zbmFja2Jhcl9fZGlzbWlzcy5tZGMtc25hY2tiYXJfX2Rpc21pc3Mgc3ZnLFxuICAubWRjLXNuYWNrYmFyX19kaXNtaXNzLm1kYy1zbmFja2Jhcl9fZGlzbWlzcyBpbWcge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDsgfVxuXG4ubWRjLXNuYWNrYmFyX19hY3Rpb24gKyAubWRjLXNuYWNrYmFyX19kaXNtaXNzIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtc25hY2tiYXJfX2FjdGlvbiArIC5tZGMtc25hY2tiYXJfX2Rpc21pc3MsIC5tZGMtc25hY2tiYXJfX2FjdGlvbiArIC5tZGMtc25hY2tiYXJfX2Rpc21pc3NbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG5cbi5tZGMtc3dpdGNoIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5tZGMtc3dpdGNoLm1kYy1zd2l0Y2gtLWNoZWNrZWQgLm1kYy1zd2l0Y2hfX3RyYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg4ZTNjO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTtcbiAgICBib3JkZXItY29sb3I6ICMzODhlM2M7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzM4OGUzYyk7IH1cbiAgLm1kYy1zd2l0Y2gubWRjLXN3aXRjaC0tY2hlY2tlZCAubWRjLXN3aXRjaF9fdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzODhlM2M7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMzODhlM2MpO1xuICAgIGJvcmRlci1jb2xvcjogIzM4OGUzYztcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMzg4ZTNjKTsgfVxuICAubWRjLXN3aXRjaDpub3QoLm1kYy1zd2l0Y2gtLWNoZWNrZWQpIC5tZGMtc3dpdGNoX190cmFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBib3JkZXItY29sb3I6ICMwMDA7IH1cbiAgLm1kYy1zd2l0Y2g6bm90KC5tZGMtc3dpdGNoLS1jaGVja2VkKSAubWRjLXN3aXRjaF9fdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG5cbi5tZGMtc3dpdGNoX19uYXRpdmUtY29udHJvbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA2OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtc3dpdGNoX19uYXRpdmUtY29udHJvbCwgLm1kYy1zd2l0Y2hfX25hdGl2ZS1jb250cm9sW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiAwOyB9XG5cbi5tZGMtc3dpdGNoX190cmFjayB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIG9wYWNpdHk6IC4zODtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIGJhY2tncm91bmQtY29sb3IgOTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBib3JkZXItY29sb3IgOTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG5cbi5tZGMtc3dpdGNoX190aHVtYi11bmRlcmxheSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogLTE4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTdweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDkwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgYmFja2dyb3VuZC1jb2xvciA5MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIGJvcmRlci1jb2xvciA5MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXksIC5tZGMtc3dpdGNoX190aHVtYi11bmRlcmxheVtkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBpbml0aWFsO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogLTE4cHg7IH1cblxuLm1kYy1zd2l0Y2hfX3RodW1iIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyOiAxMHB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxOyB9XG5cbi5tZGMtc3dpdGNoLS1jaGVja2VkIC5tZGMtc3dpdGNoX190cmFjayB7XG4gIG9wYWNpdHk6IC41NDsgfVxuXG4ubWRjLXN3aXRjaC0tY2hlY2tlZCAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXN3aXRjaC0tY2hlY2tlZCAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXksIC5tZGMtc3dpdGNoLS1jaGVja2VkIC5tZGMtc3dpdGNoX190aHVtYi11bmRlcmxheVtkaXI9XCJydGxcIl0ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cblxuLm1kYy1zd2l0Y2gtLWNoZWNrZWQgLm1kYy1zd2l0Y2hfX25hdGl2ZS1jb250cm9sIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtc3dpdGNoLS1jaGVja2VkIC5tZGMtc3dpdGNoX19uYXRpdmUtY29udHJvbCwgLm1kYy1zd2l0Y2gtLWNoZWNrZWQgLm1kYy1zd2l0Y2hfX25hdGl2ZS1jb250cm9sW2Rpcj1cInJ0bFwiXSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG5cbi5tZGMtc3dpdGNoLS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IC4zODtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLm1kYy1zd2l0Y2gtLWRpc2FibGVkIC5tZGMtc3dpdGNoX190aHVtYiB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7IH1cbiAgLm1kYy1zd2l0Y2gtLWRpc2FibGVkIC5tZGMtc3dpdGNoX19uYXRpdmUtY29udHJvbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tZGMtc3dpdGNoOm5vdCgubWRjLXN3aXRjaC0tY2hlY2tlZCkgLm1kYy1zd2l0Y2hfX3RodW1iLXVuZGVybGF5OjpiZWZvcmUsIC5tZGMtc3dpdGNoOm5vdCgubWRjLXN3aXRjaC0tY2hlY2tlZCkgLm1kYy1zd2l0Y2hfX3RodW1iLXVuZGVybGF5OjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZTllOWU7IH1cblxuLm1kYy1zd2l0Y2g6bm90KC5tZGMtc3dpdGNoLS1jaGVja2VkKSAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXk6aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDg7IH1cblxuLm1kYy1zd2l0Y2g6bm90KC5tZGMtc3dpdGNoLS1jaGVja2VkKSAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubWRjLXN3aXRjaDpub3QoLm1kYy1zd2l0Y2gtLWNoZWNrZWQpIC5tZGMtc3dpdGNoX190aHVtYi11bmRlcmxheS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjQ7IH1cblxuLm1kYy1zd2l0Y2g6bm90KC5tZGMtc3dpdGNoLS1jaGVja2VkKSAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjsgfVxuXG4ubWRjLXN3aXRjaDpub3QoLm1kYy1zd2l0Y2gtLWNoZWNrZWQpIC5tZGMtc3dpdGNoX190aHVtYi11bmRlcmxheTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI0OyB9XG5cbi5tZGMtc3dpdGNoOm5vdCgubWRjLXN3aXRjaC0tY2hlY2tlZCkgLm1kYy1zd2l0Y2hfX3RodW1iLXVuZGVybGF5Lm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4yNDsgfVxuXG4ubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXkge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsgfVxuICAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXk6OmJlZm9yZSwgLm1kYy1zd2l0Y2hfX3RodW1iLXVuZGVybGF5OjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgLm1kYy1zd2l0Y2hfX3RodW1iLXVuZGVybGF5OjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gICAgei1pbmRleDogMTsgfVxuICAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXkubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXkubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgLm1kYy1zd2l0Y2hfX3RodW1iLXVuZGVybGF5Lm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICAgIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApOyB9XG4gIC5tZGMtc3dpdGNoX190aHVtYi11bmRlcmxheS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkczsgfVxuICAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXkubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtc3dpdGNoX190aHVtYi11bmRlcmxheTo6YmVmb3JlLCAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXk6OmFmdGVyIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gNTAlKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogY2FsYyg1MCUgLSA1MCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXkubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlLCAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXkubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIGNhbGMoNTAlIC0gNTAlKSk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7IH1cbiAgLm1kYy1zd2l0Y2hfX3RodW1iLXVuZGVybGF5Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7IH1cbiAgLm1kYy1zd2l0Y2hfX3RodW1iLXVuZGVybGF5OjpiZWZvcmUsIC5tZGMtc3dpdGNoX190aHVtYi11bmRlcmxheTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzODhlM2M7IH1cbiAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXk6OmJlZm9yZSwgLm1kYy1zd2l0Y2hfX3RodW1iLXVuZGVybGF5OjphZnRlciB7XG4gICAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzM4OGUzYyk7IH0gfVxuICAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXk6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wNDsgfVxuICAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXkubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIC5tZGMtc3dpdGNoX190aHVtYi11bmRlcmxheTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXkubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7IH1cblxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbiAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuICogVEhFIFNPRlRXQVJFLlxuICovXG4ubWRjLXRhYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wODkyODU3MWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgei1pbmRleDogMTsgfVxuICAubWRjLXRhYiAubWRjLXRhYl9fdGV4dC1sYWJlbCB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7IH1cbiAgLm1kYy10YWIgLm1kYy10YWJfX2ljb24ge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuICAubWRjLXRhYjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7IH1cblxuLm1kYy10YWItLW1pbi13aWR0aCB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5tZGMtdGFiX19yaXBwbGUge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1kYy10YWJfX3JpcHBsZTo6YmVmb3JlLCAubWRjLXRhYl9fcmlwcGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgLm1kYy10YWJfX3JpcHBsZTo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLm1kYy10YWJfX3JpcHBsZS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtdGFiX19yaXBwbGUubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgLm1kYy10YWJfX3JpcHBsZS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTsgfVxuICAubWRjLXRhYl9fcmlwcGxlLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzOyB9XG4gIC5tZGMtdGFiX19yaXBwbGUubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtdGFiX19yaXBwbGU6OmJlZm9yZSwgLm1kYy10YWJfX3JpcHBsZTo6YWZ0ZXIge1xuICAgIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7IH1cbiAgLm1kYy10YWJfX3JpcHBsZS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpOyB9XG4gIC5tZGMtdGFiX19yaXBwbGU6OmJlZm9yZSwgLm1kYy10YWJfX3JpcHBsZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTY1YzA7IH1cbiAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAubWRjLXRhYl9fcmlwcGxlOjpiZWZvcmUsIC5tZGMtdGFiX19yaXBwbGU6OmFmdGVyIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzE1NjVjMCk7IH0gfVxuICAubWRjLXRhYl9fcmlwcGxlOmhvdmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMDQ7IH1cbiAgLm1kYy10YWJfX3JpcHBsZTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsIC5tZGMtdGFiX19yaXBwbGUubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLXRhYl9fcmlwcGxlOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjsgfVxuICAubWRjLXRhYl9fcmlwcGxlOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjEyOyB9XG4gIC5tZGMtdGFiX19yaXBwbGUubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7IH1cblxuLm1kYy10YWJfX2NvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tZGMtdGFiX190ZXh0LWxhYmVsLFxuLm1kYy10YWJfX2ljb24ge1xuICB0cmFuc2l0aW9uOiAxNTBtcyBjb2xvciBsaW5lYXIsIDE1MG1zIG9wYWNpdHkgbGluZWFyO1xuICB6LWluZGV4OiAyOyB9XG5cbi5tZGMtdGFiX190ZXh0LWxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvcGFjaXR5OiAwLjY7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5tZGMtdGFiX19pY29uIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgb3BhY2l0eTogMC41NDtcbiAgZm9udC1zaXplOiAyNHB4OyB9XG5cbi5tZGMtdGFiLS1zdGFja2VkIHtcbiAgaGVpZ2h0OiA3MnB4OyB9XG5cbi5tZGMtdGFiLS1zdGFja2VkIC5tZGMtdGFiX19jb250ZW50IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5tZGMtdGFiLS1zdGFja2VkIC5tZGMtdGFiX19pY29uIHtcbiAgcGFkZGluZy10b3A6IDEycHg7IH1cblxuLm1kYy10YWItLXN0YWNrZWQgLm1kYy10YWJfX3RleHQtbGFiZWwge1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDsgfVxuXG4ubWRjLXRhYi0tYWN0aXZlIC5tZGMtdGFiX190ZXh0LWxhYmVsIHtcbiAgY29sb3I6ICMxNTY1YzA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMTU2NWMwKTsgfVxuXG4ubWRjLXRhYi0tYWN0aXZlIC5tZGMtdGFiX19pY29uIHtcbiAgY29sb3I6ICMxNTY1YzA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMTU2NWMwKTtcbiAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi5tZGMtdGFiLS1hY3RpdmUgLm1kYy10YWJfX3RleHQtbGFiZWwsXG4ubWRjLXRhYi0tYWN0aXZlIC5tZGMtdGFiX19pY29uIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMTAwbXM7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kYy10YWI6bm90KC5tZGMtdGFiLS1zdGFja2VkKSAubWRjLXRhYl9faWNvbiArIC5tZGMtdGFiX190ZXh0LWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10YWI6bm90KC5tZGMtdGFiLS1zdGFja2VkKSAubWRjLXRhYl9faWNvbiArIC5tZGMtdGFiX190ZXh0LWxhYmVsLCAubWRjLXRhYjpub3QoLm1kYy10YWItLXN0YWNrZWQpIC5tZGMtdGFiX19pY29uICsgLm1kYy10YWJfX3RleHQtbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH1cblxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbiAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuICogVEhFIFNPRlRXQVJFLlxuICovXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4gKiBUSEUgU09GVFdBUkUuXG4gKi9cbi5tZGMtdGFiLWJhciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4gKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbiAqIFRIRSBTT0ZUV0FSRS5cbiAqL1xuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbiAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuICogVEhFIFNPRlRXQVJFLlxuICovXG4ubWRjLXRhYi1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLm1kYy10YWItaW5kaWNhdG9yID4gLm1kYy10YWItaW5kaWNhdG9yX19jb250ZW50LS11bmRlcmxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTY1YzA7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMTU2NWMwKTsgfVxuICAubWRjLXRhYi1pbmRpY2F0b3IgPiAubWRjLXRhYi1pbmRpY2F0b3JfX2NvbnRlbnQtLXVuZGVybGluZSB7XG4gICAgaGVpZ2h0OiAycHg7IH1cbiAgLm1kYy10YWItaW5kaWNhdG9yID4gLm1kYy10YWItaW5kaWNhdG9yX19jb250ZW50LS1pY29uIHtcbiAgICBjb2xvcjogIzM4OGUzYztcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMzODhlM2MpOyB9XG4gIC5tZGMtdGFiLWluZGljYXRvciA+IC5tZGMtdGFiLWluZGljYXRvcl9fY29udGVudC0taWNvbiB7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIGZvbnQtc2l6ZTogMzRweDsgfVxuXG4ubWRjLXRhYi1pbmRpY2F0b3JfX2NvbnRlbnQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5tZGMtdGFiLWluZGljYXRvcl9fY29udGVudC0tdW5kZXJsaW5lIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tZGMtdGFiLWluZGljYXRvcl9fY29udGVudC0taWNvbiB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLm1kYy10YWItaW5kaWNhdG9yLS1hY3RpdmUgPiAubWRjLXRhYi1pbmRpY2F0b3JfX2NvbnRlbnQge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5tZGMtdGFiLWluZGljYXRvciA+IC5tZGMtdGFiLWluZGljYXRvcl9fY29udGVudCB7XG4gIHRyYW5zaXRpb246IDI1MG1zIHRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG5cbi5tZGMtdGFiLWluZGljYXRvci0tbm8tdHJhbnNpdGlvbiA+IC5tZGMtdGFiLWluZGljYXRvcl9fY29udGVudCB7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLm1kYy10YWItaW5kaWNhdG9yLS1mYWRlID4gLm1kYy10YWItaW5kaWNhdG9yX19jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogMTUwbXMgb3BhY2l0eSBsaW5lYXI7IH1cblxuLm1kYy10YWItaW5kaWNhdG9yLS1hY3RpdmUubWRjLXRhYi1pbmRpY2F0b3ItLWZhZGUgPiAubWRjLXRhYi1pbmRpY2F0b3JfX2NvbnRlbnQge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtczsgfVxuXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4gKiBUSEUgU09GVFdBUkUuXG4gKi9cbi5tZGMtdGFiLXNjcm9sbGVyIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi5tZGMtdGFiLXNjcm9sbGVyX190ZXN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsOyB9XG5cbi5tZGMtdGFiLXNjcm9sbGVyX19zY3JvbGwtYXJlYSB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbi5tZGMtdGFiLXNjcm9sbGVyX19zY3JvbGwtYXJlYTo6LXdlYmtpdC1zY3JvbGxiYXIsXG4ubWRjLXRhYi1zY3JvbGxlcl9fdGVzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZGMtdGFiLXNjcm9sbGVyX19zY3JvbGwtYXJlYS0tc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsOyB9XG5cbi5tZGMtdGFiLXNjcm9sbGVyX19zY3JvbGwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAwIGF1dG87XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxuXG4ubWRjLXRhYi1zY3JvbGxlci0tYWxpZ24tc3RhcnQgLm1kYy10YWItc2Nyb2xsZXJfX3Njcm9sbC1jb250ZW50IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5tZGMtdGFiLXNjcm9sbGVyLS1hbGlnbi1lbmQgLm1kYy10YWItc2Nyb2xsZXJfX3Njcm9sbC1jb250ZW50IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4ubWRjLXRhYi1zY3JvbGxlci0tYWxpZ24tY2VudGVyIC5tZGMtdGFiLXNjcm9sbGVyX19zY3JvbGwtY29udGVudCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5tZGMtdGFiLXNjcm9sbGVyLS1hbmltYXRpbmcgLm1kYy10YWItc2Nyb2xsZXJfX3Njcm9sbC1hcmVhIHtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87IH1cblxuLm1kYy10YWItc2Nyb2xsZXItLWFuaW1hdGluZyAubWRjLXRhYi1zY3JvbGxlcl9fc2Nyb2xsLWNvbnRlbnQge1xuICB0cmFuc2l0aW9uOiAyNTBtcyB0cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuXG4ubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMzMzMzMzNlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIG9wYWNpdHk6IDA7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5OyB9XG4gIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IDA7IH1cblxuLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS1wZXJzaXN0ZW50IHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lsbC1jaGFuZ2U6IGluaXRpYWw7IH1cblxuLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMzMzMzMzZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlcjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IDA7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIsIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlcltkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLCAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXJbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubWRjLXRleHQtZmllbGRfX2ljb246bm90KFt0YWJpbmRleF0pLFxuLm1kYy10ZXh0LWZpZWxkX19pY29uW3RhYmluZGV4PVwiLTFcIl0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tZGMtdGV4dC1maWVsZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGNvbG9yOyB9XG4gIC5tZGMtdGV4dC1maWVsZDo6YmVmb3JlLCAubWRjLXRleHQtZmllbGQ6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjsgfVxuICAubWRjLXRleHQtZmllbGQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5tZGMtdGV4dC1maWVsZC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgfVxuICAubWRjLXRleHQtZmllbGQubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzOyB9XG4gIC5tZGMtdGV4dC1maWVsZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkOjpiZWZvcmUsIC5tZGMtdGV4dC1maWVsZDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkOmhvdmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMDQ7IH1cbiAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm1kYy10ZXh0LWZpZWxkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy10ZXh0LWZpZWxkOjpiZWZvcmUsIC5tZGMtdGV4dC1maWVsZDo6YWZ0ZXIge1xuICAgIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIGNhcmV0LWNvbG9yOiAjMTU2NWMwO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBjYXJldC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICMxNTY1YzApOyB9XG4gIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDIpOyB9XG4gIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gIC5tZGMtdGV4dC1maWVsZCAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU2NWMwO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzE1NjVjMCk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cbiAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIsXG4gIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUgLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTsgfVxuICAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlOyB9XG4gIC5tZGMtdGV4dC1maWVsZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMTZweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgdG9wOiAxOHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy10ZXh0LWZpZWxkIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogMTZweDsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiA0cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiBpbml0aWFsOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHJpZ2h0OiA0cHg7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogNHB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogaW5pdGlhbDtcbiAgICB0b3A6IDE3cHg7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgcmlnaHQ6IDRweDsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMzZweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogMzZweDsgfVxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogaW5pdGlhbDsgfVxuICAgICAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSwgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdIHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIHJpZ2h0OiA0MHB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA5Mzc1ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDE2cHggNnB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDY3bXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KSAhaW1wb3J0YW50OyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6OnBsYWNlaG9sZGVyLFxuICAubWRjLXRleHQtZmllbGQtLW5vLWxhYmVsIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6OnBsYWNlaG9sZGVyLFxuICAubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDQwbXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTEwbXM7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubWRjLXRleHQtZmllbGRfX2lucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAubWRjLXRleHQtZmllbGRfX2lucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIHotaW5kZXg6IGF1dG8gIWltcG9ydGFudDsgfVxuICAubWRjLXRleHQtZmllbGQtLW5vLWxhYmVsOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgcGFkZGluZzogMTZweDsgfVxuXG4ubWRjLXRleHQtZmllbGRfX2lucHV0Oi13ZWJraXQtYXV0b2ZpbGwgKyAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDAuNzUpO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNCk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIGJvcmRlci1jb2xvcjogIzE1NjVjMDtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzE1NjVjMCk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gICAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZCAyNTBtcyAxOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZ1tkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NCUpIHNjYWxlKDEpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6OmJlZm9yZSwgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHggMTRweDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgICB6LWluZGV4OiAyOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLXdpZHRoOiAycHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2KTsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIHtcbiAgaGVpZ2h0OiA0OHB4OyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzNCUpIHNjYWxlKDEpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZS5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlIDI1MG1zIDE7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgcGFkZGluZzogMTJweCAxMnB4IDdweDsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICB0b3A6IDE0cHg7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgICB0b3A6IDEycHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDE2cHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0W2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDQ4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBpbml0aWFsO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogNDhweDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBpbml0aWFsO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMTZweDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXRbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDQlKSB0cmFuc2xhdGVYKC0zMnB4KSBzY2FsZSgxKTsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ0JSkgdHJhbnNsYXRlWCgzMnB4KSBzY2FsZSgxKTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgdHJhbnNsYXRlWCgtMzJweCkgc2NhbGUoMC43NSk7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4gIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1cInJ0bFwiXSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzAlKSB0cmFuc2xhdGVYKDMycHgpIHNjYWxlKDAuNzUpOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24gMjUwbXMgMTsgfVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZFtkaXI9XCJydGxcIl0gLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1ydGwgMjUwbXMgMTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAzNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBpbml0aWFsO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMzZweDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzNCUpIHRyYW5zbGF0ZVgoLTIxcHgpIHNjYWxlKDEpOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzNCUpIHRyYW5zbGF0ZVgoMjFweCkgc2NhbGUoMSk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAwLjhyZW07IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwJSkgdHJhbnNsYXRlWCgtMjFweCkgc2NhbGUoMC44KTsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZS5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1cInJ0bFwiXSwgW2Rpcj1cInJ0bFwiXVxuICAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1cInJ0bFwiXSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAlKSB0cmFuc2xhdGVYKDIxcHgpIHNjYWxlKDAuOCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1kZW5zZSAyNTBtcyAxOyB9XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2VbZGlyPVwicnRsXCJdIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24tZGVuc2UtcnRsIDI1MG1zIDE7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDMycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDMycHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAxMnB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uLCAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMTJweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IGluaXRpYWw7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0LCAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0W2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAxNnB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiAxNnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogaW5pdGlhbDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXRbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGF1dG87IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGF1dG87XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiAxNnB4OyB9XG4gIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24gfiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMTJweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogYXV0bzsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiB+IC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiB+IC5tZGMtdGV4dC1maWVsZF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiAxMnB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNDhweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0LCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dFtkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIGJvdHRvbTogMTZweDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTJweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiAxMnB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pbnB1dFtkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6IDQ0cHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogNDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDQ0cHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMTJweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMTJweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IGluaXRpYWw7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0NHB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXQsIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0W2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTJweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogYXV0bzsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBhdXRvO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMTJweDsgfVxuICAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB+IC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBhdXRvOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB+IC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24gfiAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogMTJweDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0NHB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0LCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXRbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiA0NHB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwJSkgc2NhbGUoMC44KTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1kZW5zZSAyNTBtcyAxOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIHBhZGRpbmc6IDEycHggMTJweCAwOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogLjgxM3JlbTsgfVxuICAubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBmb250LXNpemU6IC44MTNyZW07IH1cblxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyLFxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgY29udGVudDogXCIqXCI7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI0KTsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTU2NWMwO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMTU2NWMwKTsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkIDI1MG1zIDE7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4OyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLCAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZywgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmdbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4OyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6OmJlZm9yZSwgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ0JSkgc2NhbGUoMSk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBpbml0aWFsO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxM3B4OyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciwgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXJbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IDE2cHg7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogaW5pdGlhbDsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIGFsaWduLXNlbGY6IGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiA4cHggMXB4IDFweCAwO1xuICAgIHBhZGRpbmc6IDAgMTZweCAxNnB4O1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciArIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICB0b3A6IDE3cHg7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGgge1xuICB3aWR0aDogMTAwJTsgfVxuICAubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aDpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGg6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpOjpiZWZvcmUsIC5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAgIC5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aDpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAubWRjLXRleHQtZmllbGQgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9XG5cbi5tZGMtZm9ybS1maWVsZCA+IC5tZGMtdGV4dC1maWVsZCArIGxhYmVsIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWZvY3VzZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogcmdiYSgyMSwgMTAxLCAxOTIsIDAuODcpOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIsXG4ubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcbiAgY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dDpub3QoLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZykge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTU2NWMwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICMxNTY1YzApOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1saW5lLXJpcHBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGNhcmV0LWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNhcmV0LWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0taW52YWxpZC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uOm5vdCgubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2ljb24gfiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNik7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTsgfVxuICAubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTsgfVxuICAubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlcixcbiAgLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2KTsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtZGVuc2Uge1xuICAvKiBjbGVhbi1jc3MgaWdub3JlOnN0YXJ0ICovXG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC03MCUpIHNjYWxlKDAuOCk7IH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczMiwgMC40OTU4MTkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMCUpKSB0cmFuc2xhdGVZKC03MCUpIHNjYWxlKDAuOCk7IH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0MzUsIDAuMzgxMzUyLCAwLjU1LCAwLjk1NjM1Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMCUpKSB0cmFuc2xhdGVZKC03MCUpIHNjYWxlKDAuOCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtNzAlKSBzY2FsZSgwLjgpOyB9XG4gIC8qIGNsZWFuLWNzcyBpZ25vcmU6ZW5kICovIH1cblxuQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZCB7XG4gIC8qIGNsZWFuLWNzcyBpZ25vcmU6c3RhcnQgKi9cbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MzIsIDAuNDk1ODE5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDAlKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0MzUsIDAuMzgxMzUyLCAwLjU1LCAwLjk1NjM1Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMCUpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAvKiBjbGVhbi1jc3MgaWdub3JlOmVuZCAqLyB9XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2Uge1xuICAvKiBjbGVhbi1jc3MgaWdub3JlOnN0YXJ0ICovXG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpOyB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MzIsIDAuNDk1ODE5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDAlKSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTsgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQzNSwgMC4zODEzNTIsIDAuNTUsIDAuOTU2MzUyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTsgfVxuICAvKiBjbGVhbi1jc3MgaWdub3JlOmVuZCAqLyB9XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uIHtcbiAgLyogY2xlYW4tY3NzIGlnbm9yZTpzdGFydCAqL1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMyLCAwLjQ5NTgxOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAwKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0MzUsIDAuMzgxMzUyLCAwLjU1LCAwLjk1NjM1Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgLyogY2xlYW4tY3NzIGlnbm9yZTplbmQgKi8gfVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1kZW5zZSB7XG4gIC8qIGNsZWFuLWNzcyBpZ25vcmU6c3RhcnQgKi9cbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAyMXB4KSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTsgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMyLCAwLjQ5NTgxOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAyMXB4KSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTsgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQzNSwgMC4zODEzNTIsIDAuNTUsIDAuOTU2MzUyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAyMXB4KSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7IH1cbiAgLyogY2xlYW4tY3NzIGlnbm9yZTplbmQgKi8gfVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1ydGwge1xuICAvKiBjbGVhbi1jc3MgaWdub3JlOnN0YXJ0ICovXG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MzIsIDAuNDk1ODE5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQzNSwgMC4zODEzNTIsIDAuNTUsIDAuOTU2MzUyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAwKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAvKiBjbGVhbi1jc3MgaWdub3JlOmVuZCAqLyB9XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlLXJ0bCB7XG4gIC8qIGNsZWFuLWNzcyBpZ25vcmU6c3RhcnQgKi9cbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAtMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7IH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczMiwgMC40OTU4MTkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gLTIxcHgpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpOyB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDM1LCAwLjM4MTM1MiwgMC41NSwgMC45NTYzNTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIC0yMXB4KSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gLTIxcHgpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpOyB9XG4gIC8qIGNsZWFuLWNzcyBpZ25vcmU6ZW5kICovIH1cblxuQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dGFyZWEge1xuICAvKiBjbGVhbi1jc3MgaWdub3JlOnN0YXJ0ICovXG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMyLCAwLjQ5NTgxOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDM1LCAwLjM4MTM1MiwgMC41NSwgMC45NTYzNTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDAlKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgLyogY2xlYW4tY3NzIGlnbm9yZTplbmQgKi8gfVxuXG46cm9vdCB7XG4gIC0tbWRjLXRoZW1lLXByaW1hcnk6ICMxNTY1YzA7XG4gIC0tbWRjLXRoZW1lLXNlY29uZGFyeTogIzM4OGUzYztcbiAgLS1tZGMtdGhlbWUtYmFja2dyb3VuZDogI2ZmZjtcbiAgLS1tZGMtdGhlbWUtc3VyZmFjZTogI2ZmZjtcbiAgLS1tZGMtdGhlbWUtZXJyb3I6ICNiMDAwMjA7XG4gIC0tbWRjLXRoZW1lLW9uLXByaW1hcnk6ICNmZmY7XG4gIC0tbWRjLXRoZW1lLW9uLXNlY29uZGFyeTogI2ZmZjtcbiAgLS1tZGMtdGhlbWUtb24tc3VyZmFjZTogIzAwMDtcbiAgLS1tZGMtdGhlbWUtb24tZXJyb3I6ICNmZmY7XG4gIC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAtLW1kYy10aGVtZS10ZXh0LXNlY29uZGFyeS1vbi1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAtLW1kYy10aGVtZS10ZXh0LWhpbnQtb24tYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgLS1tZGMtdGhlbWUtdGV4dC1kaXNhYmxlZC1vbi1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xuICAtLW1kYy10aGVtZS10ZXh0LWljb24tb24tYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWxpZ2h0OiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAtLW1kYy10aGVtZS10ZXh0LXNlY29uZGFyeS1vbi1saWdodDogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgLS1tZGMtdGhlbWUtdGV4dC1oaW50LW9uLWxpZ2h0OiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xuICAtLW1kYy10aGVtZS10ZXh0LWRpc2FibGVkLW9uLWxpZ2h0OiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xuICAtLW1kYy10aGVtZS10ZXh0LWljb24tb24tbGlnaHQ6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1kYXJrOiB3aGl0ZTtcbiAgLS1tZGMtdGhlbWUtdGV4dC1zZWNvbmRhcnktb24tZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAtLW1kYy10aGVtZS10ZXh0LWhpbnQtb24tZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAtLW1kYy10aGVtZS10ZXh0LWRpc2FibGVkLW9uLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgLS1tZGMtdGhlbWUtdGV4dC1pY29uLW9uLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4ubWRjLXRoZW1lLS1wcmltYXJ5IHtcbiAgY29sb3I6ICMxNTY1YzAgIWltcG9ydGFudDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICMxNTY1YzApICFpbXBvcnRhbnQ7IH1cblxuLm1kYy10aGVtZS0tc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICMzODhlM2MgIWltcG9ydGFudDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzM4OGUzYykgIWltcG9ydGFudDsgfVxuXG4ubWRjLXRoZW1lLS1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtYmFja2dyb3VuZCwgI2ZmZik7IH1cblxuLm1kYy10aGVtZS0tc3VyZmFjZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXN1cmZhY2UsICNmZmYpOyB9XG5cbi5tZGMtdGhlbWUtLWVycm9yIHtcbiAgY29sb3I6ICNiMDAwMjAgIWltcG9ydGFudDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGMtdGhlbWUtLW9uLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tcHJpbWFyeSwgI2ZmZikgIWltcG9ydGFudDsgfVxuXG4ubWRjLXRoZW1lLS1vbi1zZWNvbmRhcnkge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc2Vjb25kYXJ5LCAjZmZmKSAhaW1wb3J0YW50OyB9XG5cbi5tZGMtdGhlbWUtLW9uLXN1cmZhY2Uge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCkgIWltcG9ydGFudDsgfVxuXG4ubWRjLXRoZW1lLS1vbi1lcnJvciB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1lcnJvciwgI2ZmZikgIWltcG9ydGFudDsgfVxuXG4ubWRjLXRoZW1lLS10ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpICFpbXBvcnRhbnQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjg3KSkgIWltcG9ydGFudDsgfVxuXG4ubWRjLXRoZW1lLS10ZXh0LXNlY29uZGFyeS1vbi1iYWNrZ3JvdW5kIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCkgIWltcG9ydGFudDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtc2Vjb25kYXJ5LW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC41NCkpICFpbXBvcnRhbnQ7IH1cblxuLm1kYy10aGVtZS0tdGV4dC1oaW50LW9uLWJhY2tncm91bmQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KSAhaW1wb3J0YW50O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1oaW50LW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC4zOCkpICFpbXBvcnRhbnQ7IH1cblxuLm1kYy10aGVtZS0tdGV4dC1kaXNhYmxlZC1vbi1iYWNrZ3JvdW5kIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCkgIWltcG9ydGFudDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtZGlzYWJsZWQtb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjM4KSkgIWltcG9ydGFudDsgfVxuXG4ubWRjLXRoZW1lLS10ZXh0LWljb24tb24tYmFja2dyb3VuZCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpICFpbXBvcnRhbnQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWljb24tb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjM4KSkgIWltcG9ydGFudDsgfVxuXG4ubWRjLXRoZW1lLS10ZXh0LXByaW1hcnktb24tbGlnaHQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KSAhaW1wb3J0YW50O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWxpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuODcpKSAhaW1wb3J0YW50OyB9XG5cbi5tZGMtdGhlbWUtLXRleHQtc2Vjb25kYXJ5LW9uLWxpZ2h0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCkgIWltcG9ydGFudDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtc2Vjb25kYXJ5LW9uLWxpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNTQpKSAhaW1wb3J0YW50OyB9XG5cbi5tZGMtdGhlbWUtLXRleHQtaGludC1vbi1saWdodCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpICFpbXBvcnRhbnQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWhpbnQtb24tbGlnaHQsIHJnYmEoMCwgMCwgMCwgMC4zOCkpICFpbXBvcnRhbnQ7IH1cblxuLm1kYy10aGVtZS0tdGV4dC1kaXNhYmxlZC1vbi1saWdodCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpICFpbXBvcnRhbnQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWRpc2FibGVkLW9uLWxpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMzgpKSAhaW1wb3J0YW50OyB9XG5cbi5tZGMtdGhlbWUtLXRleHQtaWNvbi1vbi1saWdodCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpICFpbXBvcnRhbnQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWljb24tb24tbGlnaHQsIHJnYmEoMCwgMCwgMCwgMC4zOCkpICFpbXBvcnRhbnQ7IH1cblxuLm1kYy10aGVtZS0tdGV4dC1wcmltYXJ5LW9uLWRhcmsge1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1kYXJrLCB3aGl0ZSkgIWltcG9ydGFudDsgfVxuXG4ubWRjLXRoZW1lLS10ZXh0LXNlY29uZGFyeS1vbi1kYXJrIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAhaW1wb3J0YW50O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1zZWNvbmRhcnktb24tZGFyaywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpKSAhaW1wb3J0YW50OyB9XG5cbi5tZGMtdGhlbWUtLXRleHQtaGludC1vbi1kYXJrIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAhaW1wb3J0YW50O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1oaW50LW9uLWRhcmssIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSkgIWltcG9ydGFudDsgfVxuXG4ubWRjLXRoZW1lLS10ZXh0LWRpc2FibGVkLW9uLWRhcmsge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWRpc2FibGVkLW9uLWRhcmssIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSkgIWltcG9ydGFudDsgfVxuXG4ubWRjLXRoZW1lLS10ZXh0LWljb24tb24tZGFyayB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgIWltcG9ydGFudDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtaWNvbi1vbi1kYXJrLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkpICFpbXBvcnRhbnQ7IH1cblxuLm1kYy10aGVtZS0tcHJpbWFyeS1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTY1YzAgIWltcG9ydGFudDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzE1NjVjMCkgIWltcG9ydGFudDsgfVxuXG4ubWRjLXRoZW1lLS1zZWNvbmRhcnktYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg4ZTNjICFpbXBvcnRhbnQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzM4OGUzYykgIWltcG9ydGFudDsgfVxuXG4ubWRjLXRvcC1hcHAtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1NjVjMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzE1NjVjMCk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA0OyB9XG4gIC5tZGMtdG9wLWFwcC1iYXIgLm1kYy10b3AtYXBwLWJhcl9fYWN0aW9uLWl0ZW0sXG4gIC5tZGMtdG9wLWFwcC1iYXIgLm1kYy10b3AtYXBwLWJhcl9fbmF2aWdhdGlvbi1pY29uIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1wcmltYXJ5LCAjZmZmKTsgfVxuICAgIC5tZGMtdG9wLWFwcC1iYXIgLm1kYy10b3AtYXBwLWJhcl9fYWN0aW9uLWl0ZW06OmJlZm9yZSwgLm1kYy10b3AtYXBwLWJhciAubWRjLXRvcC1hcHAtYmFyX19hY3Rpb24taXRlbTo6YWZ0ZXIsXG4gICAgLm1kYy10b3AtYXBwLWJhciAubWRjLXRvcC1hcHAtYmFyX19uYXZpZ2F0aW9uLWljb246OmJlZm9yZSxcbiAgICAubWRjLXRvcC1hcHAtYmFyIC5tZGMtdG9wLWFwcC1iYXJfX25hdmlnYXRpb24taWNvbjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgICAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgICAubWRjLXRvcC1hcHAtYmFyIC5tZGMtdG9wLWFwcC1iYXJfX2FjdGlvbi1pdGVtOjpiZWZvcmUsIC5tZGMtdG9wLWFwcC1iYXIgLm1kYy10b3AtYXBwLWJhcl9fYWN0aW9uLWl0ZW06OmFmdGVyLFxuICAgICAgICAubWRjLXRvcC1hcHAtYmFyIC5tZGMtdG9wLWFwcC1iYXJfX25hdmlnYXRpb24taWNvbjo6YmVmb3JlLFxuICAgICAgICAubWRjLXRvcC1hcHAtYmFyIC5tZGMtdG9wLWFwcC1iYXJfX25hdmlnYXRpb24taWNvbjo6YWZ0ZXIge1xuICAgICAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tcHJpbWFyeSwgI2ZmZik7IH0gfVxuICAgIC5tZGMtdG9wLWFwcC1iYXIgLm1kYy10b3AtYXBwLWJhcl9fYWN0aW9uLWl0ZW06aG92ZXI6OmJlZm9yZSxcbiAgICAubWRjLXRvcC1hcHAtYmFyIC5tZGMtdG9wLWFwcC1iYXJfX25hdmlnYXRpb24taWNvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDAuMDg7IH1cbiAgICAubWRjLXRvcC1hcHAtYmFyIC5tZGMtdG9wLWFwcC1iYXJfX2FjdGlvbi1pdGVtOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm1kYy10b3AtYXBwLWJhciAubWRjLXRvcC1hcHAtYmFyX19hY3Rpb24taXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSxcbiAgICAubWRjLXRvcC1hcHAtYmFyIC5tZGMtdG9wLWFwcC1iYXJfX25hdmlnYXRpb24taWNvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsXG4gICAgLm1kYy10b3AtYXBwLWJhciAubWRjLXRvcC1hcHAtYmFyX19uYXZpZ2F0aW9uLWljb24ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICAgIG9wYWNpdHk6IDAuMjQ7IH1cbiAgICAubWRjLXRvcC1hcHAtYmFyIC5tZGMtdG9wLWFwcC1iYXJfX2FjdGlvbi1pdGVtOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyLFxuICAgIC5tZGMtdG9wLWFwcC1iYXIgLm1kYy10b3AtYXBwLWJhcl9fbmF2aWdhdGlvbi1pY29uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gICAgLm1kYy10b3AtYXBwLWJhciAubWRjLXRvcC1hcHAtYmFyX19hY3Rpb24taXRlbTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIsXG4gICAgLm1kYy10b3AtYXBwLWJhciAubWRjLXRvcC1hcHAtYmFyX19uYXZpZ2F0aW9uLWljb246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgICBvcGFjaXR5OiAwLjI0OyB9XG4gICAgLm1kYy10b3AtYXBwLWJhciAubWRjLXRvcC1hcHAtYmFyX19hY3Rpb24taXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkLFxuICAgIC5tZGMtdG9wLWFwcC1iYXIgLm1kYy10b3AtYXBwLWJhcl9fbmF2aWdhdGlvbi1pY29uLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjQ7IH1cbiAgLm1kYy10b3AtYXBwLWJhcl9fcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjRweDsgfVxuICAubWRjLXRvcC1hcHAtYmFyX19zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLm1kYy10b3AtYXBwLWJhcl9fc2VjdGlvbi0tYWxpZ24tc3RhcnQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgb3JkZXI6IC0xOyB9XG4gICAgLm1kYy10b3AtYXBwLWJhcl9fc2VjdGlvbi0tYWxpZ24tZW5kIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBvcmRlcjogMTsgfVxuICAubWRjLXRvcC1hcHAtYmFyX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxMjVlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogMTsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy10b3AtYXBwLWJhcl9fdGl0bGUsIC5tZGMtdG9wLWFwcC1iYXJfX3RpdGxlW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIC5tZGMtdG9wLWFwcC1iYXJfX2FjdGlvbi1pdGVtLCAubWRjLXRvcC1hcHAtYmFyX19uYXZpZ2F0aW9uLWljb24ge1xuICAgIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAgIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAgIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gICAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAgIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAgIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLm1kYy10b3AtYXBwLWJhcl9fYWN0aW9uLWl0ZW06OmJlZm9yZSwgLm1kYy10b3AtYXBwLWJhcl9fYWN0aW9uLWl0ZW06OmFmdGVyLCAubWRjLXRvcC1hcHAtYmFyX19uYXZpZ2F0aW9uLWljb246OmJlZm9yZSwgLm1kYy10b3AtYXBwLWJhcl9fbmF2aWdhdGlvbi1pY29uOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjb250ZW50OiBcIlwiOyB9XG4gICAgLm1kYy10b3AtYXBwLWJhcl9fYWN0aW9uLWl0ZW06OmJlZm9yZSwgLm1kYy10b3AtYXBwLWJhcl9fbmF2aWdhdGlvbi1pY29uOjpiZWZvcmUge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAubWRjLXRvcC1hcHAtYmFyX19hY3Rpb24taXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUsIC5tZGMtdG9wLWFwcC1iYXJfX25hdmlnYXRpb24taWNvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7IH1cbiAgICAubWRjLXRvcC1hcHAtYmFyX19hY3Rpb24taXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciwgLm1kYy10b3AtYXBwLWJhcl9fbmF2aWdhdGlvbi1pY29uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgfVxuICAgIC5tZGMtdG9wLWFwcC1iYXJfX2FjdGlvbi1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIsIC5tZGMtdG9wLWFwcC1iYXJfX25hdmlnYXRpb24taWNvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgICAgIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTsgfVxuICAgIC5tZGMtdG9wLWFwcC1iYXJfX2FjdGlvbi1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIsIC5tZGMtdG9wLWFwcC1iYXJfX25hdmlnYXRpb24taWNvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzOyB9XG4gICAgLm1kYy10b3AtYXBwLWJhcl9fYWN0aW9uLWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyLCAubWRjLXRvcC1hcHAtYmFyX19uYXZpZ2F0aW9uLWljb24ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAgIC5tZGMtdG9wLWFwcC1iYXJfX2FjdGlvbi1pdGVtOjpiZWZvcmUsIC5tZGMtdG9wLWFwcC1iYXJfX2FjdGlvbi1pdGVtOjphZnRlciwgLm1kYy10b3AtYXBwLWJhcl9fbmF2aWdhdGlvbi1pY29uOjpiZWZvcmUsIC5tZGMtdG9wLWFwcC1iYXJfX25hdmlnYXRpb24taWNvbjo6YWZ0ZXIge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDUwJSk7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDUwJSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5tZGMtdG9wLWFwcC1iYXJfX2FjdGlvbi1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSwgLm1kYy10b3AtYXBwLWJhcl9fYWN0aW9uLWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIsIC5tZGMtdG9wLWFwcC1iYXJfX25hdmlnYXRpb24taWNvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUsIC5tZGMtdG9wLWFwcC1iYXJfX25hdmlnYXRpb24taWNvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCBjYWxjKDUwJSAtIDUwJSkpO1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCBjYWxjKDUwJSAtIDUwJSkpO1xuICAgICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7IH1cbiAgICAubWRjLXRvcC1hcHAtYmFyX19hY3Rpb24taXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciwgLm1kYy10b3AtYXBwLWJhcl9fbmF2aWdhdGlvbi1pY29uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpOyB9XG5cbi5tZGMtdG9wLWFwcC1iYXItLXNob3J0LWNvbGxhcHNlZCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCAwIDI0cHggMDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdG9wLWFwcC1iYXItLXNob3J0LWNvbGxhcHNlZCwgLm1kYy10b3AtYXBwLWJhci0tc2hvcnQtY29sbGFwc2VkW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDI0cHg7IH1cblxuLm1kYy10b3AtYXBwLWJhci0tc2hvcnQge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRvcC1hcHAtYmFyLS1zaG9ydCwgLm1kYy10b3AtYXBwLWJhci0tc2hvcnRbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1kYy10b3AtYXBwLWJhci0tc2hvcnQgLm1kYy10b3AtYXBwLWJhcl9fcm93IHtcbiAgICBoZWlnaHQ6IDU2cHg7IH1cbiAgLm1kYy10b3AtYXBwLWJhci0tc2hvcnQgLm1kYy10b3AtYXBwLWJhcl9fc2VjdGlvbiB7XG4gICAgcGFkZGluZzogNHB4OyB9XG4gIC5tZGMtdG9wLWFwcC1iYXItLXNob3J0IC5tZGMtdG9wLWFwcC1iYXJfX3RpdGxlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4ubWRjLXRvcC1hcHAtYmFyLS1zaG9ydC1jb2xsYXBzZWQge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgd2lkdGg6IDU2cHg7XG4gIHRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7IH1cbiAgLm1kYy10b3AtYXBwLWJhci0tc2hvcnQtY29sbGFwc2VkIC5tZGMtdG9wLWFwcC1iYXJfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZGMtdG9wLWFwcC1iYXItLXNob3J0LWNvbGxhcHNlZCAubWRjLXRvcC1hcHAtYmFyX19hY3Rpb24taXRlbSB7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG5cbi5tZGMtdG9wLWFwcC1iYXItLXNob3J0LWNvbGxhcHNlZC5tZGMtdG9wLWFwcC1iYXItLXNob3J0LWhhcy1hY3Rpb24taXRlbSB7XG4gIHdpZHRoOiAxMTJweDsgfVxuICAubWRjLXRvcC1hcHAtYmFyLS1zaG9ydC1jb2xsYXBzZWQubWRjLXRvcC1hcHAtYmFyLS1zaG9ydC1oYXMtYWN0aW9uLWl0ZW0gLm1kYy10b3AtYXBwLWJhcl9fc2VjdGlvbi0tYWxpZ24tZW5kIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXRvcC1hcHAtYmFyLS1zaG9ydC1jb2xsYXBzZWQubWRjLXRvcC1hcHAtYmFyLS1zaG9ydC1oYXMtYWN0aW9uLWl0ZW0gLm1kYy10b3AtYXBwLWJhcl9fc2VjdGlvbi0tYWxpZ24tZW5kLCAubWRjLXRvcC1hcHAtYmFyLS1zaG9ydC1jb2xsYXBzZWQubWRjLXRvcC1hcHAtYmFyLS1zaG9ydC1oYXMtYWN0aW9uLWl0ZW0gLm1kYy10b3AtYXBwLWJhcl9fc2VjdGlvbi0tYWxpZ24tZW5kW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5tZGMtdG9wLWFwcC1iYXItLWRlbnNlIC5tZGMtdG9wLWFwcC1iYXJfX3JvdyB7XG4gIGhlaWdodDogNDhweDsgfVxuXG4ubWRjLXRvcC1hcHAtYmFyLS1kZW5zZSAubWRjLXRvcC1hcHAtYmFyX19zZWN0aW9uIHtcbiAgcGFkZGluZzogMCA0cHg7IH1cblxuLm1kYy10b3AtYXBwLWJhci0tZGVuc2UgLm1kYy10b3AtYXBwLWJhcl9fdGl0bGUge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10b3AtYXBwLWJhci0tZGVuc2UgLm1kYy10b3AtYXBwLWJhcl9fdGl0bGUsIC5tZGMtdG9wLWFwcC1iYXItLWRlbnNlIC5tZGMtdG9wLWFwcC1iYXJfX3RpdGxlW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxuXG4ubWRjLXRvcC1hcHAtYmFyLS1wcm9taW5lbnQgLm1kYy10b3AtYXBwLWJhcl9fcm93IHtcbiAgaGVpZ2h0OiAxMjhweDsgfVxuXG4ubWRjLXRvcC1hcHAtYmFyLS1wcm9taW5lbnQgLm1kYy10b3AtYXBwLWJhcl9fdGl0bGUge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgcGFkZGluZy1ib3R0b206IDJweDsgfVxuXG4ubWRjLXRvcC1hcHAtYmFyLS1wcm9taW5lbnQgLm1kYy10b3AtYXBwLWJhcl9fYWN0aW9uLWl0ZW0sXG4ubWRjLXRvcC1hcHAtYmFyLS1wcm9taW5lbnQgLm1kYy10b3AtYXBwLWJhcl9fbmF2aWdhdGlvbi1pY29uIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4ubWRjLXRvcC1hcHAtYmFyLS1maXhlZCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgbGluZWFyOyB9XG5cbi5tZGMtdG9wLWFwcC1iYXItLWZpeGVkLXNjcm9sbGVkIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA0cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgbGluZWFyOyB9XG5cbi5tZGMtdG9wLWFwcC1iYXItLWRlbnNlLm1kYy10b3AtYXBwLWJhci0tcHJvbWluZW50IC5tZGMtdG9wLWFwcC1iYXJfX3JvdyB7XG4gIGhlaWdodDogOTZweDsgfVxuXG4ubWRjLXRvcC1hcHAtYmFyLS1kZW5zZS5tZGMtdG9wLWFwcC1iYXItLXByb21pbmVudCAubWRjLXRvcC1hcHAtYmFyX19zZWN0aW9uIHtcbiAgcGFkZGluZzogMCAxMnB4OyB9XG5cbi5tZGMtdG9wLWFwcC1iYXItLWRlbnNlLm1kYy10b3AtYXBwLWJhci0tcHJvbWluZW50IC5tZGMtdG9wLWFwcC1iYXJfX3RpdGxlIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDlweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdG9wLWFwcC1iYXItLWRlbnNlLm1kYy10b3AtYXBwLWJhci0tcHJvbWluZW50IC5tZGMtdG9wLWFwcC1iYXJfX3RpdGxlLCAubWRjLXRvcC1hcHAtYmFyLS1kZW5zZS5tZGMtdG9wLWFwcC1iYXItLXByb21pbmVudCAubWRjLXRvcC1hcHAtYmFyX190aXRsZVtkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cblxuLm1kYy10b3AtYXBwLWJhci0tZml4ZWQtYWRqdXN0IHtcbiAgcGFkZGluZy10b3A6IDY0cHg7IH1cblxuLm1kYy10b3AtYXBwLWJhci0tZGVuc2UtZml4ZWQtYWRqdXN0IHtcbiAgcGFkZGluZy10b3A6IDQ4cHg7IH1cblxuLm1kYy10b3AtYXBwLWJhci0tc2hvcnQtZml4ZWQtYWRqdXN0IHtcbiAgcGFkZGluZy10b3A6IDU2cHg7IH1cblxuLm1kYy10b3AtYXBwLWJhci0tcHJvbWluZW50LWZpeGVkLWFkanVzdCB7XG4gIHBhZGRpbmctdG9wOiAxMjhweDsgfVxuXG4ubWRjLXRvcC1hcHAtYmFyLS1kZW5zZS1wcm9taW5lbnQtZml4ZWQtYWRqdXN0IHtcbiAgcGFkZGluZy10b3A6IDk2cHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5tZGMtdG9wLWFwcC1iYXJfX3JvdyB7XG4gICAgaGVpZ2h0OiA1NnB4OyB9XG4gIC5tZGMtdG9wLWFwcC1iYXJfX3NlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDRweDsgfVxuICAubWRjLXRvcC1hcHAtYmFyLS1zaG9ydCB7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICAubWRjLXRvcC1hcHAtYmFyLS1zaG9ydC1jb2xsYXBzZWQge1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7IH1cbiAgICAubWRjLXRvcC1hcHAtYmFyLS1zaG9ydC1jb2xsYXBzZWQgLm1kYy10b3AtYXBwLWJhcl9fc2VjdGlvbi0tYWxpZ24tZW5kIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cbiAgICAgIFtkaXI9XCJydGxcIl0gLm1kYy10b3AtYXBwLWJhci0tc2hvcnQtY29sbGFwc2VkIC5tZGMtdG9wLWFwcC1iYXJfX3NlY3Rpb24tLWFsaWduLWVuZCwgLm1kYy10b3AtYXBwLWJhci0tc2hvcnQtY29sbGFwc2VkIC5tZGMtdG9wLWFwcC1iYXJfX3NlY3Rpb24tLWFsaWduLWVuZFtkaXI9XCJydGxcIl0ge1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZGMtdG9wLWFwcC1iYXItLXByb21pbmVudCAubWRjLXRvcC1hcHAtYmFyX190aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDZweDsgfVxuICAubWRjLXRvcC1hcHAtYmFyLS1maXhlZC1hZGp1c3Qge1xuICAgIHBhZGRpbmctdG9wOiA1NnB4OyB9IH1cblxuLm1kYy10eXBvZ3JhcGh5IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IH1cblxuLm1kYy10eXBvZ3JhcGh5LS1oZWFkbGluZTEge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiA2cmVtO1xuICBsaW5lLWhlaWdodDogNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNTYyNWVtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0OyB9XG5cbi5tZGMtdHlwb2dyYXBoeS0taGVhZGxpbmUyIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMDgzMzMzM2VtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0OyB9XG5cbi5tZGMtdHlwb2dyYXBoeS0taGVhZGxpbmUzIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0OyB9XG5cbi5tZGMtdHlwb2dyYXBoeS0taGVhZGxpbmU0IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwNzM1Mjk0ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7IH1cblxuLm1kYy10eXBvZ3JhcGh5LS1oZWFkbGluZTUge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0OyB9XG5cbi5tZGMtdHlwb2dyYXBoeS0taGVhZGxpbmU2IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxMjVlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDsgfVxuXG4ubWRjLXR5cG9ncmFwaHktLXN1YnRpdGxlMSB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDkzNzVlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDsgfVxuXG4ubWRjLXR5cG9ncmFwaHktLXN1YnRpdGxlMiB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwNzE0Mjg2ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7IH1cblxuLm1kYy10eXBvZ3JhcGh5LS1ib2R5MSB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMTI1ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7IH1cblxuLm1kYy10eXBvZ3JhcGh5LS1ib2R5MiB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDE3ODU3MTRlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDsgfVxuXG4ubWRjLXR5cG9ncmFwaHktLWNhcHRpb24ge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMzMzMzMzNlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDsgfVxuXG4ubWRjLXR5cG9ncmFwaHktLWJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDg5Mjg1NzFlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5tZGMtdHlwb2dyYXBoeS0tb3ZlcmxpbmUge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTY2NjY2NjdlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5uZ3gtbWRjLWZvcm0tZmllbGQtLWZsdWlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4ubmd4LW1kYy1idXR0b24tLXByaW1hcnk6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU2NWMwOyB9XG5cbi5uZ3gtbWRjLWJ1dHRvbi0tcHJpbWFyeTpub3QoOmRpc2FibGVkKSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1kYXJrLCB3aGl0ZSk7IH1cblxuLm5neC1tZGMtYnV0dG9uLS1wcmltYXJ5OjpiZWZvcmUsIC5uZ3gtbWRjLWJ1dHRvbi0tcHJpbWFyeTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgLm5neC1tZGMtYnV0dG9uLS1wcmltYXJ5OjpiZWZvcmUsIC5uZ3gtbWRjLWJ1dHRvbi0tcHJpbWFyeTo6YWZ0ZXIge1xuICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1kYXJrLCB3aGl0ZSk7IH0gfVxuXG4ubmd4LW1kYy1idXR0b24tLXByaW1hcnk6aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDg7IH1cblxuLm5neC1tZGMtYnV0dG9uLS1wcmltYXJ5Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm5neC1tZGMtYnV0dG9uLS1wcmltYXJ5Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDsgfVxuXG4ubmd4LW1kYy1idXR0b24tLXByaW1hcnk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjsgfVxuXG4ubmd4LW1kYy1idXR0b24tLXByaW1hcnk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDsgfVxuXG4ubmd4LW1kYy1idXR0b24tLXByaW1hcnkubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjI0OyB9XG5cbi5uZ3gtbWRjLWJ1dHRvbi0tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4OGUzYzsgfVxuXG4ubmd4LW1kYy1idXR0b24tLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1kYXJrLCB3aGl0ZSk7IH1cblxuLm5neC1tZGMtYnV0dG9uLS1zZWNvbmRhcnk6OmJlZm9yZSwgLm5neC1tZGMtYnV0dG9uLS1zZWNvbmRhcnk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgIC5uZ3gtbWRjLWJ1dHRvbi0tc2Vjb25kYXJ5OjpiZWZvcmUsIC5uZ3gtbWRjLWJ1dHRvbi0tc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWRhcmssIHdoaXRlKTsgfSB9XG5cbi5uZ3gtbWRjLWJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA4OyB9XG5cbi5uZ3gtbWRjLWJ1dHRvbi0tc2Vjb25kYXJ5Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm5neC1tZGMtYnV0dG9uLS1zZWNvbmRhcnkubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI0OyB9XG5cbi5uZ3gtbWRjLWJ1dHRvbi0tc2Vjb25kYXJ5Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cblxuLm5neC1tZGMtYnV0dG9uLS1zZWNvbmRhcnk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDsgfVxuXG4ubmd4LW1kYy1idXR0b24tLXNlY29uZGFyeS5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjQ7IH1cblxuLm5neC1tZGMtY2hpcC0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTY1YzA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1kYXJrLCB3aGl0ZSk7IH1cbiAgLm5neC1tZGMtY2hpcC0tcHJpbWFyeTo6YmVmb3JlLCAubmd4LW1kYy1jaGlwLS1wcmltYXJ5OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAubmd4LW1kYy1jaGlwLS1wcmltYXJ5OjpiZWZvcmUsIC5uZ3gtbWRjLWNoaXAtLXByaW1hcnk6OmFmdGVyIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWRhcmssIHdoaXRlKTsgfSB9XG4gIC5uZ3gtbWRjLWNoaXAtLXByaW1hcnk6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wODsgfVxuICAubmd4LW1kYy1jaGlwLS1wcmltYXJ5Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm5neC1tZGMtY2hpcC0tcHJpbWFyeS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjI0OyB9XG4gIC5uZ3gtbWRjLWNoaXAtLXByaW1hcnk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIC5uZ3gtbWRjLWNoaXAtLXByaW1hcnk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMjQ7IH1cbiAgLm5neC1tZGMtY2hpcC0tcHJpbWFyeS5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4yNDsgfVxuICAubmd4LW1kYy1jaGlwLS1wcmltYXJ5OmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWRhcmssIHdoaXRlKTsgfVxuICAubmd4LW1kYy1jaGlwLS1wcmltYXJ5Lm1kYy1jaGlwLS1zZWxlY3RlZDo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjE2OyB9XG4gIC5uZ3gtbWRjLWNoaXAtLXByaW1hcnkubWRjLWNoaXAtLXNlbGVjdGVkOjpiZWZvcmUsIC5uZ3gtbWRjLWNoaXAtLXByaW1hcnkubWRjLWNoaXAtLXNlbGVjdGVkOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAubmd4LW1kYy1jaGlwLS1wcmltYXJ5Lm1kYy1jaGlwLS1zZWxlY3RlZDo6YmVmb3JlLCAubmd4LW1kYy1jaGlwLS1wcmltYXJ5Lm1kYy1jaGlwLS1zZWxlY3RlZDo6YWZ0ZXIge1xuICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LXByaW1hcnktb24tZGFyaywgd2hpdGUpOyB9IH1cbiAgLm5neC1tZGMtY2hpcC0tcHJpbWFyeS5tZGMtY2hpcC0tc2VsZWN0ZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4yNDsgfVxuICAubmd4LW1kYy1jaGlwLS1wcmltYXJ5Lm1kYy1jaGlwLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsIC5uZ3gtbWRjLWNoaXAtLXByaW1hcnkubWRjLWNoaXAtLXNlbGVjdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuNDsgfVxuICAubmd4LW1kYy1jaGlwLS1wcmltYXJ5Lm1kYy1jaGlwLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cbiAgLm5neC1tZGMtY2hpcC0tcHJpbWFyeS5tZGMtY2hpcC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuNDsgfVxuICAubmd4LW1kYy1jaGlwLS1wcmltYXJ5Lm1kYy1jaGlwLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC40OyB9XG4gIC5uZ3gtbWRjLWNoaXAtLXByaW1hcnkubWRjLWNoaXAtLXNlbGVjdGVkIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWRhcmssIHdoaXRlKTsgfVxuICAgIC5uZ3gtbWRjLWNoaXAtLXByaW1hcnkubWRjLWNoaXAtLXNlbGVjdGVkIC5tZGMtY2hpcF9faWNvbi0tbGVhZGluZyB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU0KTsgfVxuICAgIC5uZ3gtbWRjLWNoaXAtLXByaW1hcnkubWRjLWNoaXAtLXNlbGVjdGVkOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWRhcmssIHdoaXRlKTsgfVxuICAubmd4LW1kYy1jaGlwLS1wcmltYXJ5IC5tZGMtY2hpcF9fY2hlY2ttYXJrLXBhdGgge1xuICAgIHN0cm9rZTogd2hpdGU7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIHN0cm9rZTogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1kYXJrLCB3aGl0ZSk7IH1cbiAgLm5neC1tZGMtY2hpcC0tcHJpbWFyeSAubWRjLWNoaXBfX2ljb24tLWxlYWRpbmcge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTQpOyB9XG4gIC5uZ3gtbWRjLWNoaXAtLXByaW1hcnkgLm1kYy1jaGlwX19pY29uLS10cmFpbGluZyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NCk7IH1cbiAgICAubmd4LW1kYy1jaGlwLS1wcmltYXJ5IC5tZGMtY2hpcF9faWNvbi0tdHJhaWxpbmc6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42Mik7IH1cbiAgICAubmd4LW1kYy1jaGlwLS1wcmltYXJ5IC5tZGMtY2hpcF9faWNvbi0tdHJhaWxpbmc6Zm9jdXMge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Nyk7IH1cblxuLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4OGUzYztcbiAgY29sb3I6IHdoaXRlO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWRhcmssIHdoaXRlKTsgfVxuICAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnk6OmJlZm9yZSwgLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnk6OmJlZm9yZSwgLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1kYXJrLCB3aGl0ZSk7IH0gfVxuICAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnk6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wODsgfVxuICAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnkubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4yNDsgfVxuICAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnk6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIC5uZ3gtbWRjLWNoaXAtLXNlY29uZGFyeTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4yNDsgfVxuICAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnkubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjQ7IH1cbiAgLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWRhcmssIHdoaXRlKTsgfVxuICAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnkubWRjLWNoaXAtLXNlbGVjdGVkOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMTY7IH1cbiAgLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5Lm1kYy1jaGlwLS1zZWxlY3RlZDo6YmVmb3JlLCAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnkubWRjLWNoaXAtLXNlbGVjdGVkOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnkubWRjLWNoaXAtLXNlbGVjdGVkOjpiZWZvcmUsIC5uZ3gtbWRjLWNoaXAtLXNlY29uZGFyeS5tZGMtY2hpcC0tc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWRhcmssIHdoaXRlKTsgfSB9XG4gIC5uZ3gtbWRjLWNoaXAtLXNlY29uZGFyeS5tZGMtY2hpcC0tc2VsZWN0ZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4yNDsgfVxuICAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnkubWRjLWNoaXAtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5Lm1kYy1jaGlwLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5Lm1kYy1jaGlwLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cbiAgLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5Lm1kYy1jaGlwLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC40OyB9XG4gIC5uZ3gtbWRjLWNoaXAtLXNlY29uZGFyeS5tZGMtY2hpcC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuNDsgfVxuICAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnkubWRjLWNoaXAtLXNlbGVjdGVkIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWRhcmssIHdoaXRlKTsgfVxuICAgIC5uZ3gtbWRjLWNoaXAtLXNlY29uZGFyeS5tZGMtY2hpcC0tc2VsZWN0ZWQgLm1kYy1jaGlwX19pY29uLS1sZWFkaW5nIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTQpOyB9XG4gICAgLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5Lm1kYy1jaGlwLS1zZWxlY3RlZDpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1kYXJrLCB3aGl0ZSk7IH1cbiAgLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5IC5tZGMtY2hpcF9fY2hlY2ttYXJrLXBhdGgge1xuICAgIHN0cm9rZTogd2hpdGU7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIHN0cm9rZTogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1kYXJrLCB3aGl0ZSk7IH1cbiAgLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5IC5tZGMtY2hpcF9faWNvbi0tbGVhZGluZyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NCk7IH1cbiAgLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5IC5tZGMtY2hpcF9faWNvbi0tdHJhaWxpbmcge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTQpOyB9XG4gICAgLm5neC1tZGMtY2hpcC0tc2Vjb25kYXJ5IC5tZGMtY2hpcF9faWNvbi0tdHJhaWxpbmc6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42Mik7IH1cbiAgICAubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnkgLm1kYy1jaGlwX19pY29uLS10cmFpbGluZzpmb2N1cyB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg3KTsgfVxuXG4ubmd4LW1kYy1mYWItZXh0ZW5kZWQtLWZsdWlkIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm5neC1tZGMtZmFiLS1ib3R0b20tcmlnaHQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxcmVtO1xuICBib3R0b206IDFyZW07IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubmd4LW1kYy1mYWItLWJvdHRvbS1yaWdodCB7XG4gICAgcmlnaHQ6IDEuNXJlbTtcbiAgICBib3R0b206IDEuNXJlbTsgfSB9XG5cbi5uZ3gtbWRjLWZhYi0tYm90dG9tLWxlZnQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMXJlbTtcbiAgbGVmdDogMXJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5uZ3gtbWRjLWZhYi0tYm90dG9tLWxlZnQge1xuICAgIGJvdHRvbTogMS41cmVtO1xuICAgIGxlZnQ6IDEuNXJlbTsgfSB9XG5cbi5uZ3gtbWRjLWljb24tLWNsaWNrYWJsZSxcbmEubmd4LW1kYy1pY29uIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5uZ3gtbWRjLWljb24tLWlubGluZSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7IH1cblxuLm1kYy1pbWFnZS1saXN0X19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1kYy1saW5lYXItcHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubWRjLWxpbmVhci1wcm9ncmVzcy0tc2Vjb25kYXJ5IC5tZGMtbGluZWFyLXByb2dyZXNzX19iYXItaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg4ZTNjOyB9XG5cbi5tZGMtbGlzdCxcbi5tZGMtbGlzdC1kaXZpZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5neC1tZGMtbGlzdC0tYm9yZGVyIHtcbiAgLyogRW5zdXJlIGFkamFjZW50IGJvcmRlcnMgZG9uJ3QgY29sbGlkZSB3aXRoIG9uZSBhbm90aGVyLiAqLyB9XG4gIC5uZ3gtbWRjLWxpc3QtLWJvcmRlciAubWRjLWxpc3QtaXRlbSB7XG4gICAgLyogQWRkIHRoZSBsaXN0IHNpZGUgcGFkZGluZyBwYWRkaW5nIHRvIHRoZSBsaXN0IGl0ZW0uICovXG4gICAgcGFkZGluZzogMCAxNnB4O1xuICAgIC8qIEFkZCBhIGJvcmRlciBhcm91bmQgZWFjaCBlbGVtZW50LiAqL1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLm5neC1tZGMtbGlzdC0tYm9yZGVyIC5tZGMtbGlzdC1pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wOiBub25lOyB9XG5cbi5tZGMtbWVudS1zdXJmYWNlLS1hbmNob3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi5tZGMtc2xpZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubmd4LW1kYy1zbmFja2Jhci0tdHJhaWxpbmcge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuXG4ubmd4LW1kYy10YWItLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAubmd4LW1kYy10YWItLWRpc2FibGVkIC5tZGMtdGFiX190ZXh0LWxhYmVsIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG4gIC5uZ3gtbWRjLXRhYi0tZGlzYWJsZWQgLm1kYy10YWJfX2ljb24ge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gIC5uZ3gtbWRjLXRhYi0tZGlzYWJsZWQgLm1kYy10YWItaW5kaWNhdG9yID4gLm1kYy10YWItaW5kaWNhdG9yX19jb250ZW50LS11bmRlcmxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4ubWRjLXRhYi1iYXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubWRjLXRhYi1zY3JvbGxlciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBtZGMtZWxldmF0aW9uLWNvcmUtc3R5bGVzKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAZm9yICR6LXZhbHVlIGZyb20gMCB0aHJvdWdoIDI0IHtcbiAgICAubWRjLWVsZXZhdGlvbi0teiN7JHotdmFsdWV9IHtcbiAgICAgIEBpbmNsdWRlIG1kYy1lbGV2YXRpb24oJHotdmFsdWUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAubWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogbWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uLXZhbHVlKCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHdpbGwtY2hhbmdlOiAkbWRjLWVsZXZhdGlvbi1wcm9wZXJ0eTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCBDU1MgcnVsZXMgdG8gYW4gZWxlbWVudCB0byBnaXZlIGl0IHRoZSBlbGV2YXRpb24gc3BlY2lmaWVkIGJ5ICR6LXZhbHVlLlxuLy8gVGhlICR6LXZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNC5cbi8vIElmICRjb2xvciBoYXMgYW4gYWxwaGEgY2hhbm5lbCwgaXQgd2lsbCBiZSBpZ25vcmVkIGFuZCBvdmVycmlkZGVuLiBUbyBpbmNyZWFzZSB0aGUgb3BhY2l0eSBvZiB0aGUgc2hhZG93LCB1c2Vcbi8vICRvcGFjaXR5LWJvb3N0LlxuQG1peGluIG1kYy1lbGV2YXRpb24oJHotdmFsdWUsICRjb2xvcjogJG1kYy1lbGV2YXRpb24tYmFzZWxpbmUtY29sb3IsICRvcGFjaXR5LWJvb3N0OiAwLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpZiB0eXBlLW9mKCR6LXZhbHVlKSAhPSBudW1iZXIgb3Igbm90IHVuaXRsZXNzKCR6LXZhbHVlKSB7XG4gICAgQGVycm9yIFwiJHotdmFsdWUgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlciwgYnV0IHJlY2VpdmVkICcjeyR6LXZhbHVlfSdcIjtcbiAgfVxuXG4gIEBpZiAkei12YWx1ZSA8IDAgb3IgJHotdmFsdWUgPiAyNCB7XG4gICAgQGVycm9yIFwiJHotdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0LCBidXQgcmVjZWl2ZWQgJyN7JHotdmFsdWV9J1wiO1xuICB9XG5cbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgJGNvbG9yOiBtZGMtdGhlbWUtcHJvcC12YWx1ZSgkY29sb3IpO1xuXG4gICR1bWJyYS16LXZhbHVlOiBtYXAtZ2V0KCRtZGMtZWxldmF0aW9uLXVtYnJhLW1hcCwgJHotdmFsdWUpO1xuICAkcGVudW1icmEtei12YWx1ZTogbWFwLWdldCgkbWRjLWVsZXZhdGlvbi1wZW51bWJyYS1tYXAsICR6LXZhbHVlKTtcbiAgJGFtYmllbnQtei12YWx1ZTogbWFwLWdldCgkbWRjLWVsZXZhdGlvbi1hbWJpZW50LW1hcCwgJHotdmFsdWUpO1xuXG4gICR1bWJyYS1jb2xvcjogcmdiYSgkY29sb3IsICRtZGMtZWxldmF0aW9uLXVtYnJhLW9wYWNpdHkgKyAkb3BhY2l0eS1ib29zdCk7XG4gICRwZW51bWJyYS1jb2xvcjogcmdiYSgkY29sb3IsICRtZGMtZWxldmF0aW9uLXBlbnVtYnJhLW9wYWNpdHkgKyAkb3BhY2l0eS1ib29zdCk7XG4gICRhbWJpZW50LWNvbG9yOiByZ2JhKCRjb2xvciwgJG1kYy1lbGV2YXRpb24tYW1iaWVudC1vcGFjaXR5ICsgJG9wYWNpdHktYm9vc3QpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBib3gtc2hhZG93OlxuICAgICAgI3tcIiN7JHVtYnJhLXotdmFsdWV9ICN7JHVtYnJhLWNvbG9yfVwifSxcbiAgICAgICN7XCIjeyRwZW51bWJyYS16LXZhbHVlfSAjeyRwZW51bWJyYS1jb2xvcn1cIn0sXG4gICAgICAjeyRhbWJpZW50LXotdmFsdWV9ICRhbWJpZW50LWNvbG9yO1xuICB9XG59XG5cbi8vIFJldHVybnMgYSBzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCBhcyB0aGUgdmFsdWUgZm9yIGEgYHRyYW5zaXRpb25gIHByb3BlcnR5IGZvciBlbGV2YXRpb24uXG4vLyBDYWxsaW5nIHRoaXMgZnVuY3Rpb24gZGlyZWN0bHkgaXMgdXNlZnVsIGluIHNpdHVhdGlvbnMgd2hlcmUgYSBjb21wb25lbnQgbmVlZHMgdG8gdHJhbnNpdGlvblxuLy8gbW9yZSB0aGFuIG9uZSBwcm9wZXJ0eS5cbi8vXG4vLyBgYGBzY3NzXG4vLyAuZm9vIHtcbi8vICAgdHJhbnNpdGlvbjogbWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uLXZhbHVlKCksIG9wYWNpdHkgMTAwbXMgZWFzZTtcbi8vICAgd2lsbC1jaGFuZ2U6ICRtZGMtZWxldmF0aW9uLXByb3BlcnR5LCBvcGFjaXR5O1xuLy8gfVxuLy8gYGBgXG5AZnVuY3Rpb24gbWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uLXZhbHVlKFxuICAkZHVyYXRpb246ICRtZGMtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRlYXNpbmc6ICRtZGMtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uXG4pIHtcbiAgQHJldHVybiAjeyRtZGMtZWxldmF0aW9uLXByb3BlcnR5fSAjeyRkdXJhdGlvbn0gI3skZWFzaW5nfTtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuXG4kbWRjLWVsZXZhdGlvbi1iYXNlbGluZS1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kbWRjLWVsZXZhdGlvbi11bWJyYS1vcGFjaXR5OiAuMiAhZGVmYXVsdDtcbiRtZGMtZWxldmF0aW9uLXBlbnVtYnJhLW9wYWNpdHk6IC4xNCAhZGVmYXVsdDtcbiRtZGMtZWxldmF0aW9uLWFtYmllbnQtb3BhY2l0eTogLjEyICFkZWZhdWx0O1xuXG4kbWRjLWVsZXZhdGlvbi11bWJyYS1tYXA6IChcbiAgMDogXCIwcHggMHB4IDBweCAwcHhcIixcbiAgMTogXCIwcHggMnB4IDFweCAtMXB4XCIsXG4gIDI6IFwiMHB4IDNweCAxcHggLTJweFwiLFxuICAzOiBcIjBweCAzcHggM3B4IC0ycHhcIixcbiAgNDogXCIwcHggMnB4IDRweCAtMXB4XCIsXG4gIDU6IFwiMHB4IDNweCA1cHggLTFweFwiLFxuICA2OiBcIjBweCAzcHggNXB4IC0xcHhcIixcbiAgNzogXCIwcHggNHB4IDVweCAtMnB4XCIsXG4gIDg6IFwiMHB4IDVweCA1cHggLTNweFwiLFxuICA5OiBcIjBweCA1cHggNnB4IC0zcHhcIixcbiAgMTA6IFwiMHB4IDZweCA2cHggLTNweFwiLFxuICAxMTogXCIwcHggNnB4IDdweCAtNHB4XCIsXG4gIDEyOiBcIjBweCA3cHggOHB4IC00cHhcIixcbiAgMTM6IFwiMHB4IDdweCA4cHggLTRweFwiLFxuICAxNDogXCIwcHggN3B4IDlweCAtNHB4XCIsXG4gIDE1OiBcIjBweCA4cHggOXB4IC01cHhcIixcbiAgMTY6IFwiMHB4IDhweCAxMHB4IC01cHhcIixcbiAgMTc6IFwiMHB4IDhweCAxMXB4IC01cHhcIixcbiAgMTg6IFwiMHB4IDlweCAxMXB4IC01cHhcIixcbiAgMTk6IFwiMHB4IDlweCAxMnB4IC02cHhcIixcbiAgMjA6IFwiMHB4IDEwcHggMTNweCAtNnB4XCIsXG4gIDIxOiBcIjBweCAxMHB4IDEzcHggLTZweFwiLFxuICAyMjogXCIwcHggMTBweCAxNHB4IC02cHhcIixcbiAgMjM6IFwiMHB4IDExcHggMTRweCAtN3B4XCIsXG4gIDI0OiBcIjBweCAxMXB4IDE1cHggLTdweFwiXG4pICFkZWZhdWx0O1xuXG4kbWRjLWVsZXZhdGlvbi1wZW51bWJyYS1tYXA6IChcbiAgMDogXCIwcHggMHB4IDBweCAwcHhcIixcbiAgMTogXCIwcHggMXB4IDFweCAwcHhcIixcbiAgMjogXCIwcHggMnB4IDJweCAwcHhcIixcbiAgMzogXCIwcHggM3B4IDRweCAwcHhcIixcbiAgNDogXCIwcHggNHB4IDVweCAwcHhcIixcbiAgNTogXCIwcHggNXB4IDhweCAwcHhcIixcbiAgNjogXCIwcHggNnB4IDEwcHggMHB4XCIsXG4gIDc6IFwiMHB4IDdweCAxMHB4IDFweFwiLFxuICA4OiBcIjBweCA4cHggMTBweCAxcHhcIixcbiAgOTogXCIwcHggOXB4IDEycHggMXB4XCIsXG4gIDEwOiBcIjBweCAxMHB4IDE0cHggMXB4XCIsXG4gIDExOiBcIjBweCAxMXB4IDE1cHggMXB4XCIsXG4gIDEyOiBcIjBweCAxMnB4IDE3cHggMnB4XCIsXG4gIDEzOiBcIjBweCAxM3B4IDE5cHggMnB4XCIsXG4gIDE0OiBcIjBweCAxNHB4IDIxcHggMnB4XCIsXG4gIDE1OiBcIjBweCAxNXB4IDIycHggMnB4XCIsXG4gIDE2OiBcIjBweCAxNnB4IDI0cHggMnB4XCIsXG4gIDE3OiBcIjBweCAxN3B4IDI2cHggMnB4XCIsXG4gIDE4OiBcIjBweCAxOHB4IDI4cHggMnB4XCIsXG4gIDE5OiBcIjBweCAxOXB4IDI5cHggMnB4XCIsXG4gIDIwOiBcIjBweCAyMHB4IDMxcHggM3B4XCIsXG4gIDIxOiBcIjBweCAyMXB4IDMzcHggM3B4XCIsXG4gIDIyOiBcIjBweCAyMnB4IDM1cHggM3B4XCIsXG4gIDIzOiBcIjBweCAyM3B4IDM2cHggM3B4XCIsXG4gIDI0OiBcIjBweCAyNHB4IDM4cHggM3B4XCJcbikgIWRlZmF1bHQ7XG5cbiRtZGMtZWxldmF0aW9uLWFtYmllbnQtbWFwOiAoXG4gIDA6IFwiMHB4IDBweCAwcHggMHB4XCIsXG4gIDE6IFwiMHB4IDFweCAzcHggMHB4XCIsXG4gIDI6IFwiMHB4IDFweCA1cHggMHB4XCIsXG4gIDM6IFwiMHB4IDFweCA4cHggMHB4XCIsXG4gIDQ6IFwiMHB4IDFweCAxMHB4IDBweFwiLFxuICA1OiBcIjBweCAxcHggMTRweCAwcHhcIixcbiAgNjogXCIwcHggMXB4IDE4cHggMHB4XCIsXG4gIDc6IFwiMHB4IDJweCAxNnB4IDFweFwiLFxuICA4OiBcIjBweCAzcHggMTRweCAycHhcIixcbiAgOTogXCIwcHggM3B4IDE2cHggMnB4XCIsXG4gIDEwOiBcIjBweCA0cHggMThweCAzcHhcIixcbiAgMTE6IFwiMHB4IDRweCAyMHB4IDNweFwiLFxuICAxMjogXCIwcHggNXB4IDIycHggNHB4XCIsXG4gIDEzOiBcIjBweCA1cHggMjRweCA0cHhcIixcbiAgMTQ6IFwiMHB4IDVweCAyNnB4IDRweFwiLFxuICAxNTogXCIwcHggNnB4IDI4cHggNXB4XCIsXG4gIDE2OiBcIjBweCA2cHggMzBweCA1cHhcIixcbiAgMTc6IFwiMHB4IDZweCAzMnB4IDVweFwiLFxuICAxODogXCIwcHggN3B4IDM0cHggNnB4XCIsXG4gIDE5OiBcIjBweCA3cHggMzZweCA2cHhcIixcbiAgMjA6IFwiMHB4IDhweCAzOHB4IDdweFwiLFxuICAyMTogXCIwcHggOHB4IDQwcHggN3B4XCIsXG4gIDIyOiBcIjBweCA4cHggNDJweCA3cHhcIixcbiAgMjM6IFwiMHB4IDlweCA0NHB4IDhweFwiLFxuICAyNDogXCIwcHggOXB4IDQ2cHggOHB4XCJcbikgIWRlZmF1bHQ7XG5cbi8vIFRoZSBjc3MgcHJvcGVydHkgdXNlZCBmb3IgZWxldmF0aW9uLiBJbiBtb3N0IGNhc2VzIHRoaXMgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkLiBJdCBpcyBleHBvc2VkXG4vLyBhcyBhIHZhcmlhYmxlIGZvciBhYnN0cmFjdGlvbiAvIGVhc3kgdXNlIHdoZW4gbmVlZGluZyB0byByZWZlcmVuY2UgdGhlIHByb3BlcnR5IGRpcmVjdGx5LCBmb3Jcbi8vIGV4YW1wbGUgaW4gYSBgd2lsbC1jaGFuZ2VgIHJ1bGUuXG4kbWRjLWVsZXZhdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZHVyYXRpb24gdmFsdWUgZm9yIGVsZXZhdGlvbiB0cmFuc2l0aW9ucy5cbiRtZGMtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb246IDI4MG1zICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBlYXNpbmcgdmFsdWUgZm9yIGVsZXZhdGlvbiB0cmFuc2l0aW9ucy5cbiRtZGMtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuLy8gTURDIFJpcHBsZSBrZXlmcmFtZXMgYXJlIHNwbGl0IGludG8gdGhlaXIgb3duIGZpbGUgc28gdGhhdCBfbWl4aW5zLnNjc3MgY2FuIHJlbHkgb24gdGhlbS5cblxuQGltcG9ydCBcIi4uL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gbWRjLXJpcHBsZS1rZXlmcmFtZXNfIHtcbiAgQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAvLyBOT1RFOiBGb3IgdGhlc2Uga2V5ZnJhbWVzLCB3ZSBkbyBub3QgbmVlZCBjdXN0b20gcHJvcGVydHkgZmFsbGJhY2tzIGJlY2F1c2UgdGhleSBhcmUgb25seVxuICAgICAgLy8gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGAubWRjLXJpcHBsZS11cGdyYWRlZGAuIFNpbmNlIE1EQ1JpcHBsZUZvdW5kYXRpb24gY2hlY2tzIHRvIGVuc3VyZVxuICAgICAgLy8gdGhhdCBjdXN0b20gcHJvcGVydGllcyBhcmUgc3VwcG9ydGVkIHdpdGhpbiB0aGUgYnJvd3NlciBiZWZvcmUgYWRkaW5nIHRoaXMgY2xhc3MsIHdlIGNhblxuICAgICAgLy8gc2FmZWx5IHVzZSB0aGVtIHdpdGhvdXQgYSBmYWxsYmFjay5cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0LCAwKSkgc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRtZGMtYW5pbWF0aW9uLWRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAuMiwgMSkgIWRlZmF1bHQ7XG4kbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpICFkZWZhdWx0O1xuJG1kYy1hbmltYXRpb24tYWNjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40LCAwLCAxLCAxKSAhZGVmYXVsdDtcbiRtZGMtYW5pbWF0aW9uLXNoYXJwLWN1cnZlLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40LCAwLCAuNiwgMSkgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2FuaW1hdGlvbi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vYmFzZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4va2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1yaXBwbGUtY29yZS1zdHlsZXMoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSByaXBwbGUtc3VyZmFjZVxuXG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1yaXBwbGUtc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1zdXJmYWNlKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy1ib3VuZGVkKCRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmW2RhdGEtbWRjLXJpcHBsZS1pcy11bmJvdW5kZWRdIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLXVuYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcyhwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuXG4gICAgJi0tYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMoc2Vjb25kYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbn1cblxuQG1peGluIG1kYy1yaXBwbGUtY29tbW9uKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAvLyBFbnN1cmUgdGhhdCBzdHlsZXMgbmVlZGVkIGJ5IGFueSBjb21wb25lbnQgdXNpbmcgTURDIFJpcHBsZSBhcmUgZW1pdHRlZCwgYnV0IG9ubHkgb25jZS5cbiAgLy8gKEV2ZXJ5IGNvbXBvbmVudCB1c2luZyBNREMgUmlwcGxlIGltcG9ydHMgdGhlc2UgbWl4aW5zLCBidXQgZG9lc24ndCBuZWNlc3NhcmlseSBpbXBvcnRcbiAgLy8gbWRjLXJpcHBsZS5zY3NzLilcbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICBAaW5jbHVkZSBtZGMtYmFzZS1lbWl0LW9uY2UoXCJtZGMtcmlwcGxlL2NvbW1vbi9hbmltYXRpb25cIikge1xuICAgICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1rZXlmcmFtZXNfO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGluY2x1ZGUgbWRjLWJhc2UtZW1pdC1vbmNlKFwibWRjLXJpcHBsZS9jb21tb24vc3RydWN0dXJlXCIpIHtcbiAgICAgIC8vIFN0eWxlcyB1c2VkIHRvIGRldGVjdCBidWdneSBiZWhhdmlvciBvZiBDU1MgY3VzdG9tIHByb3BlcnRpZXMgaW4gRWRnZS5cbiAgICAgIC8vIFNlZTogaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9lbi11cy9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTE0OTU0NDgvXG4gICAgICAvLyBUaGlzIGlzIGluY2x1ZGVkIGluIF9taXhpbnMuc2NzcyByYXRoZXIgdGhhbiBtZGMtcmlwcGxlLnNjc3Mgc28gdGhhdCBpdCB3aWxsIGJlXG4gICAgICAvLyBwcmVzZW50IGZvciBvdGhlciBjb21wb25lbnRzIHdoaWNoIHJlbHkgb24gcmlwcGxlIGFzIHdlbGwgYXMgbWRjLXJpcHBsZSBpdHNlbGYuXG4gICAgICAubWRjLXJpcHBsZS1zdXJmYWNlLS10ZXN0LWVkZ2UtdmFyLWJ1ZyB7XG4gICAgICAgIC0tbWRjLXJpcHBsZS1zdXJmYWNlLXRlc3QtZWRnZS12YXI6IDFweCBzb2xpZCAjMDAwO1xuXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlcjogdmFyKC0tbWRjLXJpcHBsZS1zdXJmYWNlLXRlc3QtZWRnZS12YXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtcmlwcGxlLXN1cmZhY2UoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gICAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gICAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gICAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gICAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcblxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB9XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgLy8gQWxzbyB0cmFuc2l0aW9uIGJhY2tncm91bmQtY29sb3IgdG8gYXZvaWQgdW5uYXR1cmFsIGNvbG9yIGZsYXNoZXMgd2hlbiB0b2dnbGluZyBhY3RpdmF0ZWQvc2VsZWN0ZWQgc3RhdGVcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIG9wYWNpdHkgJG1kYy1zdGF0ZXMtd2FzaC1kdXJhdGlvbiBsaW5lYXIsXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgJG1kYy1zdGF0ZXMtd2FzaC1kdXJhdGlvbiBsaW5lYXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHotaW5kZXg6IDE7IC8vIEVuc3VyZSB0aGF0IHRoZSByaXBwbGUgd2FzaCBmb3IgaG92ZXIvZm9jdXMgc3RhdGVzIGlzIGRpc3BsYXllZCBvbiB0b3Agb2YgcG9zaXRpb25lZCBjaGlsZCBlbGVtZW50c1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIHVwZ3JhZGVkIHN1cmZhY2VzIChzb21lIG9mIHRoZXNlIGRlcGVuZCBvbiBjdXN0b20gcHJvcGVydGllcyBzZXQgdmlhIEpTIG9yIG90aGVyIG1peGlucylcblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0b3A6IDA7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uOjphZnRlciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIGFuaW1hdGlvbjpcbiAgICAgICAgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gJG1kYy1yaXBwbGUtdHJhbnNsYXRlLWR1cmF0aW9uIGZvcndhcmRzLFxuICAgICAgICBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gJG1kYy1yaXBwbGUtZmFkZS1pbi1kdXJhdGlvbiBmb3J3YXJkcztcbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAkbWRjLXJpcHBsZS1mYWRlLW91dC1kdXJhdGlvbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gUmV0YWluIHRyYW5zZm9ybSBmcm9tIG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIGFjdGl2YXRpb25cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGlmIGFscGhhKG1kYy10aGVtZS1wcm9wLXZhbHVlKCRjb2xvcikpID4gMCB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvciwgJGVkZ2VPcHRPdXQ6IHRydWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIElmIGEgY29sb3Igd2l0aCAwIGFscGhhIGlzIHNwZWNpZmllZCwgZG9uJ3QgcmVuZGVyIHRoZSByaXBwbGUgcHNldWRvLWVsZW1lbnRzIGF0IGFsbC5cbiAgICAgICAgLy8gVGhpcyBhdm9pZHMgdW5uZWNlc3NhcnkgdHJhbnNpdGlvbnMgYW5kIG92ZXJmbG93LlxuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KCRvcGFjaXR5LCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIEJhY2tncm91bmQgd2FzaCBzdHlsZXMsIGZvciBib3RoIENTUy1vbmx5IGFuZCB1cGdyYWRlZCBzdGF0ZWZ1bCBzdXJmYWNlc1xuICAmOmhvdmVyOjpiZWZvcmUge1xuICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSgkb3BhY2l0eSwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6IGZhbHNlLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLy8gRm9jdXMgb3ZlcnJpZGVzIGhvdmVyIGJ5IHJldXNpbmcgdGhlIDo6YmVmb3JlIHBzZXVkby1lbGVtZW50LlxuICAvLyA6Zm9jdXMtd2l0aGluIGdlbmVyYWxseSB3b3JrcyBvbiBub24tTVMgYnJvd3NlcnMgYW5kIG1hdGNoZXMgd2hlbiBhICpjaGlsZCogb2YgdGhlIGVsZW1lbnQgaGFzIGZvY3VzLlxuICAvLyBJdCBpcyB1c2VmdWwgZm9yIGNhc2VzIHdoZXJlIGEgY29tcG9uZW50IGhhcyBhIGZvY3VzYWJsZSBlbGVtZW50IHdpdGhpbiB0aGUgcm9vdCBub2RlLCBlLmcuIHRleHQgZmllbGQsXG4gIC8vIGJ1dCB1bmRlc2lyYWJsZSBpbiBnZW5lcmFsIGluIGNhc2Ugb2YgbmVzdGVkIHN0YXRlZnVsIGNvbXBvbmVudHMuXG4gIC8vIFdlIHVzZSBhIG1vZGlmaWVyIGNsYXNzIGZvciBKUy1lbmFibGVkIHN1cmZhY2VzIHRvIHN1cHBvcnQgYWxsIHVzZSBjYXNlcyBpbiBhbGwgYnJvd3NlcnMuXG4gICRjc3NPbmx5Rm9jdXNTZWxlY3RvcjogaWYoXG4gICAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsXG4gICAgXCImOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzLXdpdGhpbjo6YmVmb3JlXCIsXG4gICAgXCImOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZVwiXG4gICk7XG5cbiAgI3skY3NzT25seUZvY3VzU2VsZWN0b3J9LFxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgICAvLyBOb3RlIHRoYXQgdGhpcyBkdXJhdGlvbiBpcyBvbmx5IGVmZmVjdGl2ZSBvbiBmb2N1cywgbm90IGJsdXJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSgkb3BhY2l0eSwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAvLyBTdHlsZXMgZm9yIG5vbi11cGdyYWRlZCAoQ1NTLW9ubHkpIHN0YXRlZnVsIHN1cmZhY2VzXG5cbiAgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIHtcbiAgICAvLyBBcHBseSBwcmVzcyBhZGRpdGl2ZWx5IGJ5IHVzaW5nIHRoZSA6OmFmdGVyIHBzZXVkby1lbGVtZW50XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkbWRjLXJpcHBsZS1mYWRlLW91dC1kdXJhdGlvbiBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphY3RpdmU6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRtZGMtcmlwcGxlLWZhZGUtaW4tZHVyYXRpb247XG4gICAgICB9XG5cbiAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogI3skb3BhY2l0eX07XG4gICAgfVxuICB9XG59XG5cbi8vIFNpbXBsZSBtaXhpbiBmb3IgYmFzZSBzdGF0ZXMgd2hpY2ggYXV0b21hdGljYWxseSBzZWxlY3RzIG9wYWNpdHkgdmFsdWVzIGJhc2VkIG9uIHdoZXRoZXIgdGhlIGluayBjb2xvciBpc1xuLy8gbGlnaHQgb3IgZGFyay5cbkBtaXhpbiBtZGMtc3RhdGVzKFxuICAkY29sb3I6IG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLFxuICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsXG4gICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKClcbikge1xuICBAaW5jbHVkZSBtZGMtc3RhdGVzLWludGVyYWN0aW9uc18oJGNvbG9yLCAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCwgMCwgJHF1ZXJ5KTtcbn1cblxuLy8gU2ltcGxlIG1peGluIGZvciBhY3RpdmF0ZWQgc3RhdGVzIHdoaWNoIGF1dG9tYXRpY2FsbHkgc2VsZWN0cyBvcGFjaXR5IHZhbHVlcyBiYXNlZCBvbiB3aGV0aGVyIHRoZSBpbmsgY29sb3IgaXNcbi8vIGxpZ2h0IG9yIGRhcmsuXG5AbWl4aW4gbWRjLXN0YXRlcy1hY3RpdmF0ZWQoJGNvbG9yLCAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRhY3RpdmF0ZWQtb3BhY2l0eTogbWRjLXN0YXRlcy1vcGFjaXR5KCRjb2xvciwgYWN0aXZhdGVkKTtcblxuICAmLS1hY3RpdmF0ZWQge1xuICAgIC8vIFN0eWxlbGludCBzZWVtcyB0byB0aGluayB0aGF0ICcmJyBxdWFsaWZpZXMgYXMgYSB0eXBlIHNlbGVjdG9yIGhlcmU/XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50LlxuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICBvcGFjaXR5OiAkYWN0aXZhdGVkLW9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1pbnRlcmFjdGlvbnNfKCRjb2xvciwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsICRhY3RpdmF0ZWQtb3BhY2l0eSwgJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgbWl4aW4gZm9yIHNlbGVjdGVkIHN0YXRlcyB3aGljaCBhdXRvbWF0aWNhbGx5IHNlbGVjdHMgb3BhY2l0eSB2YWx1ZXMgYmFzZWQgb24gd2hldGhlciB0aGUgaW5rIGNvbG9yIGlzXG4vLyBsaWdodCBvciBkYXJrLlxuQG1peGluIG1kYy1zdGF0ZXMtc2VsZWN0ZWQoJGNvbG9yLCAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRzZWxlY3RlZC1vcGFjaXR5OiBtZGMtc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBzZWxlY3RlZCk7XG5cbiAgJi0tc2VsZWN0ZWQge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdHlwZVxuICAgICY6OmJlZm9yZSB7XG4gICAgICAvLyBPcGFjaXR5IGZhbGxzIHVuZGVyIGNvbG9yIGJlY2F1c2UgdGhlIGNob3NlbiBvcGFjaXR5IGlzIGNvbG9yLWRlcGVuZGVudC5cbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJHNlbGVjdGVkLW9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1pbnRlcmFjdGlvbnNfKCRjb2xvciwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsICRzZWxlY3RlZC1vcGFjaXR5LCAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtcmlwcGxlLXJhZGl1cy1ib3VuZGVkKCRyYWRpdXM6IDEwMCUsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydXR1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydXR1cmUpIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAjeyRyYWRpdXN9KTtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gI3skcmFkaXVzfSk7XG4gICAgICB3aWR0aDogJHJhZGl1cyAqIDI7XG4gICAgICBoZWlnaHQ6ICRyYWRpdXMgKiAyO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydXR1cmUpIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXJpcHBsZS1yYWRpdXMtdW5ib3VuZGVkKCRyYWRpdXM6IDEwMCUsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydXR1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydXR1cmUpIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAjeyRyYWRpdXMgLyAyfSk7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtICN7JHJhZGl1cyAvIDJ9KTtcbiAgICAgIHdpZHRoOiAkcmFkaXVzO1xuICAgICAgaGVpZ2h0OiAkcmFkaXVzO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlLFxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnV0dXJlKSB7XG4gICAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCBjYWxjKDUwJSAtICN7JHJhZGl1cyAvIDJ9KSk7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIGNhbGMoNTAlIC0gI3skcmFkaXVzIC8gMn0pKTtcbiAgICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydXR1cmUpIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXN0YXRlcy1pbnRlcmFjdGlvbnNfKFxuICAkY29sb3IsXG4gICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LFxuICAkb3BhY2l0eS1tb2RpZmllcjogMCxcbiAgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKVxuKSB7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkY29sb3IsICRxdWVyeSk7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eShtZGMtc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBob3ZlcikgKyAkb3BhY2l0eS1tb2RpZmllciwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1mb2N1cy1vcGFjaXR5KFxuICAgIG1kYy1zdGF0ZXMtb3BhY2l0eSgkY29sb3IsIGZvY3VzKSArICRvcGFjaXR5LW1vZGlmaWVyLFxuICAgICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LFxuICAgICRxdWVyeVxuICApO1xuICBAaW5jbHVkZSBtZGMtc3RhdGVzLXByZXNzLW9wYWNpdHkobWRjLXN0YXRlcy1vcGFjaXR5KCRjb2xvciwgcHJlc3MpICsgJG9wYWNpdHktbW9kaWZpZXIsICRxdWVyeSk7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuJG1kYy1yaXBwbGUtZmFkZS1pbi1kdXJhdGlvbjogNzVtcyAhZGVmYXVsdDtcbiRtZGMtcmlwcGxlLWZhZGUtb3V0LWR1cmF0aW9uOiAxNTBtcyAhZGVmYXVsdDtcbiRtZGMtcmlwcGxlLXRyYW5zbGF0ZS1kdXJhdGlvbjogMjI1bXMgIWRlZmF1bHQ7XG4kbWRjLXN0YXRlcy13YXNoLWR1cmF0aW9uOiAxNW1zICFkZWZhdWx0O1xuXG4vLyBOb3RlcyBvbiBzdGF0ZXM6XG4vLyAqIGZvY3VzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBob3ZlciAoaS5lLiBpZiBhbiBlbGVtZW50IGlzIGJvdGggZm9jdXNlZCBhbmQgaG92ZXJlZCwgb25seSBmb2N1cyB2YWx1ZSBhcHBsaWVzKVxuLy8gKiBwcmVzcyBzdGF0ZSBhcHBsaWVzIHRvIGEgc2VwYXJhdGUgcHNldWRvLWVsZW1lbnQsIHNvIGl0IGhhcyBhbiBhZGRpdGl2ZSBlZmZlY3Qgb24gdG9wIG9mIG90aGVyIHN0YXRlc1xuLy8gKiBzZWxlY3RlZC9hY3RpdmF0ZWQgYXJlIGFwcGxpZWQgYWRkaXRpdmVseSB0byBob3Zlci9mb2N1cyB2aWEgY2FsY3VsYXRpb25zIGF0IHByZXByb2Nlc3NpbmcgdGltZVxuXG4kbWRjLXJpcHBsZS1kYXJrLWluay1vcGFjaXRpZXM6IChcbiAgaG92ZXI6IC4wNCxcbiAgZm9jdXM6IC4xMixcbiAgcHJlc3M6IC4xMixcbiAgc2VsZWN0ZWQ6IC4wOCxcbiAgYWN0aXZhdGVkOiAuMTJcbikgIWRlZmF1bHQ7XG5cbiRtZGMtcmlwcGxlLWxpZ2h0LWluay1vcGFjaXRpZXM6IChcbiAgaG92ZXI6IC4wOCxcbiAgZm9jdXM6IC4yNCxcbiAgcHJlc3M6IC4yNCxcbiAgc2VsZWN0ZWQ6IC4xNixcbiAgYWN0aXZhdGVkOiAuMjRcbikgIWRlZmF1bHQ7XG5cbi8vIExlZ2FjeVxuXG4kbWRjLXJpcHBsZS1wcmVzc2VkLWRhcmstaW5rLW9wYWNpdHk6IC4xNiAhZGVmYXVsdDtcbiRtZGMtcmlwcGxlLXByZXNzZWQtbGlnaHQtaW5rLW9wYWNpdHk6IC4zMiAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vZWxldmF0aW9uL21peGluc1wiO1xuQGltcG9ydCBcIi4uL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3JpcHBsZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vc2hhcGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuLy9cbi8vIFB1YmxpY1xuLy9cblxuQG1peGluIG1kYy1jYXJkLWNvcmUtc3R5bGVzKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgQGluY2x1ZGUgbWRjLWNhcmQtd2l0aG91dC1yaXBwbGUoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbWRjLWNhcmQtcmlwcGxlKCRxdWVyeSk7XG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGNhcmQgc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtY2FyZC1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiBtZGMtY2FyZC13aXRob3V0LXJpcHBsZSgkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGNhcmRcblxuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWNhcmQge1xuICAgIEBpbmNsdWRlIG1kYy1jYXJkLXNoYXBlLXJhZGl1cyhtZWRpdW0sICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtY2FyZC1maWxsLWNvbG9yKHN1cmZhY2UsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWVsZXZhdGlvbigxLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLWNhcmQtY29udGFpbmVyLWxheW91dF87XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jYXJkLS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgbWRjLWVsZXZhdGlvbigwLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWNhcmQtb3V0bGluZSgkbWRjLWNhcmQtb3V0bGluZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLy9cbiAgLy8gTWVkaWFcbiAgLy9cblxuICAubWRjLWNhcmRfX21lZGlhIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBDaGlsZCBlbGVtZW50IGBfX21lZGlhLWNvbnRlbnRgIGhhcyBgcG9zaXRpb246IGFic29sdXRlYFxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWNhcmRfX21lZGlhOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2FyZF9fbWVkaWE6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAubWRjLWNhcmRfX21lZGlhLS1zcXVhcmUge1xuICAgIEBpbmNsdWRlIG1kYy1jYXJkLW1lZGlhLWFzcGVjdC1yYXRpbygxLCAxLCAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jYXJkX19tZWRpYS0tMTYtOSB7XG4gICAgQGluY2x1ZGUgbWRjLWNhcmQtbWVkaWEtYXNwZWN0LXJhdGlvKDE2LCA5LCAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jYXJkX19tZWRpYS1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gIH1cblxuICAvL1xuICAvLyBQcmltYXJ5IGFjdGlvblxuICAvL1xuXG4gIC5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtY2FyZC1jb250YWluZXItbGF5b3V0XztcblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBOZWVkZWQgdG8gcHJldmVudCB0aGUgcmlwcGxlIHdhc2ggZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyIGluIElFIGFuZCBFZGdlXG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vXG4gIC8vIEFjdGlvbiByb3dcbiAgLy9cblxuICAubWRjLWNhcmRfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtY2FyZC1hY3Rpb25zLWxheW91dF87XG5cbiAgICAgIG1pbi1oZWlnaHQ6IDUycHg7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jYXJkX19hY3Rpb25zLS1mdWxsLWJsZWVkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAubWRjLWNhcmRfX2FjdGlvbi1idXR0b25zLFxuICAubWRjLWNhcmRfX2FjdGlvbi1pY29ucyB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1jYXJkLWFjdGlvbnMtbGF5b3V0XztcbiAgICB9XG4gIH1cblxuICAubWRjLWNhcmRfX2FjdGlvbi1pY29ucyB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRtZGMtY2FyZC1hY3Rpb24taWNvbi1jb2xvcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jYXJkX19hY3Rpb24tYnV0dG9ucyArIC5tZGMtY2FyZF9fYWN0aW9uLWljb25zIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgMTZweCk7XG4gICAgfVxuICB9XG5cbiAgLy9cbiAgLy8gQWN0aW9uIGl0ZW1zXG4gIC8vXG5cbiAgLm1kYy1jYXJkX19hY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtY2FyZC1hY3Rpb25zLWxheW91dF8oaW5saW5lLWZsZXgpO1xuXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL1xuICAvLyBBY3Rpb24gYnV0dG9uc1xuICAvL1xuXG4gIC5tZGMtY2FyZF9fYWN0aW9uLS1idXR0b24ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCByaWdodCwgOHB4KTtcblxuICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIHJpZ2h0LCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWNhcmRfX2FjdGlvbnMtLWZ1bGwtYmxlZWQgLm1kYy1jYXJkX19hY3Rpb24tLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZGMtcnRsIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy9cbiAgLy8gQWN0aW9uIGljb25zXG4gIC8vXG5cbiAgLm1kYy1jYXJkX19hY3Rpb24tLWljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBJY29uIGJ1dHRvbnMgYXJlIHRhbGxlciB0aGFuIGJ1dHRvbnMsIHNvIHdlIG5lZWQgdG8gYWRqdXN0IHRoZWlyIG1hcmdpbnMgdG8gcHJldmVudCB0aGUgYWN0aW9uIHJvdyBmcm9tXG4gICAgICAvLyBleHBhbmRpbmcuXG4gICAgICBtYXJnaW46IC02cHggMDtcblxuICAgICAgLy8gU2FtZSBwYWRkaW5nIGFzIG1kYy1pY29uLWJ1dHRvbi5cbiAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jYXJkX19hY3Rpb24tLWljb246bm90KDpkaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkbWRjLWNhcmQtYWN0aW9uLWljb24tY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGNhcmQgc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtY2FyZC1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiBtZGMtY2FyZC1yaXBwbGUoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLWNvbW1vbigkcXVlcnkpO1xuXG4gIC5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZSgkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLWJvdW5kZWQoJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMoJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtY2FyZC1maWxsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNhcmQtb3V0bGluZSgkY29sb3IsICR0aGlja25lc3M6ICRtZGMtY2FyZC1vdXRsaW5lLXdpZHRoLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkdGhpY2tuZXNzO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtZGMtdGhlbWUtcHJvcC12YWx1ZSgkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtY2FyZC1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuQG1peGluIG1kYy1jYXJkLW1lZGlhLWFzcGVjdC1yYXRpbygkeCwgJHksICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBUaGlzIGNsZXZlciB0cmljayBicm91Z2h0IHRvIHlvdSBieTogaHR0cDovL3d3dy5tYWRlbXlkYXkuZGUvY3NzLWhlaWdodC1lcXVhbHMtd2lkdGgtd2l0aC1wdXJlLWNzcy5odG1sXG4gICAgICBtYXJnaW4tdG9wOiBwZXJjZW50YWdlKCR5IC8gJHgpO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gUHJpdmF0ZVxuLy9cblxuQG1peGluIG1kYy1jYXJkLWNvbnRhaW5lci1sYXlvdXRfIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuQG1peGluIG1kYy1jYXJkLWFjdGlvbnMtbGF5b3V0XygkZGlzcGxheTogZmxleCkge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vdGhlbWUvdmFyaWFibGVzXCI7XG5cbiRtZGMtY2FyZC1hY3Rpb24taWNvbi1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgbWRjLXRoZW1lLXRleHQtZW1waGFzaXMobWVkaXVtKSkgIWRlZmF1bHQ7XG4kbWRjLWNhcmQtb3V0bGluZS1jb2xvcjogbWl4KG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCBtZGMtdGhlbWUtcHJvcC12YWx1ZShzdXJmYWNlKSwgMTIlKSAhZGVmYXVsdDtcbiRtZGMtY2FyZC1vdXRsaW5lLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gbWRjLWNoZWNrYm94LWNvbnRhaW5lci1rZXlmcmFtZXNfKFxuICAkZnJvbS1zdHJva2UtY29sb3IsXG4gICR0by1zdHJva2UtY29sb3IsXG4gICRmcm9tLWZpbGwtY29sb3IsXG4gICR0by1maWxsLWNvbG9yLFxuICAkdWlkKSB7XG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC0jeyR1aWR9IHtcbiAgICAwJSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRmcm9tLXN0cm9rZS1jb2xvcik7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkZnJvbS1maWxsLWNvbG9yKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkdG8tc3Ryb2tlLWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICR0by1maWxsLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLSN7JHVpZH0ge1xuICAgIDAlLFxuICAgIDgwJSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICR0by1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJHRvLWZpbGwtY29sb3IpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkZnJvbS1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGZyb20tZmlsbC1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3gtbWFyay1rZXlmcmFtZXNfIHtcbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWNoZWNrZWQtY2hlY2ttYXJrLXBhdGgge1xuICAgIDAlLFxuICAgIDUwJSB7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogJG1kYy1jaGVja2JveC1tYXJrLXBhdGgtbGVuZ3RoXztcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1kYy1hbmltYXRpb24tZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB7XG4gICAgMCUsXG4gICAgNjguMiUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgfVxuXG4gICAgNjguMiUge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtY2hlY2tlZC11bmNoZWNrZWQtY2hlY2ttYXJrLXBhdGgge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1kYy1hbmltYXRpb24tYWNjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRtZGMtY2hlY2tib3gtbWFyay1wYXRoLWxlbmd0aF8gKiAtMTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRtZGMtYW5pbWF0aW9uLWRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtY2hlY2ttYXJrIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWVhc2luZy1mdW5jdGlvbl87XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbWRjLWFuaW1hdGlvbi1kZWNlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmsge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtZWFzaW5nLWZ1bmN0aW9uXztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLXVuY2hlY2tlZC1taXhlZG1hcmsge1xuICAgIDAlIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAzMi44JSxcbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vcmlwcGxlL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL3ZhcmlhYmxlc1wiO1xuXG4kbWRjLWNoZWNrYm94LW1hcmstY29sb3I6IG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXByaW1hcnkpICFkZWZhdWx0O1xuJG1kYy1jaGVja2JveC1ib3JkZXItY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC41NCkgIWRlZmF1bHQ7XG4kbWRjLWNoZWNrYm94LWRpc2FibGVkLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMjYpICFkZWZhdWx0O1xuJG1kYy1jaGVja2JveC1iYXNlbGluZS10aGVtZS1jb2xvcjogc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4kbWRjLWNoZWNrYm94LXRvdWNoLWFyZWE6IDQwcHggIWRlZmF1bHQ7XG4kbWRjLWNoZWNrYm94LXNpemU6IDE4cHggIWRlZmF1bHQ7XG4kbWRjLWNoZWNrYm94LXVpLXBjdDogcGVyY2VudGFnZSgkbWRjLWNoZWNrYm94LXNpemUgLyAkbWRjLWNoZWNrYm94LXRvdWNoLWFyZWEpICFkZWZhdWx0O1xuJG1kYy1jaGVja2JveC1tYXJrLXN0cm9rZS1zaXplOiAyLzE1ICogJG1kYy1jaGVja2JveC1zaXplICFkZWZhdWx0O1xuJG1kYy1jaGVja2JveC1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcbiRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbjogOTBtcyAhZGVmYXVsdDtcbiRtZGMtY2hlY2tib3gtaXRlbS1zcGFjaW5nOiA0cHggIWRlZmF1bHQ7XG4kbWRjLWNoZWNrYm94LWZvY3VzLWluZGljYXRvci1vcGFjaXR5OiBtYXAtZ2V0KCRtZGMtcmlwcGxlLWRhcmstaW5rLW9wYWNpdGllcywgZm9jdXMpICFkZWZhdWx0O1xuXG4vLyBNYW51YWwgY2FsY3VsYXRpb24gZG9uZSBvbiBTVkdcbiRtZGMtY2hlY2tib3gtbWFyay1wYXRoLWxlbmd0aF86IDI5Ljc4MzMzODUgIWRlZmF1bHQ7XG4kbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1lYXNpbmctZnVuY3Rpb25fOiBjdWJpYy1iZXppZXIoLjE0LCAwLCAwLCAxKSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vYW5pbWF0aW9uL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3JpcHBsZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbi8vXG4vLyBQdWJsaWNcbi8vXG5cbkBtaXhpbiBtZGMtY2hlY2tib3gtY29yZS1zdHlsZXMoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtd2l0aG91dC1yaXBwbGUoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LXJpcHBsZSgkcXVlcnkpO1xufVxuXG4vLyBUaGlzIEFQSSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IGZyYW1ld29ya3MgdGhhdCBtYXkgd2FudCB0byBzZXBhcmF0ZSB0aGUgcmlwcGxlLXJlbGF0ZWQgc3R5bGVzIGZyb20gdGhlIG90aGVyXG4vLyBjaGVja2JveCBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1jaGVja2JveC1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiBtZGMtY2hlY2tib3gtd2l0aG91dC1yaXBwbGUoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBjaGVja2JveFxuXG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LW1hcmsta2V5ZnJhbWVzXztcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3gge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtYmFzZV87XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWNvbnRhaW5lci1jb2xvcnMoJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtaW5rLWNvbG9yKCRtZGMtY2hlY2tib3gtbWFyay1jb2xvciwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWZvY3VzLWluZGljYXRvci1jb2xvcigkbWRjLWNoZWNrYm94LWJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnkpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtZGlzYWJsZWQtY29udGFpbmVyLWNvbG9yXztcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbjogMCAxcHg7IC8vIEV4dHJhIGhvcml6b250YWwgc3BhY2UgYXJvdW5kIG1peGVkbWFyayBzeW1ib2wuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTmVlZGVkIHRvIGRpc2FibGUgaG92ZXIgZWZmZWN0cyBvbiBDU1Mtb25seSAobm9uLUpTKSBjaGVja2JveGVzXG4gIC5tZGMtY2hlY2tib3gtLWRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LS1kaXNhYmxlZF87XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX2NoZWNrbWFya18oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX21peGVkbWFya18oJHF1ZXJ5KTtcbiAgfVxuXG4gIC8vIEpTIGNoZWNrYm94XG4gIC5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkIHtcbiAgICAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayxcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCxcbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19jaGlsZC0tdXBncmFkZWRfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3gtLWFuaW0ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtLWFuaW1fO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveF9fYmFja2dyb3VuZC0tbWFya2VkXztcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLS1tYXJrZWRfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSBmcmFtZSdzIDo6YmVmb3JlIGVsZW1lbnQgaXMgdXNlZCBhcyBhIGZvY3VzIGluZGljYXRvciBmb3IgdGhlIGNoZWNrYm94XG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19mb2N1cy1pbmRpY2F0b3JfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpmb2N1cyB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19mb2N1cy1pbmRpY2F0b3ItLWZvY3VzZWRfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xfO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LS1kaXNhYmxlZF87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX2NoZWNrbWFyay0tY2hlY2tlZF8oJHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19taXhlZG1hcmstLWNoZWNrZWRfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19jaGVja21hcmstLWluZGV0ZXJtaW5hdGVfKCRxdWVyeSk7XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveF9fbWl4ZWRtYXJrLS1pbmRldGVybWluYXRlXztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxufVxuXG4vLyBUaGlzIEFQSSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IGZyYW1ld29ya3MgdGhhdCBtYXkgd2FudCB0byBzZXBhcmF0ZSB0aGUgcmlwcGxlLXJlbGF0ZWQgc3R5bGVzIGZyb20gdGhlIG90aGVyXG4vLyBjaGVja2JveCBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1jaGVja2JveC1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiBtZGMtY2hlY2tib3gtcmlwcGxlKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtcmlwcGxlLWNvbW1vbigkcXVlcnkpO1xuXG4gIC5tZGMtY2hlY2tib3gge1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZSgkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMoJG1kYy1jaGVja2JveC1iYXNlbGluZS10aGVtZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLXVuYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3gtY29udGFpbmVyLWNvbG9ycyhcbiAgJHVubWFya2VkLXN0cm9rZS1jb2xvcjogJG1kYy1jaGVja2JveC1ib3JkZXItY29sb3IsXG4gICR1bm1hcmtlZC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgJG1hcmtlZC1zdHJva2UtY29sb3I6ICRtZGMtY2hlY2tib3gtYmFzZWxpbmUtdGhlbWUtY29sb3IsXG4gICRtYXJrZWQtZmlsbC1jb2xvcjogJG1kYy1jaGVja2JveC1iYXNlbGluZS10aGVtZS1jb2xvcixcbiAgJGdlbmVyYXRlLWtleWZyYW1lczogdHJ1ZSxcbiAgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKVxuKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC11bm1hcmtlZC1iYWNrZ3JvdW5kLXNlbGVjdG9yLWVuYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICR1bm1hcmtlZC1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJHVubWFya2VkLWZpbGwtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC1tYXJrZWQtYmFja2dyb3VuZC1zZWxlY3Rvci1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkbWFya2VkLXN0cm9rZS1jb2xvcik7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkbWFya2VkLWZpbGwtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2VuZXJhdGUta2V5ZnJhbWVzIHtcbiAgICAkdWlkOiBtZGMtY2hlY2tib3gtY29udGFpbmVyLWtleWZyYW1lcy11aWRfKCk7XG4gICAgJGFuaW0tc2VsZWN0b3I6IGlmKCYsIFwiJi5tZGMtY2hlY2tib3gtLWFuaW1cIiwgXCIubWRjLWNoZWNrYm94LS1hbmltXCIpO1xuXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24sICRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtY29udGFpbmVyLWtleWZyYW1lc18oXG4gICAgICAgICRmcm9tLXN0cm9rZS1jb2xvcjogJHVubWFya2VkLXN0cm9rZS1jb2xvcixcbiAgICAgICAgJHRvLXN0cm9rZS1jb2xvcjogJG1hcmtlZC1zdHJva2UtY29sb3IsXG4gICAgICAgICRmcm9tLWZpbGwtY29sb3I6ICR1bm1hcmtlZC1maWxsLWNvbG9yLFxuICAgICAgICAkdG8tZmlsbC1jb2xvcjogJG1hcmtlZC1maWxsLWNvbG9yLFxuICAgICAgICAkdWlkOiAkdWlkXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIG1heC1uZXN0aW5nLWRlcHRoXG5cbiAgICAjeyRhbmltLXNlbGVjdG9yfSB7XG4gICAgICAmLXVuY2hlY2tlZC1jaGVja2VkLFxuICAgICAgJi11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSB7XG4gICAgICAgIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmQtI3skdWlkfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1jaGVja2VkLXVuY2hlY2tlZCxcbiAgICAgICYtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQge1xuICAgICAgICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBtZGMtY2hlY2tib3gtZmFkZS1vdXQtYmFja2dyb3VuZC0jeyR1aWR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgbWF4LW5lc3RpbmctZGVwdGhcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoZWNrYm94LWluay1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJvcmRlci1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveC1mb2N1cy1pbmRpY2F0b3ItY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIFRoZSA6OmJlZm9yZSBlbGVtZW50IGlzIHVzZWQgYXMgYSBmb2N1cyBpbmRpY2F0b3IgZm9yIHRoZSBjaGVja2JveFxuICAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvciwgJGVkZ2VPcHRPdXQ6IHRydWUpO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gUHJpdmF0ZVxuLy9cblxuQG1peGluIG1kYy1jaGVja2JveC1iYXNlXyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDAgJG1kYy1jaGVja2JveC1zaXplO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6ICRtZGMtY2hlY2tib3gtc2l6ZTtcbiAgaGVpZ2h0OiAkbWRjLWNoZWNrYm94LXNpemU7XG4gIHBhZGRpbmc6ICgkbWRjLWNoZWNrYm94LXRvdWNoLWFyZWEgLSAkbWRjLWNoZWNrYm94LXNpemUpIC8gMjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuQG1peGluIG1kYy1jaGVja2JveC1kaXNhYmxlZC1jb250YWluZXItY29sb3JfIHtcbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LXVubWFya2VkLWJhY2tncm91bmQtc2VsZWN0b3ItZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRtZGMtY2hlY2tib3gtZGlzYWJsZWQtY29sb3IpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LW1hcmtlZC1iYWNrZ3JvdW5kLXNlbGVjdG9yLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCB0cmFuc3BhcmVudCk7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJG1kYy1jaGVja2JveC1kaXNhYmxlZC1jb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveC0tZGlzYWJsZWRfIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1peGluIG1kYy1jaGVja2JveF9fY2hpbGQtLWNvdmVyLXBhcmVudF8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cblxuQG1peGluIG1kYy1jaGVja2JveF9fY2hpbGQtLXVwZ3JhZGVkXyB7XG4gIC8vIER1ZSB0byB0aGUgbXlyaWFkIG9mIHNlbGVjdG9yIGNvbWJvcyB1c2VkIHRvIHByb3Blcmx5IHN0eWxlIGEgQ1NTLW9ubHkgY2hlY2tib3gsIGFsbCBvZlxuICAvLyB3aGljaCBoYXZlIHZhcnlpbmcgc2VsZWN0b3IgcHJlY2VkZW5jZSBhbmQgbWFrZSB1c2Ugb2YgdHJhbnNpdGlvbnMsIGl0IGlzIGNsZWFuZXIgYW5kIG1vcmVcbiAgLy8gZWZmaWNpZW50IGhlcmUgdG8gc2ltcGx5IHVzZSAhaW1wb3J0YW50LCBzaW5jZSB0aGUgbWRjLWNoZWNrYm94LS1hbmltLSogY2xhc3NlcyB3aWxsIHRha2VcbiAgLy8gb3ZlciBmcm9tIGhlcmUuXG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gQW5pbWF0aW9uXG5cbkBtaXhpbiBtZGMtY2hlY2tib3gtLWFuaW1fIHtcbiAgJG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoYW5nZS1kdXJhdGlvbl86IDUwMG1zO1xuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC10eXBlXG5cbiAgJi11bmNoZWNrZWQtY2hlY2tlZCxcbiAgJi11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSxcbiAgJi1jaGVja2VkLXVuY2hlY2tlZCxcbiAgJi1pbmRldGVybWluYXRlLXVuY2hlY2tlZCB7XG4gICAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246ICRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDI7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgfVxuICB9XG5cbiAgJi11bmNoZWNrZWQtY2hlY2tlZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICAgICAgLy8gSW5zdGVhZCBvZiBkZWxheWluZyB0aGUgYW5pbWF0aW9uLCB3ZSBzaW1wbHkgbXVsdGlwbHkgaXRzIGxlbmd0aCBieSAyIGFuZCBiZWdpbiB0aGVcbiAgICAgIC8vIGFuaW1hdGlvbiBhdCA1MCUgaW4gb3JkZXIgdG8gcHJldmVudCBhIGZsYXNoIG9mIHN0eWxlcyBhcHBsaWVkIHRvIGEgY2hlY2tlZCBjaGVja21hcmtcbiAgICAgIC8vIGFzIHRoZSBiYWNrZ3JvdW5kIGlzIGZhZGluZyBpbiBiZWZvcmUgdGhlIGFuaW1hdGlvbiBiZWdpbnMuXG4gICAgICBhbmltYXRpb246IG1kYy1jaGVja2JveC11bmNoZWNrZWQtY2hlY2tlZC1jaGVja21hcmstcGF0aCAkbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZHVyYXRpb24gKiAyIGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSB7XG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayAkbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZHVyYXRpb24gbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLWNoZWNrZWQtdW5jaGVja2VkIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gICAgICBhbmltYXRpb246IG1kYy1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aCAkbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZHVyYXRpb24gbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLWNoZWNrZWQtaW5kZXRlcm1pbmF0ZSB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1jaGVja21hcmsgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uIGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uIGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1pbmRldGVybWluYXRlLWNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgICBhbmltYXRpb246IG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtY2hlY2ttYXJrICRtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGFuZ2UtZHVyYXRpb25fIGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmsgJG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoYW5nZS1kdXJhdGlvbl8gbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIHtcbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLWNvbG9uLXNwYWNlLWFmdGVyXG4gICAgICBhbmltYXRpb246XG4gICAgICAgIG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLXVuY2hlY2tlZC1taXhlZG1hcmsgJG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoYW5nZS1kdXJhdGlvbl8gKiAuNiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LXR5cGVcbn1cblxuLy8gQmFja2dyb3VuZFxuXG5AbWl4aW4gbWRjLWNoZWNrYm94LXVubWFya2VkLWJhY2tncm91bmQtc2VsZWN0b3ItZW5hYmxlZF8ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXNwZWNpZmljaXR5XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveC11bm1hcmtlZC1iYWNrZ3JvdW5kLXNlbGVjdG9yLWRpc2FibGVkXyB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHlcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQ6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveC1tYXJrZWQtYmFja2dyb3VuZC1zZWxlY3Rvci1lbmFibGVkXyB7XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3gtbWFya2VkLWJhY2tncm91bmQtc2VsZWN0b3ItZGlzYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAoJG1kYy1jaGVja2JveC10b3VjaC1hcmVhIC0gJG1kYy1jaGVja2JveC1zaXplKSAvIDIsIFwiLm1kYy1jaGVja2JveFwiKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkbWRjLWNoZWNrYm94LXRvdWNoLWFyZWEgLSAkbWRjLWNoZWNrYm94LXNpemUpIC8gMjtcbiAgICBib3R0b206IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbWRjLWNoZWNrYm94LXVpLXBjdDtcbiAgICBoZWlnaHQ6ICRtZGMtY2hlY2tib3gtdWktcGN0O1xuICAgIC8vIGJvcmRlci1jb2xvciBpcyBvdmVycmlkZGVuIGJ5IHRoZSBtZGMtY2hlY2tib3gtdW5tYXJrZWQtc3Ryb2tlLWNvbG9yKCkgbWl4aW5cbiAgICBib3JkZXI6ICRtZGMtY2hlY2tib3gtYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lsbC1jaGFuZ2U6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWV4aXQoYmFja2dyb3VuZC1jb2xvciksXG4gICAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1leGl0KGJvcmRlci1jb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveF9fYmFja2dyb3VuZC0tbWFya2VkXyB7XG4gIHRyYW5zaXRpb246XG4gICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZW50ZXIoYm9yZGVyLWNvbG9yKSxcbiAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1lbnRlcihiYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLy8gRm9jdXMgaW5kaWNhdG9yXG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2ZvY3VzLWluZGljYXRvcl8oJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19jaGlsZC0tY292ZXItcGFyZW50XztcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWV4aXQob3BhY2l0eSksXG4gICAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1leGl0KHRyYW5zZm9ybSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveF9fZm9jdXMtaW5kaWNhdG9yLS1mb2N1c2VkXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDIuNzUsIDIuNzUpO1xuICAgIG9wYWNpdHk6ICRtZGMtY2hlY2tib3gtZm9jdXMtaW5kaWNhdG9yLW9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1lbnRlcihvcGFjaXR5LCAwbXMsIDgwbXMpLFxuICAgICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZW50ZXIodHJhbnNmb3JtLCAwbXMsIDgwbXMpO1xuICB9XG59XG5cbi8vIE5hdGl2ZSBpbnB1dFxuXG5AbWl4aW4gbWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbF8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IGluaGVyaXQ7XG59XG5cbi8vIENoZWNrIG1hcmtcblxuQG1peGluIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX2NoaWxkLS1jb3Zlci1wYXJlbnRfO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdChvcGFjaXR5LCAwbXMsICRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveC0tdXBncmFkZWQgJiB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2NoZWNrbWFyay0tY2hlY2tlZF8oJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWVudGVyKG9wYWNpdHksIDBtcywgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uICogMiksXG4gICAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1lbnRlcih0cmFuc2Zvcm0sIDBtcywgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uICogMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrLS1pbmRldGVybWluYXRlXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWV4aXQob3BhY2l0eSwgMG1zLCAkbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZHVyYXRpb24pLFxuICAgICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdCh0cmFuc2Zvcm0sIDBtcywgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG4vLyBDaGVjayBtYXJrIHBhdGhcblxuQG1peGluIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGhfKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246IG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWV4aXQoc3Ryb2tlLWRhc2hvZmZzZXQsIDBtcywgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uICogMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgIHN0cm9rZS13aWR0aDogJG1kYy1jaGVja2JveC1tYXJrLXN0cm9rZS1zaXplICogMS4zO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkbWRjLWNoZWNrYm94LW1hcmstcGF0aC1sZW5ndGhfO1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRtZGMtY2hlY2tib3gtbWFyay1wYXRoLWxlbmd0aF87XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgtLW1hcmtlZF8ge1xuICBzdHJva2UtZGFzaG9mZnNldDogMDtcbn1cblxuLy8gTWl4ZWQgbWFya1xuXG5AbWl4aW4gbWRjLWNoZWNrYm94X19taXhlZG1hcmtfKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKSByb3RhdGUoMGRlZyk7XG4gICAgYm9yZGVyLXdpZHRoOiBmbG9vcigkbWRjLWNoZWNrYm94LW1hcmstc3Ryb2tlLXNpemUpIC8gMjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1leGl0KG9wYWNpdHkpLFxuICAgICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdCh0cmFuc2Zvcm0pO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX21peGVkbWFyay0tY2hlY2tlZF8ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuQG1peGluIG1kYy1jaGVja2JveF9fbWl4ZWRtYXJrLS1pbmRldGVybWluYXRlXyB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vLi4vYW5pbWF0aW9uL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uL2NoZWNrYm94L2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uL2NoZWNrYm94L3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uL3JpcHBsZS9jb21tb25cIjtcbkBpbXBvcnQgXCIuLi8uLi9yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vdHlwb2dyYXBoeS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcblxuLm1kYy1jaGlwIHtcbiAgQGluY2x1ZGUgbWRjLXJpcHBsZS1zdXJmYWNlO1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy1ib3VuZGVkO1xuICBAaW5jbHVkZSBtZGMtY2hpcC1zaGFwZS1yYWRpdXMoNTAlKTtcbiAgQGluY2x1ZGUgbWRjLWNoaXAtZmlsbC1jb2xvcigkbWRjLWNoaXAtZmlsbC1jb2xvci1kZWZhdWx0KTtcbiAgQGluY2x1ZGUgbWRjLWNoaXAtaW5rLWNvbG9yKCRtZGMtY2hpcC1pbmstY29sb3ItZGVmYXVsdCk7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KGJvZHkyKTtcbiAgQGluY2x1ZGUgbWRjLWNoaXAtaGVpZ2h0KCRtZGMtY2hpcC1oZWlnaHQtZGVmYXVsdCk7XG4gIEBpbmNsdWRlIG1kYy1jaGlwLWxlYWRpbmctaWNvbi1tYXJnaW4oKTtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAkbWRjLWNoaXAtdmVydGljYWwtcGFkZGluZyAkbWRjLWNoaXAtaG9yaXpvbnRhbC1wYWRkaW5nO1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsIG9uLXN1cmZhY2UpO1xuICB9XG59XG5cbkBhdC1yb290IHtcbiAgQGluY2x1ZGUgbWRjLWNoaXAtbGVhZGluZy1pY29uLWNvbG9yKCRtZGMtY2hpcC1pY29uLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLWNoaXAtdHJhaWxpbmctaWNvbi1jb2xvcigkbWRjLWNoaXAtaWNvbi1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1jaGlwLWxlYWRpbmctaWNvbi1zaXplKCRtZGMtY2hpcC1sZWFkaW5nLWljb24tc2l6ZSk7XG4gIEBpbmNsdWRlIG1kYy1jaGlwLXRyYWlsaW5nLWljb24tc2l6ZSgkbWRjLWNoaXAtdHJhaWxpbmctaWNvbi1zaXplKTtcbiAgQGluY2x1ZGUgbWRjLWNoaXAtdHJhaWxpbmctaWNvbi1tYXJnaW4oKTtcbn1cblxuLm1kYy1jaGlwLS1leGl0IHtcbiAgdHJhbnNpdGlvbjogJG1kYy1jaGlwLWV4aXQtdHJhbnNpdGlvbjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLm1kYy1jaGlwX190ZXh0IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1kYy1jaGlwX19pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvdXRsaW5lOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubWRjLWNoaXBfX2NoZWNrbWFyayB7XG4gIGhlaWdodDogJG1kYy1jaGlwLWxlYWRpbmctaWNvbi1zaXplO1xufVxuXG4ubWRjLWNoaXBfX2NoZWNrbWFyay1wYXRoIHtcbiAgdHJhbnNpdGlvbjpcbiAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1leGl0KFxuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQsXG4gICAgICAkbWRjLWNoaXAtY2hlY2ttYXJrLWFuaW1hdGlvbi1kZWxheSxcbiAgICAgICRtZGMtY2hpcC1jaGVja21hcmstYW5pbWF0aW9uLWR1cmF0aW9uXG4gICAgKTtcbiAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAkbWRjLWNoZWNrYm94LW1hcmstcGF0aC1sZW5ndGhfO1xuICBzdHJva2UtZGFzaGFycmF5OiAkbWRjLWNoZWNrYm94LW1hcmstcGF0aC1sZW5ndGhfO1xufVxuXG4ubWRjLWNoaXAtLXNlbGVjdGVkIC5tZGMtY2hpcF9fY2hlY2ttYXJrLXBhdGgge1xuICBzdHJva2UtZGFzaG9mZnNldDogMDtcbn1cblxuLy8gQ2hhbmdlIGNvbG9yIG9mIHNlbGVjdGVkIGNob2ljZSBjaGlwc1xuXG4ubWRjLWNoaXAtc2V0LS1jaG9pY2Uge1xuICAubWRjLWNoaXAge1xuICAgIEBpbmNsdWRlIG1kYy1jaGlwLXNlbGVjdGVkLWluay1jb2xvcihwcmltYXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hpcC0tc2VsZWN0ZWQge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsIHN1cmZhY2UpO1xuICB9XG59XG5cbi8vIEFkZCBsZWFkaW5nIGNoZWNrbWFyayB0byBmaWx0ZXIgY2hpcHMgd2l0aCBubyBsZWFkaW5nIGljb25cblxuLm1kYy1jaGlwX19jaGVja21hcmstc3ZnIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogJG1kYy1jaGlwLWxlYWRpbmctaWNvbi1zaXplO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAkbWRjLWNoaXAtd2lkdGgtYW5pbWF0aW9uLWR1cmF0aW9uICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbn1cblxuLm1kYy1jaGlwLS1zZWxlY3RlZCAubWRjLWNoaXBfX2NoZWNrbWFyay1zdmcge1xuICB3aWR0aDogJG1kYy1jaGlwLWxlYWRpbmctaWNvbi1zaXplO1xufVxuXG4vLyBBZGQgbGVhZGluZyBjaGVja21hcmsgdG8gZmlsdGVyIGNoaXBzIHdpdGggYSBsZWFkaW5nIGljb25cblxuLm1kYy1jaGlwLXNldC0tZmlsdGVyIHtcbiAgLm1kYy1jaGlwX19pY29uLS1sZWFkaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRtZGMtY2hpcC1vcGFjaXR5LWFuaW1hdGlvbi1kdXJhdGlvbiBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogJG1kYy1jaGlwLWxlYWRpbmctaWNvbi1kZWxheTtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgKyAubWRjLWNoaXBfX2NoZWNrbWFyayB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRtZGMtY2hpcC1vcGFjaXR5LWFuaW1hdGlvbi1kdXJhdGlvbiBsaW5lYXI7XG5cbiAgICAgIC8vIERlbGF5IHRoZSBjaGVja21hcmsgdHJhbnNpdGlvbi5cbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRtZGMtY2hpcC1jaGVja21hcmstd2l0aC1sZWFkaW5nLWljb24tZGVsYXk7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAubWRjLWNoaXBfX2NoZWNrbWFyay1zdmcge1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwbXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jaGlwLS1zZWxlY3RlZCAubWRjLWNoaXBfX2ljb24tLWxlYWRpbmcge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICArIC5tZGMtY2hpcF9fY2hlY2ttYXJrIHtcbiAgICAgIC8vIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBjaGVja21hcmsgaGFzIHplcm8gd2lkdGggd2hpbGUgdGhlIGxlYWRpbmcgaWNvbiBpcyBzdGlsbCBhbmltYXRpbmcuXG4gICAgICB3aWR0aDogMDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jaGlwX19pY29uLS1sZWFkaW5nLWhpZGRlbi5tZGMtY2hpcF9faWNvbi0tbGVhZGluZyB7XG4gICAgd2lkdGg6IDA7XG5cbiAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgbGVhZGluZyBpY29uIGRvZXNuJ3QgZmFkZSBpbiB3aGlsZSB0aGUgY2hlY2ttYXJrIGlzIGZhZGluZyBvdXQuXG4gICAgb3BhY2l0eTogMDtcblxuICAgICsgLm1kYy1jaGlwX19jaGVja21hcmsge1xuICAgICAgd2lkdGg6ICRtZGMtY2hpcC1sZWFkaW5nLWljb24tc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXHJcbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXHJcbi8vXHJcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcclxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxyXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXHJcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcclxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXHJcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XHJcbi8vXHJcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXHJcbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxyXG4vL1xyXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXHJcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxyXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcclxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxyXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxyXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXHJcbi8vIFRIRSBTT0ZUV0FSRS5cclxuLy9cclxuXHJcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xyXG5cclxuLy9cclxuLy8gRmxpcHMgdGhlIHJhZGl1cyB2YWx1ZXMgYmFzZWQgb24gUlRMIGNvbnRleHQuXHJcbi8vXHJcbi8vIEV4YW1wbGVzOlxyXG4vL1xyXG4vLyAxLiBtZGMtc2hhcGUtZmxpcC1yYWRpdXMoKDAsIDRweCwgNHB4LCAwKSkgPT4gNHB4IDAgMCA0cHhcclxuLy8gMi4gbWRjLXNoYXBlLWZsaXAtcmFkaXVzKCgwLCA4cHgpKSA9PiA4cHggMFxyXG4vL1xyXG5AZnVuY3Rpb24gbWRjLXNoYXBlLWZsaXAtcmFkaXVzKCRyYWRpdXMpIHtcclxuICBAaWYgdHlwZS1vZigkcmFkaXVzKSA9PSBcImxpc3RcIiB7XHJcbiAgICBAaWYgbGVuZ3RoKCRyYWRpdXMpID4gNCB7XHJcbiAgICAgIEBlcnJvciBcIkludmFsaWQgcmFkaXVzOiAnI3skcmFkaXVzfScgaXMgbW9yZSB0aGFuIDQgdmFsdWVzXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgbGVuZ3RoKCRyYWRpdXMpID09IDQge1xyXG4gICAgQHJldHVybiBudGgoJHJhZGl1cywgMikgbnRoKCRyYWRpdXMsIDEpIG50aCgkcmFkaXVzLCA0KSBudGgoJHJhZGl1cywgMyk7XHJcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHJhZGl1cykgPT0gMyB7XHJcbiAgICBAcmV0dXJuIG50aCgkcmFkaXVzLCAyKSBudGgoJHJhZGl1cywgMSkgbnRoKCRyYWRpdXMsIDIpIG50aCgkcmFkaXVzLCAzKTtcclxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcmFkaXVzKSA9PSAyIHtcclxuICAgIEByZXR1cm4gbnRoKCRyYWRpdXMsIDIpIG50aCgkcmFkaXVzLCAxKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gJHJhZGl1cztcclxuICB9XHJcbn1cclxuXHJcbi8vXHJcbi8vIFJlc29sdmVzIHRoZSBwZXJjZW50YWdlIHVuaXQgcmFkaXVzIHRvIGFwcHJvcHJpYXRlIGFic29sdXRlIHJhZGl1cyB2YWx1ZSBiYXNlZCBvbiBjb21wb25lbnQgaGVpZ2h0LlxyXG4vLyBVc2UgdGhpcyBmb3IgZml4ZWQgaGVpZ2h0IGNvbXBvbmVudHMgb25seS5cclxuLy9cclxuLy8gRXhhbXBsZXM6XHJcbi8vXHJcbi8vIG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKDM2cHgsIDUwJSkgPT4gYDE4cHhgIChpLmUuLCAzNnB4IC8gMilcclxuLy9cclxuQGZ1bmN0aW9uIG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRjb21wb25lbnQtaGVpZ2h0LCAkcmFkaXVzKSB7XHJcbiAgJHJhZGl1czogbWRjLXNoYXBlLXByb3AtdmFsdWUoJHJhZGl1cyk7XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRyYWRpdXMpID09IFwibGlzdFwiIHtcclxuICAgICRyYWRpdXMtdmFsdWU6ICgpO1xyXG5cclxuICAgIEBlYWNoICRjb3JuZXIgaW4gJHJhZGl1cyB7XHJcbiAgICAgICRyYWRpdXMtdmFsdWU6IGFwcGVuZCgkcmFkaXVzLXZhbHVlLCBtZGMtc2hhcGUtcmVzb2x2ZS1wZXJjZW50YWdlLWZvci1jb3JuZXJfKCRjb21wb25lbnQtaGVpZ2h0LCAkY29ybmVyKSk7XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiAkcmFkaXVzLXZhbHVlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiBtZGMtc2hhcGUtcmVzb2x2ZS1wZXJjZW50YWdlLWZvci1jb3JuZXJfKCRjb21wb25lbnQtaGVpZ2h0LCAkcmFkaXVzKTtcclxuICB9XHJcbn1cclxuXHJcbi8vXHJcbi8vIFJldHVybnMgJHJhZGl1cyB2YWx1ZSBvZiBzaGFwZSBjYXRlZ29yeSAtIGBsYXJnZWAsIGBtZWRpdW1gIG9yIGBzbWFsbGAuXHJcbi8vIE90aGVyd2lzZSwgaXQgcmV0dXJucyB0aGUgJHJhZGl1cyBpdHNlbGYgaWYgdmFsaWQuXHJcbi8vICRyYWRpdXMgY2FuIGJlIGEgc2luZ2xlIHZhbHVlLCBvciBhIGxpc3Qgb2YgdXAgdG8gNCB2YWx1ZXMuXHJcbi8vXHJcbi8vIEV4YW1wbGVzOlxyXG4vL1xyXG4vLyBtZGMtc2hhcGUtcHJvcC12YWx1ZShzbWFsbCkgPT4gNHB4XHJcbi8vIG1kYy1zaGFwZS1wcm9wLXZhbHVlKHNtYWxsIHNtYWxsIDAgMCkgPT4gNHB4IDRweCAwIDBcclxuLy9cclxuQGZ1bmN0aW9uIG1kYy1zaGFwZS1wcm9wLXZhbHVlKCRyYWRpdXMpIHtcclxuICBAaWYgdHlwZS1vZigkcmFkaXVzKSA9PSBcImxpc3RcIiB7XHJcbiAgICBAaWYgbGVuZ3RoKCRyYWRpdXMpID4gNCB7XHJcbiAgICAgIEBlcnJvciBcIkludmFsaWQgcmFkaXVzOiAnI3skcmFkaXVzfScgaXMgbW9yZSB0aGFuIDQgdmFsdWVzXCI7XHJcbiAgICB9XHJcblxyXG4gICAgJHJhZGl1cy12YWx1ZXM6ICgpO1xyXG5cclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRyYWRpdXMpIHtcclxuICAgICAgJGNvcm5lcjogbnRoKCRyYWRpdXMsICRpKTtcclxuXHJcbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWRjLXNoYXBlLWNhdGVnb3J5LXZhbHVlcywgJGNvcm5lcikge1xyXG4gICAgICAgIC8vIElmIGEgY2F0ZWdvcnkgaXMgZW5jb3VudGVyZWQgd2l0aGluIGEgbGlzdCBvZiByYWRpaSwgYXBwbHkgdGhlIGNhdGVnb3J5J3MgdmFsdWUgZm9yIHRoZSBjb3JyZXNwb25kaW5nIGNvcm5lclxyXG4gICAgICAgICRyYWRpdXMtdmFsdWVzOlxyXG4gICAgICAgICAgYXBwZW5kKCRyYWRpdXMtdmFsdWVzLCBudGgobWRjLXNoYXBlLXVucGFjay1yYWRpdXNfKG1hcC1nZXQoJG1kYy1zaGFwZS1jYXRlZ29yeS12YWx1ZXMsICRjb3JuZXIpKSwgJGkpKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJHJhZGl1cy12YWx1ZXM6IGFwcGVuZCgkcmFkaXVzLXZhbHVlcywgbWRjLXNoYXBlLXZhbGlkYXRlLXJhZGl1cy12YWx1ZV8oJGNvcm5lcikpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiAkcmFkaXVzLXZhbHVlcztcclxuICB9IEBlbHNlIHtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkbWRjLXNoYXBlLWNhdGVnb3J5LXZhbHVlcywgJHJhZGl1cykge1xyXG4gICAgICBAcmV0dXJuIG1hcC1nZXQoJG1kYy1zaGFwZS1jYXRlZ29yeS12YWx1ZXMsICRyYWRpdXMpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEByZXR1cm4gbWRjLXNoYXBlLXZhbGlkYXRlLXJhZGl1cy12YWx1ZV8oJHJhZGl1cyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL1xyXG4vLyBBY2NlcHRzIHJhZGl1cyBudW1iZXIgb3IgbGlzdCBvZiAyLTQgcmFkaXVzIHZhbHVlcyBhbmQgcmV0dXJucyA0IHZhbHVlIGxpc3Qgd2l0aFxyXG4vLyBtYXNrZWQgY29ybmVycyBhcyBtZW50aW9uZWQgaW4gYCRtYXNrZWQtY29ybmVyc2BcclxuLy9cclxuLy8gRXhhbXBsZTpcclxuLy9cclxuLy8gMS4gbWRjLXNoYXBlLW1hc2stcmFkaXVzKDJweCAzcHgsIDEgMSAwIDApID0+IDJweCAzcHggMCAwXHJcbi8vIDIuIG1kYy1zaGFwZS1tYXNrLXJhZGl1cyg4cHgsIDAgMCAxIDEpID0+IDAgMCA4cHggOHB4XHJcbi8vIDMuIG1kYy1zaGFwZS1tYXNrLXJhZGl1cyg0cHggNHB4IDRweCA0cHgsIDAgMSAxIDApID0+IDAgNHB4IDRweCAwXHJcbi8vXHJcbkBmdW5jdGlvbiBtZGMtc2hhcGUtbWFzay1yYWRpdXMoJHJhZGl1cywgJG1hc2tlZC1jb3JuZXJzKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHJhZGl1cykgPT0gXCJsaXN0XCIge1xyXG4gICAgQGlmIGxlbmd0aCgkcmFkaXVzKSA+IDQge1xyXG4gICAgICBAZXJyb3IgXCJJbnZhbGlkIHJhZGl1czogJyN7JHJhZGl1c30nIGlzIG1vcmUgdGhhbiA0IHZhbHVlc1wiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmIGxlbmd0aCgkbWFza2VkLWNvcm5lcnMpICE9IDQge1xyXG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgbWFza2VkLWNvcm5lcnMgb2YgbGVuZ3RoIDQgYnV0IGdvdCAnI3tsZW5ndGgoJG1hc2tlZC1jb3JuZXJzKX0nLlwiO1xyXG4gIH1cclxuXHJcbiAgJHJhZGl1czogbWRjLXNoYXBlLXVucGFjay1yYWRpdXNfKCRyYWRpdXMpO1xyXG5cclxuICBAcmV0dXJuIGlmKG50aCgkbWFza2VkLWNvcm5lcnMsIDEpID09IDEsIG50aCgkcmFkaXVzLCAxKSwgMClcclxuICAgIGlmKG50aCgkbWFza2VkLWNvcm5lcnMsIDIpID09IDEsIG50aCgkcmFkaXVzLCAyKSwgMClcclxuICAgIGlmKG50aCgkbWFza2VkLWNvcm5lcnMsIDMpID09IDEsIG50aCgkcmFkaXVzLCAzKSwgMClcclxuICAgIGlmKG50aCgkbWFza2VkLWNvcm5lcnMsIDQpID09IDEsIG50aCgkcmFkaXVzLCA0KSwgMCk7XHJcbn1cclxuXHJcbi8vXHJcbi8vIFVucGFja3Mgc2hvcnRoYW5kIHZhbHVlcyBmb3IgYm9yZGVyLXJhZGl1cyAoaS5lLiBsaXN0cyBvZiAxLTMgdmFsdWVzKS5cclxuLy8gSWYgYSBsaXN0IG9mIDQgdmFsdWVzIGlzIGdpdmVuLCBpdCBpcyByZXR1cm5lZCBhcy1pcy5cclxuLy9cclxuLy8gRXhhbXBsZXM6XHJcbi8vXHJcbi8vIDEuIG1kYy1zaGFwZS11bnBhY2stcmFkaXVzXyg0cHgpID0+IDRweCA0cHggNHB4IDRweFxyXG4vLyAyLiBtZGMtc2hhcGUtdW5wYWNrLXJhZGl1c18oNHB4IDJweCkgPT4gNHB4IDJweCA0cHggMnB4XHJcbi8vIDMuIG1kYy1zaGFwZS11bnBhY2stcmFkaXVzXyg0cHggMnB4IDJweCkgPT4gNHB4IDJweCAycHggMnB4XHJcbi8vIDIuIG1kYy1zaGFwZS11bnBhY2stcmFkaXVzXyg0cHggMnB4IDAgMnB4KSA9PiA0cHggMnB4IDAgMnB4XHJcbi8vXHJcbi8vIFRPRE86IFRoaXMgaXMgcHJpdmF0ZSBmb3IgcHVycG9zZXMgb2YgZ2V0dGluZyBpdCBpbnRvIGEgcGF0Y2g7IG1ha2UgaXQgcHVibGljIGZvciBhIGZ1dHVyZSBtaW5vci9tYWpvciByZWxlYXNlLlxyXG4vL1xyXG5AZnVuY3Rpb24gbWRjLXNoYXBlLXVucGFjay1yYWRpdXNfKCRyYWRpdXMpIHtcclxuICBAaWYgbGVuZ3RoKCRyYWRpdXMpID09IDQge1xyXG4gICAgQHJldHVybiAkcmFkaXVzO1xyXG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRyYWRpdXMpID09IDMge1xyXG4gICAgQHJldHVybiBudGgoJHJhZGl1cywgMSkgbnRoKCRyYWRpdXMsIDIpIG50aCgkcmFkaXVzLCAzKSBudGgoJHJhZGl1cywgMik7XHJcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHJhZGl1cykgPT0gMiB7XHJcbiAgICBAcmV0dXJuIG50aCgkcmFkaXVzLCAxKSBudGgoJHJhZGl1cywgMikgbnRoKCRyYWRpdXMsIDEpIG50aCgkcmFkaXVzLCAyKTtcclxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcmFkaXVzKSA9PSAxIHtcclxuICAgIEByZXR1cm4gJHJhZGl1cyAkcmFkaXVzICRyYWRpdXMgJHJhZGl1cztcclxuICB9XHJcblxyXG4gIEBlcnJvciBcIkludmFsaWQgcmFkaXVzOiAnI3skcmFkaXVzfScgaXMgbW9yZSB0aGFuIDQgdmFsdWVzXCI7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBtZGMtc2hhcGUtcmVzb2x2ZS1wZXJjZW50YWdlLWZvci1jb3JuZXJfKCRjb21wb25lbnQtaGVpZ2h0LCAkcmFkaXVzKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHJhZGl1cykgPT0gXCJudW1iZXJcIiBhbmQgdW5pdCgkcmFkaXVzKSA9PSBcIiVcIiB7XHJcbiAgICAvLyBDb252ZXJ0cyB0aGUgcGVyY2VudGFnZSB0byBudW1iZXIgd2l0aG91dCB1bml0LiBFeGFtcGxlOiA1MCUgPT4gNTAuXHJcbiAgICAkcGVyY2VudGFnZTogJHJhZGl1cyAvICgkcmFkaXVzICogMCArIDEpO1xyXG5cclxuICAgIEByZXR1cm4gJGNvbXBvbmVudC1oZWlnaHQgKiAoJHBlcmNlbnRhZ2UgLyAxMDApO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiAkcmFkaXVzO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIG1kYy1zaGFwZS12YWxpZGF0ZS1yYWRpdXMtdmFsdWVfKCRyYWRpdXMpIHtcclxuICAkaXMtbnVtYmVyOiB0eXBlLW9mKCRyYWRpdXMpID09IFwibnVtYmVyXCI7XHJcblxyXG4gIEBpZiBub3QgKCRpcy1udW1iZXIgb3Igc3RyX2luZGV4KCRyYWRpdXMsIFwidmFyKFwiKSBvciBzdHJfaW5kZXgoJHJhZGl1cywgXCJjYWxjKFwiKSkge1xyXG4gICAgQGVycm9yIFwiSW52YWxpZCByYWRpdXM6ICN7JHJhZGl1c31cIjtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJhZGl1cztcclxufVxyXG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZS92YXJpYWJsZXNcIjtcblxuJG1kYy1jaGlwLWZpbGwtY29sb3ItZGVmYXVsdDogbWl4KG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCBtZGMtdGhlbWUtcHJvcC12YWx1ZShzdXJmYWNlKSwgMTIlKSAhZGVmYXVsdDtcbiRtZGMtY2hpcC1pbmstY29sb3ItZGVmYXVsdDogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KSAhZGVmYXVsdDtcbiRtZGMtY2hpcC1ob3Jpem9udGFsLXBhZGRpbmc6IDEycHggIWRlZmF1bHQ7XG4kbWRjLWNoaXAtdmVydGljYWwtcGFkZGluZzogN3B4ICFkZWZhdWx0O1xuJG1kYy1jaGlwLWhlaWdodC1kZWZhdWx0OiAzMnB4ICFkZWZhdWx0O1xuXG4kbWRjLWNoaXAtaWNvbi1jb2xvcjogbWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSkgIWRlZmF1bHQ7XG4kbWRjLWNoaXAtaWNvbi1vcGFjaXR5OiAuNTQgIWRlZmF1bHQ7XG4kbWRjLWNoaXAtdHJhaWxpbmctaWNvbi1ob3Zlci1vcGFjaXR5OiAuNjIgIWRlZmF1bHQ7XG4kbWRjLWNoaXAtdHJhaWxpbmctaWNvbi1mb2N1cy1vcGFjaXR5OiAuODcgIWRlZmF1bHQ7XG4kbWRjLWNoaXAtbGVhZGluZy1pY29uLXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kbWRjLWNoaXAtdHJhaWxpbmctaWNvbi1zaXplOiAxOHB4ICFkZWZhdWx0O1xuLy8gU3BlZWQgdXAgZGVsYXkgdG8gYnJpZGdlIGdhcCBiZXR3ZWVuIGxlYWRpbmcgaWNvbiBhbmQgY2hlY2ttYXJrIHRyYW5zaXRpb24uXG4kbWRjLWNoaXAtbGVhZGluZy1pY29uLWRlbGF5OiAtNTBtcyAhZGVmYXVsdDtcbiRtZGMtY2hpcC1jaGVja21hcmstd2l0aC1sZWFkaW5nLWljb24tZGVsYXk6IDgwbXMgIWRlZmF1bHQ7XG5cbiRtZGMtY2hpcC1jaGVja21hcmstYW5pbWF0aW9uLWRlbGF5OiA1MG1zICFkZWZhdWx0O1xuJG1kYy1jaGlwLWNoZWNrbWFyay1hbmltYXRpb24tZHVyYXRpb246IDE1MG1zICFkZWZhdWx0O1xuJG1kYy1jaGlwLXdpZHRoLWFuaW1hdGlvbi1kdXJhdGlvbjogMTUwbXMgIWRlZmF1bHQ7XG4kbWRjLWNoaXAtb3BhY2l0eS1hbmltYXRpb24tZHVyYXRpb246IDc1bXMgIWRlZmF1bHQ7XG5cbiRtZGMtY2hpcC1sZWFkaW5nLWljb24tbWFyZ2luLXRvcDogLTRweCAhZGVmYXVsdDtcbiRtZGMtY2hpcC1sZWFkaW5nLWljb24tbWFyZ2luLXJpZ2h0OiA0cHggIWRlZmF1bHQ7XG4kbWRjLWNoaXAtbGVhZGluZy1pY29uLW1hcmdpbi1ib3R0b206IC00cHggIWRlZmF1bHQ7XG4kbWRjLWNoaXAtbGVhZGluZy1pY29uLW1hcmdpbi1sZWZ0OiAtNHB4ICFkZWZhdWx0O1xuXG4kbWRjLWNoaXAtdHJhaWxpbmctaWNvbi1tYXJnaW4tdG9wOiAwICFkZWZhdWx0O1xuJG1kYy1jaGlwLXRyYWlsaW5nLWljb24tbWFyZ2luLXJpZ2h0OiAtNHB4ICFkZWZhdWx0O1xuJG1kYy1jaGlwLXRyYWlsaW5nLWljb24tbWFyZ2luLWJvdHRvbTogMCAhZGVmYXVsdDtcbiRtZGMtY2hpcC10cmFpbGluZy1pY29uLW1hcmdpbi1sZWZ0OiA0cHggIWRlZmF1bHQ7XG5cbiRtZGMtY2hpcC1leGl0LXRyYW5zaXRpb246XG4gIG9wYWNpdHkgNzVtcyAkbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb24sXG4gIHdpZHRoIDE1MG1zICRtZGMtYW5pbWF0aW9uLWRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb24sXG4gIHBhZGRpbmcgMTAwbXMgbGluZWFyLFxuICBtYXJnaW4gMTAwbXMgbGluZWFyICFkZWZhdWx0O1xuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi9lbGV2YXRpb24vbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vcmlwcGxlL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3J0bC9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZS9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9zaGFwZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9zaGFwZS9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gbWRjLWNoaXAtc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSkge1xuICBAaW5jbHVkZSBtZGMtc2hhcGUtcmFkaXVzKG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRtZGMtY2hpcC1oZWlnaHQtZGVmYXVsdCwgJHJhZGl1cyksICRydGwtcmVmbGV4aXZlKTtcbn1cblxuQG1peGluIG1kYy1jaGlwLWZpbGwtY29sb3ItYWNjZXNzaWJsZSgkY29sb3IpIHtcbiAgJGZpbGwtdG9uZTogbWRjLXRoZW1lLXRvbmUoJGNvbG9yKTtcblxuICBAaW5jbHVkZSBtZGMtY2hpcC1maWxsLWNvbG9yKCRjb2xvcik7XG5cbiAgQGlmICgkZmlsbC10b25lID09IFwiZGFya1wiKSB7XG4gICAgQGluY2x1ZGUgbWRjLWNoaXAtaW5rLWNvbG9yKHRleHQtcHJpbWFyeS1vbi1kYXJrKTtcbiAgICBAaW5jbHVkZSBtZGMtY2hpcC1zZWxlY3RlZC1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWRhcmspO1xuICAgIEBpbmNsdWRlIG1kYy1jaGlwLWxlYWRpbmctaWNvbi1jb2xvcih0ZXh0LXByaW1hcnktb24tZGFyayk7XG4gICAgQGluY2x1ZGUgbWRjLWNoaXAtdHJhaWxpbmctaWNvbi1jb2xvcih0ZXh0LXByaW1hcnktb24tZGFyayk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIG1kYy1jaGlwLWluay1jb2xvcih0ZXh0LXByaW1hcnktb24tbGlnaHQpO1xuICAgIEBpbmNsdWRlIG1kYy1jaGlwLXNlbGVjdGVkLWluay1jb2xvcih0ZXh0LXByaW1hcnktb24tbGlnaHQpO1xuICAgIEBpbmNsdWRlIG1kYy1jaGlwLWxlYWRpbmctaWNvbi1jb2xvcih0ZXh0LXByaW1hcnktb24tbGlnaHQpO1xuICAgIEBpbmNsdWRlIG1kYy1jaGlwLXRyYWlsaW5nLWljb24tY29sb3IodGV4dC1wcmltYXJ5LW9uLWxpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoaXAtZmlsbC1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbn1cblxuQG1peGluIG1kYy1jaGlwLWluay1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcygkY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoaXAtc2VsZWN0ZWQtaW5rLWNvbG9yKCRjb2xvcikge1xuICAmLm1kYy1jaGlwIHtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLXNlbGVjdGVkKCRjb2xvcik7XG4gIH1cblxuICAmLm1kYy1jaGlwLS1zZWxlY3RlZCB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gICAgQGluY2x1ZGUgbWRjLWNoaXAtbGVhZGluZy1pY29uLWNvbG9yKCRjb2xvcik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hpcF9fY2hlY2ttYXJrLXBhdGgge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKHN0cm9rZSwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoaXAtb3V0bGluZSgkd2lkdGg6IDFweCwgJHN0eWxlOiBzb2xpZCwgJGNvbG9yOiBtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSkge1xuICBAaW5jbHVkZSBtZGMtY2hpcC1vdXRsaW5lLXdpZHRoKCR3aWR0aCk7XG4gIEBpbmNsdWRlIG1kYy1jaGlwLW91dGxpbmUtc3R5bGUoJHN0eWxlKTtcbiAgQGluY2x1ZGUgbWRjLWNoaXAtb3V0bGluZS1jb2xvcigkY29sb3IpO1xufVxuXG5AbWl4aW4gbWRjLWNoaXAtb3V0bGluZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gbWRjLWNoaXAtb3V0bGluZS1zdHlsZSgkc3R5bGUpIHtcbiAgYm9yZGVyLXN0eWxlOiAkc3R5bGU7XG59XG5cbkBtaXhpbiBtZGMtY2hpcC1vdXRsaW5lLXdpZHRoKCR3aWR0aCwgJGhvcml6b250YWwtcGFkZGluZzogJG1kYy1jaGlwLWhvcml6b250YWwtcGFkZGluZykge1xuICAvLyBOb3RlOiBBZGp1c3QgcGFkZGluZyB0byBtYWludGFpbiBjb25zaXN0ZW50IHdpZHRoIHdpdGggbm9uLW91dGxpbmVkIGNoaXBzXG4gICRob3Jpem9udGFsLXBhZGRpbmctdmFsdWU6IG1heCgkaG9yaXpvbnRhbC1wYWRkaW5nIC0gJHdpZHRoLCAwKTtcbiAgJHZlcnRpY2FsLXBhZGRpbmctdmFsdWU6IG1heCgkbWRjLWNoaXAtdmVydGljYWwtcGFkZGluZyAtICR3aWR0aCwgMCk7XG5cbiAgcGFkZGluZzogJHZlcnRpY2FsLXBhZGRpbmctdmFsdWUgJGhvcml6b250YWwtcGFkZGluZy12YWx1ZTtcbiAgYm9yZGVyLXdpZHRoOiAkd2lkdGg7XG59XG5cbkBtaXhpbiBtZGMtY2hpcC1ob3Jpem9udGFsLXBhZGRpbmcoJHBhZGRpbmcpIHtcbiAgcGFkZGluZzogJG1kYy1jaGlwLXZlcnRpY2FsLXBhZGRpbmcgJHBhZGRpbmc7XG59XG5cbkBtaXhpbiBtZGMtY2hpcC1oZWlnaHQoJGhlaWdodCkge1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbkBtaXhpbiBtZGMtY2hpcC1zZXQtc3BhY2luZygkZ2FwLXNpemUpIHtcbiAgcGFkZGluZzogJGdhcC1zaXplIC8gMjtcblxuICAubWRjLWNoaXAge1xuICAgIG1hcmdpbjogJGdhcC1zaXplIC8gMjtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoaXAtbGVhZGluZy1pY29uLWNvbG9yKCRjb2xvciwgJG9wYWNpdHk6ICRtZGMtY2hpcC1pY29uLW9wYWNpdHkpIHtcbiAgLm1kYy1jaGlwX19pY29uLS1sZWFkaW5nIHtcbiAgICBjb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZSgkY29sb3IpLCAkb3BhY2l0eSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGlwLXRyYWlsaW5nLWljb24tY29sb3IoXG4gICRjb2xvcixcbiAgJG9wYWNpdHk6ICRtZGMtY2hpcC1pY29uLW9wYWNpdHksXG4gICRob3Zlci1vcGFjaXR5OiAkbWRjLWNoaXAtdHJhaWxpbmctaWNvbi1ob3Zlci1vcGFjaXR5LFxuICAkZm9jdXMtb3BhY2l0eTogJG1kYy1jaGlwLXRyYWlsaW5nLWljb24tZm9jdXMtb3BhY2l0eSkge1xuICAubWRjLWNoaXBfX2ljb24tLXRyYWlsaW5nIHtcbiAgICBjb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZSgkY29sb3IpLCAkb3BhY2l0eSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKCRjb2xvciksICRob3Zlci1vcGFjaXR5KTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKCRjb2xvciksICRmb2N1cy1vcGFjaXR5KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRm9yIGN1c3RvbWl6aW5nIGljb24gc2l6ZSwgd2UgbmVlZCB0byBpbmNyZWFzZSBzcGVjaWZpdHkgdG8gZW5zdXJlXG4vLyBvdmVycmlkZXMgYXBwbHkuIFN0eWxlcyBkZWZpbmVkIGluIHRoZSAubWF0ZXJpYWwtaWNvbnMgQ1NTIGNsYXNzIGFyZVxuLy8gbG9hZGVkIHNlcGFyYXRlbHksIHNvIHRoZSBvcmRlciBvZiBDU1MgZGVmaW5pdGlvbnMgaXMgbm90IGd1YXJhbnRlZWQuXG5cbkBtaXhpbiBtZGMtY2hpcC1sZWFkaW5nLWljb24tc2l6ZSgkc2l6ZSkge1xuICAubWRjLWNoaXBfX2ljb24ubWRjLWNoaXBfX2ljb24tLWxlYWRpbmc6bm90KC5tZGMtY2hpcF9faWNvbi0tbGVhZGluZy1oaWRkZW4pIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hpcC1pY29uLXNpemVfKCRzaXplKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoaXAtdHJhaWxpbmctaWNvbi1zaXplKCRzaXplKSB7XG4gIC5tZGMtY2hpcF9faWNvbi5tZGMtY2hpcF9faWNvbi0tdHJhaWxpbmcge1xuICAgIEBpbmNsdWRlIG1kYy1jaGlwLWljb24tc2l6ZV8oJHNpemUpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hpcC1pY29uLXNpemVfKCRzaXplKSB7XG4gIHdpZHRoOiAkc2l6ZTtcbiAgaGVpZ2h0OiAkc2l6ZTtcbiAgZm9udC1zaXplOiAkc2l6ZTtcbn1cblxuQG1peGluIG1kYy1jaGlwLWxlYWRpbmctaWNvbi1tYXJnaW4oXG4gICR0b3A6ICRtZGMtY2hpcC1sZWFkaW5nLWljb24tbWFyZ2luLXRvcCxcbiAgJHJpZ2h0OiAkbWRjLWNoaXAtbGVhZGluZy1pY29uLW1hcmdpbi1yaWdodCxcbiAgJGJvdHRvbTogJG1kYy1jaGlwLWxlYWRpbmctaWNvbi1tYXJnaW4tYm90dG9tLFxuICAkbGVmdDogJG1kYy1jaGlwLWxlYWRpbmctaWNvbi1tYXJnaW4tbGVmdCkge1xuICAmLm1kYy1jaGlwLS1zZWxlY3RlZCAubWRjLWNoaXBfX2NoZWNrbWFyayxcbiAgLm1kYy1jaGlwX19pY29uLS1sZWFkaW5nOm5vdCgubWRjLWNoaXBfX2ljb24tLWxlYWRpbmctaGlkZGVuKSB7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCAkbGVmdCwgJHJpZ2h0KTtcblxuICAgIG1hcmdpbi10b3A6ICR0b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoaXAtdHJhaWxpbmctaWNvbi1tYXJnaW4oXG4gICR0b3A6ICRtZGMtY2hpcC10cmFpbGluZy1pY29uLW1hcmdpbi10b3AsXG4gICRyaWdodDogJG1kYy1jaGlwLXRyYWlsaW5nLWljb24tbWFyZ2luLXJpZ2h0LFxuICAkYm90dG9tOiAkbWRjLWNoaXAtdHJhaWxpbmctaWNvbi1tYXJnaW4tYm90dG9tLFxuICAkbGVmdDogJG1kYy1jaGlwLXRyYWlsaW5nLWljb24tbWFyZ2luLWxlZnQpIHtcbiAgLm1kYy1jaGlwX19pY29uLS10cmFpbGluZyB7XG4gICAgbWFyZ2luOiAkdG9wICRyaWdodCAkYm90dG9tICRsZWZ0O1xuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hpcC1lbGV2YXRpb24tdHJhbnNpdGlvbigpIHtcbiAgdHJhbnNpdGlvbjogbWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uLXZhbHVlKCk7XG5cbiAgJi5tZGMtY2hpcC0tZXhpdCB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbi12YWx1ZSgpLFxuICAgICAgJG1kYy1jaGlwLWV4aXQtdHJhbnNpdGlvbjtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi8uLi9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zXCI7XG5cbkBrZXlmcmFtZXMgbWRjLWNoaXAtZW50cnkge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICBvcGFjaXR5OiAuNDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLm1kYy1jaGlwLXNldCB7XG4gIEBpbmNsdWRlIG1kYy1jaGlwLXNldC1zcGFjaW5nKDhweCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubWRjLWNoaXAtc2V0LS1pbnB1dCAubWRjLWNoaXAge1xuICBhbmltYXRpb246IG1kYy1jaGlwLWVudHJ5IDEwMG1zICRtZGMtYW5pbWF0aW9uLWRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2FuaW1hdGlvbi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9lbGV2YXRpb24vbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3NoYXBlL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL3ZhcmlhYmxlc1wiOyAvLyBmb3IgbWRjLXRoZW1lLXByb3AtdmFsdWVcbkBpbXBvcnQgXCIuLi90eXBvZ3JhcGh5L21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBtZGMtZGlhbG9nLWNvcmUtc3R5bGVzKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBkaWFsb2dcblxuICAubWRjLWRpYWxvZyxcbiAgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZyB7XG4gICAgQGluY2x1ZGUgbWRjLWRpYWxvZy1jb250YWluZXItZmlsbC1jb2xvcihzdXJmYWNlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWRpYWxvZy1zY3JpbS1jb2xvcigkbWRjLWRpYWxvZy1zY3JpbS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1kaWFsb2ctdGl0bGUtaW5rLWNvbG9yKCRtZGMtZGlhbG9nLXRpdGxlLWluay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1kaWFsb2ctY29udGVudC1pbmstY29sb3IoJG1kYy1kaWFsb2ctY29udGVudC1pbmstY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtZGlhbG9nLXNjcm9sbC1kaXZpZGVyLWNvbG9yKCRtZGMtZGlhbG9nLXNjcm9sbC1kaXZpZGVyLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWRpYWxvZy1taW4td2lkdGgoJG1kYy1kaWFsb2ctbWluLXdpZHRoLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWRpYWxvZy1tYXgtd2lkdGgoJG1kYy1kaWFsb2ctbWF4LXdpZHRoLCAkbWRjLWRpYWxvZy1tYXJnaW4sICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtZGlhbG9nLW1heC1oZWlnaHQobnVsbCwgJG1kYy1kaWFsb2ctbWFyZ2luLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWRpYWxvZy1zaGFwZS1yYWRpdXMobWVkaXVtLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gVXNlIGBkaXNwbGF5OiBub25lYCBpbnN0ZWFkIG9mIGB2aXNpYmlsaXR5OiBoaWRkZW5gIHRvIGF2b2lkIHJlY2FsY3VsYXRpbmcgbGF5b3V0IHdoZW4gdGhlIGRpYWxvZyBpcyBjbG9zZWQuXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgei1pbmRleDogJG1kYy1kaWFsb2ctei1pbmRleDtcbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3cmFwcGVyIGVsZW1lbnQgaXMgbmVlZGVkIHRvIG1ha2UgbWF4LWhlaWdodCB3b3JrIGluIElFIDExLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvMjE2XG4gIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgLy8gSUUgMTFcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyAvLyBFbnN1cmUgU2FmYXJpIGNlbnRlcnMgdGhlIGRpYWxvZyAoYmVjYXVzZSBpdCB0cmVhdHMgdGhlIGNvbnRhaW5lcidzIHdpZHRoIG9kZGx5KVxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgbWRjLWVsZXZhdGlvbigyNCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC1ncm93OiAwOyAvLyBJRSAxMVxuICAgICAgZmxleC1zaHJpbms6IDA7IC8vIElFIDExXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBJRSAxMVxuICAgICAgbWF4LWhlaWdodDogMTAwJTsgLy8gSUUgMTFcblxuICAgICAgQGluY2x1ZGUgbWRjLXJ0bChcIi5tZGMtZGlhbG9nXCIpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1iYXNlbGluZS10b3AoNDBweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KGhlYWRsaW5lNiwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAyNHB4ICRtZGMtZGlhbG9nLXRpdGxlLWJvdHRvbS1wYWRkaW5nO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICBAaW5jbHVkZSBtZGMtcnRsKFwiLm1kYy1kaWFsb2dcIikge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX190aXRsZSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIEFkanVzdCBib3R0b20gcGFkZGluZyB0byBtYWtlIHRpdGxlIGhlaWdodCBhbGlnbiB0byBzcGVjIHdoZW4gZGl2aWRlciBpcyBwcmVzZW50LlxuICAgICAgLy8gKFRpdGxlcyBmb3IgYWxlcnQgZGlhbG9ncyB3L28gZGl2aWRlcnMgYWxpZ24gYmFzZWQgb24gdGV4dCBiYXNlbGluZS4gQWxsIHNwZWMgdmFsdWVzIGFyZSBkaXZpc2libGUgYnkgNC4pXG4gICAgICBwYWRkaW5nLWJvdHRvbTogJG1kYy1kaWFsb2ctdGl0bGUtYm90dG9tLXBhZGRpbmcgKyA2cHg7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KGJvZHkxLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjRweDsgLy8gTm90ZTogdGhlIHRvcCBwYWRkaW5nIGlzIG9ubHkgMjBweCBmb3IgZGlhbG9ncyB3aXRob3V0IHRpdGxlczsgc2VlIGJlbG93IGZvciBvdmVycmlkZVxuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuXG4gICAgLy8gVGhlIGNvbnRlbnQgZWxlbWVudCBhbHJlYWR5IGhhcyB0b3AvYm90dG9tIHBhZGRpbmcsIHNvIHdlIG5lZWQgdG8gc3VwcHJlc3MgbWFyZ2lucyBvbiBpdHMgZmlyc3QvbGFzdCBjaGlsZHJlbi5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBjb250ZW50IGVsZW1lbnQgYWxyZWFkeSBoYXMgdG9wL2JvdHRvbSBwYWRkaW5nLCBzbyB3ZSBuZWVkIHRvIHN1cHByZXNzIG1hcmdpbnMgb24gaXRzIGZpcnN0L2xhc3QgY2hpbGRyZW4uXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgLm1kYy1kaWFsb2dfX3RpdGxlICsgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBFbGltaW5hdGUgcGFkZGluZyB0byBicmluZyBhcyBjbG9zZSB0byBzcGVjIGFzIHBvc3NpYmxlLCByZWx5aW5nIG9uIHRpdGxlIHBhZGRpbmcuXG4gICAgICAvLyAoU3BlYyBzZWVtcyBpbmNvbnNpc3RlbnQgUkUgdGl0bGUvYm9keSBzcGFjaW5nIG9uIGFsZXJ0IHZzLiBzaW1wbGUgdmFyaWFudHMuKVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIFJlZHVjZSBhbmQgZXF1YWxpemUgdmVydGljYWwgcGFkZGluZ3Mgd2hlbiBzY3JvbGxhYmxlIGRpdmlkZXJzIGFyZSBwcmVzZW50XG4gICAgICAvLyAoTm90ZTogdGhpcyBpcyBpbnRlbnRpb25hbGx5IGFmdGVyIHRpdGxlICsgY29udGVudCB0byB0YWtlIHByZWNlZGVuY2UpXG4gICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC5tZGMtZGlhbG9nX19jb250ZW50IC5tZGMtbGlzdDpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCAubWRjLWxpc3QgcGFkZGluZyBmb3IgY29udGVudCBjb25zaXN0aW5nIGV4Y2x1c2l2ZWx5IG9mIGEgTURDIExpc3RcbiAgICAgIHBhZGRpbmc6IDZweCAwIDA7IC8vIFRvcCBwYWRkaW5nIGJhbGFuY2VzIHdpdGggdGl0bGUgaGVpZ2h0XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVybiwgc2VsZWN0b3ItbWF4LXNwZWNpZmljaXR5XG4gIC5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19jb250ZW50IC5tZGMtbGlzdDpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCAubWRjLWxpc3QgcGFkZGluZyBmb3IgY29udGVudCBjb25zaXN0aW5nIGV4Y2x1c2l2ZWx5IG9mIGEgTURDIExpc3RcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtaW4taGVpZ2h0OiA1MnB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nLS1zdGFja2VkICYge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nX19idXR0b24ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCBsZWZ0LCA4cHgpO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gUHJldmVudCBsb25nIHRleHQgZnJvbSBvdmVyZmxvd2luZyBwYXJlbnQgZWxlbWVudCBpbiBJRSAxMVxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwoXCIubWRjLWRpYWxvZ1wiKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1kaWFsb2ctLXN0YWNrZWQgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nLS1vcGVuLFxuICAubWRjLWRpYWxvZy0tb3BlbmluZyxcbiAgLm1kYy1kaWFsb2ctLWNsb3Npbmcge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nLS1vcGVuaW5nIHtcbiAgICAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyLCBtZGMtYW5pbWF0aW9uLWVudGVyKHRyYW5zZm9ybSwgMTUwbXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nLS1jbG9zaW5nIHtcbiAgICAubWRjLWRpYWxvZ19fc2NyaW0sXG4gICAgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgLy8gRGlhbG9nIGNvbnRhaW5lciBzY2FsZXMgdXAgd2hpbGUgb3BlbmluZywgYnV0IHNob3VsZCByZW1haW4gc2NhbGVkIHVwIHdoaWxlIGNsb3NpbmdcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZy0tb3BlbiB7XG4gICAgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG5cbiAgLy8gQ2xhc3MgYXBwbGllZCB0byBib2R5IHdoaWxlIGRpYWxvZyBpcyBvcGVuLCB0byBwcmV2ZW50IHNjcm9sbGluZyBiZWhpbmQgdGhlIGRpYWxvZ1xuICAubWRjLWRpYWxvZy1zY3JvbGwtbG9jayB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtZGlhbG9nLWNvbnRhaW5lci1maWxsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1kaWFsb2ctc2NyaW0tY29sb3IoJGNvbG9yLCAkb3BhY2l0eTogJG1kYy1kaWFsb2ctc2NyaW0tb3BhY2l0eSwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUoJGNvbG9yKSwgJG9wYWNpdHkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWRpYWxvZy10aXRsZS1pbmstY29sb3IoJGNvbG9yLCAkb3BhY2l0eTogJG1kYy1kaWFsb2ctdGl0bGUtaW5rLW9wYWNpdHksICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBjb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZSgkY29sb3IpLCAkb3BhY2l0eSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtZGlhbG9nLWNvbnRlbnQtaW5rLWNvbG9yKCRjb2xvciwgJG9wYWNpdHk6ICRtZGMtZGlhbG9nLWNvbnRlbnQtaW5rLW9wYWNpdHksICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIGNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKCRjb2xvciksICRvcGFjaXR5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1kaWFsb2ctc2Nyb2xsLWRpdmlkZXItY29sb3IoXG4gICRjb2xvcixcbiAgJG9wYWNpdHk6ICRtZGMtZGlhbG9nLXNjcm9sbC1kaXZpZGVyLW9wYWNpdHksXG4gICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKClcbikge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAmLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX3RpdGxlLFxuICAmLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZSgkY29sb3IpLCAkb3BhY2l0eSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtZGlhbG9nLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtZGlhbG9nLW1pbi13aWR0aCgkbWluLXdpZHRoLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtaW4td2lkdGg6ICRtaW4td2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtZGlhbG9nLW1heC13aWR0aCgkbWF4LXdpZHRoLCAkbWFyZ2luLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRtYXgtc2l6ZS1jYWxjLWV4cHI6IGNhbGMoMTAwdncgLSAjeyRtYXJnaW4gKiAyfSk7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaWYgJG1heC13aWR0aCB7XG4gICAgICAgICRtYXgtd2lkdGgtYnJlYWtwb2ludDogJG1heC13aWR0aCArICgkbWFyZ2luICogMik7XG5cbiAgICAgICAgLy8gRml0IHNudWdseSB3aXRoaW4gdGhlIHZpZXdwb3J0IGF0IHNtYWxsZXIgc2NyZWVuIHNpemVzLlxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heC13aWR0aC1icmVha3BvaW50KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXNpemUtY2FsYy1leHByO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25jZSB0aGUgc2NyZWVuIGdldHMgYmlnIGVub3VnaCwgYXBwbHkgYSBmaXhlZCBtYXhpbXVtIHdpZHRoLlxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1heC13aWR0aC1icmVha3BvaW50KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXNpemUtY2FsYy1leHByO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWRpYWxvZy1tYXgtaGVpZ2h0KCRtYXgtaGVpZ2h0LCAkbWFyZ2luLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRtYXgtc2l6ZS1jYWxjLWV4cHI6IGNhbGMoMTAwdmggLSAjeyRtYXJnaW4gKiAyfSk7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaWYgJG1heC1oZWlnaHQge1xuICAgICAgICAkbWF4LWhlaWdodC1icmVha3BvaW50OiAkbWF4LWhlaWdodCArICgkbWFyZ2luICogMik7XG5cbiAgICAgICAgLy8gRml0IHNudWdseSB3aXRoaW4gdGhlIHZpZXdwb3J0IGF0IHNtYWxsZXIgc2NyZWVuIHNpemVzLlxuICAgICAgICBAbWVkaWEgKG1heC1oZWlnaHQ6ICRtYXgtaGVpZ2h0LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAkbWF4LXNpemUtY2FsYy1leHByO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25jZSB0aGUgc2NyZWVuIGdldHMgYmlnIGVub3VnaCwgYXBwbHkgYSBmaXhlZCBtYXhpbXVtIGhlaWdodC5cbiAgICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiAkbWF4LWhlaWdodC1icmVha3BvaW50KSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogJG1heC1oZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBtYXgtaGVpZ2h0OiAkbWF4LXNpemUtY2FsYy1leHByO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRtZGMtZGlhbG9nLXNjcmltLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuJG1kYy1kaWFsb2ctdGl0bGUtaW5rLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuJG1kYy1kaWFsb2ctY29udGVudC1pbmstY29sb3I6IG9uLXN1cmZhY2UgIWRlZmF1bHQ7XG4kbWRjLWRpYWxvZy1zY3JvbGwtZGl2aWRlci1jb2xvcjogb24tc3VyZmFjZSAhZGVmYXVsdDtcblxuJG1kYy1kaWFsb2ctc2NyaW0tb3BhY2l0eTogLjMyICFkZWZhdWx0O1xuJG1kYy1kaWFsb2ctdGl0bGUtaW5rLW9wYWNpdHk6IC44NyAhZGVmYXVsdDtcbiRtZGMtZGlhbG9nLWNvbnRlbnQtaW5rLW9wYWNpdHk6IC42ICFkZWZhdWx0O1xuJG1kYy1kaWFsb2ctc2Nyb2xsLWRpdmlkZXItb3BhY2l0eTogLjEyICFkZWZhdWx0O1xuXG4kbWRjLWRpYWxvZy1taW4td2lkdGg6IDI4MHB4ICFkZWZhdWx0O1xuJG1kYy1kaWFsb2ctbWF4LXdpZHRoOiA1NjBweCAhZGVmYXVsdDtcbiRtZGMtZGlhbG9nLW1hcmdpbjogMTZweCAhZGVmYXVsdDtcbiRtZGMtZGlhbG9nLXRpdGxlLWJvdHRvbS1wYWRkaW5nOiA5cHggIWRlZmF1bHQ7XG5cbiRtZGMtZGlhbG9nLXotaW5kZXg6IDcgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2FuaW1hdGlvbi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vdHlwb2dyYXBoeS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4vbWl4aW5zXCI7XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGRyYXdlclxuXG4ubWRjLWRyYXdlciB7XG4gIEBpbmNsdWRlIG1kYy1kcmF3ZXItdGl0bGUtaW5rLWNvbG9yKCRtZGMtZHJhd2VyLXRpdGxlLWluay1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1kcmF3ZXItc3VidGl0bGUtaW5rLWNvbG9yKCRtZGMtZHJhd2VyLXN1YnRpdGxlLWluay1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1kcmF3ZXItYm9yZGVyLWNvbG9yKCRtZGMtZHJhd2VyLWRpdmlkZXItY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtZHJhd2VyLXN1cmZhY2UtZmlsbC1jb2xvcigkbWRjLWRyYXdlci1zdXJmYWNlLWZpbGwtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtZHJhd2VyLWl0ZW0taWNvbi1pbmstY29sb3IoJG1kYy1kcmF3ZXItaXRlbS1pbmFjdGl2ZS1pbmstY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtZHJhd2VyLWl0ZW0tdGV4dC1pbmstY29sb3IoJG1kYy1kcmF3ZXItaXRlbS1pbmFjdGl2ZS1pbmstY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtZHJhd2VyLWl0ZW0tYWN0aXZhdGVkLWljb24taW5rLWNvbG9yKCRtZGMtZHJhd2VyLWl0ZW0tYWN0aXZhdGVkLWluay1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1kcmF3ZXItaXRlbS1hY3RpdmF0ZWQtdGV4dC1pbmstY29sb3IoJG1kYy1kcmF3ZXItaXRlbS1hY3RpdmF0ZWQtaW5rLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLWRyYXdlci1zaGFwZS1yYWRpdXMobGFyZ2UpO1xuICBAaW5jbHVkZSBtZGMtZHJhd2VyLWl0ZW0tc2hhcGUtcmFkaXVzKDRweCk7XG4gIEBpbmNsdWRlIG1kYy1kcmF3ZXItei1pbmRleCgkbWRjLWRyYXdlci16LWluZGV4KTtcbiAgQGluY2x1ZGUgbWRjLWRyYXdlci13aWR0aCgkbWRjLWRyYXdlci13aWR0aCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1kYy1hbmltYXRpb24tc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGlnbm9yZVxuICAubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoc3VidGl0bGUyKTtcblxuICAgIGhlaWdodDogY2FsYyg0OHB4IC0gMiAqICN7JG1kYy1kcmF3ZXItbGlzdC1pdGVtLXNwYWNpbmd9KTtcbiAgICAvLyBUbyBhY2NvbW9kYXRlIG1hcmdpbiBjb25mbGljdC5cbiAgICBtYXJnaW46ICgkbWRjLWRyYXdlci1saXN0LWl0ZW0tc3BhY2luZyAqIDIpIDhweDtcbiAgICBwYWRkaW5nOiAwICRtZGMtZHJhd2VyLXN1cmZhY2UtcGFkZGluZyAvIDI7XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGlnbm9yZVxuICAubWRjLWxpc3QtaXRlbTpudGgtY2hpbGQoMSkge1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogaWdub3JlXG4gIC5tZGMtbGlzdC1pdGVtOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBpZ25vcmVcbiAgLm1kYy1saXN0LWdyb3VwX19zdWJoZWFkZXIge1xuICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KGJvZHkyKTtcbiAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1iYXNlbGluZS10b3AoMjRweCk7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAkbWRjLWRyYXdlci1zdXJmYWNlLXBhZGRpbmc7XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGlnbm9yZVxuICAubWRjLWxpc3QtZGl2aWRlciB7XG4gICAgbWFyZ2luOiAzcHggMCA0cHggMDtcbiAgfVxuXG4gIC8vIFByZXZlbnRzIGxpc3QgaXRlbSBjaGlsZHJlbiBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHRoZSBjbGljayB0YXJnZXQuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogaWdub3JlXG4gIC5tZGMtbGlzdC1pdGVtX190ZXh0LFxuICAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuLm1kYy1kcmF3ZXItLWFuaW1hdGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXG4gIEBpbmNsdWRlIG1kYy1ydGwge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxufVxuXG4ubWRjLWRyYXdlci0tb3BlbmluZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJG1kYy1kcmF3ZXItYW5pbWF0aW9uLWVudGVyO1xuXG4gIC8vIFJlcXVpcmVkIHRvIGxldmVsIHRoZSBzcGVjaWZpY2l0eSB3aXRoIGFuaW1hdGUgY2xhc3MuXG4gIEBpbmNsdWRlIG1kYy1ydGwge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4ubWRjLWRyYXdlci0tY2xvc2luZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRtZGMtZHJhd2VyLWFuaW1hdGlvbi1leGl0O1xuXG4gIEBpbmNsdWRlIG1kYy1ydGwge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxufVxuXG4ubWRjLWRyYXdlcl9faGVhZGVyIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6IDY0cHg7IC8vIHNhbWUgYXMgJG1kYy10b3AtYXBwLWJhci1yb3ctaGVpZ2h0XG4gIHBhZGRpbmc6IDAgJG1kYy1kcmF3ZXItc3VyZmFjZS1wYWRkaW5nIDRweDtcbn1cblxuLm1kYy1kcmF3ZXJfX3RpdGxlIHtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoaGVhZGxpbmU2KTtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtdG9wKDM2cHgpO1xuICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1iYXNlbGluZS1ib3R0b20oMjBweCk7XG59XG5cbi5tZGMtZHJhd2VyX19zdWJ0aXRsZSB7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KGJvZHkyKTtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtdG9wKDIwcHgpO1xuXG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tZGMtZHJhd2VyX19jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIi4uL2xpc3QvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vcmlwcGxlL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3NoYXBlL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBtZGMtZHJhd2VyLWFjdGl2YXRlZC1vdmVybGF5LWNvbG9yKCRjb2xvcikge1xuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWFjdGl2YXRlZCgkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtZHJhd2VyLWJvcmRlci1jb2xvcigkY29sb3IpIHtcbiAgJHZhbHVlOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKCRjb2xvciksICRtZGMtZHJhd2VyLWRpdmlkZXItb3BhY2l0eSk7XG5cbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkdmFsdWUpO1xufVxuXG5AbWl4aW4gbWRjLWRyYXdlci1pdGVtLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogdHJ1ZSkge1xuICBAaW5jbHVkZSBtZGMtbGlzdC1pdGVtLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSk7XG59XG5cbkBtaXhpbiBtZGMtZHJhd2VyLXNoYXBlLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiBsZW5ndGgoJHJhZGl1cykgPiAyIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHJhZGl1czogJyN7JHJhZGl1c30nIGNvbXBvbmVudCBkb2Vzbid0IGFsbG93IGN1c3RvbWl6aW5nIGFsbCBjb3JuZXJzXCI7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRyYWRpdXMpID09IDIge1xuICAgICRyYWRpdXM6IDAgbnRoKCRyYWRpdXMsIDEpIG50aCgkcmFkaXVzLCAyKSAwO1xuICB9IEBlbHNlIHtcbiAgICAkcmFkaXVzOiAwICRyYWRpdXMgJHJhZGl1cyAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogdHJ1ZSk7XG59XG5cbkBtaXhpbiBtZGMtZHJhd2VyLWRpdmlkZXItY29sb3IoJGNvbG9yKSB7XG4gICR2YWx1ZTogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZSgkY29sb3IpLCAkbWRjLWRyYXdlci1kaXZpZGVyLW9wYWNpdHkpO1xuXG4gIEBpbmNsdWRlIG1kYy1saXN0LWRpdmlkZXItY29sb3IoJHZhbHVlKTtcbn1cblxuQG1peGluIG1kYy1kcmF3ZXItdGl0bGUtaW5rLWNvbG9yKCRjb2xvcikge1xuICAkdmFsdWU6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUoJGNvbG9yKSwgJG1kYy1kcmF3ZXItdGl0bGUtaW5rLW9wYWNpdHkpO1xuXG4gIC5tZGMtZHJhd2VyX190aXRsZSB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICR2YWx1ZSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1kcmF3ZXItc3VidGl0bGUtaW5rLWNvbG9yKCRjb2xvcikge1xuICAkdmFsdWU6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUoJGNvbG9yKSwgJG1kYy1kcmF3ZXItc3VidGl0bGUtaW5rLW9wYWNpdHkpO1xuXG4gIEBpbmNsdWRlIG1kYy1saXN0LWdyb3VwLXN1YmhlYWRlci1pbmstY29sb3IoJHZhbHVlKTtcblxuICAubWRjLWRyYXdlcl9fc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkdmFsdWUpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtZHJhd2VyLWZpbGwtY29sb3ItYWNjZXNzaWJsZSgkY29sb3IpIHtcbiAgJGFjY2Vzc2libGVDb2xvcjogbWRjLXRoZW1lLWFjY2Vzc2libGUtaW5rLWNvbG9yKCRjb2xvcik7XG5cbiAgQGluY2x1ZGUgbWRjLWRyYXdlci10aXRsZS1pbmstY29sb3IoJGFjY2Vzc2libGVDb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1kcmF3ZXItc3VidGl0bGUtaW5rLWNvbG9yKCRhY2Nlc3NpYmxlQ29sb3IpO1xuICBAaW5jbHVkZSBtZGMtZHJhd2VyLWl0ZW0tdGV4dC1pbmstY29sb3IoJGFjY2Vzc2libGVDb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1kcmF3ZXItaXRlbS1pY29uLWluay1jb2xvcigkYWNjZXNzaWJsZUNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLWRyYXdlci1zdXJmYWNlLWZpbGwtY29sb3IoJGNvbG9yKTtcbn1cblxuQG1peGluIG1kYy1kcmF3ZXItaXRlbS1pY29uLWluay1jb2xvcigkY29sb3IpIHtcbiAgJHZhbHVlOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKCRjb2xvciksICRtZGMtZHJhd2VyLWl0ZW0taW5hY3RpdmUtaWNvbi1pbmstb3BhY2l0eSk7XG5cbiAgQGluY2x1ZGUgbWRjLWxpc3QtaXRlbS1ncmFwaGljLWluay1jb2xvcigkdmFsdWUpO1xufVxuXG5AbWl4aW4gbWRjLWRyYXdlci1pdGVtLWFjdGl2YXRlZC1pY29uLWluay1jb2xvcigkY29sb3IpIHtcbiAgJHZhbHVlOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKCRjb2xvciksICRtZGMtZHJhd2VyLWl0ZW0tYWN0aXZlLWljb24taW5rLW9wYWNpdHkpO1xuXG4gIC5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQge1xuICAgIEBpbmNsdWRlIG1kYy1saXN0LWl0ZW0tZ3JhcGhpYy1pbmstY29sb3IoJHZhbHVlKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWRyYXdlci1pdGVtLWFjdGl2YXRlZC10ZXh0LWluay1jb2xvcigkY29sb3IpIHtcbiAgJHZhbHVlOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKCRjb2xvciksICRtZGMtZHJhd2VyLWl0ZW0tYWN0aXZlLXRleHQtaW5rLW9wYWNpdHkpO1xuXG4gIC5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQge1xuICAgIEBpbmNsdWRlIG1kYy1saXN0LWl0ZW0tcHJpbWFyeS10ZXh0LWluay1jb2xvcigkdmFsdWUpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtZHJhd2VyLWl0ZW0tdGV4dC1pbmstY29sb3IoJGNvbG9yKSB7XG4gICR2YWx1ZTogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZSgkY29sb3IpLCAkbWRjLWRyYXdlci1pdGVtLWluYWN0aXZlLXRleHQtaW5rLW9wYWNpdHkpO1xuXG4gIC5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBtZGMtbGlzdC1pdGVtLXByaW1hcnktdGV4dC1pbmstY29sb3IoJHZhbHVlKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWRyYXdlci1zdXJmYWNlLWZpbGwtY29sb3IoJGNvbG9yKSB7XG4gICR2YWx1ZTogbWRjLXRoZW1lLXByb3AtdmFsdWUoJGNvbG9yKTtcblxuICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkdmFsdWUpO1xufVxuXG5AbWl4aW4gbWRjLWRyYXdlci1zY3JpbS1maWxsLWNvbG9yKCRjb2xvcikge1xuICAkdmFsdWU6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUoJGNvbG9yKSwgJG1kYy1kcmF3ZXItbW9kYWwtc2NyaW0tb3BhY2l0eSk7XG5cbiAgKyAubWRjLWRyYXdlci1zY3JpbSB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJHZhbHVlKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWRyYXdlci16LWluZGV4KCR2YWx1ZSkge1xuICB6LWluZGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBtZGMtZHJhd2VyLXdpZHRoKCR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuXG4gICYubWRjLWRyYXdlci0tb3Blbjpub3QoLm1kYy1kcmF3ZXItLWNsb3NpbmcpICsgLm1kYy1kcmF3ZXItYXBwLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIGxlZnQsICR3aWR0aCk7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vdGhlbWUvdmFyaWFibGVzXCI7XG5cbi8vIENvbG9yc1xuJG1kYy1kcmF3ZXItdGl0bGUtaW5rLWNvbG9yOiBtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSAhZGVmYXVsdDtcbiRtZGMtZHJhd2VyLXN1YnRpdGxlLWluay1jb2xvcjogbWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSkgIWRlZmF1bHQ7XG4kbWRjLWRyYXdlci1pdGVtLWluYWN0aXZlLWluay1jb2xvcjogbWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSkgIWRlZmF1bHQ7XG4kbWRjLWRyYXdlci1pdGVtLWFjdGl2YXRlZC1pbmstY29sb3I6IG1kYy10aGVtZS1wcm9wLXZhbHVlKHByaW1hcnkpICFkZWZhdWx0O1xuJG1kYy1kcmF3ZXItZGl2aWRlci1jb2xvcjogbWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSkgIWRlZmF1bHQ7XG4kbWRjLWRyYXdlci1zdXJmYWNlLWZpbGwtY29sb3I6IG1kYy10aGVtZS1wcm9wLXZhbHVlKHN1cmZhY2UpICFkZWZhdWx0O1xuXG4vLyBPcGFjaXR5XG4kbWRjLWRyYXdlci10aXRsZS1pbmstb3BhY2l0eTogbWRjLXRoZW1lLXRleHQtZW1waGFzaXMoaGlnaCkgIWRlZmF1bHQ7XG4kbWRjLWRyYXdlci1zdWJ0aXRsZS1pbmstb3BhY2l0eTogbWRjLXRoZW1lLXRleHQtZW1waGFzaXMobWVkaXVtKSAhZGVmYXVsdDtcbiRtZGMtZHJhd2VyLWl0ZW0taW5hY3RpdmUtaWNvbi1pbmstb3BhY2l0eTogbWRjLXRoZW1lLXRleHQtZW1waGFzaXMobWVkaXVtKSAhZGVmYXVsdDtcbiRtZGMtZHJhd2VyLWl0ZW0taW5hY3RpdmUtdGV4dC1pbmstb3BhY2l0eTogbWRjLXRoZW1lLXRleHQtZW1waGFzaXMoaGlnaCkgIWRlZmF1bHQ7XG4kbWRjLWRyYXdlci1pdGVtLWFjdGl2ZS1pY29uLWluay1vcGFjaXR5OiAxICFkZWZhdWx0O1xuJG1kYy1kcmF3ZXItaXRlbS1hY3RpdmUtdGV4dC1pbmstb3BhY2l0eTogbWRjLXRoZW1lLXRleHQtZW1waGFzaXMoaGlnaCkgIWRlZmF1bHQ7XG4kbWRjLWRyYXdlci1kaXZpZGVyLW9wYWNpdHk6IC4xMiAhZGVmYXVsdDtcblxuLy8gV2lkdGhzXG4kbWRjLWRyYXdlci13aWR0aDogMjU2cHggIWRlZmF1bHQ7XG4kbWRjLWRyYXdlci1saXN0LWl0ZW0tc3BhY2luZzogNHB4ICFkZWZhdWx0O1xuJG1kYy1kcmF3ZXItc3VyZmFjZS1wYWRkaW5nOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBBbmltYXRpb25zXG4kbWRjLWRyYXdlci1hbmltYXRpb24tZW50ZXI6IDI1MG1zICFkZWZhdWx0O1xuJG1kYy1kcmF3ZXItYW5pbWF0aW9uLWV4aXQ6IDIwMG1zICFkZWZhdWx0O1xuXG4vLyBTY3JpbVxuJG1kYy1kcmF3ZXItbW9kYWwtc2NyaW0tY29sb3I6IG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpICFkZWZhdWx0O1xuJG1kYy1kcmF3ZXItbW9kYWwtc2NyaW0tb3BhY2l0eTogLjMyICFkZWZhdWx0O1xuXG4kbWRjLWRyYXdlci16LWluZGV4OiA2ICFkZWZhdWx0O1xuJG1kYy1kcmF3ZXItbW9kYWwtZWxldmF0aW9uOiAxNiAhZGVmYXVsdDtcbiIsIi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXHJcbi8vXHJcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcclxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxyXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXHJcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcclxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXHJcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XHJcbi8vXHJcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXHJcbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxyXG4vL1xyXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXHJcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxyXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcclxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxyXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxyXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXHJcbi8vIFRIRSBTT0ZUV0FSRS5cclxuXHJcbkBpbXBvcnQgXCIuLi9ydGwvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uL3NoYXBlL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vcmlwcGxlL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vdGhlbWUvZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi90eXBvZ3JhcGh5L21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vdHlwb2dyYXBoeS92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4uL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiO1xyXG5AaW1wb3J0IFwiLi4vZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xyXG5cclxuLy9cclxuLy8gUHVibGljXHJcbi8vXHJcblxyXG5AbWl4aW4gbWRjLWxpc3QtY29yZS1zdHlsZXMoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xyXG4gIEBpbmNsdWRlIG1kYy1saXN0LXdpdGhvdXQtcmlwcGxlKCRxdWVyeSk7XHJcbiAgQGluY2x1ZGUgbWRjLWxpc3QtcmlwcGxlKCRxdWVyeSk7XHJcbn1cclxuXHJcbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcclxuLy8gbGlzdCBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1saXN0LWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxyXG5AbWl4aW4gbWRjLWxpc3Qtd2l0aG91dC1yaXBwbGUoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xyXG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xyXG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XHJcbiAgJGZlYXQtdHlwb2dyYXBoeTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHR5cG9ncmFwaHkpO1xyXG5cclxuICAkaXRlbS1wcmltYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0OiAzMnB4O1xyXG4gICRpdGVtLXNlY29uZGFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodDogMjBweDtcclxuICAkZGVuc2UtaXRlbS1wcmltYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICRkaXZpZGVyLWNvbG9yOiBpZihcclxuICAgIG1kYy10aGVtZS10b25lKCRtZGMtdGhlbWUtYmFja2dyb3VuZCkgPT0gXCJkYXJrXCIsXHJcbiAgICAkbWRjLWxpc3QtZGl2aWRlci1jb2xvci1vbi1kYXJrLWJnLFxyXG4gICAgJG1kYy1saXN0LWRpdmlkZXItY29sb3Itb24tbGlnaHQtYmdcclxuICApO1xyXG5cclxuICAubWRjLWxpc3Qge1xyXG4gICAgQGluY2x1ZGUgbWRjLWxpc3QtYmFzZV8oJHF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1kYy1saXN0LWl0ZW0tc2Vjb25kYXJ5LXRleHQtaW5rLWNvbG9yKHRleHQtc2Vjb25kYXJ5LW9uLWJhY2tncm91bmQsICRxdWVyeSk7XHJcbiAgQGluY2x1ZGUgbWRjLWxpc3QtaXRlbS1ncmFwaGljLWZpbGwtY29sb3IodHJhbnNwYXJlbnQsICRxdWVyeSk7XHJcbiAgQGluY2x1ZGUgbWRjLWxpc3QtaXRlbS1ncmFwaGljLWluay1jb2xvcih0ZXh0LWljb24tb24tYmFja2dyb3VuZCwgJHF1ZXJ5KTtcclxuICBAaW5jbHVkZSBtZGMtbGlzdC1pdGVtLW1ldGEtaW5rLWNvbG9yKHRleHQtaGludC1vbi1iYWNrZ3JvdW5kLCAkcXVlcnkpO1xyXG4gIEBpbmNsdWRlIG1kYy1saXN0LWdyb3VwLXN1YmhlYWRlci1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsICRxdWVyeSk7XHJcblxyXG4gIC5tZGMtbGlzdC0tZGVuc2Uge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcclxuICAgICAgcGFkZGluZy10b3A6IDRweDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcclxuICAgICAgZm9udC1zaXplOiAuODEycmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1kYy1saXN0LWl0ZW0ge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLWxpc3QtaXRlbS1iYXNlXztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFwiU2VsZWN0ZWRcIiBpcyBlcGhlbWVyYWwgYW5kIGxpa2VseSB0byBjaGFuZ2Ugc29vbi4gRS5nLiwgc2VsZWN0aW5nIG9uZSBvciBtb3JlIHBob3RvcyB0byBzaGFyZSBpbiBHb29nbGUgUGhvdG9zLlxyXG4gIC8vIFwiQWN0aXZhdGVkXCIgaXMgbW9yZSBwZXJtYW5lbnQuIEUuZy4sIHRoZSBjdXJyZW50bHkgaGlnaGxpZ2h0ZWQgbmF2aWdhdGlvbiBkZXN0aW5hdGlvbiBpbiBhIGRyYXdlci5cclxuICAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQsXHJcbiAgLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtbGlzdC1pdGVtLXByaW1hcnktdGV4dC1pbmstY29sb3IocHJpbWFyeSwgJHF1ZXJ5KTtcclxuICAgIEBpbmNsdWRlIG1kYy1saXN0LWl0ZW0tZ3JhcGhpYy1pbmstY29sb3IocHJpbWFyeSwgJHF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtbGlzdC1pdGVtLXByaW1hcnktdGV4dC1pbmstY29sb3IodGV4dC1kaXNhYmxlZC1vbi1iYWNrZ3JvdW5kLCAkcXVlcnkpO1xyXG4gIH1cclxuXHJcbiAgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLWxpc3QtZ3JhcGhpYy1zaXplXygyNHB4KTtcclxuXHJcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgZmlsbDogY3VycmVudENvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRXh0cmEgc3BlY2lmaWNpdHkgaXMgdG8gb3ZlcnJpZGUgLm1hdGVyaWFsLWljb25zIGRpc3BsYXkgc3R5bGUgaWYgdXNlZCBpblxyXG4gIC8vIGNvbmp1bmN0aW9uIHdpdGggbWRjLWxpc3QtaXRlbV9fZ3JhcGhpY1xyXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxyXG4gIC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cclxuXHJcbiAgLm1kYy1saXN0LWl0ZW1fX21ldGEge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCBhdXRvLCAwLCBcIi5tZGMtbGlzdC1pdGVtXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1kYy1saXN0LWl0ZW1fX3RleHQge1xyXG4gICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktb3ZlcmZsb3ctZWxsaXBzaXMoJHF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIC8vIERpc2FibGUgaW50ZXJhY3Rpb24gb24gbGFiZWwgZWxlbWVudHMgdGhhdCBtYXkgYXV0b21hdGljYWxseVxyXG4gIC8vIHRvZ2dsZSBjb3JyZXNwb25kaW5nIGNoZWNrYm94IC8gcmFkaW8gaW5wdXQuXHJcbiAgLm1kYy1saXN0LWl0ZW1fX3RleHRbZm9yXSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQge1xyXG4gICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktb3ZlcmZsb3ctZWxsaXBzaXMoJHF1ZXJ5KTtcclxuICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5LWJhc2VsaW5lLXRvcCgkaXRlbS1wcmltYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0LCAkcXVlcnkpO1xyXG4gICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtYm90dG9tKCRpdGVtLXNlY29uZGFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodCwgJHF1ZXJ5KTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cclxuICAgIC5tZGMtbGlzdC0tZGVuc2UgJiB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5LWJhc2VsaW5lLXRvcCgkZGVuc2UtaXRlbS1wcmltYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0LCAkcXVlcnkpO1xyXG4gICAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1iYXNlbGluZS1ib3R0b20oJGl0ZW0tc2Vjb25kYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0LCAkcXVlcnkpO1xyXG4gICAgfVxyXG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cclxuICB9XHJcblxyXG4gIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeShib2R5MiwgJHF1ZXJ5KTtcclxuICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5LW92ZXJmbG93LWVsbGlwc2lzKCRxdWVyeSk7XHJcbiAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1iYXNlbGluZS10b3AoJGl0ZW0tc2Vjb25kYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0LCAkcXVlcnkpO1xyXG5cclxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxyXG4gICAgLm1kYy1saXN0LS1kZW5zZSAmIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtdG9wKCRpdGVtLXNlY29uZGFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodCwgJHF1ZXJ5KTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxyXG4gIH1cclxuXHJcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXHJcbiAgLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcclxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy1saXN0LWdyYXBoaWMtc2l6ZV8oMjBweCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWRjLWxpc3QtLWF2YXRhci1saXN0IC5tZGMtbGlzdC1pdGVtIHtcclxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XHJcbiAgICAgIGhlaWdodDogNTZweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tZGMtbGlzdC0tYXZhdGFyLWxpc3QgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLWxpc3QtZ3JhcGhpYy1zaXplXyg0MHB4KTtcclxuXHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tZGMtbGlzdC0tdHdvLWxpbmUgLm1kYy1saXN0LWl0ZW1fX3RleHQge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcclxuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tZGMtbGlzdC0tdHdvLWxpbmUgLm1kYy1saXN0LWl0ZW0ge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcclxuICAgICAgaGVpZ2h0OiA3MnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1kYy1saXN0LS10d28tbGluZS5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW0sXHJcbiAgLm1kYy1saXN0LS1hdmF0YXItbGlzdC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW0ge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcclxuICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1kYy1saXN0LS1hdmF0YXItbGlzdC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLWxpc3QtZ3JhcGhpYy1zaXplXygzNnB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE9ubHkgY2hhbmdlIG1vdXNlIGN1cnNvciBmb3IgaW50ZXJhY3RpdmUgbGlzdCBpdGVtcyB3aGljaCBhcmUgbm90IGRpc2FibGVkLlxyXG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gT3ZlcnJpZGUgYW5jaG9yIHRhZyBzdHlsZXMgZm9yIHRoZSB1c2UtY2FzZSBvZiBhIGxpc3QgYmVpbmcgdXNlZCBmb3IgbmF2aWdhdGlvblxyXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC10eXBlLHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxyXG4gIGEubWRjLWxpc3QtaXRlbSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW1heC10eXBlLHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxyXG5cclxuICAubWRjLWxpc3QtZGl2aWRlciB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTm90ZTogaWRlYWxseSB3ZSdkIGJlIGFibGUgdG8gaG9pc3QgdGhpcyB0byB0aGUgdG9wLWxldmVsIGAkZmVhdC1jb2xvcmAsIGJ1dCBkb2luZyBzb1xyXG4gIC8vIHdpbGwgY2F1c2UgdGhlIGBib3JkZXJgIGRlY2xhcmF0aW9uIG9uIGAubWRjLWxpc3QtZGl2aWRlcmAgYWJvdmUgdG8gb3ZlcnJpZGUgaXQuXHJcbiAgQGluY2x1ZGUgbWRjLWxpc3QtZGl2aWRlci1jb2xvcigkZGl2aWRlci1jb2xvciwgJHF1ZXJ5KTtcclxuXHJcbiAgLm1kYy1saXN0LWRpdmlkZXItLXBhZGRlZCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgICAvLyBMZWF2ZSBnYXBzIG9uIGVhY2ggc2lkZSB0byBtYXRjaCB0aGUgcGFkZGluZyBvbiBsaXN0IGl0ZW1zXHJcbiAgICAgIG1hcmdpbjogMCAkbWRjLWxpc3Qtc2lkZS1wYWRkaW5nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1kYy1saXN0LWRpdmlkZXItLWluc2V0IHtcclxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIGxlZnQsICRtZGMtbGlzdC10ZXh0LW9mZnNldCwgXCIubWRjLWxpc3QtZ3JvdXBcIik7XHJcblxyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skbWRjLWxpc3QtdGV4dC1vZmZzZXR9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tZGMtbGlzdC1kaXZpZGVyLS1pbnNldC5tZGMtbGlzdC1kaXZpZGVyLS1wYWRkZWQge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG1kYy1saXN0LXRleHQtb2Zmc2V0fSAtICN7JG1kYy1saXN0LXNpZGUtcGFkZGluZ30pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1kYy1saXN0LWdyb3VwIHtcclxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XHJcbiAgICAgIC8vIENhbmNlbCB0b3AvYm90dG9tIHBhZGRpbmcgb24gaW5kaXZpZHVhbCBsaXN0cyB3aXRoaW4gZ3JvdXBcclxuICAgICAgLm1kYy1saXN0IHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWRjLWxpc3QtZ3JvdXBfX3N1YmhlYWRlciB7XHJcbiAgICAkbWRjLWxpc3Qtc3ViaGVhZGVyLXZpcnR1YWwtaGVpZ2h0OiAzcmVtO1xyXG4gICAgJG1kYy1saXN0LXN1YmhlYWRlci1sZWFkaW5nOiBtYXAtZ2V0KG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LXN0eWxlcywgYm9keTEpLCBsaW5lLWhlaWdodCk7XHJcbiAgICAkbWRjLWxpc3Qtc3ViaGVhZGVyLW1hcmdpbjogKCRtZGMtbGlzdC1zdWJoZWFkZXItdmlydHVhbC1oZWlnaHQgLSAkbWRjLWxpc3Qtc3ViaGVhZGVyLWxlYWRpbmcpIC8gMjtcclxuXHJcbiAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeShzdWJ0aXRsZTEsICRxdWVyeSk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcclxuICAgICAgbWFyZ2luOiAkbWRjLWxpc3Qtc3ViaGVhZGVyLW1hcmdpbiAkbWRjLWxpc3Qtc2lkZS1wYWRkaW5nO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxyXG4vLyBsaXN0IHN0eWxlcy4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBtb3N0IHVzZXJzIHVzZSBgbWRjLWxpc3QtY29yZS1zdHlsZXNgIGluc3RlYWQuXHJcbkBtaXhpbiBtZGMtbGlzdC1yaXBwbGUoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xyXG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtY29tbW9uKCRxdWVyeSk7XHJcblxyXG4gIC8vIExpc3QgaXRlbXMgc2hvdWxkIHN1cHBvcnQgc3RhdGVzIGJ5IGRlZmF1bHQsIGJ1dCBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8gb3B0IG91dC5cclxuICAvLyBEaXJlY3QgY2hpbGQgY29tYmluYXRvciBpcyBuZWNlc3NhcnkgZm9yIG5vbi1pbnRlcmFjdGl2ZSBtb2RpZmllciBvbiBwYXJlbnQgdG8gbm90XHJcbiAgLy8gbWF0Y2ggdGhpcyBzZWxlY3Rvci5cclxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtIHtcclxuICAgIEBpbmNsdWRlIG1kYy1saXN0LWl0ZW0taW50ZXJhY3RpdmUtcmlwcGxlXygkcXVlcnkpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy1saXN0LWl0ZW0tcHJpbWFyeS10ZXh0LWluay1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcclxuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcclxuXHJcbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xyXG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLWxpc3QtaXRlbS1zZWNvbmRhcnktdGV4dC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XHJcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XHJcblxyXG4gIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy1saXN0LWl0ZW0tZ3JhcGhpYy1maWxsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xyXG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xyXG5cclxuICAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLWxpc3QtaXRlbS1ncmFwaGljLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcclxuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcclxuXHJcbiAgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xyXG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtbGlzdC1pdGVtLW1ldGEtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xyXG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xyXG5cclxuICAubWRjLWxpc3QtaXRlbV9fbWV0YSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy1saXN0LWl0ZW0tc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xyXG4gIC5tZGMtbGlzdC1pdGVtIHtcclxuICAgIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtbGlzdC1kaXZpZGVyLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xyXG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xyXG5cclxuICAubWRjLWxpc3QtZGl2aWRlciB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJvcmRlci1ib3R0b20tY29sb3IsICRjb2xvcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLWxpc3QtZ3JvdXAtc3ViaGVhZGVyLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcclxuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcclxuXHJcbiAgLm1kYy1saXN0LWdyb3VwX19zdWJoZWFkZXIge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xyXG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vXHJcbi8vIFByaXZhdGVcclxuLy9cclxuXHJcbkBtaXhpbiBtZGMtbGlzdC1iYXNlXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XHJcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XHJcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcclxuICAkZmVhdC10eXBvZ3JhcGh5OiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgdHlwb2dyYXBoeSk7XHJcblxyXG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KHN1YnRpdGxlMSwgJHF1ZXJ5KTtcclxuXHJcbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC10eXBvZ3JhcGh5KSB7XHJcbiAgICAvLyBBY2NvcmRpbmcgdG8gdGhlIG1vY2tzIGFuZCBzdGlja2Vyc2hlZXQsIHRoZSBsaW5lLWhlaWdodCBpc1xyXG4gICAgLy8gYWRqdXN0ZWQgdG8gMjRweCBmb3IgdGV4dCBjb250ZW50LCBzYW1lIGFzIGZvciBib2R5MS5cclxuICAgIC8qIEBhbHRlcm5hdGUgKi9cclxuICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LXN0eWxlcywgYm9keTEpLCBsaW5lLWhlaWdodCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogOHB4IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZGMtbGlzdC1pdGVtLXByaW1hcnktdGV4dC1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsICRxdWVyeSk7XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtbGlzdC1pdGVtLWJhc2VfIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICBoZWlnaHQ6IDQ4cHg7XHJcbiAgcGFkZGluZzogMCAkbWRjLWxpc3Qtc2lkZS1wYWRkaW5nO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFJpcHBsZSBzdHlsZXMgZm9yIGFuIGludGVyYWN0aXZlIGxpc3QgaXRlbSAob25lIHRoYXQgaXMgZW5hYmxlZCBhbmQgaW5zaWRlIGFuIGludGVyYWN0aXZlIGxpc3QpLlxyXG5AbWl4aW4gbWRjLWxpc3QtaXRlbS1pbnRlcmFjdGl2ZS1yaXBwbGVfKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcclxuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2UoJHF1ZXJ5KTtcclxuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy1ib3VuZGVkKCRxdWVyeTogJHF1ZXJ5KTtcclxuICBAaW5jbHVkZSBtZGMtc3RhdGVzKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCBmYWxzZSwgJHF1ZXJ5KTtcclxuICBAaW5jbHVkZSBtZGMtc3RhdGVzLWFjdGl2YXRlZChwcmltYXJ5LCBmYWxzZSwgJHF1ZXJ5KTtcclxuICBAaW5jbHVkZSBtZGMtc3RhdGVzLXNlbGVjdGVkKHByaW1hcnksIGZhbHNlLCAkcXVlcnkpO1xyXG59XHJcblxyXG4vLyBTZXRzIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBncmFwaGljIGVsZW1lbnQsIGFzIHdlbGwgYXMgY2FsY3VsYXRlcyB0aGUgbWFyZ2lucyBmb3JcclxuLy8gdGhlIGdyYXBoaWMgZWxlbWVudCBzdWNoIHRoYXQgdGhlIHRleHQgaXMgYWx3YXlzIG9mZnNldCBieSA3MnB4LCB3aGljaCBpcyBkZWZpbmVkIHdpdGhpblxyXG4vLyB0aGUgc3BlYy5cclxuQG1peGluIG1kYy1saXN0LWdyYXBoaWMtc2l6ZV8oJHNpemUpIHtcclxuICAkdGV4dC1vZmZzZXQ6IDcycHg7XHJcbiAgJHNpZGUtcGFkZGluZzogJG1kYy1saXN0LXNpZGUtcGFkZGluZztcclxuICAkbWFyZ2luLXZhbHVlOiAkdGV4dC1vZmZzZXQgLSAkc2lkZS1wYWRkaW5nIC0gJHNpemU7XHJcblxyXG4gIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIHJpZ2h0LCAkbWFyZ2luLXZhbHVlLCBcIi5tZGMtbGlzdC1pdGVtXCIpO1xyXG5cclxuICB3aWR0aDogJHNpemU7XHJcbiAgaGVpZ2h0OiAkc2l6ZTtcclxufVxyXG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uLy4uL2FuaW1hdGlvbi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zXCI7XG5cbi5tZGMtZHJhd2VyLS1kaXNtaXNzaWJsZSB7XG4gIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsIDApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmLm1kYy1kcmF3ZXItLW9wZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm1kYy1kcmF3ZXItYXBwLWNvbnRlbnQge1xuICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCBsZWZ0LCAwKTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uLy4uL2FuaW1hdGlvbi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9lbGV2YXRpb24vbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4uL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG4ubWRjLWRyYXdlci0tbW9kYWwge1xuICBAaW5jbHVkZSBtZGMtZHJhd2VyLXNjcmltLWZpbGwtY29sb3IoJG1kYy1kcmF3ZXItbW9kYWwtc2NyaW0tY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtZWxldmF0aW9uKCRtZGMtZHJhd2VyLW1vZGFsLWVsZXZhdGlvbik7XG4gIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsIDApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcblxuICAmLm1kYy1kcmF3ZXItLW9wZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm1kYy1kcmF3ZXItc2NyaW0ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgei1pbmRleDogJG1kYy1kcmF3ZXItei1pbmRleCAtIDE7XG5cbiAgLm1kYy1kcmF3ZXItLW9wZW4gKyAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5tZGMtZHJhd2VyLS1hbmltYXRlICsgJiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC5tZGMtZHJhd2VyLS1vcGVuaW5nICsgJiB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJG1kYy1kcmF3ZXItYW5pbWF0aW9uLWVudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAubWRjLWRyYXdlci0tY2xvc2luZyArICYge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRtZGMtZHJhd2VyLWFuaW1hdGlvbi1leGl0O1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuQGltcG9ydCBcIi4uL2FuaW1hdGlvbi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9lbGV2YXRpb24vbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vZWxldmF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3JpcHBsZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9yaXBwbGUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vdGhlbWUvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vc2hhcGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vc2hhcGUvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1mYWItY29yZS1zdHlsZXMoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtZmFiLXdpdGhvdXQtcmlwcGxlKCRxdWVyeSk7XG4gIEBpbmNsdWRlIG1kYy1mYWItcmlwcGxlKCRxdWVyeSk7XG59XG5cbkBtaXhpbiBtZGMtZmFiLXdpdGhvdXQtcmlwcGxlKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgZmFiXG5cbiAgLm1kYy1mYWIge1xuICAgIEBpbmNsdWRlIG1kYy1mYWItYmFzZV8oJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1mYWItY29udGFpbmVyLWNvbG9yKHNlY29uZGFyeSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1mYWItaWNvbi1zaXplKDI0cHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtZmFiLWluay1jb2xvcihvbi1zZWNvbmRhcnksICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtZmFiLS1taW5pIHtcbiAgICBAaW5jbHVkZSBtZGMtZmFiLS1taW5pXygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWZhYi0tZXh0ZW5kZWQge1xuICAgIEBpbmNsdWRlIG1kYy1mYWItLWV4dGVuZGVkXygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWZhYl9fbGFiZWwge1xuICAgIEBpbmNsdWRlIG1kYy1mYWItLWxhYmVsXygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWZhYl9faWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLWZhYl9faWNvbl8oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLy8gSW5jcmVhc2Ugc3BlY2lmaWNpdHkgZm9yIEZBQiBpY29uIHN0eWxlcyB0aGF0IG5lZWQgdG8gb3ZlcnJpZGUgc3R5bGVzIGRlZmluZWQgZm9yIC5tYXRlcmlhbC1pY29uc1xuICAvLyAod2hpY2ggaXMgbG9hZGVkIHNlcGFyYXRlbHkgc28gdGhlIG9yZGVyIG9mIENTUyBkZWZpbml0aW9ucyBpcyBub3QgZ3VhcmFudGVlZClcbiAgLm1kYy1mYWIgLm1kYy1mYWJfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1mYWJfX2ljb24tb3ZlcnJpZGVzXygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWZhYi0tZXhpdGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmFiLS1leGl0ZWRfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbkBtaXhpbiBtZGMtZmFiLXJpcHBsZSgkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtY29tbW9uKCRxdWVyeSk7XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgZmFiXG5cbiAgLm1kYy1mYWIge1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcyhvbi1zZWNvbmRhcnksICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbkBtaXhpbiBtZGMtZmFiLWFjY2Vzc2libGUoJGNvbnRhaW5lci1jb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtZmFiLWNvbnRhaW5lci1jb2xvcigkY29udGFpbmVyLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgJGZpbGwtdG9uZTogbWRjLXRoZW1lLXRvbmUoJGNvbnRhaW5lci1jb2xvcik7XG5cbiAgQGlmICgkZmlsbC10b25lID09IFwiZGFya1wiKSB7XG4gICAgQGluY2x1ZGUgbWRjLWZhYi1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWRhcmssICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKHRleHQtcHJpbWFyeS1vbi1kYXJrLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIG1kYy1mYWItaW5rLWNvbG9yKHRleHQtcHJpbWFyeS1vbi1saWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXModGV4dC1wcmltYXJ5LW9uLWxpZ2h0LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1mYWItY29udGFpbmVyLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yLCAkZWRnZU9wdE91dDogdHJ1ZSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1mYWItaWNvbi1zaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1mYWJfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgZm9udC1zaXplOiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZhYi1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZhYi1leHRlbmRlZC1mbHVpZCgkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZhYi1leHRlbmRlZC1wYWRkaW5nKCRpY29uLXBhZGRpbmcsICRsYWJlbC1wYWRkaW5nLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZhYi1leHRlbmRlZC1sYWJlbC1wYWRkaW5nKCRsYWJlbC1wYWRkaW5nLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLy8gT2Zmc2V0cyB0aGUgb3V0ZXIgbGFiZWwgcGFkZGluZyBieSBkZWR1Y3RpbmcgaXQgZnJvbSBpY29uIHBhZGRpbmcuXG4gIC5tZGMtZmFiX19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCAkaWNvbi1wYWRkaW5nIC0gJGxhYmVsLXBhZGRpbmcsICRpY29uLXBhZGRpbmcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvciBFeHRlbmRlZCBGQUIgd2l0aCB0ZXh0IGxhYmVsIGZvbGxvd2VkIGJ5IGljb24uXG4gIC5tZGMtZmFiX19sYWJlbCArIC5tZGMtZmFiX19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCAkaWNvbi1wYWRkaW5nLCAkaWNvbi1wYWRkaW5nIC0gJGxhYmVsLXBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZhYi1leHRlbmRlZC1sYWJlbC1wYWRkaW5nKCRsYWJlbC1wYWRkaW5nLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBwYWRkaW5nOiAwICRsYWJlbC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtZmFiLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1mYWItLWV4dGVuZGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtZmFiLWV4dGVuZGVkLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cyhcbiAgICBtZGMtc2hhcGUtcmVzb2x2ZS1wZXJjZW50YWdlLXJhZGl1cygkbWRjLWZhYi1leHRlbmRlZC1oZWlnaHQsICRyYWRpdXMpLFxuICAgICRydGwtcmVmbGV4aXZlLFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG59XG5cbiRtZGMtZmFiLWljb24tZW50ZXItZGVsYXlfOiA5MG1zO1xuJG1kYy1mYWItaWNvbi1lbnRlci1kdXJhdGlvbl86IDE4MG1zO1xuXG5AbWl4aW4gbWRjLWZhYi1iYXNlXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1lbGV2YXRpb24oNiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtZmFiLXNoYXBlLXJhZGl1cyg1MCUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG1kYy1mYWItaGVpZ2h0O1xuICAgIGhlaWdodDogJG1kYy1mYWItaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgYm94LXNoYWRvdyAkbWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uICRtZGMtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLFxuICAgICAgb3BhY2l0eSAxNW1zIGxpbmVhciAzMG1zLFxuICAgICAgbWRjLWFuaW1hdGlvbi1lbnRlcih0cmFuc2Zvcm0sICRtZGMtZmFiLWljb24tZW50ZXItZHVyYXRpb25fICsgJG1kYy1mYWItaWNvbi1lbnRlci1kZWxheV8pO1xuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgbWRjLWVsZXZhdGlvbig4LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgbWRjLWVsZXZhdGlvbigxMiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIC8vIFRPRE8oYWNkdm9yYWspOiBTaG91bGQgdGhpcyBiZSBwYWlyZWQgd2l0aCBzdGF0ZXMgYW5kL29yIHJpcHBsZT8gV2UgZG9uJ3Qgd2FudCB0byBkaXNhYmxlIG91dGxpbmVcbiAgICAvLyAoYW4gYWNjZXNzaWJpbGl0eS91c2FiaWxpdHkgZmVhdHVyZSkgdW5sZXNzIHdlJ3JlIGNvbmZpZGVudCB0aGF0IHRoZXJlIGlzIGFsc28gYSB2aXN1YWwgaW5kaWNhdGlvbiB0aGF0IHRoZVxuICAgIC8vIGVsZW1lbnQgaGFzIGZvY3VzLiBJZiB0aGUgY2xpZW50IGhhcyBjdXN0b21pemVkIHRoZSBET00gaW4gc29tZSB1bmV4cGVjdGVkIHdheSwgYW5kIGlzIGNlcnRhaW4gdGhhdCBhbm90aGVyXG4gICAgLy8gZWxlbWVudCB3aWxsIHJlY2VpdmUgZm9jdXMgaW5zdGVhZCwgdGhleSBjYW4gYWx3YXlzIG92ZXJyaWRlIHRoaXMgcHJvcGVydHkgbWFudWFsbHkgaW4gdGhlaXIgQ1NTLlxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyBhbGxvd3MgZm9yIHVzaW5nIFNWR3Mgd2l0aGluIHRoZW0gdG8gYWxpZ24gcHJvcGVybHkgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyBDYW4gcmVtb3ZlIG9uY2U6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTQ1MTUgaXMgcmVzb2x2ZWQuXG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXR5cGVcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBpZ25vcmVcbiAgPiBzdmcge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxufVxuXG5AbWl4aW4gbWRjLWZhYi0tbWluaV8oJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgd2lkdGg6ICRtZGMtZmFiLW1pbmktaGVpZ2h0O1xuICAgIGhlaWdodDogJG1kYy1mYWItbWluaS1oZWlnaHQ7XG4gIH1cbn1cblxuQG1peGluIG1kYy1mYWItLWV4dGVuZGVkXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KGJ1dHRvbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtZmFiLWV4dGVuZGVkLXNoYXBlLXJhZGl1cyg1MCUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbWRjLWZhYi1leHRlbmRlZC1wYWRkaW5nKCRtZGMtZmFiLWV4dGVuZGVkLWljb24tcGFkZGluZywgJG1kYy1mYWItZXh0ZW5kZWQtbGFiZWwtcGFkZGluZywgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkbWRjLWZhYi1leHRlbmRlZC1oZWlnaHQ7XG4gIH1cbn1cblxuQG1peGluIG1kYy1mYWJfX2ljb25fKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246IG1kYy1hbmltYXRpb24tZW50ZXIodHJhbnNmb3JtLCAkbWRjLWZhYi1pY29uLWVudGVyLWR1cmF0aW9uXywgJG1kYy1mYWItaWNvbi1lbnRlci1kZWxheV8pO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZhYl9fbGFiZWxfKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuQG1peGluIG1kYy1mYWJfX2ljb24tb3ZlcnJpZGVzXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtZmFiLS1leGl0ZWRfKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG9wYWNpdHkgMTVtcyBsaW5lYXIgMTUwbXMsXG4gICAgICBtZGMtYW5pbWF0aW9uLWV4aXQtcGVybWFuZW50KHRyYW5zZm9ybSwgMTgwbXMpO1xuICB9XG5cbiAgLm1kYy1mYWJfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiBtZGMtYW5pbWF0aW9uLWV4aXQtcGVybWFuZW50KHRyYW5zZm9ybSwgMTM1bXMpO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRtZGMtZmFiLWV4dGVuZGVkLWljb24tcGFkZGluZzogMTJweCAhZGVmYXVsdDtcbiRtZGMtZmFiLWV4dGVuZGVkLWxhYmVsLXBhZGRpbmc6IDIwcHggIWRlZmF1bHQ7XG4kbWRjLWZhYi1oZWlnaHQ6IDU2cHggIWRlZmF1bHQ7XG4kbWRjLWZhYi1taW5pLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRtZGMtZmFiLWV4dGVuZGVkLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL2Jhc2UvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBGbG9hdGluZyBMYWJlbCBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IG11bHRpcGxlIGNvbXBvbmVudHMsIGJ1dCBpdHMgc3R5bGVzIHNob3VsZCBvbmx5IGJlIGVtaXR0ZWQgb25jZSB3aGVuIGJ1bmRsZWRcbkBpbmNsdWRlIG1kYy1iYXNlLWVtaXQtb25jZShcIm1kYy1mbG9hdGluZy1sYWJlbFwiKSB7XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGZsb2F0aW5nLWxhYmVsXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KHN1YnRpdGxlMSk7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gJG1kYy1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uLWR1cmF0aW9uICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbixcbiAgICAgIGNvbG9yICRtZGMtZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiAkbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHRleHQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyBGb3JjZSB0aGUgbGFiZWwgaW50byBpdHMgb3duIGxheWVyIHRvIHByZXZlbnQgdmlzaWJsZSBsYXllciBwcm9tb3Rpb24gYWRqdXN0bWVudHNcbiAgICAvLyB3aGVuIHRoZSByaXBwbGUgaXMgYWN0aXZhdGVkIGJlaGluZCBpdC5cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG4gICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogMDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG5cbiAgQGF0LXJvb3Qge1xuICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkbWRjLWZsb2F0aW5nLWxhYmVsLXBvc2l0aW9uLXkpO1xuICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24oc3RhbmRhcmQpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyhzdGFuZGFyZCwgJG1kYy1mbG9hdGluZy1sYWJlbC1wb3NpdGlvbi15KTtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBtZGMtZmxvYXRpbmctbGFiZWwtaW5rLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbn1cblxuLy8gVXNlZCBmb3IgdGV4dGFyZWEgaW4gY2FzZSBvZiBzY3JvbGxpbmdcbkBtaXhpbiBtZGMtZmxvYXRpbmctbGFiZWwtZmlsbC1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbn1cblxuQG1peGluIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXMoJG1vZGlmaWVyLCAkcG9zaXRpb25ZLCAkcG9zaXRpb25YOiAwJSwgJHNjYWxlOiAuNzUpIHtcbiAgQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtI3skbW9kaWZpZXJ9IHtcbiAgICAvKiBjbGVhbi1jc3MgaWdub3JlOnN0YXJ0ICovXG4gICAgMCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtICN7JHBvc2l0aW9uWH0pKSB0cmFuc2xhdGVZKC0jeyRwb3NpdGlvbll9KSBzY2FsZSgjeyRzY2FsZX0pO1xuICAgIH1cblxuICAgIDMzJSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjUsIDAsIC43MDE3MzIsIC40OTU4MTkpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAjeyRwb3NpdGlvblh9KSkgdHJhbnNsYXRlWSgtI3skcG9zaXRpb25ZfSkgc2NhbGUoI3skc2NhbGV9KTtcbiAgICB9XG5cbiAgICA2NiUge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4zMDI0MzUsIC4zODEzNTIsIC41NSwgLjk1NjM1Mik7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAjeyRwb3NpdGlvblh9KSkgdHJhbnNsYXRlWSgtI3skcG9zaXRpb25ZfSkgc2NhbGUoI3skc2NhbGV9KTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAjeyRwb3NpdGlvblh9KSkgdHJhbnNsYXRlWSgtI3skcG9zaXRpb25ZfSkgc2NhbGUoI3skc2NhbGV9KTtcbiAgICB9XG4gICAgLyogY2xlYW4tY3NzIGlnbm9yZTplbmQgKi9cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uKCRwb3NpdGlvblksICRwb3NpdGlvblg6IDAlLCAkc2NhbGU6IC43NSkge1xuICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgQGlmICRwb3NpdGlvblggPiAwIG9yICRwb3NpdGlvblggPCAwIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMSAqICRwb3NpdGlvblkpIHRyYW5zbGF0ZVgoLTEgKiAkcG9zaXRpb25YKSBzY2FsZSgkc2NhbGUpO1xuXG4gICAgICBAaW5jbHVkZSBtZGMtcnRsIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xICogJHBvc2l0aW9uWSkgdHJhbnNsYXRlWCgkcG9zaXRpb25YKSBzY2FsZSgkc2NhbGUpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xICogJHBvc2l0aW9uWSkgc2NhbGUoJHNjYWxlKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24oJG1vZGlmaWVyKSB7XG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS0jeyRtb2RpZmllcn0gMjUwbXMgMTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZsb2F0aW5nLWxhYmVsLW1heC13aWR0aCgkbWF4LXdpZHRoKSB7XG4gIG1heC13aWR0aDogJG1heC13aWR0aDtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOSBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1mb3JtLWZpZWxkLWNvcmUtc3R5bGVzKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1mb3JtLWZpZWxkIHtcbiAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeShib2R5MiwgJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCB0ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgPiBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbWRjLWZvcm0tZmllbGQtaXRlbS1zcGFjaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1ydGwge1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgICA+IGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRtZGMtZm9ybS1maWVsZC1pdGVtLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWZvcm0tZmllbGQtLWFsaWduLWVuZCB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgPiBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgcGFkZGluZy1yaWdodDogJG1kYy1mb3JtLWZpZWxkLWl0ZW0tc3BhY2luZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZGMtcnRsIHtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdHlwZVxuICAgICAgPiBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbWRjLWZvcm0tZmllbGQtaXRlbS1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTkgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuJG1kYy1mb3JtLWZpZWxkLWl0ZW0tc3BhY2luZzogNHB4ICFkZWZhdWx0O1xuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1pY29uLWJ1dHRvbi1jb3JlLXN0eWxlcygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1pY29uLWJ1dHRvbi13aXRob3V0LXJpcHBsZSgkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtaWNvbi1idXR0b24tcmlwcGxlKCRxdWVyeSk7XG59XG5cbkBtaXhpbiBtZGMtaWNvbi1idXR0b24td2l0aG91dC1yaXBwbGUoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGljb24tYnV0dG9uXG4gIC5tZGMtaWNvbi1idXR0b24ge1xuICAgIEBpbmNsdWRlIG1kYy1pY29uLWJ1dHRvbi1iYXNlXygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWljb24tYnV0dG9uX19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgICAmLm1kYy1pY29uLWJ1dHRvbl9faWNvbi0tb24ge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWljb24tYnV0dG9uLS1vbiB7XG4gICAgLm1kYy1pY29uLWJ1dHRvbl9faWNvbiB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gICAgICAmLm1kYy1pY29uLWJ1dHRvbl9faWNvbi0tb24ge1xuICAgICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxufVxuXG5AbWl4aW4gbWRjLWljb24tYnV0dG9uLXJpcHBsZSgkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtY29tbW9uKCRxdWVyeSk7XG5cbiAgLm1kYy1pY29uLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1zdXJmYWNlKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy11bmJvdW5kZWQoJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMoJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtaWNvbi1idXR0b24tc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCwgJHBhZGRpbmc6IG1heCgkd2lkdGgsICRoZWlnaHQpLzIsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHdpZHRoOiAkd2lkdGggKyAkcGFkZGluZyAqIDI7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0ICsgJHBhZGRpbmcgKiAyO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogbWF4KCR3aWR0aCwgJGhlaWdodCk7XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXR5cGVcbiAgc3ZnLFxuICBpbWcge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWljb24tYnV0dG9uLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLXN0YXRlcygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuQG1peGluIG1kYy1pY29uLWJ1dHRvbi1iYXNlXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1pY29uLWJ1dHRvbi1zaXplKCRtZGMtaWNvbi1idXR0b24tc2l6ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsIHRleHQtZGlzYWJsZWQtb24tbGlnaHQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kbWRjLWljb24tYnV0dG9uLXNpemU6IDI0cHggIWRlZmF1bHQ7XG4iLCIvLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9zaGFwZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9zaGFwZS9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi90eXBvZ3JhcGh5L21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBtZGMtaW1hZ2UtbGlzdC1jb3JlLXN0eWxlcygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGltYWdlLWxpc3RcbiAgLm1kYy1pbWFnZS1saXN0IHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIC8vIE1hcmdpbiBhbmQgcGFkZGluZyBhcmUgc2V0IHRvIG92ZXJyaWRlIGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXMgZm9yIGxpc3RzLCBhbmQgYWxzbyB0byBjZW50ZXIgdGhlIEltYWdlIExpc3RcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAubWRjLWltYWdlLWxpc3RfX2l0ZW0sXG4gIC5tZGMtaW1hZ2UtbGlzdF9faW1hZ2UtYXNwZWN0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIFN1cHBvcnRzIGFic29sdXRlIHBvc2l0aW9uaW5nIG9mIHByb3RlY3RlZCBzdXBwb3J0aW5nIGNvbnRlbnQgZm9yIGl0ZW0sIGFuZCBpbWFnZSBmb3IgaW1hZ2UtYXNwZWN0LWNvbnRhaW5lclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gIH1cblxuICAubWRjLWltYWdlLWxpc3RfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1pbWFnZS1saXN0X19pbWFnZSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlc2NlbmRhbnQgc2VsZWN0b3IgYWxsb3dzIGltYWdlLWFzcGVjdC1jb250YWluZXIgdG8gYmUgb3B0aW9uYWwgaW4gRE9NIHN0cnVjdHVyZVxuICAubWRjLWltYWdlLWxpc3RfX2ltYWdlLWFzcGVjdC1jb250YWluZXIgLm1kYy1pbWFnZS1saXN0X19pbWFnZSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIC8vIEJhY2tncm91bmQgc3R5bGVzIHRvIHN1cHBvcnQgZGl2IGluc3RlYWQgb2YgaW1nXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtaW1hZ2UtbGlzdC1hc3BlY3QoMSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtaW1hZ2UtbGlzdC1zaGFwZS1yYWRpdXMoMCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC5tZGMtaW1hZ2UtbGlzdF9fc3VwcG9ydGluZyB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsIHRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICBsaW5lLWhlaWdodDogJG1kYy1pbWFnZS1saXN0LWljb24tc2l6ZTtcbiAgICB9XG4gIH1cblxuICAubWRjLWltYWdlLWxpc3RfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeShzdWJ0aXRsZTEsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1vdmVyZmxvdy1lbGxpcHNpcygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAvLyBNb2RpZmllciBmb3IgbGFiZWxzL2ljb25zIHdpdGggdGV4dCBwcm90ZWN0aW9uLCBvdmVybGF5aW5nIGltYWdlcy5cblxuICAubWRjLWltYWdlLWxpc3QtLXdpdGgtdGV4dC1wcm90ZWN0aW9uIC5tZGMtaW1hZ2UtbGlzdF9fc3VwcG9ydGluZyB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAkbWRjLWltYWdlLWxpc3QtdGV4dC1wcm90ZWN0aW9uLWhlaWdodDtcbiAgICAgIHBhZGRpbmc6IDAgJG1kYy1pbWFnZS1saXN0LXRleHQtcHJvdGVjdGlvbi1ob3Jpem9udGFsLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYmFja2dyb3VuZDogJG1kYy1pbWFnZS1saXN0LXRleHQtcHJvdGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFzb25yeSBJbWFnZSBMaXN0LCB1c2luZyBDU1MgY29sdW1ucyAoaS5lLiByZW5kZXJzIGRvd24gdGhlbiBhY3Jvc3MpXG5cbiAgLm1kYy1pbWFnZS1saXN0LS1tYXNvbnJ5IHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IC8vIE92ZXJyaWRlIGZsZXhcbiAgICB9XG5cbiAgICAubWRjLWltYWdlLWxpc3RfX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1pbWFnZS1saXN0X19pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxufVxuXG5AbWl4aW4gbWRjLWltYWdlLWxpc3QtYXNwZWN0KCR3aWR0aC1oZWlnaHQtcmF0aW8sICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWltYWdlLWxpc3RfX2ltYWdlLWFzcGVjdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gI3skd2lkdGgtaGVpZ2h0LXJhdGlvfSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtaW1hZ2UtbGlzdC1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIC5tZGMtaW1hZ2UtbGlzdF9faW1hZ2Uge1xuICAgIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gICRzZWxlY3RvcjogaWYoJiwgXCImLm1kYy1pbWFnZS1saXN0LS13aXRoLXRleHQtcHJvdGVjdGlvblwiLCBcIi5tZGMtaW1hZ2UtbGlzdC0td2l0aC10ZXh0LXByb3RlY3Rpb25cIik7XG5cbiAgI3skc2VsZWN0b3J9IC5tZGMtaW1hZ2UtbGlzdF9fc3VwcG9ydGluZyB7XG4gICAgJG1hc2tlZC1yYWRpdXM6IG1kYy1zaGFwZS1tYXNrLXJhZGl1cygkcmFkaXVzLCAwIDAgMSAxKTtcblxuICAgIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMoJG1hc2tlZC1yYWRpdXMsICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8gU3RhbmRhcmQgSW1hZ2UgTGlzdFxuXG5AbWl4aW4gbWRjLWltYWdlLWxpc3Qtc3RhbmRhcmQtY29sdW1ucyhcbiAgJGNvbHVtbi1jb3VudCxcbiAgJGd1dHRlci1zaXplOiAkbWRjLWltYWdlLWxpc3Qtc3RhbmRhcmQtZ3V0dGVyLXNpemUsXG4gICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC8vIFRoaXMgdXNlcyBtYXJnaW4gcmF0aGVyIHRoYW4gcGFkZGluZyB0byBmYWNpbGl0YXRlIHByb3Blcmx5IHBvc2l0aW9uaW5nIHRoZSBzdXBwb3J0aW5nIGNvbnRlbnQgZWxlbWVudCB3aGVuXG4gIC8vIC0td2l0aC10ZXh0LXByb3RlY3Rpb24gaXMgdXNlZC5cbiAgLm1kYy1pbWFnZS1saXN0X19pdGVtIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gU3VidHJhY3QgZXh0cmEgZnJhY3Rpb24gZnJvbSBlYWNoIGl0ZW0ncyB3aWR0aCB0byBlbnN1cmUgY29ycmVjdCB3cmFwcGluZyBpbiBJRS9FZGdlIHdoaWNoIHJvdW5kIGRpZmZlcmVudGx5XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gI3skY29sdW1uLWNvdW50fSAtICN7JGd1dHRlci1zaXplICsgMSAvICRjb2x1bW4tY291bnR9KTtcbiAgICAgIG1hcmdpbjogJGd1dHRlci1zaXplIC8gMjtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFzb25yeSBJbWFnZSBMaXN0XG5cbkBtaXhpbiBtZGMtaW1hZ2UtbGlzdC1tYXNvbnJ5LWNvbHVtbnMoXG4gICRjb2x1bW4tY291bnQsXG4gICRndXR0ZXItc2l6ZTogJG1kYy1pbWFnZS1saXN0LW1hc29ucnktZ3V0dGVyLXNpemUsXG4gICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgIGNvbHVtbi1nYXA6ICRndXR0ZXItc2l6ZTtcbiAgfVxuXG4gIC5tZGMtaW1hZ2UtbGlzdF9faXRlbSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuJG1kYy1pbWFnZS1saXN0LXN0YW5kYXJkLWd1dHRlci1zaXplOiA0cHggIWRlZmF1bHQ7XG4kbWRjLWltYWdlLWxpc3QtbWFzb25yeS1ndXR0ZXItc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRtZGMtaW1hZ2UtbGlzdC1pY29uLXNpemU6IDI0cHggIWRlZmF1bHQ7XG4kbWRjLWltYWdlLWxpc3QtdGV4dC1wcm90ZWN0aW9uLWJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjYpICFkZWZhdWx0O1xuJG1kYy1pbWFnZS1saXN0LXRleHQtcHJvdGVjdGlvbi1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kbWRjLWltYWdlLWxpc3QtdGV4dC1wcm90ZWN0aW9uLWhvcml6b250YWwtcGFkZGluZzogMTZweCAhZGVmYXVsdDtcbiIsIi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcblxuOnJvb3Qge1xuICBAZWFjaCAkc2l6ZSBpbiBtYXAta2V5cygkbWRjLWxheW91dC1ncmlkLWNvbHVtbnMpIHtcbiAgICAtLW1kYy1sYXlvdXQtZ3JpZC1tYXJnaW4tI3skc2l6ZX06ICN7bWFwLWdldCgkbWRjLWxheW91dC1ncmlkLWRlZmF1bHQtbWFyZ2luLCAkc2l6ZSl9O1xuICAgIC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci0jeyRzaXplfTogI3ttYXAtZ2V0KCRtZGMtbGF5b3V0LWdyaWQtZGVmYXVsdC1ndXR0ZXIsICRzaXplKX07XG4gICAgLS1tZGMtbGF5b3V0LWdyaWQtY29sdW1uLXdpZHRoLSN7JHNpemV9OiAje21hcC1nZXQoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW4td2lkdGgsICRzaXplKX07XG4gIH1cbn1cblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgbGF5b3V0LWdyaWRcbi5tZGMtbGF5b3V0LWdyaWQge1xuICBAZWFjaCAkc2l6ZSBpbiBtYXAta2V5cygkbWRjLWxheW91dC1ncmlkLWNvbHVtbnMpIHtcbiAgICBAaW5jbHVkZSBtZGMtbGF5b3V0LWdyaWQtbWVkaWEtcXVlcnlfKCRzaXplKSB7XG4gICAgICAkbWFyZ2luOiBtYXAtZ2V0KCRtZGMtbGF5b3V0LWdyaWQtZGVmYXVsdC1tYXJnaW4sICRzaXplKTtcblxuICAgICAgQGluY2x1ZGUgbWRjLWxheW91dC1ncmlkKCRzaXplLCAkbWFyZ2luLCAkbWRjLWxheW91dC1ncmlkLW1heC13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cbi5tZGMtbGF5b3V0LWdyaWRfX2lubmVyIHtcbiAgQGVhY2ggJHNpemUgaW4gbWFwLWtleXMoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW5zKSB7XG4gICAgQGluY2x1ZGUgbWRjLWxheW91dC1ncmlkLW1lZGlhLXF1ZXJ5Xygkc2l6ZSkge1xuICAgICAgJG1hcmdpbjogbWFwLWdldCgkbWRjLWxheW91dC1ncmlkLWRlZmF1bHQtbWFyZ2luLCAkc2l6ZSk7XG4gICAgICAkZ3V0dGVyOiBtYXAtZ2V0KCRtZGMtbGF5b3V0LWdyaWQtZGVmYXVsdC1ndXR0ZXIsICRzaXplKTtcblxuICAgICAgQGluY2x1ZGUgbWRjLWxheW91dC1ncmlkLWlubmVyKCRzaXplLCAkbWFyZ2luLCAkZ3V0dGVyKTtcbiAgICB9XG4gIH1cbn1cblxuLm1kYy1sYXlvdXQtZ3JpZF9fY2VsbCB7XG4gIC8vIHNlbGVjdCB0aGUgdXBwZXIgYnJlYWtwb2ludFxuICAkdXBwZXItYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRtZGMtbGF5b3V0LWdyaWQtY29sdW1ucyksIDEpO1xuXG4gIEBlYWNoICRzaXplIGluIG1hcC1rZXlzKCRtZGMtbGF5b3V0LWdyaWQtY29sdW1ucykge1xuICAgIEBpbmNsdWRlIG1kYy1sYXlvdXQtZ3JpZC1tZWRpYS1xdWVyeV8oJHNpemUpIHtcbiAgICAgICRndXR0ZXI6IG1hcC1nZXQoJG1kYy1sYXlvdXQtZ3JpZC1kZWZhdWx0LWd1dHRlciwgJHNpemUpO1xuXG4gICAgICBAaW5jbHVkZSBtZGMtbGF5b3V0LWdyaWQtY2VsbCgkc2l6ZSwgJG1kYy1sYXlvdXQtZ3JpZC1kZWZhdWx0LWNvbHVtbi1zcGFuLCAkZ3V0dGVyKTtcblxuICAgICAgQGZvciAkc3BhbiBmcm9tIDEgdGhyb3VnaCBtYXAtZ2V0KCRtZGMtbGF5b3V0LWdyaWQtY29sdW1ucywgJHVwcGVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLy8gU3BhbiBjbGFzc2VzLlxuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aFxuICAgICAgICBAYXQtcm9vdCAubWRjLWxheW91dC1ncmlkX19jZWxsLS1zcGFuLSN7JHNwYW59LFxuICAgICAgICAgIC5tZGMtbGF5b3V0LWdyaWRfX2NlbGwtLXNwYW4tI3skc3Bhbn0tI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1kYy1sYXlvdXQtZ3JpZC1jZWxsLXNwYW5fKCRzaXplLCAkc3BhbiwgJGd1dHRlcik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gc3R5bGVsaW50LWVuYWJsZSBtYXgtbmVzdGluZy1kZXB0aFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE9yZGVyIG92ZXJyaWRlIGNsYXNzZXMuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbWFwLWdldCgkbWRjLWxheW91dC1ncmlkLWNvbHVtbnMsICR1cHBlci1icmVha3BvaW50KSB7XG4gICAgJi0tb3JkZXItI3skaX0ge1xuICAgICAgQGluY2x1ZGUgbWRjLWxheW91dC1ncmlkLWNlbGwtb3JkZXIoJGkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFsaWdubWVudCBjbGFzc2VzLlxuICAmLS1hbGlnbi10b3Age1xuICAgIEBpbmNsdWRlIG1kYy1sYXlvdXQtZ3JpZC1jZWxsLWFsaWduKHRvcCk7XG4gIH1cblxuICAmLS1hbGlnbi1taWRkbGUge1xuICAgIEBpbmNsdWRlIG1kYy1sYXlvdXQtZ3JpZC1jZWxsLWFsaWduKG1pZGRsZSk7XG4gIH1cblxuICAmLS1hbGlnbi1ib3R0b20ge1xuICAgIEBpbmNsdWRlIG1kYy1sYXlvdXQtZ3JpZC1jZWxsLWFsaWduKGJvdHRvbSk7XG4gIH1cbn1cblxuLm1kYy1sYXlvdXQtZ3JpZC0tZml4ZWQtY29sdW1uLXdpZHRoIHtcbiAgQGVhY2ggJHNpemUgaW4gbWFwLWtleXMoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW5zKSB7XG4gICAgQGluY2x1ZGUgbWRjLWxheW91dC1ncmlkLW1lZGlhLXF1ZXJ5Xygkc2l6ZSkge1xuICAgICAgJG1hcmdpbjogbWFwLWdldCgkbWRjLWxheW91dC1ncmlkLWRlZmF1bHQtbWFyZ2luLCAkc2l6ZSk7XG4gICAgICAkZ3V0dGVyOiBtYXAtZ2V0KCRtZGMtbGF5b3V0LWdyaWQtZGVmYXVsdC1ndXR0ZXIsICRzaXplKTtcbiAgICAgICRjb2x1bW4td2lkdGg6IG1hcC1nZXQoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW4td2lkdGgsICRzaXplKTtcblxuICAgICAgQGluY2x1ZGUgbWRjLWxheW91dC1ncmlkLWZpeGVkLWNvbHVtbi13aWR0aCgkc2l6ZSwgJG1hcmdpbiwgJGd1dHRlciwgJGNvbHVtbi13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cbi5tZGMtbGF5b3V0LWdyaWQtLWFsaWduLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubWRjLWxheW91dC1ncmlkLS1hbGlnbi1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxuIiwiLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuLy8gcmV0dXJucyB0aGUgbG93ZXIgZ3JpZCBib3VuZGFyeSBvciBudWxsIGlmIHRoZSBzbWFsbGVzdCBncmlkIGlzIHNlbGVjdGVkXG5AZnVuY3Rpb24gbWRjLWxheW91dC1ncmlkLWJyZWFrcG9pbnQtbWluKCRzaXplKSB7XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW5zLCAkc2l6ZSkge1xuICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGUgc3BlY2lmaWVkISBDaG9vc2Ugb25lIG9mICN7bWFwLWtleXMoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW5zKX1cIjtcbiAgfVxuICAkbWluOiBtYXAtZ2V0KCRtZGMtbGF5b3V0LWdyaWQtYnJlYWtwb2ludHMsICRzaXplKTtcblxuICBAcmV0dXJuIGlmKCRtaW4gPiAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gcmV0dXJucyB0aGUgdXBwZXIgZ3JpZCBib3VuZGFyeSBvciBudWxsIGlmIHRoZSBsYXJnZXN0IGdyaWQgaXMgc2VsZWN0ZWRcbkBmdW5jdGlvbiBtZGMtbGF5b3V0LWdyaWQtYnJlYWtwb2ludC1tYXgoJHNpemUpIHtcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWRjLWxheW91dC1ncmlkLWNvbHVtbnMsICRzaXplKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBzdHlsZSBzcGVjaWZpZWQhIENob29zZSBvbmUgb2YgI3ttYXAta2V5cygkbWRjLWxheW91dC1ncmlkLWNvbHVtbnMpfVwiO1xuICB9XG4gICRuYW1lczogbWFwLWtleXMoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW5zKTtcbiAgJG46IGluZGV4KCRuYW1lcywgJHNpemUpO1xuICAkcHJldjogaWYoJG4gPiAxLCBudGgoJG5hbWVzLCAkbiAtIDEpLCBudWxsKTtcblxuICBAcmV0dXJuIGlmKCRwcmV2LCAobWRjLWxheW91dC1ncmlkLWJyZWFrcG9pbnQtbWluKCRwcmV2KSAtIDFweCksIG51bGwpO1xufVxuXG4vLyBQcml2YXRlIG1peGlucywgbWVhbnQgZm9yIGludGVybmFsIHVzZS5cbkBtaXhpbiBtZGMtbGF5b3V0LWdyaWQtbWVkaWEtcXVlcnlfKCRzaXplKSB7XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW5zLCAkc2l6ZSkge1xuICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGUgc3BlY2lmaWVkISBDaG9vc2Ugb25lIG9mICN7bWFwLWtleXMoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW5zKX1cIjtcbiAgfVxuXG4gICRtaW46IG1kYy1sYXlvdXQtZ3JpZC1icmVha3BvaW50LW1pbigkc2l6ZSk7XG4gICRtYXg6IG1kYy1sYXlvdXQtZ3JpZC1icmVha3BvaW50LW1heCgkc2l6ZSk7XG5cbiAgQGlmICRtaW4gPT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICAvLyBQaG9uZVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIC8vIFRhYmxldFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCA9PSBudWxsIHtcbiAgICAvLyBEZXNrdG9wXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gRmFsbGJhY2sgLSBubyBicmVha3BvaW50cyBkZWZpbmVkXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1kYy1sYXlvdXQtZ3JpZC1jZWxsLXNwYW5fKCRzaXplLCAkc3BhbiwgJGd1dHRlcikge1xuICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZGMtbGF5b3V0LWdyaWQtY29sdW1ucywgJHNpemUpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHN0eWxlIHNwZWNpZmllZCEgQ2hvb3NlIG9uZSBvZiAje21hcC1rZXlzKCRtZGMtbGF5b3V0LWdyaWQtY29sdW1ucyl9XCI7XG4gIH1cblxuICAkcGVyY2VudDogcGVyY2VudGFnZSgkc3BhbiAvIG1hcC1nZXQoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW5zLCAkc2l6ZSkpO1xuXG4gIEBpZiAkcGVyY2VudCA+IDEwMCUge1xuICAgICRwZXJjZW50OiAxMDAlO1xuICB9XG5cbiAgd2lkdGg6IGNhbGMoI3skcGVyY2VudH0gLSAjeyRndXR0ZXJ9KTtcbiAgd2lkdGg6IGNhbGMoI3skcGVyY2VudH0gLSB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLSN7JHNpemV9LCAjeyRndXR0ZXJ9KSk7XG5cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIG1pbigkc3BhbiwgbWFwLWdldCgkbWRjLWxheW91dC1ncmlkLWNvbHVtbnMsICRzaXplKSk7XG4gIH1cbn1cblxuLy8gUHVibGljIG1peGlucywgbWVhbnQgZm9yIGRldmVsb3BlciB1c2FnZS5cbkBtaXhpbiBtZGMtbGF5b3V0LWdyaWQoJHNpemUsICRtYXJnaW4sICRtYXgtd2lkdGg6IG51bGwpIHtcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWRjLWxheW91dC1ncmlkLWNvbHVtbnMsICRzaXplKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBzdHlsZSBzcGVjaWZpZWQhIENob29zZSBvbmUgb2YgI3ttYXAta2V5cygkbWRjLWxheW91dC1ncmlkLWNvbHVtbnMpfVwiO1xuICB9XG5cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6ICRtYXJnaW47XG4gIHBhZGRpbmc6IHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1tYXJnaW4tI3skc2l6ZX0sICN7JG1hcmdpbn0pO1xuXG4gIEBpZiAkbWF4LXdpZHRoIHtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuQG1peGluIG1kYy1sYXlvdXQtZ3JpZC1pbm5lcigkc2l6ZSwgJG1hcmdpbiwgJGd1dHRlcikge1xuICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZGMtbGF5b3V0LWdyaWQtY29sdW1ucywgJHNpemUpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHN0eWxlIHNwZWNpZmllZCEgQ2hvb3NlIG9uZSBvZiAje21hcC1rZXlzKCRtZGMtbGF5b3V0LWdyaWQtY29sdW1ucyl9XCI7XG4gIH1cblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgbWFyZ2luOiAtJGd1dHRlciAvIDI7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLSN7JHNpemV9LCAjeyRndXR0ZXJ9KSAvIDIgKiAtMSk7XG5cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBtYXJnaW46IDA7XG4gICAgZ3JpZC1nYXA6ICRndXR0ZXI7XG4gICAgZ3JpZC1nYXA6IHZhcigtLW1kYy1sYXlvdXQtZ3JpZC1ndXR0ZXItI3skc2l6ZX0sICRndXR0ZXIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KG1hcC1nZXQoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW5zLCAkc2l6ZSksIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWxheW91dC1ncmlkLWNlbGwoJHNpemUsICRkZWZhdWx0LXNwYW4sICRndXR0ZXIpIHtcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWRjLWxheW91dC1ncmlkLWNvbHVtbnMsICRzaXplKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBzdHlsZSBzcGVjaWZpZWQhIENob29zZSBvbmUgb2YgI3ttYXAta2V5cygkbWRjLWxheW91dC1ncmlkLWNvbHVtbnMpfVwiO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWxheW91dC1ncmlkLWNlbGwtc3Bhbl8oJHNpemUsICRkZWZhdWx0LXNwYW4sICRndXR0ZXIpO1xuXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogJGd1dHRlciAvIDI7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1tZGMtbGF5b3V0LWdyaWQtZ3V0dGVyLSN7JHNpemV9LCAjeyRndXR0ZXJ9KSAvIDIpO1xuXG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWxheW91dC1ncmlkLWNlbGwtb3JkZXIoJG9yZGVyKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbkBtaXhpbiBtZGMtbGF5b3V0LWdyaWQtY2VsbC1hbGlnbigkcG9zaXRpb24pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBcInRvcFwiIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IFwibWlkZGxlXCIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJib3R0b21cIiB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IFwic3RyZXRjaFwiIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtbGF5b3V0LWdyaWQtZml4ZWQtY29sdW1uLXdpZHRoKCRzaXplLCAkbWFyZ2luLCAkZ3V0dGVyLCAkY29sdW1uLXdpZHRoKSB7XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW5zLCAkc2l6ZSkge1xuICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGUgc3BlY2lmaWVkISBDaG9vc2Ugb25lIG9mICN7bWFwLWtleXMoJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW5zKX1cIjtcbiAgfVxuXG4gICRjb2x1bW5Db3VudDogbWFwLWdldCgkbWRjLWxheW91dC1ncmlkLWNvbHVtbnMsICRzaXplKTtcbiAgJGd1dHRlci1udW1iZXI6ICRjb2x1bW5Db3VudCAtIDE7XG4gICRtYXJnaW4tbnVtYmVyOiAyO1xuXG4gIHdpZHRoOiAkY29sdW1uLXdpZHRoICogJGNvbHVtbkNvdW50ICsgJGd1dHRlciAqICRndXR0ZXItbnVtYmVyICsgJG1hcmdpbiAqICRtYXJnaW4tbnVtYmVyO1xuICB3aWR0aDpcbiAgICBjYWxjKFxuICAgICAgdmFyKC0tbWRjLWxheW91dC1ncmlkLWNvbHVtbi13aWR0aC0jeyRzaXplfSwgI3skY29sdW1uLXdpZHRofSkgKiAjeyRjb2x1bW5Db3VudH0gK1xuICAgICAgdmFyKC0tbWRjLWxheW91dC1ncmlkLWd1dHRlci0jeyRzaXplfSwgI3skZ3V0dGVyfSkgKiAjeyRndXR0ZXItbnVtYmVyfSArXG4gICAgICB2YXIoLS1tZGMtbGF5b3V0LWdyaWQtbWFyZ2luLSN7JHNpemV9LCAjeyRtYXJnaW59KSAqICN7JG1hcmdpbi1udW1iZXJ9XG4gICAgKTtcbn1cbiIsIi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuJG1kYy1sYXlvdXQtZ3JpZC1icmVha3BvaW50czogKFxuICBkZXNrdG9wOiA4NDBweCxcbiAgdGFibGV0OiA0ODBweCxcbiAgcGhvbmU6IDBweFxuKSAhZGVmYXVsdDtcblxuJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW5zOiAoXG4gIGRlc2t0b3A6IDEyLFxuICB0YWJsZXQ6IDgsXG4gIHBob25lOiA0XG4pICFkZWZhdWx0O1xuXG4kbWRjLWxheW91dC1ncmlkLWRlZmF1bHQtbWFyZ2luOiAoXG4gIGRlc2t0b3A6IDI0cHgsXG4gIHRhYmxldDogMTZweCxcbiAgcGhvbmU6IDE2cHhcbikgIWRlZmF1bHQ7XG5cbiRtZGMtbGF5b3V0LWdyaWQtZGVmYXVsdC1ndXR0ZXI6IChcbiAgZGVza3RvcDogMjRweCxcbiAgdGFibGV0OiAxNnB4LFxuICBwaG9uZTogMTZweFxuKSAhZGVmYXVsdDtcblxuJG1kYy1sYXlvdXQtZ3JpZC1jb2x1bW4td2lkdGg6IChcbiAgZGVza3RvcDogNzJweCxcbiAgdGFibGV0OiA3MnB4LFxuICBwaG9uZTogNzJweFxuKSAhZGVmYXVsdDtcblxuJG1kYy1sYXlvdXQtZ3JpZC1kZWZhdWx0LWNvbHVtbi1zcGFuOiA0ICFkZWZhdWx0O1xuXG4kbWRjLWxheW91dC1ncmlkLW1heC13aWR0aDogbnVsbCAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vYmFzZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4vbWl4aW5zXCI7XG5cbi8vIExpbmUgUmlwcGxlIGlzIGludGVuZGVkIGZvciB1c2UgYnkgbXVsdGlwbGUgY29tcG9uZW50cywgYnV0IGl0cyBzdHlsZXMgc2hvdWxkIG9ubHkgYmUgZW1pdHRlZCBvbmNlIHdoZW4gYnVuZGxlZFxuQGluY2x1ZGUgbWRjLWJhc2UtZW1pdC1vbmNlKFwibWRjLWxpbmUtcmlwcGxlXCIpIHtcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgbGluZS1yaXBwbGVcbiAgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIHRyYW5zaXRpb246IG1kYy1saW5lLXJpcHBsZS10cmFuc2l0aW9uLXZhbHVlKHRyYW5zZm9ybSksIG1kYy1saW5lLXJpcHBsZS10cmFuc2l0aW9uLXZhbHVlKG9wYWNpdHkpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gIC5tZGMtbGluZS1yaXBwbGUtLWFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5tZGMtbGluZS1yaXBwbGUtLWRlYWN0aXZhdGluZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBrZXlmcmFtZXMgcHJpbWFyeS1pbmRldGVybWluYXRlLXRyYW5zbGF0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNSwgMCwgLjcwMTczMiwgLjQ5NTgxOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgNTkuMTUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjMwMjQzNSwgLjM4MTM1MiwgLjU1LCAuOTU2MzUyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoODMuNjcxNDIlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAuNjExMDU3JSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwcmltYXJ5LWluZGV0ZXJtaW5hdGUtc2NhbGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLjA4KTtcbiAgfVxuXG4gIDM2LjY1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4zMzQ3MzEsIC4xMjQ4MiwgLjc4NTg0NCwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLjA4KTtcbiAgfVxuXG4gIDY5LjE1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4wNiwgLjExLCAuNiwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLjY2MTQ3OSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCguMDgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2Vjb25kYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlIHtcbiAgMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTUsIDAsIC41MTUwNTgsIC40MDk2ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDI1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4zMTAzMywgLjI4NDA1OCwgLjgsIC43MzM3MTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzNy42NTE5MTMlKTtcbiAgfVxuXG4gIDQ4LjM1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40LCAuNjI3MDM1LCAuNiwgLjkwMjAyNik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDg0LjM4NjE2NSUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2MC4yNzc3ODIlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNlY29uZGFyeS1pbmRldGVybWluYXRlLXNjYWxlIHtcbiAgMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjA1MDI4LCAuMDU3MDUxLCAuNTc2NjEsIC40NTM5NzEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC4wOCk7XG4gIH1cblxuICAxOS4xNSUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTUyMzEzLCAuMTk2NDMyLCAuNjQ4Mzc0LCAxLjAwNDMxNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLjQ1NzEwNCk7XG4gIH1cblxuICA0NC4xNSUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjU3NzU5LCAtLjAwMzE2MywgLjIxMTc2MiwgMS4zODE3OSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLjcyNzk2KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC4wOCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBidWZmZXJpbmcge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHByaW1hcnktaW5kZXRlcm1pbmF0ZS10cmFuc2xhdGUtcmV2ZXJzZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNSwgMCwgLjcwMTczMiwgLjQ5NTgxOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgNTkuMTUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjMwMjQzNSwgLjM4MTM1MiwgLjU1LCAuOTU2MzUyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTgzLjY3MTQyJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMC42MTEwNTclKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNlY29uZGFyeS1pbmRldGVybWluYXRlLXRyYW5zbGF0ZS1yZXZlcnNlIHtcbiAgMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTUsIDAsIC41MTUwNTgsIC40MDk2ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDI1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4zMTAzMywgLjI4NDA1OCwgLjgsIC43MzM3MTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzcuNjUxOTEzJSk7XG4gIH1cblxuICA0OC4zNSUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNCwgLjYyNzAzNSwgLjYsIC45MDIwMjYpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtODQuMzg2MTY1JSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE2MC4yNzc3ODIlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJ1ZmZlcmluZy1yZXZlcnNlIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxufVxuIiwiLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5AaW1wb3J0IFwiLi4vYW5pbWF0aW9uL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4va2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4ubWRjLWxpbmVhci1wcm9ncmVzcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zaXRpb246IG1kYy1hbmltYXRpb24tZXhpdC10ZW1wb3Jhcnkob3BhY2l0eSwgMjUwbXMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICZfX2JhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNpdGlvbjogbWRjLWFuaW1hdGlvbi1leGl0LXRlbXBvcmFyeSh0cmFuc2Zvcm0sIDI1MG1zKTtcbiAgfVxuXG4gICZfX2Jhci1pbm5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG5cbiAgJl9fYnVmZmVyaW5nLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYW5pbWF0aW9uOiBidWZmZXJpbmcgMjUwbXMgaW5maW5pdGUgbGluZWFyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggNHB4O1xuICB9XG5cbiAgJl9fYnVmZmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zaXRpb246IG1kYy1hbmltYXRpb24tZXhpdC10ZW1wb3JhcnkodHJhbnNmb3JtLCAyNTBtcyk7XG4gIH1cblxuICAmX19wcmltYXJ5LWJhciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIH1cblxuICAmX19zZWNvbmRhcnktYmFyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAmLS1pbmRldGVybWluYXRlIHtcbiAgICAubWRjLWxpbmVhci1wcm9ncmVzc19fYmFyIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX3ByaW1hcnktYmFyIHtcbiAgICAgIGxlZnQ6IC0xNDUuMTY2NjExJTtcbiAgICAgIGFuaW1hdGlvbjogcHJpbWFyeS1pbmRldGVybWluYXRlLXRyYW5zbGF0ZSAycyBpbmZpbml0ZSBsaW5lYXI7XG5cbiAgICAgID4gLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2Jhci1pbm5lciB7XG4gICAgICAgIGFuaW1hdGlvbjogcHJpbWFyeS1pbmRldGVybWluYXRlLXNjYWxlIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWxpbmVhci1wcm9ncmVzc19fc2Vjb25kYXJ5LWJhciB7XG4gICAgICBsZWZ0OiAtNTQuODg4ODkxJTtcbiAgICAgIGFuaW1hdGlvbjogc2Vjb25kYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgID4gLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2Jhci1pbm5lciB7XG4gICAgICAgIGFuaW1hdGlvbjogc2Vjb25kYXJ5LWluZGV0ZXJtaW5hdGUtc2NhbGUgMnMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXJldmVyc2VkIHtcbiAgICAubWRjLWxpbmVhci1wcm9ncmVzc19fYmFyLFxuICAgIC5tZGMtbGluZWFyLXByb2dyZXNzX19idWZmZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7XG4gICAgfVxuXG4gICAgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX3ByaW1hcnktYmFyIHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBwcmltYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlLXJldmVyc2U7XG4gICAgfVxuXG4gICAgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX3NlY29uZGFyeS1iYXIge1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IHNlY29uZGFyeS1pbmRldGVybWluYXRlLXRyYW5zbGF0ZS1yZXZlcnNlO1xuICAgIH1cblxuICAgIC5tZGMtbGluZWFyLXByb2dyZXNzX19idWZmZXJpbmctZG90cyB7XG4gICAgICBhbmltYXRpb246IGJ1ZmZlcmluZy1yZXZlcnNlIDI1MG1zIGluZmluaXRlIGxpbmVhcjtcbiAgICB9XG4gIH1cblxuICAmLS1jbG9zZWQge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGF0LXJvb3Qge1xuICBAaW5jbHVkZSBtZGMtbGluZWFyLXByb2dyZXNzLWJhci1jb2xvcihwcmltYXJ5KTtcbiAgQGluY2x1ZGUgbWRjLWxpbmVhci1wcm9ncmVzcy1idWZmZXItY29sb3IoJG1kYy1saW5lYXItcHJvZ3Jlc3MtYmFzZWxpbmUtYnVmZmVyLWNvbG9yKTtcbn1cblxuLm1kYy1saW5lYXItcHJvZ3Jlc3MtLWluZGV0ZXJtaW5hdGUubWRjLWxpbmVhci1wcm9ncmVzcy0tcmV2ZXJzZWQge1xuICAubWRjLWxpbmVhci1wcm9ncmVzc19fcHJpbWFyeS1iYXIge1xuICAgIHJpZ2h0OiAtMTQ1LjE2NjYxMSU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC5tZGMtbGluZWFyLXByb2dyZXNzX19zZWNvbmRhcnktYmFyIHtcbiAgICByaWdodDogLTU0Ljg4ODg5MSU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuIiwiLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vdGhlbWUvdmFyaWFibGVzXCI7IC8vIGZvciBtZGMtdGhlbWUtcHJvcC12YWx1ZVxuXG5AbWl4aW4gbWRjLWxpbmVhci1wcm9ncmVzcy1iYXItY29sb3IoJGNvbG9yKSB7XG4gIC5tZGMtbGluZWFyLXByb2dyZXNzX19iYXItaW5uZXIge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1saW5lYXItcHJvZ3Jlc3MtYnVmZmVyLWNvbG9yKCRjb2xvcikge1xuICAvLyBXZSBuZWVkIHRvIGVzY2FwZSB0aGUgJyMnIGNoYXJhY3RlciBhcyBcIiUyM1wiIGZvciBTVkcgYmVjYXVzZSAnIycgaXMgYSByZXNlcnZlZCBjaGFyYWN0ZXIgaW4gVVJJcy5cbiAgJGNvbG9yLXZhbHVlLWZvci1jc3M6IG1kYy10aGVtZS1wcm9wLXZhbHVlKCRjb2xvcik7XG4gICRjb2xvci12YWx1ZS1mb3Itc3ZnOiBtZGMtbGluZWFyLXByb2dyZXNzLXN0ci1yZXBsYWNlXyh1bnF1b3RlKFwiI3skY29sb3ItdmFsdWUtZm9yLWNzc31cIiksIFwiI1wiLCBcIiUyM1wiKTtcblxuICAubWRjLWxpbmVhci1wcm9ncmVzc19fYnVmZmVyaW5nLWRvdHMge1xuICAgIC8vIFNWRyBpcyBvcHRpbWl6ZWQgZm9yIGRhdGEgVVJJIChodHRwczovL2NvZGVwZW4uaW8vdGlndC9wb3N0L29wdGltaXppbmctc3Zncy1pbi1kYXRhLXVyaXMpXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZ1bmN0aW9uLXVybC1xdW90ZXNcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeD0nMHB4JyB5PScwcHgnIGVuYWJsZS1iYWNrZ3JvdW5kPSduZXcgMCAwIDUgMicgeG1sOnNwYWNlPSdwcmVzZXJ2ZScgdmlld0JveD0nMCAwIDUgMicgcHJlc2VydmVBc3BlY3RSYXRpbz0nbm9uZSBzbGljZSclM0UlM0NjaXJjbGUgY3g9JzEnIGN5PScxJyByPScxJyBmaWxsPScjeyRjb2xvci12YWx1ZS1mb3Itc3ZnfScvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gIC5tZGMtbGluZWFyLXByb2dyZXNzX19idWZmZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci12YWx1ZS1mb3ItY3NzO1xuICB9XG59XG5cbi8vIEJhc2VkIG9uIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9zdHItcmVwbGFjZS1mdW5jdGlvbi9cbkBmdW5jdGlvbiBtZGMtbGluZWFyLXByb2dyZXNzLXN0ci1yZXBsYWNlXygkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZSkge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICAkaGVhZDogc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpO1xuICAgICR0YWlsOiBtZGMtbGluZWFyLXByb2dyZXNzLXN0ci1yZXBsYWNlXyhzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcblxuICAgIEByZXR1cm4gJGhlYWQgKyAkcmVwbGFjZSArICR0YWlsO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuIiwiLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG4kbWRjLWxpbmVhci1wcm9ncmVzcy1iYXNlbGluZS1idWZmZXItY29sb3I6ICNlNmU2ZTYgIWRlZmF1bHQ7XG4iLCIvLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbiRtZGMtbGlzdC1kaXZpZGVyLWNvbG9yLW9uLWxpZ2h0LWJnOiByZ2JhKDAsIDAsIDAsIC4xMikgIWRlZmF1bHQ7XG4kbWRjLWxpc3QtZGl2aWRlci1jb2xvci1vbi1kYXJrLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKSAhZGVmYXVsdDtcbiRtZGMtbGlzdC1zaWRlLXBhZGRpbmc6IDE2cHggIWRlZmF1bHQ7XG4kbWRjLWxpc3QtdGV4dC1vZmZzZXQ6IDcycHggIWRlZmF1bHQ7XG4iLCIvL1xyXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxyXG4vL1xyXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XHJcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcclxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xyXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXHJcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xyXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxyXG4vL1xyXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxyXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cclxuLy9cclxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxyXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcclxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXHJcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcclxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcclxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxyXG4vLyBUSEUgU09GVFdBUkUuXHJcbi8vXHJcblxyXG5AaW1wb3J0IFwiLi4vZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uL3J0bC9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uL2xpc3QvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi9saXN0L3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiLi4vcmlwcGxlL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcclxuXHJcbkBtaXhpbiBtZGMtbWVudS1jb3JlLXN0eWxlcygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XHJcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XHJcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcclxuXHJcbiAgQGluY2x1ZGUgbWRjLXJpcHBsZS1jb21tb24oJHF1ZXJ5KTtcclxuXHJcbiAgLy8gQ3VzdG9taXplIHRoZSBtZW51LXN1cmZhY2UgYW5kIGNvbnRhaW5lZCBsaXN0IHRvIG1hdGNoIHRoZSBtZGMtbWVudSBzdHlsZXMuXHJcbiAgLm1kYy1tZW51IHtcclxuICAgIEBpbmNsdWRlIG1kYy1saXN0LWl0ZW0tbWV0YS1pbmstY29sb3IoJG1kYy1tZW51LWluay1jb2xvciwgJHF1ZXJ5KTtcclxuICAgIEBpbmNsdWRlIG1kYy1saXN0LWl0ZW0tZ3JhcGhpYy1pbmstY29sb3IoJG1kYy1tZW51LWluay1jb2xvciwgJHF1ZXJ5KTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgICBtaW4td2lkdGg6ICRtZGMtbWVudS1taW4td2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW5jbHVkZSBtZGMtbGlzdCBzZWxlY3RvciB0byBlbnN1cmUgbGlzdC1pbnNpZGUtbWVudSBvdmVycmlkZXMgZGVmYXVsdCBsaXN0IHN0eWxlc1xyXG4gICAgLm1kYy1saXN0IHtcclxuICAgICAgQGluY2x1ZGUgbWRjLWxpc3QtaXRlbS1wcmltYXJ5LXRleHQtaW5rLWNvbG9yKCRtZGMtbWVudS1pbmstY29sb3IsICRxdWVyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm1kYy1saXN0LWRpdmlkZXIge1xyXG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgICAgIG1hcmdpbjogOHB4IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWRjLWxpc3QtaXRlbSB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQge1xyXG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgICAgIGN1cnNvcjogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXHJcbiAgICBhLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX3RleHQsXHJcbiAgICBhLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xyXG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxyXG4gIH1cclxuXHJcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgbWVudVxyXG4gIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIHtcclxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAubWRjLWxpc3QtaXRlbSB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgNTZweCwgJG1kYy1saXN0LXNpZGUtcGFkZGluZyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBFeHRyYSBzcGVjaWZpY2l0eSByZXF1aXJlZCB0byBvdmVycmlkZSBgZGlzcGxheWAgcHJvcGVydHkgb24gYG1kYy1saXN0LWl0ZW1fX2dyYXBoaWNgLlxyXG4gICAgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAtaWNvbiB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgMTZweCk7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXHJcblxyXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cclxuICAubWRjLW1lbnUtaXRlbS0tc2VsZWN0ZWQgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAtaWNvbiB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLW1lbnUtd2lkdGgoJHdpZHRoLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XHJcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xyXG5cclxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xyXG4gICAgQGlmIHVuaXRsZXNzKCR3aWR0aCkge1xyXG4gICAgICB3aWR0aDogJHdpZHRoICogJG1kYy1tZW51LXdpZHRoLWJhc2U7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZS92YXJpYWJsZXNcIjtcblxuJG1kYy1tZW51LWluay1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgbWRjLXRoZW1lLXRleHQtZW1waGFzaXMoaGlnaCkpICFkZWZhdWx0O1xuXG4kbWRjLW1lbnUtd2lkdGgtYmFzZTogNTZweCAhZGVmYXVsdDtcbiRtZGMtbWVudS1taW4td2lkdGg6IDIgKiAkbWRjLW1lbnUtd2lkdGgtYmFzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vc2hhcGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL2VsZXZhdGlvbi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuLy9cbi8vIFB1YmxpY1xuLy9cblxuQG1peGluIG1kYy1tZW51LXN1cmZhY2UtY29yZS1zdHlsZXMoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIG1lbnUtc3VyZmFjZVxuICAubWRjLW1lbnUtc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgbWRjLW1lbnUtc3VyZmFjZS1iYXNlXygkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1lbGV2YXRpb24oJHotdmFsdWU6IDgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtbWVudS1zdXJmYWNlLWZpbGwtY29sb3Ioc3VyZmFjZSwgJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtbWVudS1zdXJmYWNlLWluay1jb2xvcihvbi1zdXJmYWNlLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1tZW51LXN1cmZhY2Utc2hhcGUtcmFkaXVzKG1lZGl1bSwgZmFsc2UsICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkodHJhbnNmb3JtLW9yaWdpbiwgdG9wIGxlZnQsIHRvcCByaWdodCk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1tZW51LXN1cmZhY2UtLWFuY2hvciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbWVudS1zdXJmYWNlLS1maXhlZCB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbn1cblxuQG1peGluIG1kYy1tZW51LXN1cmZhY2UtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1tZW51LXN1cmZhY2UtZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1tZW51LXN1cmZhY2Utc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbi8vXG4vLyBQcml2YXRlXG4vL1xuXG5AbWl4aW4gbWRjLW1lbnUtc3VyZmFjZS1iYXNlXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtICN7JG1kYy1tZW51LXN1cmZhY2UtbWluLWRpc3RhbmNlLWZyb20tZWRnZX0pO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRtZGMtbWVudS1zdXJmYWNlLW1pbi1kaXN0YW5jZS1mcm9tLWVkZ2V9KTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB6LWluZGV4OiAkbWRjLW1lbnUtc3VyZmFjZS16LWluZGV4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgb3BhY2l0eSAkbWRjLW1lbnUtc3VyZmFjZS1mYWRlLWluLWR1cmF0aW9uIGxpbmVhcixcbiAgICAgIHRyYW5zZm9ybSAkbWRjLW1lbnUtc3VyZmFjZS1zY2FsZS1kdXJhdGlvbiAkbWRjLWFuaW1hdGlvbi1kZWNlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICYtLW9wZW4ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmLS1hbmltYXRpbmctb3BlbiB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAmLS1hbmltYXRpbmctY2xvc2VkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkbWRjLW1lbnUtc3VyZmFjZS1mYWRlLW91dC1kdXJhdGlvbiBsaW5lYXI7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuJG1kYy1tZW51LXN1cmZhY2UtZmFkZS1pbi1kdXJhdGlvbjogLjAzcyAhZGVmYXVsdDtcbiRtZGMtbWVudS1zdXJmYWNlLWZhZGUtb3V0LWR1cmF0aW9uOiAuMDc1cyAhZGVmYXVsdDtcbiRtZGMtbWVudS1zdXJmYWNlLXNjYWxlLWR1cmF0aW9uOiAuMTJzICFkZWZhdWx0O1xuJG1kYy1tZW51LXN1cmZhY2UtbWluLWRpc3RhbmNlLWZyb20tZWRnZTogMzJweCAhZGVmYXVsdDtcbiRtZGMtbWVudS1zdXJmYWNlLXotaW5kZXg6IDggIWRlZmF1bHQ7IC8vIE9uZSBhYm92ZSBtZGMtZGlhbG9nXG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi9iYXNlL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3J0bC9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbi8vIE5vdGNoZWQgT3V0bGluZSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IG11bHRpcGxlIGNvbXBvbmVudHMsIGJ1dCBpdHMgc3R5bGVzIHNob3VsZCBvbmx5IGJlIGVtaXR0ZWQgb25jZSB3aGVuIGJ1bmRsZWRcbkBpbmNsdWRlIG1kYy1iYXNlLWVtaXQtb25jZShcIm1kYy1ub3RjaGVkLW91dGxpbmVcIikge1xuICAubWRjLW5vdGNoZWQtb3V0bGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZGMtcnRsIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgICZfX2xlYWRpbmcsXG4gICAgJl9fbm90Y2gsXG4gICAgJl9fdHJhaWxpbmcge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciAkbWRjLW5vdGNoZWQtb3V0bGluZS10cmFuc2l0aW9uLWR1cmF0aW9uICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICZfX2xlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkoYm9yZGVyLCAxcHggc29saWQsIG5vbmUpO1xuXG4gICAgICB3aWR0aDogJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aDtcbiAgICB9XG5cbiAgICAmX190cmFpbGluZyB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShib3JkZXIsIG5vbmUsIDFweCBzb2xpZCk7XG5cbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAmX19ub3RjaCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAjeyRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGh9ICogMik7XG4gICAgfVxuXG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDE3cHg7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgICB9XG5cbiAgICAmLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAvIC43NSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQge1xuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gocGFkZGluZywgcmlnaHQsIDhweCk7XG5cbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vLWxhYmVsIHtcbiAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kbWRjLW5vdGNoZWQtb3V0bGluZS10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcyAhZGVmYXVsdDtcbi8vIEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggY29uc3RhbnRzLm51bWJlcnMuTUlOX0xFQURJTkdfU1RST0tFX0VER0VfUE9TSVRJT05cbiRtZGMtbm90Y2hlZC1vdXRsaW5lLW1pbi1sZWFkaW5nLXN0cm9rZS1lZGdlLXBvc2l0aW9uOiAxMnB4ICFkZWZhdWx0O1xuLy8gVGhlIGdhcCBiZXR3ZWVuIHRoZSBzdHJva2UgZW5kIGFuZCBmbG9hdGluZyBsYWJlbFxuLy8gS2VlcCB0aGlzIGluIHN5bmMgd2l0aCBjb25zdGFudHMubnVtYmVycy5OT1RDSF9HVVRURVJfU0laRVxuJG1kYy1ub3RjaGVkLW91dGxpbmUtbm90Y2gtZ3V0dGVyLXNpemU6IDRweCAhZGVmYXVsdDtcbiRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGg6IDEycHggIWRlZmF1bHQ7XG4kbWRjLW5vdGNoZWQtb3V0bGluZS1wYWRkaW5nOiA0cHggIWRlZmF1bHQ7XG4vLyBUaGlzIHZhcmlhYmxlIGtlZXBzIHRoZSBiZWZvcmUvYWZ0ZXIgSlMgbGFiZWwgY2VudGVyZWQgaW4gdGhlIG5vdGNoIHdoZW4gdGhlIGZvbnQtc2l6ZSBpcyBjaGFuZ2VkLlxuJG1kYy1ub3RjaGVkLW91dGxpbmUtbGFiZWwtYWRqdXN0OiAxNCUgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2FuaW1hdGlvbi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vcmlwcGxlL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1yYWRpby1jb3JlLXN0eWxlcygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1yYWRpby13aXRob3V0LXJpcHBsZSgkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtcmFkaW8tcmlwcGxlKCRxdWVyeSk7XG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIHJhZGlvIHN0eWxlcy4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBtb3N0IHVzZXJzIHVzZSBgbWRjLXJhZGlvLWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIG1kYy1yYWRpby13aXRob3V0LXJpcHBsZSgkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHJhZGlvXG5cbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1yYWRpbyB7XG4gICAgQGluY2x1ZGUgbWRjLXJhZGlvLXVuY2hlY2tlZC1zdHJva2UtY29sb3IoJG1kYy1yYWRpby11bmNoZWNrZWQtY29sb3IsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXJhZGlvLWNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRtZGMtcmFkaW8tYmFzZWxpbmUtdGhlbWUtY29sb3IsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXJhZGlvLWluay1jb2xvcigkbWRjLXJhZGlvLWJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1yYWRpby1mb2N1cy1pbmRpY2F0b3ItY29sb3IoJG1kYy1yYWRpby1iYXNlbGluZS10aGVtZS1jb2xvciwgJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogJG1kYy1yYWRpby10b3VjaC1hcmVhO1xuICAgICAgaGVpZ2h0OiAkbWRjLXJhZGlvLXRvdWNoLWFyZWE7XG4gICAgICBwYWRkaW5nOiAoJG1kYy1yYWRpby10b3VjaC1hcmVhIC0gJG1kYy1yYWRpby11aS1zaXplKSAvIDI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBib3JkZXItY29sb3IsIGNvbG9yO1xuICAgIH1cblxuICAgIC8vIENvbnRhaW5lciBmb3IgcmFkaW8gY2lyY2xlcyBhbmQgcmlwcGxlLlxuICAgICZfX2JhY2tncm91bmQge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6ICgkbWRjLXJhZGlvLXRvdWNoLWFyZWEgLSAkbWRjLXJhZGlvLXVpLXNpemUpIC8gMjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6ICRtZGMtcmFkaW8tdWktcGN0O1xuICAgICAgICBoZWlnaHQ6ICRtZGMtcmFkaW8tdWktcGN0O1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBtZGMtcmFkaW8tZXhpdChvcGFjaXR5KSwgbWRjLXJhZGlvLWV4aXQodHJhbnNmb3JtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX291dGVyLWNpcmNsZSB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbWRjLXJhZGlvLWV4aXQoYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lci1jaXJjbGUge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMTBweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIG1kYy1yYWRpby1leGl0KHRyYW5zZm9ybSksXG4gICAgICAgICAgbWRjLXJhZGlvLWV4aXQoYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXRpdmUtY29udHJvbCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBjdXJzb3I6IGluaGVyaXQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCxcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICAgICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIG1kYy1yYWRpby1lbnRlcihvcGFjaXR5KSxcbiAgICAgICAgICBtZGMtcmFkaW8tZW50ZXIodHJhbnNmb3JtKTtcbiAgICAgIH1cblxuICAgICAgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBtZGMtcmFkaW8tZW50ZXIoYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBtZGMtcmFkaW8tZW50ZXIodHJhbnNmb3JtKSxcbiAgICAgICAgICAgIG1kYy1yYWRpby1lbnRlcihib3JkZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1yYWRpby0tZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpjaGVja2VkIHtcbiAgICArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICAgICAgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIG1kYy1yYWRpby1lbnRlcih0cmFuc2Zvcm0pLFxuICAgICAgICAgICAgbWRjLXJhZGlvLWVudGVyKGJvcmRlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCxcbiAgW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sIHtcbiAgICArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuXG4gICAgICAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICAgICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWRjLXJhZGlvLWNpcmNsZS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWRjLXJhZGlvLWNpcmNsZS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmZvY3VzIHtcbiAgICArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDIsIDIpO1xuICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRtZGMtcmlwcGxlLWRhcmstaW5rLW9wYWNpdGllcywgZm9jdXMpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIG1kYy1yYWRpby1lbnRlcihvcGFjaXR5KSxcbiAgICAgICAgICBtZGMtcmFkaW8tZW50ZXIodHJhbnNmb3JtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxufVxuXG4vLyBUaGlzIEFQSSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IGZyYW1ld29ya3MgdGhhdCBtYXkgd2FudCB0byBzZXBhcmF0ZSB0aGUgcmlwcGxlLXJlbGF0ZWQgc3R5bGVzIGZyb20gdGhlIG90aGVyXG4vLyByYWRpbyBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1yYWRpby1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiBtZGMtcmFkaW8tcmlwcGxlKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtcmlwcGxlLWNvbW1vbigkcXVlcnkpO1xuXG4gIC5tZGMtcmFkaW8ge1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZSgkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLXVuYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcygkbWRjLXJhZGlvLWJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCB7XG4gICAgICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1yYWRpby11bmNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXNwZWNpZmljaXR5XG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKSArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtcmFkaW8tY2hlY2tlZC1zdHJva2UtY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHlcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJvcmRlci1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1yYWRpby1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHlcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtcmFkaW8tZm9jdXMtaW5kaWNhdG9yLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvciwgJGVkZ2VPcHRPdXQ6IHRydWUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi90aGVtZS92YXJpYWJsZXNcIjtcblxuJG1kYy1yYWRpby10b3VjaC1hcmVhOiA0MHB4ICFkZWZhdWx0O1xuJG1kYy1yYWRpby11aS1zaXplOiAyMHB4ICFkZWZhdWx0O1xuJG1kYy1yYWRpby11aS1wY3Q6IHBlcmNlbnRhZ2UoJG1kYy1yYWRpby11aS1zaXplIC8gJG1kYy1yYWRpby10b3VjaC1hcmVhKSAhZGVmYXVsdDtcbiRtZGMtcmFkaW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMTIwbXMgIWRlZmF1bHQ7XG4kbWRjLXJhZGlvLXJpcHBsZS1vcGFjaXR5OiAuMTQgIWRlZmF1bHQ7XG4kbWRjLXJhZGlvLWJhc2VsaW5lLXRoZW1lLWNvbG9yOiBzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kbWRjLXJhZGlvLXVuY2hlY2tlZC1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjU0KSAhZGVmYXVsdDtcbiRtZGMtcmFkaW8tY2lyY2xlLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMjYpICFkZWZhdWx0O1xuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBrZXlmcmFtZXMgbWRjLXNlbGVjdC1mbG9hdC1uYXRpdmUtY29udHJvbCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsIi8vICBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyAgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vICB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyAgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyAgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczovXG4vL1xuLy8gIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyAgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuL1xuLy9cbi8vICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyAgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyAgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyAgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi8uLi90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBQdWJsaWMgbWl4aW5zXG5cbkBtaXhpbiBtZGMtc2VsZWN0LWljb24tY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtaWNvbi1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG4vLyBQcml2YXRlIG1peGluc1xuXG5AbWl4aW4gbWRjLXNlbGVjdC1pY29uXyB7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtaWNvbi1jb2xvcihvbi1zdXJmYWNlKTtcblxuICAubWRjLXNlbGVjdF9faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDE2cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG1kYy1zZWxlY3QtaWNvbi1zaXplO1xuICAgIGhlaWdodDogJG1kYy1zZWxlY3QtaWNvbi1zaXplO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgb3BhY2l0eTogJG1kYy1zZWxlY3QtaWNvbi1vcGFjaXR5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtaWNvbi1jb2xvcl8oJGNvbG9yKSB7XG4gIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1pY29uLWhvcml6b250YWwtcG9zaXRpb25fKCRpY29uUG9zaXRpb24sICRpbnB1dFBhZGRpbmcpIHtcbiAgLm1kYy1zZWxlY3RfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRpY29uUG9zaXRpb24pO1xuICB9XG5cbiAgLy8gTW92ZSB0aGUgaW5wdXQncyBwb3NpdGlvbiwgdG8gYWxsb3cgcm9vbSBmb3IgdGhlIGljb25cbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgJGlucHV0UGFkZGluZyAvKiBsZWZ0ICovLCAkbWRjLXNlbGVjdC1pY29uLXJpZ2h0LXBhZGRpbmcgLyogcmlnaHQgKi8pO1xuICB9XG59XG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG4kbWRjLXNlbGVjdC1pY29uLXNpemU6IDI0cHggIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1pY29uLW9wYWNpdHk6IC41NCAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LWljb24tY29sb3I6IG9uLXN1cmZhY2UgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1pY29uLXJpZ2h0LXBhZGRpbmc6IDMycHggIWRlZmF1bHQ7XG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIHtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1pY29uXztcbn1cblxuLm1kYy1zZWxlY3RfX2ljb246bm90KFt0YWJpbmRleF0pLFxuLm1kYy1zZWxlY3RfX2ljb25bdGFiaW5kZXg9XCItMVwiXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vdHlwb2dyYXBoeS9taXhpbnNcIjtcblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgc2VsZWN0LWhlbHBlci10ZXh0XG4ubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KGNhcHRpb24pO1xuICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1iYXNlbGluZS10b3AoMTZweCk7XG5cbiAgbWFyZ2luOiAwO1xuICB0cmFuc2l0aW9uOiBtZGMtc2VsZWN0LXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gIG9wYWNpdHk6IDA7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4ubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tcGVyc2lzdGVudCB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG4gIHdpbGwtY2hhbmdlOiBpbml0aWFsO1xufVxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbiIsIi8vXHJcbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXHJcbi8vXHJcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcclxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxyXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXHJcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcclxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXHJcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XHJcbi8vXHJcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXHJcbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxyXG4vL1xyXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXHJcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxyXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcclxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxyXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxyXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXHJcbi8vIFRIRSBTT0ZUV0FSRS5cclxuLy9cclxuXHJcbkBpbXBvcnQgXCIuL2tleWZyYW1lc1wiO1xyXG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9hbmltYXRpb24vdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9saW5lLXJpcHBsZS9tZGMtbGluZS1yaXBwbGVcIjtcclxuQGltcG9ydCBcIi4uL25vdGNoZWQtb3V0bGluZS9tZGMtbm90Y2hlZC1vdXRsaW5lXCI7XHJcbkBpbXBvcnQgXCIuLi9mbG9hdGluZy1sYWJlbC9tZGMtZmxvYXRpbmctbGFiZWxcIjtcclxuQGltcG9ydCBcIi4uL3R5cG9ncmFwaHkvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi9yaXBwbGUvY29tbW9uXCI7XHJcbkBpbXBvcnQgXCIuLi9yaXBwbGUvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi9ydGwvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuL2ljb24vbWRjLXNlbGVjdC1pY29uXCI7XHJcbkBpbXBvcnQgXCIuL2hlbHBlci10ZXh0L21kYy1zZWxlY3QtaGVscGVyLXRleHRcIjtcclxuQGltcG9ydCBcIi4vaGVscGVyLXRleHQvbWl4aW5zXCI7XHJcblxyXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBzZWxlY3RcclxuLm1kYy1zZWxlY3Qge1xyXG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtY29udGFpbmVyLWZpbGwtY29sb3IoJG1kYy1zZWxlY3QtZmlsbC1jb2xvcik7XHJcbiAgQGluY2x1ZGUgbWRjLXJpcHBsZS1zdXJmYWNlO1xyXG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLWJvdW5kZWQ7XHJcbiAgLy8gU2VsZWN0IGludGVudGlvbmFsbHkgb21pdHMgcHJlc3MgcmlwcGxlLCBzbyBlYWNoIHN0YXRlIG5lZWRzIHRvIGJlIHNwZWNpZmllZCBpbmRpdmlkdWFsbHkuXHJcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRtZGMtc2VsZWN0LWluay1jb2xvcik7XHJcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KG1kYy1zdGF0ZXMtb3BhY2l0eSgkbWRjLXNlbGVjdC1pbmstY29sb3IsIGhvdmVyKSk7XHJcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1mb2N1cy1vcGFjaXR5KG1kYy1zdGF0ZXMtb3BhY2l0eSgkbWRjLXNlbGVjdC1pbmstY29sb3IsIGZvY3VzKSk7XHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1pbmstY29sb3IoJG1kYy1zZWxlY3QtaW5rLWNvbG9yKTtcclxuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWxhYmVsLWNvbG9yKCRtZGMtc2VsZWN0LWxhYmVsLWNvbG9yKTtcclxuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWJvdHRvbS1saW5lLWNvbG9yKCRtZGMtc2VsZWN0LWJvdHRvbS1saW5lLWlkbGUtY29sb3IpO1xyXG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtaGVscGVyLXRleHQtY29sb3IoJG1kYy1zZWxlY3QtaGVscGVyLXRleHQtY29sb3IpO1xyXG4gIEBpbmNsdWRlIG1kYy1zZWxlY3Qtc2hhcGUtcmFkaXVzKHNtYWxsKTtcclxuXHJcbiAgLy8gRm9jdXNlZCBzdGF0ZSBjb2xvcnNcclxuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtYm90dG9tLWxpbmUtY29sb3IocHJpbWFyeSk7XHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLWxhYmVsLWNvbG9yKCRtZGMtc2VsZWN0LWZvY3VzZWQtbGFiZWwtY29sb3IpO1xyXG5cclxuICAvLyBIb3ZlciBzdGF0ZSBjb2xvcnNcclxuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWhvdmVyLWJvdHRvbS1saW5lLWNvbG9yKCRtZGMtc2VsZWN0LWJvdHRvbS1saW5lLWhvdmVyLWNvbG9yKTtcclxuICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oJG1kYy1zZWxlY3QtbGFiZWwtcG9zaXRpb24teSk7XHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mbG9hdGluZy1sYWJlbF87XHJcblxyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGhlaWdodDogJG1kYy1zZWxlY3QtaGVpZ2h0O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgLyogQGFsdGVybmF0ZSAqL1xyXG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGNvbG9yO1xyXG5cclxuICAmX19kcm9wZG93bi1pY29uIHtcclxuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtZGQtYXJyb3ctc3ZnLWJnXygkbWRjLXNlbGVjdC1kcm9wZG93bi1jb2xvciwgJG1kYy1zZWxlY3QtZHJvcGRvd24tb3BhY2l0eSk7XHJcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZShsZWZ0LCBhdXRvLCByaWdodCwgOHB4KTtcclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDE2cHg7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkbWRjLXNlbGVjdC1kcm9wZG93bi10cmFuc2l0aW9uLWR1cmF0aW9uICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgIC5tZGMtc2VsZWN0LS1mb2N1c2VkICYge1xyXG4gICAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWRkLWFycm93LXN2Zy1iZ18obWRjLXRoZW1lLXByb3AtdmFsdWUocHJpbWFyeSksIDEpO1xyXG5cclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVZKC01cHgpO1xyXG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG1kYy1zZWxlY3QtZHJvcGRvd24tdHJhbnNpdGlvbi1kdXJhdGlvbiAkbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19uYXRpdmUtY29udHJvbCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtZm9jdXNlZC1saW5lLXJpcHBsZV8ge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDIpO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWRjLXNlbGVjdC1oZWxwZXItdGV4dF87XHJcbkBpbmNsdWRlIG1kYy1zZWxlY3QtdGV4dC1hbmQtY29udHJvbF8oKTtcclxuXHJcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1vdXRsaW5lZF87XHJcbn1cclxuXHJcbi5tZGMtc2VsZWN0LS1pbnZhbGlkIHtcclxuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWxhYmVsLWNvbG9yKCRtZGMtc2VsZWN0LWVycm9yLWNvbG9yKTtcclxuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWJvdHRvbS1saW5lLWNvbG9yKCRtZGMtc2VsZWN0LWVycm9yLWNvbG9yKTtcclxuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtYm90dG9tLWxpbmUtY29sb3IoJG1kYy1zZWxlY3QtZXJyb3ItY29sb3IpO1xyXG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtZm9jdXNlZC1sYWJlbC1jb2xvcigkbWRjLXNlbGVjdC1lcnJvci1jb2xvcik7XHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1oZWxwZXItdGV4dC12YWxpZGF0aW9uLWNvbG9yKCRtZGMtc2VsZWN0LWVycm9yLWNvbG9yKTtcclxuXHJcbiAgLy8gSG92ZXIgc3RhdGUgY29sb3JzXHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ob3Zlci1ib3R0b20tbGluZS1jb2xvcigkbWRjLXNlbGVjdC1lcnJvci1jb2xvcik7XHJcblxyXG4gICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xyXG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1vdXRsaW5lLWNvbG9yKCRtZGMtc2VsZWN0LWVycm9yLWNvbG9yKTtcclxuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtaG92ZXItb3V0bGluZS1jb2xvcigkbWRjLXNlbGVjdC1lcnJvci1jb2xvcik7XHJcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtb3V0bGluZS1jb2xvcigkbWRjLXNlbGVjdC1lcnJvci1jb2xvcik7XHJcbiAgfVxyXG5cclxuICAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XHJcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWRkLWFycm93LXN2Zy1iZ18oJG1kYy1zZWxlY3QtZXJyb3ItY29sb3IsIDEpO1xyXG4gIH1cclxuXHJcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxyXG4gICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4ubWRjLXNlbGVjdC0tcmVxdWlyZWQge1xyXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cclxuICAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIipcIjtcclxuICB9XHJcbn1cclxuXHJcbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCB7XHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1kaXNhYmxlZF87XHJcbn1cclxuXHJcbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiB7XHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC13aXRoLWxlYWRpbmctaWNvbl87XHJcbn1cclxuXHJcbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQge1xyXG4gIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCBvbi1zdXJmYWNlKTtcclxuICBAaW5jbHVkZSBtZGMtc3RhdGVzKG9uLXN1cmZhY2UpO1xyXG59XHJcblxyXG5AaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2Uta2V5ZnJhbWVzKFxyXG4gIHNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24sXHJcbiAgJG1kYy1zZWxlY3Qtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSxcclxuICAkbWRjLXNlbGVjdC1vdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14XHJcbik7XHJcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXMoXHJcbiAgc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbi1ydGwsXHJcbiAgJG1kYy1zZWxlY3Qtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSxcclxuICAtJG1kYy1zZWxlY3Qtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teFxyXG4pO1xyXG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZS92YXJpYWJsZXNcIjtcblxuJG1kYy1zZWxlY3QtYXJyb3ctcGFkZGluZzogNTJweCAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LWxhYmVsLXBhZGRpbmc6IDE2cHggIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1oZWlnaHQ6IDU2cHggIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1pY29uLXBhZGRpbmc6IDQ4cHggIWRlZmF1bHQ7XG5cbiRtZGMtc2VsZWN0LWluay1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KSAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LWRyb3Bkb3duLWNvbG9yOiBtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LWljb24tY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC41NCkgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1sYWJlbC1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjYpICFkZWZhdWx0O1xuJG1kYy1zZWxlY3QtZm9jdXNlZC1sYWJlbC1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShwcmltYXJ5KSwgLjg3KSAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LWJvdHRvbS1saW5lLWlkbGUtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC40MikgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1ib3R0b20tbGluZS1ob3Zlci1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KSAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LWhlbHBlci10ZXh0LWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNikgIWRlZmF1bHQ7XG5cbiRtZGMtc2VsZWN0LWZpbGwtY29sb3I6IG1peChtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgbWRjLXRoZW1lLXByb3AtdmFsdWUoc3VyZmFjZSksIDQlKSAhZGVmYXVsdDtcblxuJG1kYy1zZWxlY3Qtb3V0bGluZWQtaWRsZS1ib3JkZXI6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4yNCkgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1kcm9wZG93bi1vcGFjaXR5OiAuNTQgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGVkIFN0eWxlc1xuJG1kYy1zZWxlY3QtZGlzYWJsZWQtbGFiZWwtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zNykgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1kaXNhYmxlZC1pY29uLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzcpICFkZWZhdWx0O1xuJG1kYy1zZWxlY3QtZGlzYWJsZWQtaW5rLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzcpICFkZWZhdWx0O1xuJG1kYy1zZWxlY3QtZGlzYWJsZWQtZmlsbC1jb2xvcjogbWl4KG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCBtZGMtdGhlbWUtcHJvcC12YWx1ZShzdXJmYWNlKSwgMiUpICFkZWZhdWx0O1xuJG1kYy1zZWxlY3QtZGlzYWJsZWQtZHJvcGRvd24tb3BhY2l0eTogLjM3ICFkZWZhdWx0O1xuXG4vLyBzaG91bGQgYmUgLjA2IGFmdGVyIG1kYy1zZWxlY3Qgb3BhY2l0eSBpcyBhcHBsaWVkXG4kbWRjLXNlbGVjdC1vdXRsaW5lZC1kaXNhYmxlZC1ib3JkZXI6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4xNikgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1vdXRsaW5lZC1ob3Zlci1ib3JkZXI6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC44NykgIWRlZmF1bHQ7XG5cbiRtZGMtc2VsZWN0LWxhYmVsLXBvc2l0aW9uLXk6IDcwJSAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LW91dGxpbmUtbGFiZWwtb2Zmc2V0OiAxNnB4ICFkZWZhdWx0O1xuJG1kYy1zZWxlY3Qtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teTogMTMwJSAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LW91dGxpbmVkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXk6IDExMCUgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1vdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14OiAzMnB4ICFkZWZhdWx0O1xuXG4kbWRjLXNlbGVjdC1kcm9wZG93bi10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcyAhZGVmYXVsdDtcblxuLy8gRXJyb3IgY29sb3JzXG4kbWRjLXNlbGVjdC1lcnJvci1jb2xvcjogZXJyb3IgIWRlZmF1bHQ7XG4iLCIvL1xyXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxyXG4vL1xyXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XHJcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcclxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xyXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXHJcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xyXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxyXG4vL1xyXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxyXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cclxuLy9cclxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxyXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcclxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXHJcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcclxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcclxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxyXG4vLyBUSEUgU09GVFdBUkUuXHJcbi8vXHJcblxyXG5AaW1wb3J0IFwiLi4vZmxvYXRpbmctbGFiZWwvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uL3NoYXBlL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vc2hhcGUvZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9saW5lLXJpcHBsZS9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uL25vdGNoZWQtb3V0bGluZS9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uL25vdGNoZWQtb3V0bGluZS92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4vaWNvbi9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XHJcblxyXG4vLyBQdWJsaWNcclxuXHJcbkBtaXhpbiBtZGMtc2VsZWN0LWluay1jb2xvcigkY29sb3IpIHtcclxuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcclxuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtaW5rLWNvbG9yXygkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy1zZWxlY3QtY29udGFpbmVyLWZpbGwtY29sb3IoJGNvbG9yKSB7XHJcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yXygkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy1zZWxlY3QtZm9jdXNlZC1sYWJlbC1jb2xvcigkY29sb3IpIHtcclxuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcclxuICAgICYubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLWluay1jb2xvcihtZGMtdGhlbWUtcHJvcC12YWx1ZSgkY29sb3IpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtc2VsZWN0LWhvdmVyLWJvdHRvbS1saW5lLWNvbG9yKCRjb2xvcikge1xyXG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOmhvdmVyIHtcclxuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtbmF0aXZlLWNvbnRyb2wtYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXNlbGVjdC1ib3R0b20tbGluZS1jb2xvcigkY29sb3IpIHtcclxuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcclxuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXNlbGVjdC1mb2N1c2VkLWJvdHRvbS1saW5lLWNvbG9yKCRjb2xvcikge1xyXG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xyXG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLWxpbmUtcmlwcGxlLWNvbG9yXygkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy1zZWxlY3QtbGFiZWwtY29sb3IoJGNvbG9yKSB7XHJcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcclxuICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1pbmstY29sb3IoJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtc2VsZWN0LW91dGxpbmUtY29sb3IoJGNvbG9yKSB7XHJcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LW91dGxpbmUtY29sb3JfKCRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXNlbGVjdC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xyXG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xyXG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ob3Zlci1vdXRsaW5lLWNvbG9yXygkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy1zZWxlY3QtZm9jdXNlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xyXG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xyXG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLW91dGxpbmUtY29sb3JfKCRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXNlbGVjdC1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XHJcbiAgQGlmIGxlbmd0aCgkcmFkaXVzKSA+IDIge1xyXG4gICAgQGVycm9yIFwiSW52YWxpZCByYWRpdXM6ICcjeyRyYWRpdXN9JyBjb21wb25lbnQgZG9lc24ndCBhbGxvdyBjdXN0b21pemluZyBhbGwgY29ybmVyc1wiO1xyXG4gIH1cclxuXHJcbiAgJG1hc2tlZC1yYWRpdXM6IG1kYy1zaGFwZS1tYXNrLXJhZGl1cygkcmFkaXVzLCAxIDEgMCAwKTtcclxuXHJcbiAgJixcclxuICAmX19uYXRpdmUtY29udHJvbCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtc2hhcGUtcmFkaXVzKG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRtZGMtc2VsZWN0LWhlaWdodCwgJG1hc2tlZC1yYWRpdXMpLCAkcnRsLXJlZmxleGl2ZSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXNlbGVjdC1vdXRsaW5lLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UpIHtcclxuICAkcmVzb2x2ZWQtcmFkaXVzOiBudGgobWRjLXNoYXBlLXJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJG1kYy1zZWxlY3QtaGVpZ2h0LCBtZGMtc2hhcGUtcHJvcC12YWx1ZSgkcmFkaXVzKSksIDEpO1xyXG5cclxuICBAaWYgKGxlbmd0aChtZGMtc2hhcGUtcHJvcC12YWx1ZSgkcmFkaXVzKSkgPiAxKSB7XHJcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICBAd2FybiBcIm1kYy1zZWxlY3Qtb3V0bGluZS1zaGFwZS1yYWRpdXMgb25seSBzdXBwb3J0cyBhIHNpbmdsZSByYWRpdXM7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWF0ZXJpYWwtY29tcG9uZW50cy9tYXRlcmlhbC1jb21wb25lbnRzLXdlYi9pc3N1ZXMvNDE0MFwiO1xyXG4gIH1cclxuXHJcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xyXG4gICAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1zaGFwZS1yYWRpdXMoJHJlc29sdmVkLXJhZGl1cywgJHJ0bC1yZWZsZXhpdmUpO1xyXG4gIH1cclxuXHJcbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sIHtcclxuICAgIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMoJHJlc29sdmVkLXJhZGl1cywgJHJ0bC1yZWZsZXhpdmUpO1xyXG4gIH1cclxuXHJcbiAgQGlmICgkcmVzb2x2ZWQtcmFkaXVzID4gJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aCkge1xyXG4gICAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkoXHJcbiAgICAgICAgcGFkZGluZyxcclxuICAgICAgICAkcmVzb2x2ZWQtcmFkaXVzICsgJG1kYy1ub3RjaGVkLW91dGxpbmUtcGFkZGluZyxcclxuICAgICAgICAkbWRjLXNlbGVjdC1hcnJvdy1wYWRkaW5nXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KFxyXG4gICAgICAgIG1hcmdpbixcclxuICAgICAgICAkcmVzb2x2ZWQtcmFkaXVzICsgJG1kYy1ub3RjaGVkLW91dGxpbmUtcGFkZGluZyxcclxuICAgICAgICAkbWRjLXNlbGVjdC1vdXRsaW5lLWxhYmVsLW9mZnNldFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gUHJpdmF0ZVxyXG5AbWl4aW4gbWRjLXNlbGVjdC1mb2N1c2VkLWxpbmUtcmlwcGxlXyB7XHJcbiAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbGluZS1yaXBwbGUge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXNlbGVjdC1mb2N1c2VkLW91dGxpbmVfIHtcclxuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xyXG4gICAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1zdHJva2Utd2lkdGgoMnB4KTtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy1zZWxlY3QtZm9jdXNlZC1vdXRsaW5lLWlkbGVfIHtcclxuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXNlbGVjdC1pbmstY29sb3JfKCRjb2xvcikge1xyXG4gIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcclxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yXygkY29sb3IpIHtcclxuICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gbWRjLXNlbGVjdC1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKSB7XHJcbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxyXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcclxuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtbmF0aXZlLWNvbnRyb2wtYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXNlbGVjdC1uYXRpdmUtY29udHJvbC1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKSB7XHJcbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIG1kYy1zZWxlY3QtZm9jdXNlZC1saW5lLXJpcHBsZS1jb2xvcl8oJGNvbG9yKSB7XHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLWxpbmUtcmlwcGxlXyB7XHJcbiAgICBAaW5jbHVkZSBtZGMtbGluZS1yaXBwbGUtY29sb3IoJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtc2VsZWN0LWRkLWFycm93LXN2Zy1iZ18oJGZpbGwtaGV4LW51bWJlciwgJG9wYWNpdHkpIHtcclxuICAvLyBMb29rdXAgY29sb3IgYW5kIHJlbW92ZSBsZWFkaW5nICMuXHJcbiAgJGZpbGwtaGV4LW51bWJlcjogbWRjLXRoZW1lLXByb3AtdmFsdWUoJGZpbGwtaGV4LW51bWJlcik7XHJcbiAgJGZpbGwtaGV4LW51bWJlcjogc3RyLXNsaWNlKHVucXVvdGUoXCIjeyRmaWxsLWhleC1udW1iZXJ9XCIpLCAyKTtcclxuXHJcbiAgYmFja2dyb3VuZDpcclxuICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyMyN7JGZpbGwtaGV4LW51bWJlcn0lMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwb3BhY2l0eSUzRCUyMiN7JG9wYWNpdHl9JTIyJTIwcG9pbnRzJTNEJTIyNyUyMDEwJTIwMTIlMjAxNSUyMDE3JTIwMTAlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFXCIpXHJcbiAgICBuby1yZXBlYXRcclxuICAgIGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIG1kYy1zZWxlY3Qtb3V0bGluZS1jb2xvcl8oJGNvbG9yKSB7XHJcbiAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1jb2xvcigkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gbWRjLXNlbGVjdC1ob3Zlci1vdXRsaW5lLWNvbG9yXygkY29sb3IpIHtcclxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItY29tYmluYXRvci1zcGFjZS1hZnRlclxyXG4gICY6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfixcclxuICAmOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQ6aG92ZXIgfiB7XHJcbiAgICAubWRjLW5vdGNoZWQtb3V0bGluZSB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtc2VsZWN0LWZvY3VzZWQtb3V0bGluZS1jb2xvcl8oJGNvbG9yKSB7XHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLW91dGxpbmVfIHtcclxuICAgIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtc2VsZWN0LWZsb2F0aW5nLWxhYmVsXyB7XHJcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXNlbGVjdC1vdXRsaW5lLWxhYmVsLW9mZnNldCk7XHJcblxyXG4gICAgdG9wOiAyMXB4O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIHtcclxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xyXG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXNlbGVjdC1pY29uLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XHJcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJG1kYy1ub3RjaGVkLW91dGxpbmUtcGFkZGluZyk7XHJcblxyXG4gICAgICB0b3A6IDE3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiB7XHJcbiAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xyXG4gICAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRtZGMtc2VsZWN0LWljb24tcGFkZGluZyAtICRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGgpO1xyXG5cclxuICAgICAgICAmLS1mbG9hdC1hYm92ZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXNlbGVjdC1pY29uLXBhZGRpbmcgLSAkbWRjLW5vdGNoZWQtb3V0bGluZS1sZWFkaW5nLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtc2VsZWN0LXdpdGgtbGVhZGluZy1pY29uXyB7XHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1pY29uLWhvcml6b250YWwtcG9zaXRpb25fKDE2cHgsICRtZGMtc2VsZWN0LWljb24tcGFkZGluZyk7XHJcblxyXG4gICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xyXG4gICAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbihcclxuICAgICAgJG1kYy1zZWxlY3Qtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSxcclxuICAgICAgJG1kYy1zZWxlY3Qtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teFxyXG4gICAgKTtcclxuICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24oc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbik7XHJcblxyXG4gICAgQGluY2x1ZGUgbWRjLXJ0bCB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24oc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbi1ydGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcclxuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsIDMycHggLyogbGVmdC12YWx1ZSAqLywgMzJweCAvKiByaWdodC12YWx1ZSAqLyk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXNlbGVjdC10ZXh0LWFuZC1jb250cm9sXyB7XHJcbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xyXG4gICAgbWluLXdpZHRoOiAyMDBweDtcclxuICAgIHBhZGRpbmctdG9wOiAyMnB4O1xyXG4gIH1cclxuXHJcbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxyXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcclxuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRtZGMtc2VsZWN0LWxhYmVsLXBhZGRpbmcsICRtZGMtc2VsZWN0LWFycm93LXBhZGRpbmcpO1xyXG4gICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoc3VidGl0bGUxKTtcclxuXHJcbiAgICAmOjotbXMtZXhwYW5kIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmOjotbXMtdmFsdWUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gY291bnRlcmFjdHMgdGhlIGV4dHJhIHRleHQgcGFkZGluZyB0aGF0IEZpcmVmb3ggYWRkcyBieSBkZWZhdWx0XHJcbiAgICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KFwiXCIpIHtcclxuICAgICAgdGV4dC1pbmRlbnQ6IC0ycHg7XHJcbiAgICB9XHJcblxyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkbWRjLXNlbGVjdC1oZWlnaHQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc2hlZXRcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy1zZWxlY3QtZGlzYWJsZWRfIHtcclxuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yXygkbWRjLXNlbGVjdC1kaXNhYmxlZC1maWxsLWNvbG9yKTtcclxuXHJcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtaW5rLWNvbG9yKCRtZGMtc2VsZWN0LWRpc2FibGVkLWxhYmVsLWNvbG9yKTtcclxuICB9XHJcblxyXG4gIC5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uIHtcclxuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtZGQtYXJyb3ctc3ZnLWJnXygkbWRjLXNlbGVjdC1kcm9wZG93bi1jb2xvciwgJG1kYy1zZWxlY3QtZGlzYWJsZWQtZHJvcGRvd24tb3BhY2l0eSk7XHJcbiAgfVxyXG5cclxuICAubWRjLWxpbmUtcmlwcGxlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAubWRjLXNlbGVjdF9faWNvbiB7XHJcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJG1kYy1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcik7XHJcbiAgfVxyXG5cclxuICAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXHJcbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xyXG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRtZGMtc2VsZWN0LWRpc2FibGVkLWluay1jb2xvcik7XHJcblxyXG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xyXG4gIH1cclxuXHJcbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcclxuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtY29udGFpbmVyLWZpbGwtY29sb3JfKHRyYW5zcGFyZW50KTtcclxuXHJcbiAgICAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXHJcbiAgICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1vdXRsaW5lLWNvbG9yXygkbWRjLXNlbGVjdC1vdXRsaW5lZC1kaXNhYmxlZC1ib3JkZXIpO1xyXG4gIH1cclxuXHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG5AbWl4aW4gbWRjLXNlbGVjdC1vdXRsaW5lZF8ge1xyXG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtY29udGFpbmVyLWZpbGwtY29sb3IodHJhbnNwYXJlbnQpO1xyXG4gIEBpbmNsdWRlIG1kYy1zZWxlY3Qtb3V0bGluZS1jb2xvcigkbWRjLXNlbGVjdC1vdXRsaW5lZC1pZGxlLWJvcmRlcik7XHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRtZGMtc2VsZWN0LW91dGxpbmVkLWhvdmVyLWJvcmRlcik7XHJcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLW91dGxpbmUtY29sb3IocHJpbWFyeSk7XHJcbiAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWFuaW1hdGlvbih0ZXh0LWZpZWxkLW91dGxpbmVkKTtcclxuICBAaW5jbHVkZSBtZGMtc2VsZWN0LW91dGxpbmUtc2hhcGUtcmFkaXVzKHNtYWxsKTtcclxuICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IodHJhbnNwYXJlbnQpO1xyXG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtY29udGFpbmVyLWZpbGwtY29sb3IodHJhbnNwYXJlbnQpO1xyXG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oJG1kYy1zZWxlY3Qtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSwgMCk7XHJcblxyXG4gIGJvcmRlcjogbm9uZTtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuXHJcbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxyXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcclxuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRtZGMtc2VsZWN0LWxhYmVsLXBhZGRpbmcsICRtZGMtc2VsZWN0LWFycm93LXBhZGRpbmcpO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gIH1cclxuXHJcbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xyXG4gICAgcGFkZGluZy10b3A6IDE0cHg7XHJcbiAgfVxyXG5cclxuICAubWRjLXNlbGVjdF9faWNvbiB7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gIH1cclxuXHJcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xNXJlbTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy1zZWxlY3QtaGVscGVyLXRleHRfIHtcclxuICAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XHJcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cclxuICAgIC5tZGMtc2VsZWN0ICsgJiB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1kYy1zZWxlY3QtLW91dGxpbmVkICsgJiB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICB9XHJcbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxyXG4gIH1cclxuXHJcbiAgLm1kYy1zZWxlY3QtLWZvY3VzZWQgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dDpub3QoLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnKSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG4vLyBQdWJsaWMgbWl4aW5zXG5cbkBtaXhpbiBtZGMtc2VsZWN0LWhlbHBlci10ZXh0LWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWhlbHBlci10ZXh0LWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWhlbHBlci10ZXh0LXZhbGlkYXRpb24tY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtaGVscGVyLXRleHQtdmFsaWRhdGlvbi1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG4vLyBQcml2YXRlIG1peGluc1xuXG5AbWl4aW4gbWRjLXNlbGVjdC1oZWxwZXItdGV4dC1jb2xvcl8oJGNvbG9yKSB7XG4gICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWhlbHBlci10ZXh0LXZhbGlkYXRpb24tY29sb3JfKCRjb2xvcikge1xuICAmLm1kYy1zZWxlY3QtLWludmFsaWQgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xuICB9XG59XG4iLCIvL1xyXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxyXG4vL1xyXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XHJcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcclxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xyXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXHJcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xyXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxyXG4vL1xyXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxyXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cclxuLy9cclxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxyXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcclxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXHJcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcclxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcclxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxyXG4vLyBUSEUgU09GVFdBUkUuXHJcbi8vXHJcblxyXG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi9zaGFwZS9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uL3NoYXBlL2Z1bmN0aW9uc1wiO1xyXG5AaW1wb3J0IFwiLi4vcnRsL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcclxuXHJcbkBtaXhpbiBtZGMtbm90Y2hlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xyXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxyXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcclxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xyXG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy1ub3RjaGVkLW91dGxpbmUtc3Ryb2tlLXdpZHRoKCR3aWR0aCkge1xyXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxyXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcclxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLW5vdGNoZWQtb3V0bGluZS1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XHJcbiAgJHJhZGl1czogbWRjLXNoYXBlLXByb3AtdmFsdWUoJHJhZGl1cyk7XHJcblxyXG4gIEBpZiAobGVuZ3RoKCRyYWRpdXMpID4gMSkge1xyXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1saW5lLWxlbmd0aFxyXG4gICAgQHdhcm4gXCJtZGMtbm90Y2hlZC1vdXRsaW5lLXNoYXBlLXJhZGl1cyBvbmx5IHN1cHBvcnRzIGEgc2luZ2xlIHJhZGl1czsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXRlcmlhbC1jb21wb25lbnRzL21hdGVyaWFsLWNvbXBvbmVudHMtd2ViL2lzc3Vlcy80MTQwXCI7XHJcbiAgfVxyXG5cclxuICAkcmFkaXVzOiBudGgoJHJhZGl1cywgMSk7XHJcblxyXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcclxuICAgIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMobWRjLXNoYXBlLW1hc2stcmFkaXVzKCRyYWRpdXMsIDEgMCAwIDEpLCAkcnRsLXJlZmxleGl2ZTogdHJ1ZSk7XHJcblxyXG4gICAgQGlmICgkcmFkaXVzID4gJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aCkge1xyXG4gICAgICB3aWR0aDogJHJhZGl1cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAoJHJhZGl1cyA+ICRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGgpIHtcclxuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XHJcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gI3skcmFkaXVzfSAqIDIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcclxuICAgIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMobWRjLXNoYXBlLW1hc2stcmFkaXVzKCRyYWRpdXMsIDAgMSAxIDApLCAkcnRsLXJlZmxleGl2ZTogdHJ1ZSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkcG9zaXRpb25ZLCAkcG9zaXRpb25YOiAwJSwgJHNjYWxlOiAuNzUpIHtcclxuICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oJHBvc2l0aW9uWSArICRtZGMtbm90Y2hlZC1vdXRsaW5lLWxhYmVsLWFkanVzdCwgJHBvc2l0aW9uWCwgMSk7XHJcblxyXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcclxuICAgIGZvbnQtc2l6ZTogKCRzY2FsZSAqIDFyZW0pO1xyXG4gIH1cclxuXHJcbiAgLy8gVHdvIHNlbGVjdG9ycyB0byBlbnN1cmUgd2Ugc2VsZWN0IHRoZSBhcHByb3ByaWF0ZSBjbGFzcyB3aGVuIGFwcGxpZWQgZnJvbSB0aGlzIGNvbXBvbmVudCBvciBhIHBhcmVudCBjb21wb25lbnQuXHJcbiAgJi5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCxcclxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uKCRwb3NpdGlvblksICRwb3NpdGlvblgsICRzY2FsZSk7XHJcblxyXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcclxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcclxuICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGtleWZyYW1lcyBtZGMtc2xpZGVyLWVtcGhhc2l6ZSB7XG4gIDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44NSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC41NzEpO1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4va2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBzbGlkZXJcblxuLm1kYy1zbGlkZXIge1xuICBAaW5jbHVkZSBtZGMtc2xpZGVyLWNvbG9yLWFjY2Vzc2libGUoc2Vjb25kYXJ5KTtcblxuICAmLS1kaXNhYmxlZCB7XG4gICAgJGRpc2FibGVkLWNvbG9yOiAjOWE5YTlhO1xuXG4gICAgQGluY2x1ZGUgbWRjLXNsaWRlci1oaWdobGlnaHQtY29sb3JfKCRkaXNhYmxlZC1jb2xvcik7XG4gICAgQGluY2x1ZGUgbWRjLXNsaWRlci1yYWlsLWNvbG9yXygkZGlzYWJsZWQtY29sb3IpO1xuICAgIEBpbmNsdWRlIG1kYy1zbGlkZXItcmFpbC10aWNrLW1hcmstY29sb3JfKCRkaXNhYmxlZC1jb2xvcik7XG4gICAgQGluY2x1ZGUgbWRjLXNsaWRlci10aHVtYi1jb2xvcl8oJGRpc2FibGVkLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBtZGMtc2xpZGVyLXRodW1iLXN0cm9rZS1jdXRvdXRfKHdoaXRlKTtcblxuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3VjaC1hY3Rpb246IHBhbi14O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoYmxhY2ssIDApO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmX190cmFjay1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJl9fdHJhY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuICAgIEBpbmNsdWRlIG1kYy1ydGwoXCIubWRjLXNsaWRlclwiKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgfVxuICB9XG5cbiAgJl9fdHJhY2stbWFya2VyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgbWRjLXJ0bChcIi5tZGMtc2xpZGVyXCIpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIExhc3QgbWFya2VyIGF0IHRoZSB2ZXJ5IGVuZCBvZiB0aGUgc2xpZGVyIChyaWdodC1tb3N0IGluIExUUiwgbGVmdC1tb3N0IGluIFJUTClcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAycHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgJl9fdHJhY2stbWFya2VyIHtcbiAgICBmbGV4OiAxO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMnB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiAzcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGh1bWItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDIxcHg7XG4gICAgLy8gRW5zdXJlIHRoYXQgdG91Y2hpbmcgYW55d2hlcmUgd2l0aGluIHRoZSBZLWNvb3JkaW5hdGUgc3BhY2Ugb2YgdGh1bWJcbiAgICAvLyBpcyBjb25zaWRlcmVkIFwiY2xpY2tpbmcgb24gdGhlIHRodW1iXCIuXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIH1cblxuICAmX190aHVtYiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjU3MSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2Utb3V0LCBmaWxsIDEwMG1zIGVhc2Utb3V0LCBzdHJva2UgMTAwbXMgZWFzZS1vdXQ7XG4gICAgc3Ryb2tlLXdpZHRoOiAzLjU7XG4gIH1cblxuICAmX19mb2N1cy1yaW5nIHtcbiAgICB3aWR0aDogMjFweDtcbiAgICBoZWlnaHQ6IDIxcHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI2Ni42N21zIGVhc2Utb3V0LCBvcGFjaXR5IDI2Ni42N21zIGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDI2Ni42N21zIGVhc2Utb3V0O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJl9fcGluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoMCkgdHJhbnNsYXRlKDAsIDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlLW91dDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgNTAlIDUwJSAwJTtcblxuICAgIC8vIEVuc3VyaW5nIHRoYXQgdGhlIHBpbiBpcyBoaWdoZXIgdGhhbiB0aGUgdGh1bWIgaW4gdGhlIHN0YWNraW5nIG9yZGVyXG4gICAgLy8gcmVtb3ZlcyBzb21lIHJlbmRlcmluZyBqYW5rIG9ic2VydmVkIGluIENocm9tZS5cbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgJl9fcGluLXZhbHVlLW1hcmtlciB7XG4gICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoYm9keTIpO1xuXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG59XG5cbi5tZGMtc2xpZGVyLS1hY3RpdmUge1xuICAubWRjLXNsaWRlcl9fdGh1bWIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ubWRjLXNsaWRlci0tZm9jdXMge1xuICAubWRjLXNsaWRlcl9fdGh1bWIge1xuICAgIGFuaW1hdGlvbjogbWRjLXNsaWRlci1lbXBoYXNpemUgMjY2LjY3bXMgbGluZWFyO1xuICB9XG5cbiAgLm1kYy1zbGlkZXJfX2ZvY3VzLXJpbmcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjU1LCAxLjU1LCAxLjU1KTtcbiAgICBvcGFjaXR5OiAuMjU7XG4gIH1cbn1cblxuLm1kYy1zbGlkZXItLWluLXRyYW5zaXQge1xuICAubWRjLXNsaWRlcl9fdGh1bWIge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE0MG1zO1xuICB9XG59XG5cbi8vIE5PVEUodHJhdmlza2F1Zm1hbik6IFRoZXJlIGFyZSBtdWx0aXBsZSBjYXNlcyB3aGVyZSB3ZSB3YW50IHRoZSBzbGlkZXIgdG9cbi8vIHRyYW5zaXRpb24gc2VhbWxlc3NseSBldmVuIHRob3VnaCB3ZSdyZSBqdW1waW5nIHRvIGEgc3BvdC4gVGhlIHNlbGVjdG9yc1xuLy8gYmVsb3cgaGlnaGxpZ2h0IHRoZXNlIGNhc2VzLiBUaGUgc2VsZWN0b3JzIGFyZSBzdXBwbGVtZW50ZWQgYnkgYSBjb21tZW50XG4vLyBkZW5vdGluZyB0aGVpciBzZW1hbnRpYyBtZWFuaW5nIHdpdGhpbiB0aGUgc2xpZGVyLlxuXG4vLyBXaGVuIGEgdXNlciBjbGlja3Mgc29tZXdoZXJlIG9uIHRoZSB0cmFjayB0aGF0IGlzIG5vdCBkaXJlY3RseSB0aGUgc2xpZGVyXG4vLyB0aHVtYiBjb250YWluZXIsIHdlIHRyYW5zaXRpb24gdG8gdGhlIHBsYWNlIHdoZXJlIHRoZSB1c2VyIGNsaWNrZWQuXG4ubWRjLXNsaWRlci0taW4tdHJhbnNpdCxcbi8vIFdoZW4gYSB1c2VyIGlzIHVzaW5nIHRoZSBhcnJvdyBrZXlzIHRvIG1vZGlmeSB0aGUgdmFsdWUgb2YgdGhlIHNsaWRlciByYXRoZXJcbi8vIHRoYW4gZHJhZ2dpbmcgd2l0aCBhIHBvaW50ZXIsIHdlIHRyYW5zaXRpb24gZnJvbSBvbmUgdmFsdWUgdG8gYW5vdGhlci5cbi5tZGMtc2xpZGVyOmZvY3VzOm5vdCgubWRjLXNsaWRlci0tYWN0aXZlKSB7XG4gIC5tZGMtc2xpZGVyX190aHVtYi1jb250YWluZXIsXG4gIC5tZGMtc2xpZGVyX190cmFjayB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDgwbXMgZWFzZTtcbiAgfVxufVxuXG4ubWRjLXNsaWRlci0tZGlzY3JldGUge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgJi5tZGMtc2xpZGVyLS1hY3RpdmUge1xuICAgIC5tZGMtc2xpZGVyX190aHVtYiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKGNhbGMoMTIgLyAyMSkpO1xuICAgIH1cblxuICAgIC5tZGMtc2xpZGVyX19waW4ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgxKSB0cmFuc2xhdGUoMTlweCwgLTIwcHgpO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNsaWRlci0tZm9jdXMge1xuICAgIC5tZGMtc2xpZGVyX190aHVtYiB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtc2xpZGVyLS1kaXNwbGF5LW1hcmtlcnMge1xuICAgIC5tZGMtc2xpZGVyX190cmFjay1tYXJrZXItY29udGFpbmVyIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuICB9XG4gIC8vIHN0eWxlbGludC1lbmFibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG59XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL3RoZW1lL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lL3ZhcmlhYmxlc1wiOyAvLyBmb3IgbWRjLXRoZW1lLXByb3AtdmFsdWVcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vL1xuLy8gUHVibGljXG4vL1xuXG5AbWl4aW4gbWRjLXNsaWRlci1oaWdobGlnaHQtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2xpZGVyLS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zbGlkZXItaGlnaGxpZ2h0LWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2xpZGVyLXJhaWwtY29sb3IoJGNvbG9yLCAkb3BhY2l0eTogJG1kYy1zbGlkZXItYmFzZWxpbmUtcmFpbC1vcGFjaXR5KSB7XG4gICY6bm90KC5tZGMtc2xpZGVyLS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zbGlkZXItcmFpbC1jb2xvcl8oJGNvbG9yLCAkb3BhY2l0eSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zbGlkZXItcmFpbC10aWNrLW1hcmstY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2xpZGVyLS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zbGlkZXItcmFpbC10aWNrLW1hcmstY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zbGlkZXItdGh1bWItY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2xpZGVyLS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zbGlkZXItdGh1bWItY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zbGlkZXItZm9jdXMtaGFsby1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoLm1kYy1zbGlkZXItLWRpc2FibGVkKSB7XG4gICAgLm1kYy1zbGlkZXJfX2ZvY3VzLXJpbmcge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1zbGlkZXItdmFsdWUtcGluLWluay1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoLm1kYy1zbGlkZXItLWRpc2FibGVkKSB7XG4gICAgLm1kYy1zbGlkZXJfX3BpbiB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1zbGlkZXItdmFsdWUtcGluLWZpbGwtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2xpZGVyLS1kaXNhYmxlZCkge1xuICAgIC5tZGMtc2xpZGVyX19waW4ge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1zbGlkZXItdmFsdWUtcGluLWZpbGwtY29sb3ItYWNjZXNzaWJsZSgkY29sb3IpIHtcbiAgJGNvbG9yLXZhbHVlOiBtZGMtdGhlbWUtcHJvcC12YWx1ZSgkY29sb3IpO1xuICAkaW5rLWNvbG9yOiBpZihtZGMtdGhlbWUtdG9uZSgkY29sb3ItdmFsdWUpID09IFwibGlnaHRcIiwgdGV4dC1wcmltYXJ5LW9uLWxpZ2h0LCB0ZXh0LXByaW1hcnktb24tZGFyayk7XG5cbiAgQGluY2x1ZGUgbWRjLXNsaWRlci12YWx1ZS1waW4tZmlsbC1jb2xvcigkY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtc2xpZGVyLXZhbHVlLXBpbi1pbmstY29sb3IoJGluay1jb2xvcik7XG59XG5cbi8vIE5PVEU6IFRoaXMgbWl4aW4gc2V0cyB0aGUgY29sb3Igb2YgQUxMIGN1c3RvbWl6YWJsZSBlbGVtZW50cyBpbiB0aGUgc2xpZGVyLiBJZiBuZXcgZWxlbWVudHMgYXJlIGFkZGVkLCB0aGlzIG1peGluXG4vLyBzaG91bGQgYmUgdXBkYXRlZCB0byBjb3ZlciB0aG9zZSBhZGRpdGlvbmFsIGVsZW1lbnRzLlxuQG1peGluIG1kYy1zbGlkZXItY29sb3ItYWNjZXNzaWJsZSgkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXNsaWRlci1oaWdobGlnaHQtY29sb3IoJGNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXNsaWRlci1yYWlsLWNvbG9yKCRjb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1zbGlkZXItcmFpbC10aWNrLW1hcmstY29sb3IoJGNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXNsaWRlci10aHVtYi1jb2xvcigkY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtc2xpZGVyLWZvY3VzLWhhbG8tY29sb3IoJGNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXNsaWRlci12YWx1ZS1waW4tZmlsbC1jb2xvci1hY2Nlc3NpYmxlKCRjb2xvcik7XG59XG5cbi8vXG4vLyBQcml2YXRlXG4vL1xuXG5AbWl4aW4gbWRjLXNsaWRlci1oaWdobGlnaHQtY29sb3JfKCRjb2xvcikge1xuICAubWRjLXNsaWRlcl9fdHJhY2sge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zbGlkZXItcmFpbC1jb2xvcl8oJGNvbG9yLCAkb3BhY2l0eTogJG1kYy1zbGlkZXItYmFzZWxpbmUtcmFpbC1vcGFjaXR5KSB7XG4gIC5tZGMtc2xpZGVyX190cmFjay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsIHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUoJGNvbG9yKSwgJG9wYWNpdHkpKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNsaWRlci1yYWlsLXRpY2stbWFyay1jb2xvcl8oJGNvbG9yKSB7XG4gIC5tZGMtc2xpZGVyX190cmFjay1tYXJrZXI6OmFmdGVyLFxuICAubWRjLXNsaWRlcl9fdHJhY2stbWFya2VyLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zbGlkZXItdGh1bWItY29sb3JfKCRjb2xvcikge1xuICAubWRjLXNsaWRlcl9fdGh1bWIge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGZpbGwsICRjb2xvcik7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3Aoc3Ryb2tlLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2xpZGVyLXRodW1iLXN0cm9rZS1jdXRvdXRfKCRjb2xvcikge1xuICAubWRjLXNsaWRlcl9fdGh1bWIge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBzdHJva2U6ICRjb2xvcjtcbiAgICBzdHJva2U6IHZhcigtLW1kYy1zbGlkZXItYmctY29sb3ItYmVoaW5kLWNvbXBvbmVudCwgJGNvbG9yKTtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi9hbmltYXRpb24vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vYnV0dG9uL21peGluc1wiO1xuQGltcG9ydCBcIi4uL2ljb24tYnV0dG9uL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3JpcHBsZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vdHlwb2dyYXBoeS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHNuYWNrYmFyXG4ubWRjLXNuYWNrYmFyIHtcbiAgQGluY2x1ZGUgbWRjLXNuYWNrYmFyLXotaW5kZXgoJG1kYy1zbmFja2Jhci16LWluZGV4KTtcbiAgQGluY2x1ZGUgbWRjLXNuYWNrYmFyLXZpZXdwb3J0LW1hcmdpbigkbWRjLXNuYWNrYmFyLXZpZXdwb3J0LW1hcmdpbi1uYXJyb3cpO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgLy8gSWdub3JlIG1vdXNlIGV2ZW50cyBvbiB0aGUgcm9vdCBsYXlvdXQgZWxlbWVudC5cbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gRm9yIHNvbWUgcmVhc29uLCBpT1MgU2FmYXJpIGRpc3BsYXlzIGEgdGFwIGhpZ2hsaWdodCBvbiB0aGUgZW50aXJlIHNuYWNrYmFyIGVsZW1lbnQuXG4gIC8vIE1vYmlsZSBTYWZhcmkgb25seSBzdXBwb3J0cyBgcmdiYWAgdmFsdWVzIGZvciB0aGlzIHByb3BlcnR5OyBuYW1lZCB2YWx1ZXMgbGlrZSBgdHJhbnNwYXJlbnRgIGFyZSBpZ25vcmVkLlxuICAvLyBGcm9tIEFwcGxlJ3MgZG9jczpcbiAgLy8gPiBUaGlzIHByb3BlcnR5IG9iZXlzIHRoZSBhbHBoYSB2YWx1ZSwgaWYgc3BlY2lmaWVkLlxuICAvLyA+IElmIHlvdSBkb27igJl0IHNwZWNpZnkgYW4gYWxwaGEgdmFsdWUsIFNhZmFyaSBvbiBpT1MgYXBwbGllcyBhIGRlZmF1bHQgYWxwaGEgdmFsdWUgdG8gdGhlIGNvbG9yLlxuICAvLyA+IFRvIGRpc2FibGUgdGFwIGhpZ2hsaWdodGluZywgc2V0IHRoZSBhbHBoYSB2YWx1ZSB0byAwIChpbnZpc2libGUpLlxuICAvLyA+IElmIHlvdSBzZXQgdGhlIGFscGhhIHZhbHVlIHRvIDEuMCAob3BhcXVlKSwgdGhlIGVsZW1lbnQgaXMgbm90IHZpc2libGUgd2hlbiB0YXBwZWQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYmVuLWViL3Bvc3Rjc3MtY29sb3JtaW4vaXNzdWVzLzFcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG5AYXQtcm9vdCB7XG4gIEBpbmNsdWRlIG1kYy1zbmFja2Jhci1maWxsLWNvbG9yKCRtZGMtc25hY2tiYXItZmlsbC1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1zbmFja2Jhci1sYWJlbC1pbmstY29sb3IoJG1kYy1zbmFja2Jhci1sYWJlbC1pbmstY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtc25hY2tiYXItbWluLXdpZHRoKCRtZGMtc25hY2tiYXItbWluLXdpZHRoKTtcbiAgQGluY2x1ZGUgbWRjLXNuYWNrYmFyLW1heC13aWR0aCgkbWRjLXNuYWNrYmFyLW1heC13aWR0aCk7XG4gIEBpbmNsdWRlIG1kYy1zbmFja2Jhci1lbGV2YXRpb24oJG1kYy1zbmFja2Jhci1lbGV2YXRpb24pO1xuICBAaW5jbHVkZSBtZGMtc25hY2tiYXItc2hhcGUtcmFkaXVzKCRtZGMtc25hY2tiYXItc2hhcGUtcmFkaXVzKTtcbn1cblxuLm1kYy1zbmFja2Jhci0tb3BlbmluZyxcbi5tZGMtc25hY2tiYXItLW9wZW4sXG4ubWRjLXNuYWNrYmFyLS1jbG9zaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm1kYy1zbmFja2Jhci0tbGVhZGluZyB7XG4gIEBpbmNsdWRlIG1kYy1zbmFja2Jhci1wb3NpdGlvbi1sZWFkaW5nO1xufVxuXG4ubWRjLXNuYWNrYmFyLS1zdGFja2VkIHtcbiAgQGluY2x1ZGUgbWRjLXNuYWNrYmFyLWxheW91dC1zdGFja2VkO1xufVxuXG4ubWRjLXNuYWNrYmFyX19zdXJmYWNlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgb3BhY2l0eTogMDtcblxuICAubWRjLXNuYWNrYmFyLS1vcGVuICYge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG1kYy1hbmltYXRpb24tZW50ZXIob3BhY2l0eSwgJG1kYy1zbmFja2Jhci1lbnRlci1kdXJhdGlvbiksXG4gICAgICBtZGMtYW5pbWF0aW9uLWVudGVyKHRyYW5zZm9ybSwgJG1kYy1zbmFja2Jhci1lbnRlci1kdXJhdGlvbik7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgLy8gQWxsb3cgbW91c2UgZXZlbnRzIG9uIHN1cmZhY2UgZWxlbWVudCB3aGlsZSBzbmFja2JhciBpcyBvcGVuXG4gIH1cblxuICAubWRjLXNuYWNrYmFyLS1jbG9zaW5nICYge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNpdGlvbjogbWRjLWFuaW1hdGlvbi1leGl0LXBlcm1hbmVudChvcGFjaXR5LCAkbWRjLXNuYWNrYmFyLWV4aXQtZHVyYXRpb24pO1xuICB9XG59XG5cbi5tZGMtc25hY2tiYXJfX2xhYmVsIHtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoJG1kYy1zbmFja2Jhci1sYWJlbC10eXBlLXNjYWxlKTtcblxuICBmbGV4LWdyb3c6IDE7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcblxuICAvLyAxNHB4IHRvcC9ib3R0b20gcGFkZGluZyBuZWVkZWQgdG8gbWFrZSB0aGUgaGVpZ2h0IDQ4cHguXG4gIHBhZGRpbmc6IDE0cHggMTZweDtcbn1cblxuLy8gVXNlZCB0byBwcmV2ZW50IHZpc3VhbCBqYW5rIHdoZW4gYW5ub3VuY2luZyBsYWJlbCB0ZXh0IHRvIHNjcmVlbiByZWFkZXJzLlxuLy8gU2VlIHRoZSBgYW5ub3VuY2UoKWAgZnVuY3Rpb24gaW4gdXRpbC5qcyBmb3IgZGV0YWlscy5cbi5tZGMtc25hY2tiYXJfX2xhYmVsOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1tZGMtc25hY2tiYXItbGFiZWwtdGV4dCk7XG59XG5cbi5tZGMtc25hY2tiYXJfX2FjdGlvbnMge1xuICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShtYXJnaW4sIDAsICRtZGMtc25hY2tiYXItcGFkZGluZyk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tZGMtc25hY2tiYXJfX2FjdGlvbiB7XG4gIEBpbmNsdWRlIG1kYy1idXR0b24taW5rLWNvbG9yKCRtZGMtc25hY2tiYXItYWN0aW9uLWluay1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMoJG1kYy1zbmFja2Jhci1hY3Rpb24taW5rLWNvbG9yKTtcbn1cblxuLm1kYy1zbmFja2Jhcl9fZGlzbWlzcyB7XG4gIEBpbmNsdWRlIG1kYy1pY29uLWJ1dHRvbi1pbmstY29sb3IoJG1kYy1zbmFja2Jhci1kaXNtaXNzLWluay1jb2xvcik7XG59XG5cbi8vIFR3byBzZWxlY3RvcnMgYXJlIG5lZWRlZCB0byBpbmNyZWFzZSBzcGVjaWZpY2l0eSBhYm92ZSBgLm1hdGVyaWFsLWljb25zYC5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuXG4ubWRjLXNuYWNrYmFyX19kaXNtaXNzLm1kYy1zbmFja2Jhcl9fZGlzbWlzcyB7XG4gIEBpbmNsdWRlIG1kYy1pY29uLWJ1dHRvbi1zaXplKCRtZGMtc25hY2tiYXItZGlzbWlzcy1pY29uLXNpemUpO1xufVxuXG4ubWRjLXNuYWNrYmFyX19hY3Rpb24gKyAubWRjLXNuYWNrYmFyX19kaXNtaXNzIHtcbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCAkbWRjLXNuYWNrYmFyLXBhZGRpbmcsIDApO1xufVxuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi9lbGV2YXRpb24vbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vc2hhcGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1zbmFja2Jhci1maWxsLWNvbG9yKCRjb2xvcikge1xuICAubWRjLXNuYWNrYmFyX19zdXJmYWNlIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc25hY2tiYXItbGFiZWwtaW5rLWNvbG9yKCRjb2xvcikge1xuICAubWRjLXNuYWNrYmFyX19sYWJlbCB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zbmFja2Jhci1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XG4gIC5tZGMtc25hY2tiYXJfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmUpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc25hY2tiYXItbWluLXdpZHRoKCRtaW4td2lkdGgsICRtb2JpbGUtYnJlYWtwb2ludDogJG1kYy1zbmFja2Jhci1tb2JpbGUtYnJlYWtwb2ludCkge1xuICAubWRjLXNuYWNrYmFyX19zdXJmYWNlIHtcbiAgICBtaW4td2lkdGg6ICRtaW4td2lkdGg7XG5cbiAgICAvLyBUaGUgZmlyc3QgbWVkaWEgcXVlcnkgZW5zdXJlcyB0aGF0IHNuYWNrYmFycyBhcmUgYWx3YXlzIDEwMCUgd2lkdGggb24gbW9iaWxlIGRldmljZXMsIGFzIHJlcXVpcmVkIGJ5IHRoZSBzcGVjLlxuICAgIC8vIFRoZSBzZWNvbmQgbWVkaWEgcXVlcnkgcHJldmVudHMgc25hY2tiYXJzIGZyb20gYmVpbmcgd2lkZXIgdGhhbiB0aGUgdmlld3BvcnQgZm9yIGxhcmdlIG1pbi13aWR0aCB2YWx1ZXMuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtb2JpbGUtYnJlYWtwb2ludCksIChtYXgtd2lkdGg6ICRtaW4td2lkdGgpIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1zbmFja2Jhci1tYXgtd2lkdGgoJG1heC13aWR0aCkge1xuICAubWRjLXNuYWNrYmFyX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zbmFja2Jhci1lbGV2YXRpb24oJHotaW5kZXgpIHtcbiAgLm1kYy1zbmFja2Jhcl9fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgbWRjLWVsZXZhdGlvbigkei1pbmRleCk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zbmFja2Jhci12aWV3cG9ydC1tYXJnaW4oJG1hcmdpbikge1xuICBtYXJnaW46ICRtYXJnaW47XG59XG5cbkBtaXhpbiBtZGMtc25hY2tiYXItei1pbmRleCgkei1pbmRleCkge1xuICB6LWluZGV4OiAkei1pbmRleDtcbn1cblxuQG1peGluIG1kYy1zbmFja2Jhci1wb3NpdGlvbi1sZWFkaW5nIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG5AbWl4aW4gbWRjLXNuYWNrYmFyLWxheW91dC1zdGFja2VkIHtcbiAgLm1kYy1zbmFja2Jhcl9fc3VyZmFjZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gIC5tZGMtc25hY2tiYXJfX2FjdGlvbnMge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1ib3R0b206ICRtZGMtc25hY2tiYXItcGFkZGluZztcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi90aGVtZS9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZS92YXJpYWJsZXNcIjsgLy8gZm9yIG1kYy10aGVtZS1wcm9wLXZhbHVlKCkgZnVuY3Rpb25cblxuJG1kYy1zbmFja2Jhci1maWxsLWNvbG9yOiBtaXgobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIG1kYy10aGVtZS1wcm9wLXZhbHVlKHN1cmZhY2UpLCA4MCUpICFkZWZhdWx0O1xuJG1kYy1zbmFja2Jhci1sYWJlbC1pbmstY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUoc3VyZmFjZSksIG1kYy10aGVtZS10ZXh0LWVtcGhhc2lzKGhpZ2gpKSAhZGVmYXVsdDtcbiRtZGMtc25hY2tiYXItYWN0aW9uLWluay1jb2xvcjogI2JiODZmYyAhZGVmYXVsdDtcbiRtZGMtc25hY2tiYXItZGlzbWlzcy1pbmstY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUoc3VyZmFjZSksIG1kYy10aGVtZS10ZXh0LWVtcGhhc2lzKGhpZ2gpKSAhZGVmYXVsdDtcblxuJG1kYy1zbmFja2Jhci1sYWJlbC10eXBlLXNjYWxlOiBib2R5MiAhZGVmYXVsdDtcbiRtZGMtc25hY2tiYXItZGlzbWlzcy1pY29uLXNpemU6IDE4cHggIWRlZmF1bHQ7XG4kbWRjLXNuYWNrYmFyLW1pbi13aWR0aDogMzQ0cHggIWRlZmF1bHQ7XG4kbWRjLXNuYWNrYmFyLW1heC13aWR0aDogNjcycHggIWRlZmF1bHQ7XG4kbWRjLXNuYWNrYmFyLW1vYmlsZS1icmVha3BvaW50OiA0ODBweCAhZGVmYXVsdDtcbiRtZGMtc25hY2tiYXItdmlld3BvcnQtbWFyZ2luLW5hcnJvdzogOHB4ICFkZWZhdWx0O1xuJG1kYy1zbmFja2Jhci12aWV3cG9ydC1tYXJnaW4td2lkZTogMjRweCAhZGVmYXVsdDtcbiRtZGMtc25hY2tiYXItcGFkZGluZzogOHB4ICFkZWZhdWx0O1xuXG4kbWRjLXNuYWNrYmFyLWVsZXZhdGlvbjogNiAhZGVmYXVsdDtcbiRtZGMtc25hY2tiYXItc2hhcGUtcmFkaXVzOiBzbWFsbCAhZGVmYXVsdDsgLy8gS2V5IGZyb20gJG1kYy1zaGFwZS1jYXRlZ29yeS12YWx1ZXMgb3IgQ1NTIGxlbmd0aCB2YWx1ZSAoZS5nLiwgNHB4KVxuJG1kYy1zbmFja2Jhci16LWluZGV4OiA4ICFkZWZhdWx0OyAvLyBPbmUgYWJvdmUgbWRjLWRpYWxvZ1xuXG4vLyBUaGVzZSB2YXJpYWJsZXMgbmVlZCB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgdmFsdWVzIGluIGNvbnN0YW50cy5qcy5cbiRtZGMtc25hY2tiYXItZW50ZXItZHVyYXRpb246IDE1MG1zICFkZWZhdWx0O1xuJG1kYy1zbmFja2Jhci1leGl0LWR1cmF0aW9uOiA3NW1zICFkZWZhdWx0O1xuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4uL2VsZXZhdGlvbi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbi8vXG4vLyBQdWJsaWNcbi8vXG5cbkBtaXhpbiBtZGMtc3dpdGNoLWNvcmUtc3R5bGVzKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgQGluY2x1ZGUgbWRjLXN3aXRjaC13aXRob3V0LXJpcHBsZSgkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtc3dpdGNoLXJpcHBsZSgkcXVlcnkpO1xufVxuXG4vLyBUaGlzIEFQSSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IGZyYW1ld29ya3MgdGhhdCBtYXkgd2FudCB0byBzZXBhcmF0ZSB0aGUgcmlwcGxlLXJlbGF0ZWQgc3R5bGVzIGZyb20gdGhlIG90aGVyXG4vLyBzd2l0Y2ggc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtc3dpdGNoLWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIG1kYy1zd2l0Y2gtd2l0aG91dC1yaXBwbGUoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBzd2l0Y2hcblxuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtc3dpdGNoIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLXN3aXRjaC1iYXNlXztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZGMtc3dpdGNoLXRvZ2dsZWQtb24tdHJhY2stY29sb3IoJG1kYy1zd2l0Y2gtYmFzZWxpbmUtdGhlbWUtY29sb3IsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXN3aXRjaC10b2dnbGVkLW9uLXRodW1iLWNvbG9yKCRtZGMtc3dpdGNoLWJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1zd2l0Y2gtdG9nZ2xlZC1vZmYtdHJhY2stY29sb3IoJG1kYy1zd2l0Y2gtdG9nZ2xlZC1vZmYtdHJhY2stY29sb3IsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXN3aXRjaC10b2dnbGVkLW9mZi10aHVtYi1jb2xvcigkbWRjLXN3aXRjaC10b2dnbGVkLW9mZi10aHVtYi1jb2xvciwgJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtc3dpdGNoX19uYXRpdmUtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1zd2l0Y2hfX25hdGl2ZS1jb250cm9sXztcbiAgICB9XG4gIH1cblxuICAubWRjLXN3aXRjaF9fdHJhY2sge1xuICAgIEBpbmNsdWRlIG1kYy1zd2l0Y2hfX3RyYWNrXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1zd2l0Y2hfX3RodW1iLXVuZGVybGF5IHtcbiAgICBAaW5jbHVkZSBtZGMtc3dpdGNoX190aHVtYi11bmRlcmxheV8oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtc3dpdGNoX190aHVtYiB7XG4gICAgQGluY2x1ZGUgbWRjLXN3aXRjaF9fdGh1bWJfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLXN3aXRjaC0tY2hlY2tlZCB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC5tZGMtc3dpdGNoX190cmFjayB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zd2l0Y2hfX3RyYWNrLWNoZWNrZWRfO1xuICAgICAgfVxuXG4gICAgICAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXkge1xuICAgICAgICBAaW5jbHVkZSBtZGMtc3dpdGNoX190aHVtYi11bmRlcmxheS1jaGVja2VkXztcbiAgICAgIH1cblxuICAgICAgLm1kYy1zd2l0Y2hfX25hdGl2ZS1jb250cm9sIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN3aXRjaF9fbmF0aXZlLWNvbnRyb2wtY2hlY2tlZF87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zd2l0Y2gtLWRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLXN3aXRjaC0tZGlzYWJsZWQtYmFzZV87XG5cbiAgICAgIC5tZGMtc3dpdGNoX190aHVtYiB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zd2l0Y2hfX3RodW1iLWRpc2FibGVkXztcbiAgICAgIH1cblxuICAgICAgLm1kYy1zd2l0Y2hfX25hdGl2ZS1jb250cm9sIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN3aXRjaF9fbmF0aXZlLWNvbnRyb2wtZGlzYWJsZWRfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIHN3aXRjaCBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1zd2l0Y2gtY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gbWRjLXN3aXRjaC1yaXBwbGUoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLWNvbW1vbigkcXVlcnkpO1xuXG4gIC5tZGMtc3dpdGNoIHtcbiAgICBAaW5jbHVkZSBtZGMtc3dpdGNoLXRvZ2dsZWQtb2ZmLXJpcHBsZS1jb2xvcigkbWRjLXN3aXRjaC10b2dnbGVkLW9mZi1yaXBwbGUtY29sb3IsICRxdWVyeSk7XG4gIH1cblxuICAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXkge1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZSgkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLXVuYm91bmRlZCgxMDAlLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMoJG1kYy1zd2l0Y2gtYmFzZWxpbmUtdGhlbWUtY29sb3IsIGZhbHNlLCAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc3dpdGNoLXRvZ2dsZWQtb24tY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1zd2l0Y2gtdG9nZ2xlZC1vbi10cmFjay1jb2xvcigkY29sb3IsICRxdWVyeSk7XG4gIEBpbmNsdWRlIG1kYy1zd2l0Y2gtdG9nZ2xlZC1vbi10aHVtYi1jb2xvcigkY29sb3IsICRxdWVyeSk7XG4gIEBpbmNsdWRlIG1kYy1zd2l0Y2gtdG9nZ2xlZC1vbi1yaXBwbGUtY29sb3IoJGNvbG9yLCAkcXVlcnkpO1xufVxuXG5AbWl4aW4gbWRjLXN3aXRjaC10b2dnbGVkLW9mZi1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgQGluY2x1ZGUgbWRjLXN3aXRjaC10b2dnbGVkLW9mZi10cmFjay1jb2xvcigkY29sb3IsICRxdWVyeSk7XG4gIEBpbmNsdWRlIG1kYy1zd2l0Y2gtdG9nZ2xlZC1vZmYtdGh1bWItY29sb3IoJGNvbG9yLCAkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtc3dpdGNoLXRvZ2dsZWQtb2ZmLXJpcHBsZS1jb2xvcigkY29sb3IsICRxdWVyeSk7XG59XG5cbkBtaXhpbiBtZGMtc3dpdGNoLXRvZ2dsZWQtb24tdHJhY2stY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gICYubWRjLXN3aXRjaC0tY2hlY2tlZCAubWRjLXN3aXRjaF9fdHJhY2sge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtc3dpdGNoLXRvZ2dsZWQtb24tdGh1bWItY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gICYubWRjLXN3aXRjaC0tY2hlY2tlZCAubWRjLXN3aXRjaF9fdGh1bWIge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtc3dpdGNoLXRvZ2dsZWQtb24tcmlwcGxlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAmLm1kYy1zd2l0Y2gtLWNoZWNrZWQgLm1kYy1zd2l0Y2hfX3RodW1iLXVuZGVybGF5IHtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKCRjb2xvciwgZmFsc2UsICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zd2l0Y2gtdG9nZ2xlZC1vZmYtdHJhY2stY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gICY6bm90KC5tZGMtc3dpdGNoLS1jaGVja2VkKSAubWRjLXN3aXRjaF9fdHJhY2sge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtc3dpdGNoLXRvZ2dsZWQtb2ZmLXRodW1iLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAmOm5vdCgubWRjLXN3aXRjaC0tY2hlY2tlZCkgLm1kYy1zd2l0Y2hfX3RodW1iIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXN3aXRjaC10b2dnbGVkLW9mZi1yaXBwbGUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICY6bm90KC5tZGMtc3dpdGNoLS1jaGVja2VkKSAubWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXkge1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMoJGNvbG9yLCBmYWxzZSwgJHF1ZXJ5KTtcbiAgfVxufVxuXG4vL1xuLy8gUHJpdmF0ZVxuLy9cblxuLy8gU3RydWN0dXJlXG5AbWl4aW4gbWRjLXN3aXRjaC1iYXNlXyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdXRsaW5lOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuQG1peGluIG1kYy1zd2l0Y2hfX3RyYWNrXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbWRjLXN3aXRjaC10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRtZGMtc3dpdGNoLXRyYWNrLWhlaWdodDtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiAkbWRjLXN3aXRjaC10cmFjay1oZWlnaHQgLyAyO1xuICAgIG9wYWNpdHk6IC4zODtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG1kYy1zd2l0Y2gtdHJhbnNpdGlvbihvcGFjaXR5KSxcbiAgICAgIG1kYy1zd2l0Y2gtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKSxcbiAgICAgIG1kYy1zd2l0Y2gtdHJhbnNpdGlvbihib3JkZXItY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc3dpdGNoX190aHVtYi11bmRlcmxheV8oJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRtZGMtc3dpdGNoLXRhcC10YXJnZXQtaW5pdGlhbC1wb3NpdGlvbik7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyBFbnN1cmVzIHRoZSBrbm9iIGlzIGNlbnRlcmVkIG9uIHRoZSB0cmFjay5cbiAgICB0b3A6IC0oKCRtZGMtc3dpdGNoLXRhcC10YXJnZXQtc2l6ZSAtICRtZGMtc3dpdGNoLXRyYWNrLWhlaWdodCkgLyAyKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAkbWRjLXN3aXRjaC10YXAtdGFyZ2V0LXNpemU7XG4gICAgaGVpZ2h0OiAkbWRjLXN3aXRjaC10YXAtdGFyZ2V0LXNpemU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgbWRjLXN3aXRjaC10cmFuc2l0aW9uKHRyYW5zZm9ybSksXG4gICAgICBtZGMtc3dpdGNoLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciksXG4gICAgICBtZGMtc3dpdGNoLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXN3aXRjaF9fbmF0aXZlLWNvbnRyb2xfIHtcbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgMCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAkbWRjLXN3aXRjaC1uYXRpdmUtY29udHJvbC13aWR0aDtcbiAgaGVpZ2h0OiAkbWRjLXN3aXRjaC10YXAtdGFyZ2V0LXNpemU7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuQG1peGluIG1kYy1zd2l0Y2hfX3RodW1iXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIG1kYy1lbGV2YXRpb24oJHotdmFsdWU6IDIsICRxdWVyeTogJHF1ZXJ5KTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRtZGMtc3dpdGNoLXRodW1iLWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG1kYy1zd2l0Y2gtdGh1bWItZGlhbWV0ZXI7XG4gICAgYm9yZGVyOiAkbWRjLXN3aXRjaC10aHVtYi1kaWFtZXRlciAvIDIgc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIC8vIEFsbG93IGV2ZW50cyB0byBnbyB0aHJvdWdoIHRvIHRoZSBuYXRpdmUgY29udHJvbCwgbmVjZXNzYXJ5IGZvciBJRSBhbmQgRWRnZS5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG5cbi8vIENoZWNrZWQgc3RhdGVcblxuQG1peGluIG1kYy1zd2l0Y2hfX3RyYWNrLWNoZWNrZWRfIHtcbiAgb3BhY2l0eTogLjU0O1xufVxuXG5AbWl4aW4gbWRjLXN3aXRjaF9fdGh1bWItdW5kZXJsYXktY2hlY2tlZF8ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJG1kYy1zd2l0Y2gtdGh1bWItYWN0aXZlLW1hcmdpbik7XG5cbiAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0oJG1kYy1zd2l0Y2gtdGh1bWItYWN0aXZlLW1hcmdpbikpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc3dpdGNoX19uYXRpdmUtY29udHJvbC1jaGVja2VkXyB7XG4gIC8vIFRyYW5zbGF0ZSB0aGUgbmF0aXZlIGNvbnRyb2wgdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBzbyB0aGF0IHRoZSB0YXAgdGFyZ2V0IHN0YXlzIHRoZSBzYW1lLlxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSgkbWRjLXN3aXRjaC10aHVtYi1hY3RpdmUtbWFyZ2luKSk7XG5cbiAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRtZGMtc3dpdGNoLXRodW1iLWFjdGl2ZS1tYXJnaW4pO1xuICB9XG59XG5cbi8vIERpc2FibGVkIHN0YXRlXG5cbkBtaXhpbiBtZGMtc3dpdGNoLS1kaXNhYmxlZC1iYXNlXyB7XG4gIG9wYWNpdHk6IC4zODtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtaXhpbiBtZGMtc3dpdGNoX190aHVtYi1kaXNhYmxlZF8ge1xuICBib3JkZXItd2lkdGg6IDFweDsgIC8vIEluIGhpZ2ggY29udHJhc3QgbW9kZSwgb25seSBzaG93IG91dGxpbmUgb2Yga25vYi5cbn1cblxuQG1peGluIG1kYy1zd2l0Y2hfX25hdGl2ZS1jb250cm9sLWRpc2FibGVkXyB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL3RoZW1lL3ZhcmlhYmxlc1wiO1xuXG4kbWRjLXN3aXRjaC10cmFjay13aWR0aDogMzJweCAhZGVmYXVsdDtcbiRtZGMtc3dpdGNoLXRyYWNrLWhlaWdodDogMTRweCAhZGVmYXVsdDtcbiRtZGMtc3dpdGNoLXRodW1iLWRpYW1ldGVyOiAyMHB4ICFkZWZhdWx0O1xuJG1kYy1zd2l0Y2gtdGFwLXRhcmdldC1zaXplOiA0OHB4ICFkZWZhdWx0O1xuXG4vLyBBbW91bnQgdGhlIGVkZ2Ugb2YgdGhlIHRodW1iIHNob3VsZCBiZSBvZmZzZXQgZnJvbSB0aGUgZWRnZSBvZiB0aGUgdHJhY2suXG4kbWRjLXN3aXRjaC10aHVtYi1vZmZzZXQ6IDRweCAhZGVmYXVsdDtcblxuLy8gUG9zaXRpb24gZm9yIHRoZSB0YXAgdGFyZ2V0IHRoYXQgY29udGFpbnMgdGhlIHRodW1iIHRvIGFsaWduIHRoZSB0aHVtYiBjb3JyZWN0bHkgb2Zmc2V0IGZyb20gdGhlIHRyYWNrLlxuJG1kYy1zd2l0Y2gtdGFwLXRhcmdldC1pbml0aWFsLXBvc2l0aW9uOlxuICAtJG1kYy1zd2l0Y2gtdGFwLXRhcmdldC1zaXplIC8gMiArICRtZGMtc3dpdGNoLXRodW1iLWRpYW1ldGVyIC8gMiAtXG4gICRtZGMtc3dpdGNoLXRodW1iLW9mZnNldCAhZGVmYXVsdDtcblxuLy8gVmFsdWUgdG8gY292ZXIgdGhlIHdob2xlIHN3aXRjaCBhcmVhIChpbmNsdWRpbmcgdGhlIHJpcHBsZSkgd2l0aCB0aGUgbmF0aXZlIGNvbnRyb2wuXG4kbWRjLXN3aXRjaC1uYXRpdmUtY29udHJvbC13aWR0aDpcbiAgJG1kYy1zd2l0Y2gtdHJhY2std2lkdGggK1xuICAoJG1kYy1zd2l0Y2gtdGFwLXRhcmdldC1zaXplIC0gJG1kYy1zd2l0Y2gtdGh1bWItZGlhbWV0ZXIpICtcbiAgJG1kYy1zd2l0Y2gtdGh1bWItb2Zmc2V0ICogMiAhZGVmYXVsdDtcblxuJG1kYy1zd2l0Y2gtdGh1bWItYWN0aXZlLW1hcmdpbjpcbiAgJG1kYy1zd2l0Y2gtdHJhY2std2lkdGggLSAkbWRjLXN3aXRjaC10aHVtYi1kaWFtZXRlciArICRtZGMtc3dpdGNoLXRodW1iLW9mZnNldCAqIDIgIWRlZmF1bHQ7XG5cbiRtZGMtc3dpdGNoLXRvZ2dsZWQtb2ZmLXRodW1iLWNvbG9yOiBtZGMtdGhlbWUtcHJvcC12YWx1ZShzdXJmYWNlKSAhZGVmYXVsdDtcbiRtZGMtc3dpdGNoLXRvZ2dsZWQtb2ZmLXRyYWNrLWNvbG9yOiBtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSAhZGVmYXVsdDtcbiRtZGMtc3dpdGNoLXRvZ2dsZWQtb2ZmLXJpcHBsZS1jb2xvcjogIzllOWU5ZSAhZGVmYXVsdDtcbiRtZGMtc3dpdGNoLWRpc2FibGVkLXRodW1iLWNvbG9yOiBtZGMtdGhlbWUtcHJvcC12YWx1ZShzdXJmYWNlKSAhZGVmYXVsdDtcbiRtZGMtc3dpdGNoLWRpc2FibGVkLXRyYWNrLWNvbG9yOiBtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSAhZGVmYXVsdDtcblxuJG1kYy1zd2l0Y2gtYmFzZWxpbmUtdGhlbWUtY29sb3I6IHNlY29uZGFyeSAhZGVmYXVsdDtcbiIsIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4gKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbiAqIFRIRSBTT0ZUV0FSRS5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7XG5cbkBtaXhpbiBtZGMtdGFiLWluZGljYXRvci1zdXJmYWNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWl4aW4gbWRjLXRhYi1pbmRpY2F0b3ItdW5kZXJsaW5lLWNvbG9yKCRjb2xvcikge1xuICA+IC5tZGMtdGFiLWluZGljYXRvcl9fY29udGVudC0tdW5kZXJsaW5lIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGFiLWluZGljYXRvci11bmRlcmxpbmUtaGVpZ2h0KCRoZWlnaHQpIHtcbiAgPiAubWRjLXRhYi1pbmRpY2F0b3JfX2NvbnRlbnQtLXVuZGVybGluZSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGFiLWluZGljYXRvci11bmRlcmxpbmUtdG9wLWNvcm5lci1yYWRpdXMoJHJhZGl1cykge1xuICA+IC5tZGMtdGFiLWluZGljYXRvcl9fY29udGVudC0tdW5kZXJsaW5lIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGFiLWluZGljYXRvci1pY29uLWNvbG9yKCRjb2xvcikge1xuICA+IC5tZGMtdGFiLWluZGljYXRvcl9fY29udGVudC0taWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10YWItaW5kaWNhdG9yLWljb24taGVpZ2h0KCRoZWlnaHQpIHtcbiAgPiAubWRjLXRhYi1pbmRpY2F0b3JfX2NvbnRlbnQtLWljb24ge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBmb250LXNpemU6ICRoZWlnaHQ7XG4gIH1cbn1cbiIsIi8vXHJcbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXHJcbi8vXHJcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcclxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxyXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXHJcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcclxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXHJcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XHJcbi8vXHJcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXHJcbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxyXG4vL1xyXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXHJcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxyXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcclxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxyXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxyXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXHJcbi8vIFRIRSBTT0ZUV0FSRS5cclxuLy9cclxuXHJcbkBpbXBvcnQgXCIuLi9yaXBwbGUvY29tbW9uXCI7XHJcbkBpbXBvcnQgXCIuLi9yaXBwbGUvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi9ydGwvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi90eXBvZ3JhcGh5L21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vdGFiLWluZGljYXRvci9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4vbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xyXG5cclxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgdGFiXHJcblxyXG4ubWRjLXRhYiB7XHJcbiAgQGluY2x1ZGUgbWRjLXRhYi10ZXh0LWxhYmVsLWNvbG9yKG9uLXN1cmZhY2UpO1xyXG4gIEBpbmNsdWRlIG1kYy10YWItaWNvbi1jb2xvcihvbi1zdXJmYWNlKTtcclxuICBAaW5jbHVkZSBtZGMtdGFiLWluZGljYXRvci1zdXJmYWNlO1xyXG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KGJ1dHRvbik7XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleDogMSAwIGF1dG87XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBoZWlnaHQ6ICRtZGMtdGFiLWhlaWdodDtcclxuICBwYWRkaW5nOiAwIDI0cHg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIHotaW5kZXg6IDE7XHJcblxyXG4gIC8vIEZpcmVmb3ggc3RpbGwgZHJhd3MgYSBkb3R0ZWQgYm9yZGVyIGFyb3VuZCBmb2N1c2VkIGJ1dHRvbnMgdW5sZXNzIHNwZWNpZmljYWxseSBvdmVycmlkZGVuLlxyXG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcbn1cclxuXHJcbi5tZGMtdGFiLS1taW4td2lkdGgge1xyXG4gIGZsZXg6IDAgMSBhdXRvO1xyXG59XHJcblxyXG4ubWRjLXRhYl9fcmlwcGxlIHtcclxuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XHJcbiAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZDtcclxuICBAaW5jbHVkZSBtZGMtc3RhdGVzKHByaW1hcnkpO1xyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5tZGMtdGFiX19jb250ZW50IHtcclxuICBAaW5jbHVkZSBtZGMtdGFiLWluZGljYXRvci1zdXJmYWNlO1xyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ubWRjLXRhYl9fdGV4dC1sYWJlbCxcclxuLm1kYy10YWJfX2ljb24ge1xyXG4gIHRyYW5zaXRpb246IDE1MG1zIGNvbG9yIGxpbmVhciwgMTUwbXMgb3BhY2l0eSBsaW5lYXI7XHJcbiAgei1pbmRleDogMjtcclxufVxyXG5cclxuLm1kYy10YWJfX3RleHQtbGFiZWwge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBvcGFjaXR5OiAkbWRjLXRhYi10ZXh0LWxhYmVsLW9wYWNpdHk7XHJcbiAgLy8gU2V0dGluZyBsaW5lLWhlaWdodCBoZXJlIG92ZXJyaWRlcyB0aGUgbGluZS1oZWlnaHQgZnJvbSB0aGUgdHlwb2dyYXBoeVxyXG4gIC8vIG1peGluIGFib3ZlLiBUaGUgbGluZS1oZWlnaHQgbmVlZHMgdG8gYmUgb3ZlcnJpZGRlbiBzbyB0aGF0IHRoZSBzcGFjaW5nXHJcbiAgLy8gYmV0d2VlbiB0aGUgdGV4dCBsYWJlbCBhbmQgdGhlIGljb24gYXMgd2VsbCBhcyB0aGUgdGV4dCBsYWJlbCBhbmQgdGhlXHJcbiAgLy8gYm90dG9tIG9mIHRoZSB0YWIgcmVtYWluIHRoZSBzYW1lLlxyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG4ubWRjLXRhYl9faWNvbiB7XHJcbiAgd2lkdGg6ICRtZGMtdGFiLWljb24tc2l6ZTtcclxuICBoZWlnaHQ6ICRtZGMtdGFiLWljb24tc2l6ZTtcclxuICBvcGFjaXR5OiAkbWRjLXRhYi1pY29uLW9wYWNpdHk7XHJcbiAgZm9udC1zaXplOiAkbWRjLXRhYi1pY29uLXNpemU7XHJcbn1cclxuXHJcbi5tZGMtdGFiLS1zdGFja2VkIHtcclxuICBoZWlnaHQ6ICRtZGMtdGFiLXN0YWNrZWQtaGVpZ2h0O1xyXG59XHJcblxyXG4ubWRjLXRhYi0tc3RhY2tlZCAubWRjLXRhYl9fY29udGVudCB7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLm1kYy10YWItLXN0YWNrZWQgLm1kYy10YWJfX2ljb24ge1xyXG4gIHBhZGRpbmctdG9wOiAxMnB4O1xyXG59XHJcblxyXG4ubWRjLXRhYi0tc3RhY2tlZCAubWRjLXRhYl9fdGV4dC1sYWJlbCB7XHJcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XHJcbn1cclxuXHJcbi5tZGMtdGFiLS1hY3RpdmUge1xyXG4gIEBpbmNsdWRlIG1kYy10YWItdGV4dC1sYWJlbC1jb2xvcihwcmltYXJ5KTtcclxuICBAaW5jbHVkZSBtZGMtdGFiLWljb24tY29sb3IocHJpbWFyeSk7XHJcblxyXG4gIC5tZGMtdGFiX190ZXh0LWxhYmVsLFxyXG4gIC5tZGMtdGFiX19pY29uIHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5tZGMtdGFiOm5vdCgubWRjLXRhYi0tc3RhY2tlZCkgLm1kYy10YWJfX2ljb24gKyAubWRjLXRhYl9fdGV4dC1sYWJlbCB7XHJcbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KHBhZGRpbmcsIGxlZnQsIDhweCk7XHJcbn1cclxuXHJcbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXHJcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kbWRjLXRhYi1pY29uLXNpemU6IDI0cHggIWRlZmF1bHQ7XG4kbWRjLXRhYi1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kbWRjLXRhYi1zdGFja2VkLWhlaWdodDogNzJweCAhZGVmYXVsdDtcbiRtZGMtdGFiLXRleHQtbGFiZWwtb3BhY2l0eTogLjYgIWRlZmF1bHQ7XG4kbWRjLXRhYi1pY29uLW9wYWNpdHk6IC41NCAhZGVmYXVsdDtcbiIsIi8vXHJcbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXHJcbi8vXHJcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcclxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxyXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXHJcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcclxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXHJcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XHJcbi8vXHJcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXHJcbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxyXG4vL1xyXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXHJcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxyXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcclxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxyXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxyXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXHJcbi8vIFRIRSBTT0ZUV0FSRS5cclxuLy9cclxuXHJcbkBpbXBvcnQgXCIuLi9yaXBwbGUvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjtcclxuXHJcbi8vIFB1YmxpYyBtaXhpbnNcclxuXHJcbkBtaXhpbiBtZGMtdGFiLXRleHQtbGFiZWwtY29sb3IoJGNvbG9yKSB7XHJcbiAgLm1kYy10YWJfX3RleHQtbGFiZWwge1xyXG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRhYi1pY29uLWNvbG9yKCRjb2xvcikge1xyXG4gIC5tZGMtdGFiX19pY29uIHtcclxuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xyXG5cclxuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGFiLXN0YXRlcy1jb2xvcigkY29sb3IpIHtcclxuICAubWRjLXRhYl9fcmlwcGxlIHtcclxuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMoJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGFiLWluay1jb2xvcigkY29sb3IpIHtcclxuICBAaW5jbHVkZSBtZGMtdGFiLWljb24tY29sb3IoJGNvbG9yKTtcclxuICBAaW5jbHVkZSBtZGMtdGFiLXN0YXRlcy1jb2xvcigkY29sb3IpO1xyXG4gIEBpbmNsdWRlIG1kYy10YWItdGV4dC1sYWJlbC1jb2xvcigkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRhYi1hY3RpdmUtdGV4dC1sYWJlbC1jb2xvcigkY29sb3IpIHtcclxuICAmLm1kYy10YWItLWFjdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtdGFiLXRleHQtbGFiZWwtY29sb3IoJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGFiLWFjdGl2ZS1pY29uLWNvbG9yKCRjb2xvcikge1xyXG4gICYubWRjLXRhYi0tYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIG1kYy10YWItaWNvbi1jb2xvcigkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy10YWItcGFyZW50LXBvc2l0aW9uaW5nIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGFiLWZpeGVkLXdpZHRoKCR3aWR0aCkge1xyXG4gIGZsZXg6IDAgMSAkd2lkdGg7XHJcbn1cclxuIiwiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbiAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuICogVEhFIFNPRlRXQVJFLlxuICovXG5cbkBpbXBvcnQgXCIuL21peGluc1wiO1xuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSB0YWItYmFyXG5cbi5tZGMtdGFiLWJhciB7XG4gIEBpbmNsdWRlIG1kYy10YWItYmFyLXdpZHRoKDEwMCUpO1xufVxuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxuIiwiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbiAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuICogVEhFIFNPRlRXQVJFLlxuICovXG5cbkBtaXhpbiBtZGMtdGFiLWJhci13aWR0aCgkd2lkdGgpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbn1cbiIsIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4gKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbiAqIFRIRSBTT0ZUV0FSRS5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4vbWl4aW5zXCI7XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHRhYi1pbmRpY2F0b3JcblxuLm1kYy10YWItaW5kaWNhdG9yIHtcbiAgQGluY2x1ZGUgbWRjLXRhYi1pbmRpY2F0b3ItdW5kZXJsaW5lLWNvbG9yKHByaW1hcnkpO1xuICBAaW5jbHVkZSBtZGMtdGFiLWluZGljYXRvci11bmRlcmxpbmUtaGVpZ2h0KDJweCk7XG4gIEBpbmNsdWRlIG1kYy10YWItaW5kaWNhdG9yLWljb24tY29sb3Ioc2Vjb25kYXJ5KTtcbiAgQGluY2x1ZGUgbWRjLXRhYi1pbmRpY2F0b3ItaWNvbi1oZWlnaHQoMzRweCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxO1xufVxuXG4ubWRjLXRhYi1pbmRpY2F0b3JfX2NvbnRlbnQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICBvcGFjaXR5OiAwO1xufVxuXG4ubWRjLXRhYi1pbmRpY2F0b3JfX2NvbnRlbnQtLXVuZGVybGluZSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm1kYy10YWItaW5kaWNhdG9yX19jb250ZW50LS1pY29uIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm1kYy10YWItaW5kaWNhdG9yLS1hY3RpdmUgPiAubWRjLXRhYi1pbmRpY2F0b3JfX2NvbnRlbnQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vLyBTbGlkZSBieSBkZWZhdWx0XG4ubWRjLXRhYi1pbmRpY2F0b3IgPiAubWRjLXRhYi1pbmRpY2F0b3JfX2NvbnRlbnQge1xuICB0cmFuc2l0aW9uOiAyNTBtcyB0cmFuc2Zvcm0gJG1kYy1hbmltYXRpb24tc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xufVxuXG4vLyAtLW5vLXRyYW5zaXRpb24gaXMgYXBwbGllZCBpbiBjYXNlcyB3aGVyZSBzdHlsZXMgbmVlZCB0byBiZSBhcHBsaWVkIGltbWVkaWF0ZWx5IHRvIHNldCB1cCBhIHRyYW5zaXRpb25cbi5tZGMtdGFiLWluZGljYXRvci0tbm8tdHJhbnNpdGlvbiA+IC5tZGMtdGFiLWluZGljYXRvcl9fY29udGVudCB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtdGFiLWluZGljYXRvci0tZmFkZSA+IC5tZGMtdGFiLWluZGljYXRvcl9fY29udGVudCB7XG4gIHRyYW5zaXRpb246IDE1MG1zIG9wYWNpdHkgbGluZWFyO1xufVxuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGlnbm9yZVxuLm1kYy10YWItaW5kaWNhdG9yLS1hY3RpdmUubWRjLXRhYi1pbmRpY2F0b3ItLWZhZGUgPiAubWRjLXRhYi1pbmRpY2F0b3JfX2NvbnRlbnQge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcbn1cblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbiIsIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4gKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbiAqIFRIRSBTT0ZUV0FSRS5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL3RhYi9taXhpbnNcIjtcblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgdGFiLXNjcm9sbGVyXG4ubWRjLXRhYi1zY3JvbGxlciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuLy8gU2VsZWN0b3IgZm9yIHRlc3QgZWxlbWVudCB1c2VkIHRvIGZlYXR1cmUtZGV0ZWN0IGhvcml6b250YWwgc2Nyb2xsYmFyIGhlaWdodFxuLm1kYy10YWItc2Nyb2xsZXJfX3Rlc3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBvdmVyZmxvdy14OiBzY3JvbGw7XG59XG5cbi5tZGMtdGFiLXNjcm9sbGVyX19zY3JvbGwtYXJlYSB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4ubWRjLXRhYi1zY3JvbGxlcl9fc2Nyb2xsLWFyZWEsXG4ubWRjLXRhYi1zY3JvbGxlcl9fdGVzdCB7XG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFRoaXMgbW9kaWZpZXIgY2xhc3Mgd2lsbCBiZSBhZGRlZCBpbiBKUyBhZnRlciBjb21wdXRpbmcgdGhlIE9TIHNjcm9sbGJhciBzaXplIGluIG9yZGVyIHRvIGhpZGUgdGhlIHNjcm9sbGJhci5cbi5tZGMtdGFiLXNjcm9sbGVyX19zY3JvbGwtYXJlYS0tc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsO1xufVxuXG4ubWRjLXRhYi1zY3JvbGxlcl9fc2Nyb2xsLWNvbnRlbnQge1xuICBAaW5jbHVkZSBtZGMtdGFiLXBhcmVudC1wb3NpdGlvbmluZztcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDAgYXV0bztcbiAgdHJhbnNmb3JtOiBub25lO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4ubWRjLXRhYi1zY3JvbGxlci0tYWxpZ24tc3RhcnQgLm1kYy10YWItc2Nyb2xsZXJfX3Njcm9sbC1jb250ZW50IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ubWRjLXRhYi1zY3JvbGxlci0tYWxpZ24tZW5kIC5tZGMtdGFiLXNjcm9sbGVyX19zY3JvbGwtY29udGVudCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5tZGMtdGFiLXNjcm9sbGVyLS1hbGlnbi1jZW50ZXIgLm1kYy10YWItc2Nyb2xsZXJfX3Njcm9sbC1jb250ZW50IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tZGMtdGFiLXNjcm9sbGVyLS1hbmltYXRpbmcgLm1kYy10YWItc2Nyb2xsZXJfX3Njcm9sbC1hcmVhIHtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87XG59XG5cbi5tZGMtdGFiLXNjcm9sbGVyLS1hbmltYXRpbmcgLm1kYy10YWItc2Nyb2xsZXJfX3Njcm9sbC1jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogMjUwbXMgdHJhbnNmb3JtICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbn1cblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vdHlwb2dyYXBoeS9taXhpbnNcIjtcblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgdGV4dC1maWVsZC1oZWxwZXItdGV4dFxuXG4ubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQge1xuICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeShjYXB0aW9uKTtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtdG9wKDE2cHgpO1xuXG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogbWRjLXRleHQtZmllbGQtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgb3BhY2l0eTogMDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC0tcGVyc2lzdGVudCB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG4gIHdpbGwtY2hhbmdlOiBpbml0aWFsO1xufVxuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE5IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vdHlwb2dyYXBoeS9taXhpbnNcIjtcblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlclxuXG4ubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIge1xuICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeShjYXB0aW9uKTtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtdG9wKDE2cHgpO1xuICAvLyBLZWVwIGZsZXggaXRlbSBhbGlnbiB0byB0cmFpbGluZyBzaWRlIG9uIGFic2VuY2Ugb2YgaGVscGVyIHRleHQuXG4gIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIGxlZnQsIGF1dG8pO1xuICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gocGFkZGluZywgbGVmdCwgMTZweCk7XG5cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vLi4vdGhlbWUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vdGhlbWUvbWl4aW5zXCI7XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1kYy10ZXh0LWZpZWxkX19pY29uOm5vdChbdGFiaW5kZXhdKSxcbi5tZGMtdGV4dC1maWVsZF9faWNvblt0YWJpbmRleD1cIi0xXCJdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL2Zsb2F0aW5nLWxhYmVsL21kYy1mbG9hdGluZy1sYWJlbFwiO1xuQGltcG9ydCBcIi4uL2xpbmUtcmlwcGxlL21kYy1saW5lLXJpcHBsZVwiO1xuQGltcG9ydCBcIi4uL25vdGNoZWQtb3V0bGluZS9tZGMtbm90Y2hlZC1vdXRsaW5lXCI7XG5AaW1wb3J0IFwiLi4vcmlwcGxlL2NvbW1vblwiO1xuQGltcG9ydCBcIi4uL3JpcHBsZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vdGhlbWUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vdHlwb2dyYXBoeS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi90eXBvZ3JhcGh5L3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi9oZWxwZXItdGV4dC9tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dFwiO1xuQGltcG9ydCBcIi4vY2hhcmFjdGVyLWNvdW50ZXIvbWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXJcIjtcbkBpbXBvcnQgXCIuL2ljb24vbWRjLXRleHQtZmllbGQtaWNvblwiO1xuQGltcG9ydCBcIi4vbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgdGV4dC1maWVsZFxuXG4ubWRjLXRleHQtZmllbGQge1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gIC8vIFRleHQgRmllbGQgaW50ZW50aW9uYWxseSBvbWl0cyBwcmVzcyByaXBwbGUsIHNvIGVhY2ggc3RhdGUgbmVlZHMgdG8gYmUgc3BlY2lmaWVkIGluZGl2aWR1YWxseS5cbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1pbmstY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtc3RhdGVzLWhvdmVyLW9wYWNpdHkobWRjLXN0YXRlcy1vcGFjaXR5KCRtZGMtdGV4dC1maWVsZC1pbmstY29sb3IsIGhvdmVyKSk7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eShtZGMtc3RhdGVzLW9wYWNpdHkoJG1kYy10ZXh0LWZpZWxkLWluay1jb2xvciwgZm9jdXMpKTtcbiAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZDtcblxuICAvLyBTaGFwZVxuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1zaGFwZS1yYWRpdXMoc21hbGwpO1xuXG4gIC8vIENvbG9yc1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1sYWJlbC1jb2xvcigkbWRjLXRleHQtZmllbGQtbGFiZWwpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1pbmstY29sb3IoJG1kYy10ZXh0LWZpZWxkLWluay1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWNhcmV0LWNvbG9yKHByaW1hcnkpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtYm90dG9tLWxpbmUtaWRsZSk7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWhvdmVyLWJvdHRvbS1saW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1ob3Zlcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWxpbmUtcmlwcGxlLWNvbG9yXyhwcmltYXJ5KTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoLWJvdHRvbS1saW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1mdWxsd2lkdGgtYm90dG9tLWxpbmUtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC1jb2xvcigkbWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlci1jb2xvcigkbWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1pY29uLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1pY29uLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcigkbWRjLXRleHQtZmllbGQtYmFja2dyb3VuZCk7XG5cbiAgLy8gRmxvYXRpbmcgTGFiZWxcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZmxvYXRpbmctbGFiZWxfO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogJG1kYy10ZXh0LWZpZWxkLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBjb2xvcjtcbn1cblxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KHN1YnRpdGxlMSk7XG5cbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHggMTZweCA2cHg7XG4gIHRyYW5zaXRpb246IG1kYy10ZXh0LWZpZWxkLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBtZGMtdGV4dC1maWVsZC10cmFuc2l0aW9uKG9wYWNpdHksICRkdXJhdGlvbjogNjdtcyk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjb2xvcjogJG1kYy10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWluay1jb2xvcjtcbiAgfVxuXG4gIC8vIE92ZXJyaWRlIHRoZSBwbGFjZWhvbGRlciBzdHlsZXMgaW4gSUUgd2l0aCBpbXBvcnRhbnQgcnVsZSB0byBpbXByb3ZlIHNwZWNpZmljaXR5LlxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tdmVuZG9yLXByZWZpeFxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRtZGMtdGV4dC1maWVsZC1wbGFjZWhvbGRlci1pbmstY29sb3IgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEFsd2F5cyBzaG93IHBsYWNlaG9sZGVyIGZvciB0ZXh0IGZpZWxkcyB0aGF0IGhhcyBubyBsYWJlbCBhbmQgc2hvdyBvbmx5IG9uIGZvY3VzZWQgc3RhdGUgd2hlbiBsYWJlbCBpcyBwcmVzZW50LlxuICAubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aCAmOjpwbGFjZWhvbGRlcixcbiAgLm1kYy10ZXh0LWZpZWxkLS1uby1sYWJlbCAmOjpwbGFjZWhvbGRlcixcbiAgLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkICY6OnBsYWNlaG9sZGVyIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA0MG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDExMG1zO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHJlZCBvdXRsaW5lIG9uIGZpcmVmb3hcbiAgJjppbnZhbGlkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLy8gS2VlcCBDaHJvbWUgYXV0b2ZpbGwgYmVoaW5kIHRoZSBub3RjaGVkIG91dGxpbmVcbiAgJjotd2Via2l0LWF1dG9maWxsIHtcbiAgICB6LWluZGV4OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciBhbGlnbnMgdGhlIHRleHQgaW5wdXQgcGxhY2Vob2xkZXIgYW5kIHZhbHVlIGZvciBvbmx5IGZpbGxlZCB2YXJpYW50LlxuICAubWRjLXRleHQtZmllbGQtLW5vLWxhYmVsOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgJiB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxufVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuLy8gTW92ZSBsYWJlbCB3aGVuIHRleHQtZmllbGQgZ2V0cyBhdXRvLWZpbGxlZCBpbiBDaHJvbWUuXG4ubWRjLXRleHQtZmllbGRfX2lucHV0Oi13ZWJraXQtYXV0b2ZpbGwgKyAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKC43NSk7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWZvY3VzZWRfO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRpc2FibGVkXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2Uge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZV87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC13aXRoLWxlYWRpbmctaWNvbl87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb25fO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2Uge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS13aXRoLWxlYWRpbmctaWNvbl87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtd2l0aC10cmFpbGluZy1pY29uXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtd2l0aC1ib3RoLWljb25zXztcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24sXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgYm90dG9tOiAxNnB4O1xuICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb25fO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2Uge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1kZW5zZS13aXRoLXRyYWlsaW5nLWljb25fO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC1ib3RoLWljb25zXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWRlbnNlXztcbn1cblxuQGluY2x1ZGUgbWRjLXJlcXVpcmVkLXRleHQtZmllbGQtbGFiZWwtYXN0ZXJpc2tfIHtcbiAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgY29udGVudDogXCIqXCI7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYV87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGgubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mdWxsd2lkdGgtaW52YWxpZF87XG59XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHRleHQtZmllbGQtaGVscGVyLXRleHRcbi8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgKyAmIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGQgKyAmIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUtcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRtZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZS1wYWRkaW5nO1xuICB9XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcblxuLy8gbWRjLWZvcm0tZmllbGQgdHdlYWtzIHRvIGFsaWduIHRleHQgZmllbGQgbGFiZWwgY29ycmVjdGx5XG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxuLm1kYy1mb3JtLWZpZWxkID4gLm1kYy10ZXh0LWZpZWxkICsgbGFiZWwge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxuXG4ubWRjLXRleHQtZmllbGQtLWZvY3VzZWQge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mb2N1c2VkXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLXN0cm9rZS1jb2xvcihwcmltYXJ5KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaW52YWxpZF87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1pbnZhbGlkXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWludmFsaWRfO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZGlzYWJsZWRfO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWRpc2FibGVkXztcbn1cblxuQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyhcbiAgdGV4dC1maWVsZC1kZW5zZSxcbiAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXksXG4gIDAlLFxuICAkbWRjLXRleHQtZmllbGQtZGVuc2UtbGFiZWwtc2NhbGVcbik7XG5AaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2Uta2V5ZnJhbWVzKHRleHQtZmllbGQtb3V0bGluZWQsICRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15KTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXMoXG4gIHRleHQtZmllbGQtb3V0bGluZWQtZGVuc2UsXG4gICRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS1sYWJlbC1wb3NpdGlvbi15LFxuICAwJSxcbiAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXNjYWxlXG4pO1xuQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyhcbiAgdGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24sXG4gICRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15LFxuICAkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teFxuKTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXMoXG4gIHRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlLFxuICAkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2UtbGFiZWwtcG9zaXRpb24teSxcbiAgJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXgsXG4gICRtZGMtdGV4dC1maWVsZC1kZW5zZS1sYWJlbC1zY2FsZVxuKTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXMoXG4gIHRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCxcbiAgJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksXG4gIC0kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teFxuKTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXMoXG4gIHRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlLXJ0bCxcbiAgJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXksXG4gIC0kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teCxcbiAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXNjYWxlXG4pO1xuQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyh0ZXh0YXJlYSwgJG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWxhYmVsLXBvc2l0aW9uLXksIDAlKTtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuJG1kYy10ZXh0LWZpZWxkLWVycm9yOiBlcnJvciAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1mdWxsd2lkdGgtYm90dG9tLWxpbmUtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4xMikgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtYm9yZGVyOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMDYpICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWljb246IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zKSAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1ob3ZlcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KSAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1pZGxlOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNDIpICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWxhYmVsOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNikgIWRlZmF1bHQ7XG5cbiRtZGMtdGV4dC1maWVsZC1pbmstY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC44NykgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC42KSAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1pY29uLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNTQpICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWZvY3VzZWQtbGFiZWwtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUocHJpbWFyeSksIC44NykgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtcGxhY2Vob2xkZXItaW5rLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNTQpICFkZWZhdWx0O1xuXG4kbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtbGFiZWwtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zNykgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtaW5rLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzcpICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWhlbHBlci10ZXh0LWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzcpICFkZWZhdWx0O1xuXG4kbWRjLXRleHQtZmllbGQtYmFja2dyb3VuZDogbWl4KG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCBtZGMtdGhlbWUtcHJvcC12YWx1ZShzdXJmYWNlKSwgNCUpICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWJhY2tncm91bmQ6IG1peChtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgbWRjLXRoZW1lLXByb3AtdmFsdWUoc3VyZmFjZSksIDIlKSAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1zZWNvbmRhcnktdGV4dDogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjYpICFkZWZhdWx0O1xuXG4kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtaWRsZS1ib3JkZXI6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4yNCkgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGlzYWJsZWQtYm9yZGVyOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMDYpICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWhvdmVyLWJvcmRlcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KSAhZGVmYXVsdDtcblxuJG1kYy10ZXh0YXJlYS1ib3JkZXI6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC43MykgIWRlZmF1bHQ7XG4kbWRjLXRleHRhcmVhLWJhY2tncm91bmQ6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUoc3VyZmFjZSksIDEpICFkZWZhdWx0O1xuJG1kYy10ZXh0YXJlYS1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4yNikgIWRlZmF1bHQ7XG4vLyBjYW5ub3QgYmUgdHJhbnNwYXJlbnQgYmVjYXVzZSBtdWx0aWxpbmUgdGV4dGFyZWEgaW5wdXRcbi8vIHdpbGwgbWFrZSB0ZXh0IHVucmVhZGFibGVcbiRtZGMtdGV4dGFyZWEtZGlzYWJsZWQtYmFja2dyb3VuZDogcmdiYSgyNDksIDI0OSwgMjQ5LCAxKSAhZGVmYXVsdDtcblxuJG1kYy10ZXh0LWZpZWxkLWhlaWdodDogNTZweCAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1sYWJlbC1wb3NpdGlvbi15OiA1MCUgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtbGFiZWwtb2Zmc2V0OiAxNnB4ICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXk6IDcwJSAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1kZW5zZS1sYWJlbC1zY2FsZTogLjggIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teTogMTMwJSAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS1sYWJlbC1wb3NpdGlvbi15OiAxMjAlICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXg6IDAgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teDogMjFweCAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1sYWJlbC1wb3NpdGlvbi15OiAxMzAlICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lLXBhZGRpbmc6IDE2cHggIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtaW5wdXQtcGFkZGluZzogMTZweCAhZGVmYXVsdDtcbi8vIE5vdGUgdGhhdCB0aGUgc2NhbGUgZmFjdG9yIGlzIGFuIGV5ZWJhbGxlZCBhcHByb3hpbWF0aW9uIG9mIHdoYXQncyBzaG93biBpbiB0aGUgbW9ja3MuXG4iLCIvL1xyXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxyXG4vL1xyXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XHJcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcclxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xyXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXHJcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xyXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxyXG4vL1xyXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxyXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cclxuLy9cclxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxyXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcclxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXHJcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcclxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcclxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxyXG4vLyBUSEUgU09GVFdBUkUuXHJcbi8vXHJcblxyXG5AaW1wb3J0IFwiLi4vZmxvYXRpbmctbGFiZWwvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi9saW5lLXJpcHBsZS9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uL25vdGNoZWQtb3V0bGluZS9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uL25vdGNoZWQtb3V0bGluZS92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vc2hhcGUvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi9zaGFwZS9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcImhlbHBlci10ZXh0L21peGluc1wiO1xyXG5AaW1wb3J0IFwiY2hhcmFjdGVyLWNvdW50ZXIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCJpY29uL21peGluc1wiO1xyXG5AaW1wb3J0IFwiaWNvbi92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UpIHtcclxuICBAaWYgbGVuZ3RoKCRyYWRpdXMpID4gMiB7XHJcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHJhZGl1czogJyN7JHJhZGl1c30nIGNvbXBvbmVudCBkb2Vzbid0IGFsbG93IGN1c3RvbWl6aW5nIGFsbCBjb3JuZXJzXCI7XHJcbiAgfVxyXG5cclxuICAkbWFza2VkLXJhZGl1czogbWRjLXNoYXBlLW1hc2stcmFkaXVzKCRyYWRpdXMsIDEgMSAwIDApO1xyXG5cclxuICBAaW5jbHVkZSBtZGMtc2hhcGUtcmFkaXVzKFxyXG4gICAgbWRjLXNoYXBlLXJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJG1kYy10ZXh0LWZpZWxkLWhlaWdodCwgJG1hc2tlZC1yYWRpdXMpLFxyXG4gICAgJHJ0bC1yZWZsZXhpdmVcclxuICApO1xyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtdGV4dGFyZWEtc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSkge1xyXG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlKTtcclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWluay1jb2xvcigkY29sb3IpIHtcclxuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1pbmstY29sb3JfKCRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcigkY29sb3IpIHtcclxuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1maWxsLWNvbG9yXygkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLXN0cm9rZS1jb2xvcigkY29sb3IpIHtcclxuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1zdHJva2UtY29sb3JfKCRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtdGV4dGFyZWEtZmlsbC1jb2xvcigkY29sb3IpIHtcclxuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1maWxsLWNvbG9yXygkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1ib3R0b20tbGluZS1jb2xvcigkY29sb3IpIHtcclxuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mdWxsd2lkdGgtYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtYm90dG9tLWxpbmUtY29sb3IoJGNvbG9yKSB7XHJcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSB7XHJcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1ob3Zlci1ib3R0b20tbGluZS1jb2xvcigkY29sb3IpIHtcclxuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcclxuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWhvdmVyLWJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWxpbmUtcmlwcGxlLWNvbG9yKCRjb2xvcikge1xyXG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcclxuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWxpbmUtcmlwcGxlLWNvbG9yXygkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWxhYmVsLWNvbG9yKCRjb2xvcikge1xyXG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcclxuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWxhYmVsLWluay1jb2xvcl8oJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xyXG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcclxuICAgIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xyXG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcclxuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWhvdmVyLW91dGxpbmUtY29sb3JfKCRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZm9jdXNlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xyXG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcclxuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZvY3VzZWQtb3V0bGluZS1jb2xvcl8oJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1jYXJldC1jb2xvcigkY29sb3IpIHtcclxuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcclxuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNhcmV0LWNvbG9yLCAkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gUHJpdmF0ZSBtaXhpbnNcclxuXHJcbi8vIEJhc2VsaW5lXHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZGlzYWJsZWRfIHtcclxuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1jb2xvcl8oJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWJvcmRlcik7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaW5rLWNvbG9yXygkbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtaW5rLWNvbG9yKTtcclxuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1sYWJlbC1pbmstY29sb3JfKCRtZGMtdGV4dC1maWVsZC1kaXNhYmxlZC1sYWJlbC1jb2xvcik7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtY29sb3JfKCRtZGMtdGV4dC1maWVsZC1kaXNhYmxlZC1oZWxwZXItdGV4dC1jb2xvcik7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXItY29sb3JfKCRtZGMtdGV4dC1maWVsZC1kaXNhYmxlZC1oZWxwZXItdGV4dC1jb2xvcik7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1jb2xvcl8oJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWljb24pO1xyXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1ib3R0b20tbGluZS1jb2xvcl8oJG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1ib3R0b20tbGluZS1jb2xvcik7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcl8oJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWJhY2tncm91bmQpO1xyXG5cclxuICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1pbnZhbGlkXyB7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtYm90dG9tLWxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcclxuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1ob3Zlci1ib3R0b20tbGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xyXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWxpbmUtcmlwcGxlLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvcik7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtbGFiZWwtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcclxuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC12YWxpZGF0aW9uLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvcik7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtY2FyZXQtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcclxuXHJcbiAgJi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIHtcclxuICAgICY6bm90KC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24pIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICYubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IsIC8qIHN0eWxlU2Vjb25kSWNvbiAqLyB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1mb2N1c2VkXyB7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtbGFiZWwtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWZvY3VzZWQtbGFiZWwtY29sb3IpO1xyXG5cclxuICBAaW5jbHVkZSBtZGMtcmVxdWlyZWQtdGV4dC1maWVsZC1sYWJlbC1hc3Rlcmlza18ge1xyXG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRtZGMtdGV4dC1maWVsZC1lcnJvcik7XHJcbiAgfVxyXG5cclxuICArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQ6bm90KC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cpIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZGVuc2VfIHtcclxuICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oXHJcbiAgICAkbWRjLXRleHQtZmllbGQtZGVuc2UtbGFiZWwtcG9zaXRpb24teSxcclxuICAgIDAlLFxyXG4gICAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXNjYWxlXHJcbiAgKTtcclxuICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtYW5pbWF0aW9uKHRleHQtZmllbGQtZGVuc2UpO1xyXG5cclxuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcclxuICAgIHBhZGRpbmc6IDEycHggMTJweCAwO1xyXG4gIH1cclxuXHJcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IC44MTNyZW07XHJcblxyXG4gICAgJi0tZmxvYXQtYWJvdmUge1xyXG4gICAgICBmb250LXNpemU6IC44MTNyZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXJlcXVpcmVkLXRleHQtZmllbGQtbGFiZWwtYXN0ZXJpc2tfKCkge1xyXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiB7XHJcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlcixcclxuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtb3V0bGluZS1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XHJcbiAgJHJlc29sdmVkLXJhZGl1czogbnRoKG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRtZGMtdGV4dC1maWVsZC1oZWlnaHQsIG1kYy1zaGFwZS1wcm9wLXZhbHVlKCRyYWRpdXMpKSwgMSk7XHJcblxyXG4gIEBpZiAobGVuZ3RoKG1kYy1zaGFwZS1wcm9wLXZhbHVlKCRyYWRpdXMpKSA+IDEpIHtcclxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGluZS1sZW5ndGhcclxuICAgIEB3YXJuIFwibWRjLXRleHQtZmllbGQtb3V0bGluZS1zaGFwZS1yYWRpdXMgb25seSBzdXBwb3J0cyBhIHNpbmdsZSByYWRpdXM7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWF0ZXJpYWwtY29tcG9uZW50cy9tYXRlcmlhbC1jb21wb25lbnRzLXdlYi9pc3N1ZXMvNDE0MFwiO1xyXG4gIH1cclxuXHJcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xyXG4gICAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1zaGFwZS1yYWRpdXMoJHJlc29sdmVkLXJhZGl1cywgJHJ0bC1yZWZsZXhpdmUpO1xyXG4gIH1cclxuXHJcbiAgQGlmICgkcmVzb2x2ZWQtcmFkaXVzID4gJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aCkge1xyXG4gICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRyZXNvbHZlZC1yYWRpdXMgKyAkbWRjLW5vdGNoZWQtb3V0bGluZS1wYWRkaW5nLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSB7XHJcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRyZXNvbHZlZC1yYWRpdXMgKyAkbWRjLW5vdGNoZWQtb3V0bGluZS1wYWRkaW5nLCAkcmVzb2x2ZWQtcmFkaXVzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1mbG9hdGluZy1sYWJlbF8ge1xyXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xyXG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJG1kYy10ZXh0LWZpZWxkLWxhYmVsLW9mZnNldCk7XHJcblxyXG4gICAgdG9wOiAxOHB4O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmLS10ZXh0YXJlYSB7XHJcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJG1kYy1ub3RjaGVkLW91dGxpbmUtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1vdXRsaW5lZCB7XHJcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcclxuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJG1kYy1ub3RjaGVkLW91dGxpbmUtcGFkZGluZyk7XHJcblxyXG4gICAgICB0b3A6IDE3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi0td2l0aC1sZWFkaW5nLWljb24ge1xyXG4gICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAoJG1kYy10ZXh0LWZpZWxkLWljb24tcGFkZGluZyAtICRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGgpKTtcclxuXHJcbiAgICAgICAgJi0tZmxvYXQtYWJvdmUge1xyXG4gICAgICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24oXHJcbiAgICAgICAgICAgIGxlZnQsXHJcbiAgICAgICAgICAgICgkbWRjLXRleHQtZmllbGQtaWNvbi1wYWRkaW5nIC0gJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aCkgKyAkbWRjLW5vdGNoZWQtb3V0bGluZS1wYWRkaW5nXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gT3V0bGluZWRcclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kaXNhYmxlZF8ge1xyXG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRpc2FibGVkLWJvcmRlcik7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcl8odHJhbnNwYXJlbnQpO1xyXG5cclxuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtb3V0bGluZWQtaW52YWxpZF8ge1xyXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcclxuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvcik7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZm9jdXNlZC1vdXRsaW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1mb2N1c2VkXyB7XHJcbiAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1zdHJva2Utd2lkdGgoMnB4KTtcclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlXyB7XHJcbiAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbihcclxuICAgICRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS1sYWJlbC1wb3NpdGlvbi15LFxyXG4gICAgMCUsXHJcbiAgICAkbWRjLXRleHQtZmllbGQtZGVuc2UtbGFiZWwtc2NhbGVcclxuICApO1xyXG4gIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24odGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZSk7XHJcblxyXG4gIGhlaWdodDogNDhweDtcclxuXHJcbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDEycHggN3B4O1xyXG4gIH1cclxuXHJcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XHJcbiAgICB0b3A6IDE0cHg7XHJcbiAgfVxyXG5cclxuICAubWRjLXRleHQtZmllbGRfX2ljb24ge1xyXG4gICAgdG9wOiAxMnB4O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkXyB7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtaWRsZS1ib3JkZXIpO1xyXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWhvdmVyLW91dGxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWhvdmVyLWJvcmRlcik7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZm9jdXNlZC1vdXRsaW5lLWNvbG9yKHByaW1hcnkpO1xyXG4gIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24odGV4dC1maWVsZC1vdXRsaW5lZCk7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZS1zaGFwZS1yYWRpdXMoc21hbGwpO1xyXG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXkpO1xyXG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcih0cmFuc3BhcmVudCk7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcih0cmFuc3BhcmVudCk7XHJcblxyXG4gIGJvcmRlcjogbm9uZTtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuXHJcbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogMTJweCAxNnB4IDE0cHg7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgLy8gRkYgYWRkcyB1bndhbnRlZCBib3JkZXIgaW4gSEMgbW9kZSBvbiB3aW5kb3dzLlxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gIH1cclxuXHJcbiAgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtaG92ZXItb3V0bGluZS1jb2xvcl8oJGNvbG9yKSB7XHJcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSB7XHJcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItY29tYmluYXRvci1zcGFjZS1hZnRlclxyXG4gICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+LFxyXG4gICAgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4ge1xyXG4gICAgICAubWRjLW5vdGNoZWQtb3V0bGluZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1jb2xvcigkY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZm9jdXNlZC1vdXRsaW5lLWNvbG9yXygkY29sb3IpIHtcclxuICAmLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIHtcclxuICAgIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEljb25zXHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtd2l0aC1sZWFkaW5nLWljb25fIHtcclxuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1pY29uLWhvcml6b250YWwtcG9zaXRpb25fKFxyXG4gICAgbGVmdCxcclxuICAgICRtZGMtdGV4dC1maWVsZC1pY29uLXBvc2l0aW9uLFxyXG4gICAgJG1kYy10ZXh0LWZpZWxkLWljb24tcGFkZGluZyxcclxuICAgICRtZGMtdGV4dC1maWVsZC1pbnB1dC1wYWRkaW5nXHJcbiAgKTtcclxuXHJcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXRleHQtZmllbGQtaWNvbi1wYWRkaW5nKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1kZW5zZS13aXRoLWxlYWRpbmctaWNvbl8ge1xyXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24taG9yaXpvbnRhbC1wb3NpdGlvbl8oXHJcbiAgICBsZWZ0LFxyXG4gICAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWljb24tcG9zaXRpb24sXHJcbiAgICAkbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wYWRkaW5nLFxyXG4gICAgJG1kYy10ZXh0LWZpZWxkLWlucHV0LXBhZGRpbmdcclxuICApO1xyXG5cclxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcclxuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRtZGMtdGV4dC1maWVsZC1kZW5zZS1pY29uLXBhZGRpbmcpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uXyB7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1ob3Jpem9udGFsLXBvc2l0aW9uXyhcclxuICAgIGxlZnQsXHJcbiAgICAkbWRjLXRleHQtZmllbGQtaWNvbi1wb3NpdGlvbixcclxuICAgICRtZGMtdGV4dC1maWVsZC1pY29uLXBhZGRpbmcsXHJcbiAgICAkbWRjLXRleHQtZmllbGQtaW5wdXQtcGFkZGluZ1xyXG4gICk7XHJcbiAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSwgMzJweCk7XHJcbiAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWFuaW1hdGlvbih0ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbik7XHJcblxyXG4gIEBpbmNsdWRlIG1kYy1ydGwge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWFuaW1hdGlvbih0ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1ydGwpO1xyXG4gIH1cclxuXHJcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXRleHQtZmllbGQtaWNvbi1wYWRkaW5nIC0gJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aCk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb25fIHtcclxuICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLWZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uKFxyXG4gICAgJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXksXHJcbiAgICAkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teCxcclxuICAgICRtZGMtdGV4dC1maWVsZC1kZW5zZS1sYWJlbC1zY2FsZVxyXG4gICk7XHJcbiAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWFuaW1hdGlvbih0ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1kZW5zZSk7XHJcblxyXG4gIEBpbmNsdWRlIG1kYy1ydGwge1xyXG4gICAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWFuaW1hdGlvbih0ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1kZW5zZS1ydGwpO1xyXG4gIH1cclxuXHJcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wYWRkaW5nIC0gJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aCk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtd2l0aC10cmFpbGluZy1pY29uXyB7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1ob3Jpem9udGFsLXBvc2l0aW9uXyhcclxuICAgIHJpZ2h0LFxyXG4gICAgJG1kYy10ZXh0LWZpZWxkLXRyYWlsaW5nLWljb24tcG9zaXRpb24sXHJcbiAgICAkbWRjLXRleHQtZmllbGQtaWNvbi1wYWRkaW5nLFxyXG4gICAgJG1kYy10ZXh0LWZpZWxkLWlucHV0LXBhZGRpbmdcclxuICApO1xyXG5cclxuICAvLyBPdXRsaW5lZCB1c2VzIDE2cHggZm9yIHRleHQgYWxpZ25tZW50IHdoZW4gdXNpbmcgYSB0cmFpbGluZyBpY29uLlxyXG4gICYubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIHtcclxuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24taG9yaXpvbnRhbC1wb3NpdGlvbl8oXHJcbiAgICAgIHJpZ2h0LFxyXG4gICAgICAkbWRjLXRleHQtZmllbGQtaWNvbi1wb3NpdGlvbixcclxuICAgICAgJG1kYy10ZXh0LWZpZWxkLWljb24tcGFkZGluZyxcclxuICAgICAgJG1kYy10ZXh0LWZpZWxkLWlucHV0LXBhZGRpbmdcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC10cmFpbGluZy1pY29uXyB7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1ob3Jpem9udGFsLXBvc2l0aW9uXyhcclxuICAgIHJpZ2h0LFxyXG4gICAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWljb24tcG9zaXRpb24sXHJcbiAgICAkbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wYWRkaW5nLFxyXG4gICAgJG1kYy10ZXh0LWZpZWxkLWlucHV0LXBhZGRpbmdcclxuICApO1xyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtd2l0aC1ib3RoLWljb25zXyB7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1ob3Jpem9udGFsLXBvc2l0aW9uLXR3by1pY29uc18oXHJcbiAgICAkbWRjLXRleHQtZmllbGQtaWNvbi1wb3NpdGlvbixcclxuICAgICRtZGMtdGV4dC1maWVsZC1pY29uLXBhZGRpbmcsXHJcbiAgICAkbWRjLXRleHQtZmllbGQtdHJhaWxpbmctaWNvbi1wb3NpdGlvbixcclxuICAgICRtZGMtdGV4dC1maWVsZC1pY29uLXBhZGRpbmdcclxuICApO1xyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC1ib3RoLWljb25zXyB7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1ob3Jpem9udGFsLXBvc2l0aW9uLXR3by1pY29uc18oXHJcbiAgICAkbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wb3NpdGlvbixcclxuICAgICRtZGMtdGV4dC1maWVsZC1kZW5zZS1pY29uLXBhZGRpbmcsXHJcbiAgICAkbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wb3NpdGlvbixcclxuICAgICRtZGMtdGV4dC1maWVsZC1kZW5zZS1pY29uLXBhZGRpbmdcclxuICApO1xyXG59XHJcblxyXG4vLyBGdWxsIFdpZHRoXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1mdWxsd2lkdGhfIHtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkge1xyXG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKHRyYW5zcGFyZW50KTtcclxuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZpbGwtY29sb3IodHJhbnNwYXJlbnQpO1xyXG5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XHJcbiAgICByZXNpemU6IHZlcnRpY2FsO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1pbnZhbGlkXyB7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoLWJvdHRvbS1saW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvcik7XHJcbn1cclxuXHJcbi8vIFRleHRhcmVhXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1kaXNhYmxlZF8ge1xyXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRpc2FibGVkXztcclxuICAvKiBAYWx0ZXJuYXRlICovXHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtdGV4dGFyZWEtZmlsbC1jb2xvcl8oJG1kYy10ZXh0YXJlYS1kaXNhYmxlZC1iYWNrZ3JvdW5kKTtcclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWludmFsaWRfIHtcclxuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1vdXRsaW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvcik7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaG92ZXItb3V0bGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xyXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZvY3VzZWQtb3V0bGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtdGV4dGFyZWFfIHtcclxuICAvLyBOb3RlOiBUaGUgcmVmYWN0b3IgdG8gYWRkIHRoZSBmaWxsZWQgdGV4dGFyZWEgc3R5bGUgd2lsbCByZXN1bHQgaW4gYSBsb3Qgb2YgdGhlIHNwZWNpZmljaXR5IGlzc3VlcyB0aGF0IHRoZVxyXG4gIC8vIHRleHRhcmVhIGhhcyBiZWluZyByZXNvbHZlZCBieSB1c2luZyB0aGUgc2FtZSAtLW91dGxpbmVkIHZhcmlhbnQgY2xhc3MgYXMgdGhlIHRleHQgZmllbGQuXHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtaWRsZS1ib3JkZXIpO1xyXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWhvdmVyLW91dGxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWhvdmVyLWJvcmRlcik7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZm9jdXNlZC1vdXRsaW5lLWNvbG9yKHByaW1hcnkpO1xyXG4gIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24odGV4dC1maWVsZC1vdXRsaW5lZCk7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZS1zaGFwZS1yYWRpdXMoc21hbGwpO1xyXG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcih0cmFuc3BhcmVudCk7XHJcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcih0cmFuc3BhcmVudCk7XHJcbiAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSwgMCUpO1xyXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLXBvc2l0aW9uKDE2cHgsIDEzcHgpO1xyXG5cclxuICAkcGFkZGluZy1pbnNldDogMTZweDtcclxuXHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xyXG4gICAgYWxpZ24tc2VsZjogYXV0bztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW46ICRwYWRkaW5nLWluc2V0LzIgMXB4IDFweCAwO1xyXG4gICAgcGFkZGluZzogMCAkcGFkZGluZy1pbnNldCAkcGFkZGluZy1pbnNldDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICB9XHJcblxyXG4gIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciArIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDsgLy8gTGVhdmVzIHNwYWNlIGZvciBjaGFyYWN0ZXIgY291bnRlciBpZiBpdCBleGlzdHMuXHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xyXG4gICAgdG9wOiAxN3B4O1xyXG4gICAgYm90dG9tOiBhdXRvO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcblxyXG4gICYubWRjLXRleHQtZmllbGQtLWZvY3VzZWQge1xyXG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZm9jdXNlZF87XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDdXN0b21pemF0aW9uXHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtaW5rLWNvbG9yXygkY29sb3IpIHtcclxuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcclxuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWZpbGwtY29sb3JfKCRjb2xvcikge1xyXG4gIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1zdHJva2UtY29sb3JfKCRjb2xvcikge1xyXG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWZpbGwtY29sb3JfKCRjb2xvcikge1xyXG4gIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1mdWxsd2lkdGgtYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvcikge1xyXG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcclxuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJvcmRlci1ib3R0b20tY29sb3IsICRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvcikge1xyXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xyXG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1ob3Zlci1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKSB7XHJcbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB7XHJcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItYm90dG9tLWNvbG9yLCAkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWxpbmUtcmlwcGxlLWNvbG9yXygkY29sb3IpIHtcclxuICAubWRjLWxpbmUtcmlwcGxlIHtcclxuICAgIEBpbmNsdWRlIG1kYy1saW5lLXJpcHBsZS1jb2xvcigkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWxhYmVsLWluay1jb2xvcl8oJGNvbG9yKSB7XHJcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtaW5rLWNvbG9yKCRjb2xvcik7XHJcbiAgfVxyXG59XHJcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4vLyBQdWJsaWMgbWl4aW5zXG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC12YWxpZGF0aW9uLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtdmFsaWRhdGlvbi1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG4vLyBQcml2YXRlIG1peGluc1xuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtY29sb3JfKCRjb2xvcikge1xuICArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC12YWxpZGF0aW9uLWNvbG9yXygkY29sb3IpIHtcbiAgJi5tZGMtdGV4dC1maWVsZC0taW52YWxpZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE5IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi8uLi9ydGwvbWl4aW5zXCI7XG5cbi8vIFB1YmxpYyBtaXhpbnNcblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXItY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLXBvc2l0aW9uKCR4T2Zmc2V0LCAkeU9mZnNldCkge1xuICAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKHJpZ2h0LCAkeE9mZnNldCk7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAkeU9mZnNldDtcbiAgfVxufVxuXG4vLyBQcml2YXRlIG1peGluc1xuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXItY29sb3JfKCRjb2xvcikge1xuICAvLyBDaGFyYWN0ZXIgY291bnRlciBpcyBwbGFjZWQgaW5zaWRlIG1kYy10ZXh0ZmllbGQgZWxlbWVudCAoZm9yIHRleHRhcmVhIHZhcmlhbnQgKSBvclxuICAvLyBpbnNpZGUgaGVscGVyIGxpbmUgd2hpY2ggaXMgc2libGluZyB0byBtZGMtdGV4dGZpZWxkLlxuICAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIsXG4gICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4vLyBQdWJsaWMgbWl4aW5zXG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1pY29uLWNvbG9yKCRjb2xvciwgJHN0eWxlU2Vjb25kSWNvbjogZmFsc2UpIHtcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24tY29sb3JfKCRjb2xvciwgJHN0eWxlU2Vjb25kSWNvbik7XG4gIH1cbn1cblxuLy8gUHJpdmF0ZSBtaXhpbnNcblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWljb24taG9yaXpvbnRhbC1wb3NpdGlvbl8oJHBvc2l0aW9uLXByb3BlcnR5LCAkcG9zaXRpb24sICRwYWRkaW5nLCAkaW5wdXQtcGFkZGluZykge1xuICAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKCRwb3NpdGlvbi1wcm9wZXJ0eSwgJHBvc2l0aW9uKTtcbiAgfVxuXG4gIC8vIE1vdmUgdGhlIGlucHV0J3MgcG9zaXRpb24sIHRvIGFsbG93IHJvb20gZm9yIHRoZSBpY29uXG4gIEBpZiAoJHBvc2l0aW9uLXByb3BlcnR5ID09IGxlZnQpIHtcbiAgICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRwYWRkaW5nLCAkaW5wdXQtcGFkZGluZyk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRpbnB1dC1wYWRkaW5nLCAkcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1pY29uLWhvcml6b250YWwtcG9zaXRpb24tdHdvLWljb25zXyhcbiAgJHBvc2l0aW9uLWxlZnQsXG4gICRwYWRkaW5nLWxlZnQsXG4gICRwb3NpdGlvbi1yaWdodCxcbiAgJHBhZGRpbmctcmlnaHRcbikge1xuICAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlKGxlZnQsICRwb3NpdGlvbi1sZWZ0LCByaWdodCwgYXV0byk7XG5cbiAgICB+IC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZShyaWdodCwgJHBvc2l0aW9uLXJpZ2h0LCBsZWZ0LCBhdXRvKTtcbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIHRoZSBpbnB1dCdzIHBvc2l0aW9uLCB0byBhbGxvdyByb29tIGZvciB0aGUgaWNvbnMuXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRwYWRkaW5nLWxlZnQsICRwYWRkaW5nLXJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtaWNvbi1jb2xvcl8oJGNvbG9yLCAkc3R5bGVTZWNvbmRJY29uOiBmYWxzZSkge1xuICAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAgIEBpZiAoJHN0eWxlU2Vjb25kSWNvbikge1xuICAgICAgLy8gU2VsZWN0IHRoZSBzZWNvbmQgaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyByZWdhcmRsZXNzIG9mIGVsZW1lbnQgdHlwZS5cbiAgICAgIH4gLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kbWRjLXRleHQtZmllbGQtaWNvbi1wb3NpdGlvbjogMTZweCAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC10cmFpbGluZy1pY29uLXBvc2l0aW9uOiAxMnB4ICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWljb24tcGFkZGluZzogNDhweCAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1kZW5zZS1pY29uLXBhZGRpbmc6IDQ0cHggIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wb3NpdGlvbjogMTJweCAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1kZW5zZS1pY29uLXBhZGRpbmc6IDM4cHggIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2VsZXZhdGlvbi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSB0b3AtYXBwLWJhclxuLm1kYy10b3AtYXBwLWJhciB7XG4gIEBpbmNsdWRlIG1kYy10b3AtYXBwLWJhci1maWxsLWNvbG9yLWFjY2Vzc2libGUocHJpbWFyeSk7XG4gIEBpbmNsdWRlIG1kYy10b3AtYXBwLWJhci1pY29uLWluay1jb2xvcihvbi1wcmltYXJ5KTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDQ7XG5cbiAgJl9fcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJG1kYy10b3AtYXBwLWJhci1yb3ctaGVpZ2h0O1xuICB9XG5cbiAgJl9fc2VjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgcGFkZGluZzogJG1kYy10b3AtYXBwLWJhci1zZWN0aW9uLXZlcnRpY2FsLXBhZGRpbmcgJG1kYy10b3AtYXBwLWJhci1zZWN0aW9uLWhvcml6b250YWwtcGFkZGluZztcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJi0tYWxpZ24tc3RhcnQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgb3JkZXI6IC0xO1xuICAgIH1cblxuICAgICYtLWFsaWduLWVuZCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KGhlYWRsaW5lNik7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KHBhZGRpbmcsIGxlZnQsICRtZGMtdG9wLWFwcC1iYXItdGl0bGUtbGVmdC1wYWRkaW5nKTtcblxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgJl9fYWN0aW9uLWl0ZW0sXG4gICZfX25hdmlnYXRpb24taWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLXRvcC1hcHAtYmFyLWljb25fO1xuICB9XG59XG5cbkBhdC1yb290IHtcbiAgQGluY2x1ZGUgbWRjLXRvcC1hcHAtYmFyLXNob3J0LXNoYXBlLXJhZGl1cygyNHB4KTtcbn1cblxuLm1kYy10b3AtYXBwLWJhci0tc2hvcnQge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcblxuICBAaW5jbHVkZSBtZGMtcnRsIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAubWRjLXRvcC1hcHAtYmFyX19yb3cge1xuICAgIGhlaWdodDogJG1kYy10b3AtYXBwLWJhci1tb2JpbGUtcm93LWhlaWdodDtcbiAgfVxuXG4gIC5tZGMtdG9wLWFwcC1iYXJfX3NlY3Rpb24ge1xuICAgIHBhZGRpbmc6ICRtZGMtdG9wLWFwcC1iYXItbW9iaWxlLXNlY3Rpb24tcGFkZGluZztcbiAgfVxuXG4gIC5tZGMtdG9wLWFwcC1iYXJfX3RpdGxlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5tZGMtdG9wLWFwcC1iYXItLXNob3J0LWNvbGxhcHNlZCB7XG4gIEBpbmNsdWRlIG1kYy1lbGV2YXRpb24oNCk7XG5cbiAgd2lkdGg6ICRtZGMtdG9wLWFwcC1iYXItc2hvcnQtY29sbGFwc2VkLXdpZHRoO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyAkbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG5cbiAgLm1kYy10b3AtYXBwLWJhcl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubWRjLXRvcC1hcHAtYmFyX19hY3Rpb24taXRlbSB7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAxNTBtcyAkbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuLm1kYy10b3AtYXBwLWJhci0tc2hvcnQtY29sbGFwc2VkLm1kYy10b3AtYXBwLWJhci0tc2hvcnQtaGFzLWFjdGlvbi1pdGVtIHtcbiAgd2lkdGg6ICRtZGMtdG9wLWFwcC1iYXItc2hvcnQtY29sbGFwc2VkLXdpZHRoICogMjtcblxuICAubWRjLXRvcC1hcHAtYmFyX19zZWN0aW9uLS1hbGlnbi1lbmQge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChwYWRkaW5nLCByaWdodCwgMTJweCk7XG4gIH1cbn1cblxuLm1kYy10b3AtYXBwLWJhci0tZGVuc2Uge1xuICAubWRjLXRvcC1hcHAtYmFyX19yb3cge1xuICAgIGhlaWdodDogJG1kYy10b3AtYXBwLWJhci1kZW5zZS1yb3ctaGVpZ2h0O1xuICB9XG5cbiAgLm1kYy10b3AtYXBwLWJhcl9fc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMCAkbWRjLXRvcC1hcHAtYmFyLWRlbnNlLXNlY3Rpb24taG9yaXpvbnRhbC1wYWRkaW5nO1xuICB9XG5cbiAgLm1kYy10b3AtYXBwLWJhcl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChwYWRkaW5nLCBsZWZ0LCAkbWRjLXRvcC1hcHAtYmFyLWRlbnNlLXRpdGxlLWxlZnQtcGFkZGluZyk7XG4gIH1cbn1cblxuLm1kYy10b3AtYXBwLWJhci0tcHJvbWluZW50IHtcbiAgLm1kYy10b3AtYXBwLWJhcl9fcm93IHtcbiAgICBoZWlnaHQ6ICRtZGMtdG9wLWFwcC1iYXItcHJvbWluZW50LXJvdy1oZWlnaHQ7XG4gIH1cblxuICAubWRjLXRvcC1hcHAtYmFyX190aXRsZSB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgcGFkZGluZy1ib3R0b206ICRtZGMtdG9wLWFwcC1iYXItcHJvbWluZW50LXRpdGxlLWJvdHRvbS1wYWRkaW5nO1xuICB9XG5cbiAgLm1kYy10b3AtYXBwLWJhcl9fYWN0aW9uLWl0ZW0sXG4gIC5tZGMtdG9wLWFwcC1iYXJfX25hdmlnYXRpb24taWNvbiB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4ubWRjLXRvcC1hcHAtYmFyLS1maXhlZCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgbGluZWFyO1xufVxuXG4ubWRjLXRvcC1hcHAtYmFyLS1maXhlZC1zY3JvbGxlZCB7XG4gIEBpbmNsdWRlIG1kYy1lbGV2YXRpb24oNCk7XG5cbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBsaW5lYXI7XG59XG5cbi8vIFNwZWNpZmljIHN0eWxlcyBmb3IgcHJvbWluZW50IGFuZCBkZW5zZSBzdHlsZWQgdG9wIGFwcCBiYXJcbi8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuLm1kYy10b3AtYXBwLWJhci0tZGVuc2UubWRjLXRvcC1hcHAtYmFyLS1wcm9taW5lbnQge1xuICAubWRjLXRvcC1hcHAtYmFyX19yb3cge1xuICAgIGhlaWdodDogJG1kYy10b3AtYXBwLWJhci1kZW5zZS1yb3ctaGVpZ2h0ICogMjtcbiAgfVxuXG4gIC5tZGMtdG9wLWFwcC1iYXJfX3NlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDAgJG1kYy10b3AtYXBwLWJhci1zZWN0aW9uLWhvcml6b250YWwtcGFkZGluZztcbiAgfVxuXG4gIC5tZGMtdG9wLWFwcC1iYXJfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gocGFkZGluZywgbGVmdCwgJG1kYy10b3AtYXBwLWJhci10aXRsZS1sZWZ0LXBhZGRpbmcpO1xuXG4gICAgcGFkZGluZy1ib3R0b206ICRtZGMtdG9wLWFwcC1iYXItcHJvbWluZW50LWRlbnNlLXRpdGxlLWJvdHRvbS1wYWRkaW5nO1xuICB9XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuXG4ubWRjLXRvcC1hcHAtYmFyLS1maXhlZC1hZGp1c3Qge1xuICBwYWRkaW5nLXRvcDogJG1kYy10b3AtYXBwLWJhci1yb3ctaGVpZ2h0O1xufVxuXG4ubWRjLXRvcC1hcHAtYmFyLS1kZW5zZS1maXhlZC1hZGp1c3Qge1xuICBwYWRkaW5nLXRvcDogJG1kYy10b3AtYXBwLWJhci1kZW5zZS1yb3ctaGVpZ2h0O1xufVxuXG4ubWRjLXRvcC1hcHAtYmFyLS1zaG9ydC1maXhlZC1hZGp1c3Qge1xuICBwYWRkaW5nLXRvcDogJG1kYy10b3AtYXBwLWJhci1tb2JpbGUtcm93LWhlaWdodDtcbn1cblxuLm1kYy10b3AtYXBwLWJhci0tcHJvbWluZW50LWZpeGVkLWFkanVzdCB7XG4gIHBhZGRpbmctdG9wOiAkbWRjLXRvcC1hcHAtYmFyLXByb21pbmVudC1yb3ctaGVpZ2h0O1xufVxuXG4ubWRjLXRvcC1hcHAtYmFyLS1kZW5zZS1wcm9taW5lbnQtZml4ZWQtYWRqdXN0IHtcbiAgcGFkZGluZy10b3A6ICRtZGMtdG9wLWFwcC1iYXItZGVuc2Utcm93LWhlaWdodCAqIDI7XG59XG5cbi8vIE1vYmlsZSBTdHlsZXNcbkBpbmNsdWRlIG1kYy10b3AtYXBwLWJhci1tb2JpbGUtYnJlYWtwb2ludF87XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi9yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vdGhlbWUvdmFyaWFibGVzXCI7IC8vIGZvciBtZGMtdGhlbWUtYWNjZXNzaWJsZS1pbmstY29sb3JcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9zaGFwZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9zaGFwZS9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vL1xuLy8gUHVibGljXG4vL1xuXG5AbWl4aW4gbWRjLXRvcC1hcHAtYmFyLWluay1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG59XG5cbkBtaXhpbiBtZGMtdG9wLWFwcC1iYXItZmlsbC1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbn1cblxuQG1peGluIG1kYy10b3AtYXBwLWJhci1maWxsLWNvbG9yLWFjY2Vzc2libGUoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIG1kYy10b3AtYXBwLWJhci1maWxsLWNvbG9yKCRjb2xvcik7XG4gIEBpbmNsdWRlIG1kYy10b3AtYXBwLWJhci1pbmstY29sb3IobWRjLXRoZW1lLWFjY2Vzc2libGUtaW5rLWNvbG9yKCRjb2xvcikpO1xufVxuXG5AbWl4aW4gbWRjLXRvcC1hcHAtYmFyLWljb24taW5rLWNvbG9yKCRjb2xvcikge1xuICAubWRjLXRvcC1hcHAtYmFyX19hY3Rpb24taXRlbSxcbiAgLm1kYy10b3AtYXBwLWJhcl9fbmF2aWdhdGlvbi1pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10b3AtYXBwLWJhci1zaG9ydC1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IHRydWUpIHtcbiAgQGlmIGxlbmd0aCgkcmFkaXVzKSA+IDEge1xuICAgIEBlcnJvciBcIkludmFsaWQgcmFkaXVzOiAnI3skcmFkaXVzfScgY29tcG9uZW50IGRvZXNuJ3QgYWxsb3cgY3VzdG9taXppbmcgYWxsIGNvcm5lcnNcIjtcbiAgfVxuXG4gICRyYWRpdXM6IDAgMCAkcmFkaXVzIDA7XG5cbiAgJHNlbGVjdG9yOiBpZigmLCBcIiYubWRjLXRvcC1hcHAtYmFyLS1zaG9ydC1jb2xsYXBzZWRcIiwgXCIubWRjLXRvcC1hcHAtYmFyLS1zaG9ydC1jb2xsYXBzZWRcIik7XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSBtZGMtc2hhcGUtcmFkaXVzKFxuICAgICAgbWRjLXNoYXBlLXJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJG1kYy10b3AtYXBwLWJhci1kZW5zZS1yb3ctaGVpZ2h0LCAkcmFkaXVzKSxcbiAgICAgICRydGwtcmVmbGV4aXZlXG4gICAgKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRvcC1hcHAtYmFyLW1vYmlsZS1icmVha3BvaW50XygkbW9iaWxlLWJyZWFrcG9pbnQ6ICRtZGMtdG9wLWFwcC1iYXItbW9iaWxlLWJyZWFrcG9pbnQpIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgIC5tZGMtdG9wLWFwcC1iYXJfX3JvdyB7XG4gICAgICBoZWlnaHQ6ICRtZGMtdG9wLWFwcC1iYXItbW9iaWxlLXJvdy1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLm1kYy10b3AtYXBwLWJhcl9fc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAkbWRjLXRvcC1hcHAtYmFyLW1vYmlsZS1zZWN0aW9uLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm1kYy10b3AtYXBwLWJhci0tc2hvcnQge1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMjAwbXMgJG1kYy1hbmltYXRpb24tc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgIH1cblxuICAgIC5tZGMtdG9wLWFwcC1iYXItLXNob3J0LWNvbGxhcHNlZCB7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAyNTBtcyAkbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG5cbiAgICAgIC5tZGMtdG9wLWFwcC1iYXJfX3NlY3Rpb24tLWFsaWduLWVuZCB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChwYWRkaW5nLCByaWdodCwgJG1kYy10b3AtYXBwLWJhci1zaG9ydC1jb2xsYXBzZWQtcmlnaHQtaWNvbi1wYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRvcC1hcHAtYmFyLS1wcm9taW5lbnQge1xuICAgICAgLm1kYy10b3AtYXBwLWJhcl9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG1kYy10b3AtYXBwLWJhci1wcm9taW5lbnQtbW9iaWxlLXRpdGxlLWJvdHRvbS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdG9wLWFwcC1iYXItLWZpeGVkLWFkanVzdCB7XG4gICAgICBwYWRkaW5nLXRvcDogJG1kYy10b3AtYXBwLWJhci1tb2JpbGUtcm93LWhlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFByaXZhdGVcbi8vXG5cbi8vIEFwcGxpZXMgc3R5bGVzIHRvIHRoZSBkaWZmZXJlbnQgdHlwZXMgb2YgaWNvbnMgdGhhdCBjYW4gZXhpc3QgaW4gdG9wLWFwcC1iYXJzLlxuLy8gQm90aCAubWRjLXRvcC1hcHAtYmFyX19pY29uIGFuZCAubWRjLXRvcC1hcHAtYmFyX19uYXZpZ2F0aW9uLWljb24gc2hhcmUgYWxsIHN0eWxlcyBleGNlcHQgZm9yXG4vLyBob3Jpem9udGFsIHBhZGRpbmcuXG5AbWl4aW4gbWRjLXRvcC1hcHAtYmFyLWljb25fKCkge1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLXVuYm91bmRlZDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6ICRtZGMtdG9wLWFwcC1iYXItaWNvbi1zaXplICsgJG1kYy10b3AtYXBwLWJhci1pY29uLXBhZGRpbmcgKiAyO1xuICBoZWlnaHQ6ICRtZGMtdG9wLWFwcC1iYXItaWNvbi1zaXplICsgJG1kYy10b3AtYXBwLWJhci1pY29uLXBhZGRpbmcgKiAyO1xuICBwYWRkaW5nOiAkbWRjLXRvcC1hcHAtYmFyLWljb24tcGFkZGluZztcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuLy8gRGVmYXVsdCBzdHlsZXNcbiRtZGMtdG9wLWFwcC1iYXItcm93LWhlaWdodDogNjRweCAhZGVmYXVsdDtcbiRtZGMtdG9wLWFwcC1iYXItdGl0bGUtbGVmdC1wYWRkaW5nOiAyMHB4ICFkZWZhdWx0O1xuJG1kYy10b3AtYXBwLWJhci1zZWN0aW9uLXZlcnRpY2FsLXBhZGRpbmc6IDhweCAhZGVmYXVsdDtcbiRtZGMtdG9wLWFwcC1iYXItc2VjdGlvbi1ob3Jpem9udGFsLXBhZGRpbmc6IDEycHggIWRlZmF1bHQ7XG5cbiRtZGMtdG9wLWFwcC1iYXItaWNvbi1wYWRkaW5nOiAxMnB4ICFkZWZhdWx0O1xuJG1kYy10b3AtYXBwLWJhci1pY29uLXNpemU6IDI0cHggIWRlZmF1bHQ7XG5cbiRtZGMtdG9wLWFwcC1iYXItbW9iaWxlLWJyZWFrcG9pbnQ6IDU5OXB4ICFkZWZhdWx0O1xuXG4vLyBEZWZhdWx0IG1vYmlsZSBzdHlsZXNcbiRtZGMtdG9wLWFwcC1iYXItbW9iaWxlLXJvdy1oZWlnaHQ6IDU2cHggIWRlZmF1bHQ7XG4kbWRjLXRvcC1hcHAtYmFyLW1vYmlsZS1zZWN0aW9uLXBhZGRpbmc6IDRweCAhZGVmYXVsdDtcblxuLy8gU2hvcnQgdG9wIGFwcCBiYXJcbiRtZGMtdG9wLWFwcC1iYXItc2hvcnQtY29sbGFwc2VkLWJvcmRlci1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbiRtZGMtdG9wLWFwcC1iYXItc2hvcnQtY29sbGFwc2VkLXdpZHRoOiA1NnB4ICFkZWZhdWx0O1xuJG1kYy10b3AtYXBwLWJhci1zaG9ydC1jb2xsYXBzZWQtcmlnaHQtaWNvbi1wYWRkaW5nOiAxMnB4ICFkZWZhdWx0O1xuXG4vLyBQcm9taW5lbnQgc3R5bGVzXG4kbWRjLXRvcC1hcHAtYmFyLXByb21pbmVudC1yb3ctaGVpZ2h0OiAxMjhweCAhZGVmYXVsdDtcbiRtZGMtdG9wLWFwcC1iYXItcHJvbWluZW50LXRpdGxlLWJvdHRvbS1wYWRkaW5nOiAycHggIWRlZmF1bHQ7XG5cbi8vIFByb21pbmVudCBtb2JpbGUgc3R5bGVzXG4kbWRjLXRvcC1hcHAtYmFyLXByb21pbmVudC1tb2JpbGUtdGl0bGUtYm90dG9tLXBhZGRpbmc6IDZweCAhZGVmYXVsdDtcblxuLy8gRGVuc2Ugc3R5bGVzXG4kbWRjLXRvcC1hcHAtYmFyLWRlbnNlLXJvdy1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kbWRjLXRvcC1hcHAtYmFyLWRlbnNlLXNlY3Rpb24taG9yaXpvbnRhbC1wYWRkaW5nOiA0cHggIWRlZmF1bHQ7XG4kbWRjLXRvcC1hcHAtYmFyLWRlbnNlLXRpdGxlLWxlZnQtcGFkZGluZzogMTJweCAhZGVmYXVsdDtcblxuLy8gRGVuc2UgJiBQcm9taW5lbnQgc3R5bGVzXG4kbWRjLXRvcC1hcHAtYmFyLXByb21pbmVudC1kZW5zZS10aXRsZS1ib3R0b20tcGFkZGluZzogOXB4ICFkZWZhdWx0O1xuIiwiLm5neC1tZGMtZm9ybS1maWVsZC0tZmx1aWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleDogYXV0bztcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcbiIsIi5uZ3gtbWRjLWNoaXAtLXByaW1hcnkge1xyXG4gIEBpbmNsdWRlIG1kYy1jaGlwLWZpbGwtY29sb3ItYWNjZXNzaWJsZSgkbWRjLXRoZW1lLXByaW1hcnkpO1xyXG59XHJcblxyXG4ubmd4LW1kYy1jaGlwLS1zZWNvbmRhcnkge1xyXG4gIEBpbmNsdWRlIG1kYy1jaGlwLWZpbGwtY29sb3ItYWNjZXNzaWJsZSgkbWRjLXRoZW1lLXNlY29uZGFyeSk7XHJcbn1cclxuIiwiLm5neC1tZGMtZmFiLWV4dGVuZGVkLS1mbHVpZCB7XHJcbiAgQGluY2x1ZGUgbWRjLWZhYi1leHRlbmRlZC1mbHVpZDtcclxufVxyXG5cclxuLm5neC1tZGMtZmFiLS1ib3R0b20tcmlnaHQge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICByaWdodDogMXJlbTtcclxuICBib3R0b206IDFyZW07XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAubmd4LW1kYy1mYWItLWJvdHRvbS1yaWdodCB7XHJcbiAgICByaWdodDogMS41cmVtO1xyXG4gICAgYm90dG9tOiAxLjVyZW07XHJcbiAgfVxyXG59XHJcblxyXG4ubmd4LW1kYy1mYWItLWJvdHRvbS1sZWZ0IHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgYm90dG9tOiAxcmVtO1xyXG4gIGxlZnQ6IDFyZW07XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAubmd4LW1kYy1mYWItLWJvdHRvbS1sZWZ0IHtcclxuICAgIGJvdHRvbTogMS41cmVtO1xyXG4gICAgbGVmdDogMS41cmVtO1xyXG4gIH1cclxufVxyXG4iLCIubmd4LW1kYy1pY29uLS1jbGlja2FibGUsXHJcbmEubmd4LW1kYy1pY29uIHtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4ubmd4LW1kYy1pY29uLS1pbmxpbmUge1xyXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgd2lkdGg6IGluaGVyaXQ7XHJcbn1cclxuIiwiLm1kYy1pbWFnZS1saXN0X19pdGVtIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4iLCIubWRjLWxpbmVhci1wcm9ncmVzcyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5tZGMtbGluZWFyLXByb2dyZXNzLS1zZWNvbmRhcnkge1xyXG4gIEBpbmNsdWRlIG1kYy1saW5lYXItcHJvZ3Jlc3MtYmFyLWNvbG9yKCRtZGMtdGhlbWUtc2Vjb25kYXJ5KTtcclxufVxyXG4iLCIubWRjLWxpc3QsXHJcbi5tZGMtbGlzdC1kaXZpZGVyIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLm5neC1tZGMtbGlzdC0tYm9yZGVyIHtcclxuICAubWRjLWxpc3QtaXRlbSB7XHJcbiAgICAvKiBBZGQgdGhlIGxpc3Qgc2lkZSBwYWRkaW5nIHBhZGRpbmcgdG8gdGhlIGxpc3QgaXRlbS4gKi9cclxuICAgIHBhZGRpbmc6IDAgMTZweDtcclxuXHJcbiAgICAvKiBBZGQgYSBib3JkZXIgYXJvdW5kIGVhY2ggZWxlbWVudC4gKi9cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjEyKTtcclxuICB9XHJcblxyXG4gIC8qIEVuc3VyZSBhZGphY2VudCBib3JkZXJzIGRvbid0IGNvbGxpZGUgd2l0aCBvbmUgYW5vdGhlci4gKi9cclxuICAubWRjLWxpc3QtaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICBib3JkZXItdG9wOiBub25lO1xyXG4gIH1cclxufVxyXG4iLCIubWRjLW1lbnUtc3VyZmFjZS0tYW5jaG9yIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuIiwiLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuIiwiLm1kYy1zbGlkZXIge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG4iLCIubmd4LW1kYy1zbmFja2Jhci0tdHJhaWxpbmcge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbWRjLXNuYWNrYmFyLW1vYmlsZS1icmVha3BvaW50KSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIH1cclxufVxyXG4iLCIubmd4LW1kYy10YWItLWRpc2FibGVkIHtcclxuICBAaW5jbHVkZSBtZGMtdGFiLXRleHQtbGFiZWwtY29sb3IocmdiYShibGFjaywgLjMpKTtcclxuICBAaW5jbHVkZSBtZGMtdGFiLWljb24tY29sb3IocmdiYShibGFjaywgLjMpKTtcclxuXHJcbiAgLm1kYy10YWItaW5kaWNhdG9yIHtcclxuICAgIEBpbmNsdWRlIG1kYy10YWItaW5kaWNhdG9yLXVuZGVybGluZS1jb2xvcihyZ2JhKGJsYWNrLCAuMykpO1xyXG4gIH1cclxuXHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbiIsIi5tZGMtdGFiLWJhciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuIiwiLm1kYy10YWItc2Nyb2xsZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbiJdfQ== */", '', '']] /***/ }), /***/ "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css": /*!************************************************************************!*\ !*** ./node_modules/@angular/material/prebuilt-themes/indigo-pink.css ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { var content = __webpack_require__(/*! !../../../@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!../../../postcss-loader/src??embedded!./indigo-pink.css */ "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/@angular/material/prebuilt-themes/indigo-pink.css"); if(typeof content === 'string') content = [[module.i, content, '']]; var transform; var insertInto; var options = {"hmr":true} options.transform = transform options.insertInto = undefined; var update = __webpack_require__(/*! ../../../style-loader/lib/addStyles.js */ "./node_modules/style-loader/lib/addStyles.js")(content, options); if(content.locals) module.exports = content.locals; if(false) {} /***/ }), /***/ "./node_modules/style-loader/lib/addStyles.js": /*!****************************************************!*\ !*** ./node_modules/style-loader/lib/addStyles.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ var stylesInDom = {}; var memoize = function (fn) { var memo; return function () { if (typeof memo === "undefined") memo = fn.apply(this, arguments); return memo; }; }; var isOldIE = memoize(function () { // Test for IE <= 9 as proposed by Browserhacks // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 // Tests for existence of standard globals is to allow style-loader // to operate correctly into non-standard environments // @see https://github.com/webpack-contrib/style-loader/issues/177 return window && document && document.all && !window.atob; }); var getTarget = function (target, parent) { if (parent){ return parent.querySelector(target); } return document.querySelector(target); }; var getElement = (function (fn) { var memo = {}; return function(target, parent) { // If passing function in options, then use it for resolve "head" element. // Useful for Shadow Root style i.e // { // insertInto: function () { return document.querySelector("#foo").shadowRoot } // } if (typeof target === 'function') { return target(); } if (typeof memo[target] === "undefined") { var styleTarget = getTarget.call(this, target, parent); // Special case to return head of iframe instead of iframe itself if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { try { // This will throw an exception if access to iframe is blocked // due to cross-origin restrictions styleTarget = styleTarget.contentDocument.head; } catch(e) { styleTarget = null; } } memo[target] = styleTarget; } return memo[target] }; })(); var singleton = null; var singletonCounter = 0; var stylesInsertedAtTop = []; var fixUrls = __webpack_require__(/*! ./urls */ "./node_modules/style-loader/lib/urls.js"); module.exports = function(list, options) { if (typeof DEBUG !== "undefined" && DEBUG) { if (typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment"); } options = options || {}; options.attrs = typeof options.attrs === "object" ? options.attrs : {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of